// Copyright (c) 2010 Martin Knafve / hMailServer.com. // http://www.hmailserver.com #pragma once namespace HM { class Message; class RuleResult; class ServerInfo; class MessageRecipient; class ServerTargetResolver { public: ServerTargetResolver(std::shared_ptr message, const RuleResult &globalRuleResult); ~ServerTargetResolver(void); std::map, std::vector > > Resolve(); private: std::map, std::vector > > CreateDistinctMap(std::map, std::vector > > serverInfos); static std::shared_ptr GetFixedSMTPHostForDomain_(const String &sDomain); std::shared_ptr message_; const RuleResult &_globalRuleResult; }; }