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

68 lines
1.9 KiB
C++

#ifndef _NNTP_SERVERDLG_HPP_
#define _NNTP_SERVERDLG_HPP_
#ifndef _COMMON_DWINDOW_HPP_
#include <common/dwindow.hpp>
#endif
#ifndef _COMMON_WINDOW_HPP_
#include <common/window.hpp>
#endif
#ifndef _NNTP_RESOURCE_HPP_
#include <nntp/resource.hpp>
#endif
#ifndef _NNTP_OPTIONSREG_HPP_
#include <nntp/optnsreg.hpp>
#endif
class String;
class ServerDialog : private DWindow
{
public:
ServerDialog(const GUIWindow &parentWindow);
virtual ~ServerDialog();
WORD performDialog(String &serverName);
private:
enum{ServerName=NS_SERVERNAME,UserName=NS_USERNAME,Password=NS_PASSWORD};
ServerDialog(const ServerDialog &someServerDialog);
ServerDialog &operator=(const ServerDialog &someServerDialog);
CallbackData::ReturnType initDialogHandler(CallbackData &someCallbackData);
CallbackData::ReturnType commandHandler(CallbackData &someCallbackData);
void getParams(void);
Callback<ServerDialog> mInitDialogHandler;
Callback<ServerDialog> mCommandHandler;
OptionsReg mOptionsReg;
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