diff options
Diffstat (limited to 'include/MailServer.h')
-rw-r--r-- | include/MailServer.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/include/MailServer.h b/include/MailServer.h index e39ad93..296ba50 100644 --- a/include/MailServer.h +++ b/include/MailServer.h @@ -30,14 +30,19 @@ class MailHandler : public Base { public: - MailHandler() {} - virtual ~MailHandler() {} - virtual void ProcessMail(Handle * in, const String & from, std::vector<String> tos) = 0; + MailHandler(); + virtual ~MailHandler(); + virtual bool doProcessMail(Handle * in, const String & from, std::vector<String> tos) = 0; + static bool ProcessMail(Handle * in, const String & from, std::vector<String> tos); + void OnTop(); + private: + static MailHandler * head; + MailHandler * next, * prev; }; class MailServer : public Task { public: - MailServer(MailHandler *, int = 2500, const String & = String("GruiK Server v0.2")) throw (GeneralException); + MailServer(int = 2500, const String & = String("GruiK Server v0.2")) throw (GeneralException); virtual ~MailServer(); virtual String GetName(); @@ -48,7 +53,6 @@ class MailServer : public Task { Socket Listener; String name; int localport; - MailHandler * handler; }; #endif |