#ifndef _SMTP_SERVERDLG_HPP_ #define _SMTP_SERVERDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _SMTP_MAIL_HPP_ #include #endif #ifndef _SMTP_MAILREG_HPP_ #include #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 mInitDialogHandler; Callback 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