Files
Work/smtp/MAILDLG.HPP
2024-08-07 09:16:27 -04:00

64 lines
2.0 KiB
C++

#ifndef _SMTP_MAILDLG_HPP_
#define _SMTP_MAILDLG_HPP_
#ifndef _COMMON_DWINDOW_HPP_
#include <common/dwindow.hpp>
#endif
#ifndef _SMTP_MAIL_HPP_
#include <smtp/mail.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _SMTP_MAILINFO_HPP_
#include <smtp/mailinfo.hpp>
#endif
#ifndef _SMTP_SMTPTHREAD_HPP_
#include <smtp/smtpthrd.hpp>
#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<String> &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<MailDlg> mOpenHandler;
ThreadCallback<MailDlg> mPreOpenHandler;
Callback<MailDlg> mInitHandler;
Callback<MailDlg> mDestroyHandler;
Callback<MailDlg> mCommandHandler;
Callback<MailDlg> mCloseHandler;
Callback<MailDlg> mDlgCodeHandler;
SmartPointer<StatusBar> mStatusBar;
MailInfo mMailInfo;
Block<String> mAttachment;
String mCommandLine;
};
#endif