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

82 lines
2.3 KiB
C++

#ifndef _NNTP_RASDLG_HPP_
#define _NNTP_RASDLG_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_RASOPTIONS_HPP_
#include <nntp/rasoptns.hpp>
#endif
class String;
class RasDialog : private DWindow
{
public:
RasDialog(const GUIWindow &parentWindow);
virtual ~RasDialog();
WORD performDialog(void);
private:
enum{RasUserName=RAS_USERNAME,RasPassword=RAS_PASSWORD,RasEntry=RAS_ENTRY,
RasEnable=RAS_ENABLE,RasList=RAS_SERVERLIST,RasMaxRetries=RAS_MAXRETRIES};
RasDialog(const RasDialog &someRasDialog);
RasDialog &operator=(const RasDialog &someRasDialog);
CallbackData::ReturnType initDialogHandler(CallbackData &someCallbackData);
CallbackData::ReturnType commandHandler(CallbackData &someCallbackData);
WORD handleAccept(void);
WORD isRasOkay(void)const;
void handleRasEnableEvent(void);
void handleRasListEvent(void);
void queryRasSettings(void);
void queryRasEntryNames(void);
void setCurrentEntry(const String &mRasEntryName);
void showRasError(void);
Callback<RasDialog> mInitDialogHandler;
Callback<RasDialog> mCommandHandler;
RasOptions mRasOptions;
HWND mhParent;
};
inline
RasDialog::RasDialog(const GUIWindow &parentWindow)
: mhParent(parentWindow)
{
mInitDialogHandler.setCallback(this,&RasDialog::initDialogHandler);
mCommandHandler.setCallback(this,&RasDialog::commandHandler);
insertHandler(VectorHandler::CommandHandler,&mCommandHandler);
insertHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler);
}
inline
RasDialog::RasDialog(const RasDialog &someRasDialog)
: mhParent(someRasDialog.mhParent)
{ // no implementation
mInitDialogHandler.setCallback(this,&RasDialog::initDialogHandler);
mCommandHandler.setCallback(this,&RasDialog::commandHandler);
}
inline
RasDialog::~RasDialog()
{
removeHandler(VectorHandler::CommandHandler,&mCommandHandler);
removeHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler);
}
inline
RasDialog &RasDialog::operator=(const RasDialog &/*someRasDialog*/)
{ // no implementation
return *this;
}
inline
void RasDialog::showRasError(void)
{
::MessageBox(*this,(LPSTR)"Please make sure that Dial-Up Networking is properly installed.","Dial-Up Networking Error",MB_ICONHAND);
}
#endif