// Copyright (c) 2010 Martin Knafve / hMailServer.com. // http://www.hmailserver.com #pragma once namespace HM { class Message; class Result; class FetchAccount; class Events { public: Events(void); ~Events(void); static std::shared_ptr FireOnClientValidatePassword(std::shared_ptr pAccount, const String &sPassword); static bool FireOnDeliverMessage(std::shared_ptr pMessage); static bool FireOnDeliveryStart(std::shared_ptr pMessage); static void FireOnDeliveryFailed(std::shared_ptr pMessage, const String &sSendersIP, const String &sRecipient, const String &sErrorMessage); static std::shared_ptr FireOnExternalAccountDownload(std::shared_ptr fetchAccount, std::shared_ptr pMessage, const String &sRemoteUID); }; }