#ifndef _SMTP_MAILDLG_HPP_ #define _SMTP_MAILDLG_HPP_ #ifndef _COMMON_DWINDOW_HPP_ #include #endif #ifndef _SMTP_MAIL_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _SMTP_MAILINFO_HPP_ #include #endif #ifndef _SMTP_SMTPTHREAD_HPP_ #include #endif class MailInfo; class StatusBar; class MailDlg : public DWindow, public SMTPThread { public: MailDlg(void); virtual ~MailDlg(); BOOL perform(const String &strCommandLine); protected: virtual void message(const String &messageString); virtual void message(Block &messageStrings); private: enum {MailTo=MAIL_TO,MailText=MAIL_TEXT,MailSubject=MAIL_SUBJECT,MailFrom=MAIL_FROM,MailServer=MAIL_SERVER,MailAttach=MAIL_ATTACH}; MailDlg &operator=(const MailDlg &someMailDlg); BOOL getFields(void); void sendMail(void); void handleMailServer(void); void handleMailTo(CallbackData &someCallbackData); void handleMailFrom(CallbackData &someCallbackData); void handleMailAttach(void); void clearEditControl(void); void initializeRecipients(void); void initializeReversePaths(void); void enableControls(BOOL enableFlag); CallbackData::ReturnType initHandler(CallbackData &someCallbackData); CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); CallbackData::ReturnType closeHandler(CallbackData &someCallbackData); CallbackData::ReturnType dlgCodeHandler(CallbackData &someCallbackData); DWORD preOpenHandler(ThreadMessage &someThreadMessage); DWORD openHandler(ThreadMessage &someThreadMessage); ThreadCallback mOpenHandler; ThreadCallback mPreOpenHandler; Callback mInitHandler; Callback mDestroyHandler; Callback mCommandHandler; Callback mCloseHandler; Callback mDlgCodeHandler; SmartPointer mStatusBar; MailInfo mMailInfo; Block mAttachment; String mCommandLine; }; #endif