#ifndef _NNTP_RASDLG_HPP_ #define _NNTP_RASDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _NNTP_RESOURCE_HPP_ #include #endif #ifndef _NNTP_RASOPTIONS_HPP_ #include #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 mInitDialogHandler; Callback 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