Files
Work/smtp/SRVRDLG.HPP
2024-08-07 09:16:27 -04:00

68 lines
1.9 KiB
C++

#ifndef _SMTP_SERVERDLG_HPP_
#define _SMTP_SERVERDLG_HPP_
#ifndef _COMMON_DWINDOW_HPP_
#include <common/dwindow.hpp>
#endif
#ifndef _COMMON_WINDOW_HPP_
#include <common/window.hpp>
#endif
#ifndef _SMTP_MAIL_HPP_
#include <smtp/mail.hpp>
#endif
#ifndef _SMTP_MAILREG_HPP_
#include <smtp/mailreg.hpp>
#endif
class String;
class ServerDialog : private DWindow
{
public:
ServerDialog(const GUIWindow &parentWindow);
virtual ~ServerDialog();
WORD performDialog(String &serverName);
private:
enum{ServerName=MS_SERVERNAME};
ServerDialog(const ServerDialog &someServerDialog);
ServerDialog &operator=(const ServerDialog &someServerDialog);
CallbackData::ReturnType initDialogHandler(CallbackData &someCallbackData);
CallbackData::ReturnType commandHandler(CallbackData &someCallbackData);
void getServerName(void);
Callback<ServerDialog> mInitDialogHandler;
Callback<ServerDialog> mCommandHandler;
MailReg mMailReg;
HWND mhParent;
};
inline
ServerDialog::ServerDialog(const GUIWindow &parentWindow)
: mhParent(parentWindow)
{
mInitDialogHandler.setCallback(this,&ServerDialog::initDialogHandler);
mCommandHandler.setCallback(this,&ServerDialog::commandHandler);
insertHandler(VectorHandler::CommandHandler,&mCommandHandler);
insertHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler);
}
inline
ServerDialog::ServerDialog(const ServerDialog &someServerDialog)
: mhParent(someServerDialog.mhParent)
{ // no implementation
mInitDialogHandler.setCallback(this,&ServerDialog::initDialogHandler);
mCommandHandler.setCallback(this,&ServerDialog::commandHandler);
}
inline
ServerDialog::~ServerDialog()
{
removeHandler(VectorHandler::CommandHandler,&mCommandHandler);
removeHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler);
}
inline
ServerDialog &ServerDialog::operator=(const ServerDialog &/*someServerDialog*/)
{ // no implementation
return *this;
}
#endif