diff options
Diffstat (limited to '')
-rw-r--r-- | src/net/sendmail/sendmailServiceInfos.cpp | 65 | ||||
-rw-r--r-- | src/net/sendmail/sendmailTransport.cpp | 41 |
2 files changed, 72 insertions, 34 deletions
diff --git a/src/net/sendmail/sendmailServiceInfos.cpp b/src/net/sendmail/sendmailServiceInfos.cpp new file mode 100644 index 00000000..f0f2fa59 --- /dev/null +++ b/src/net/sendmail/sendmailServiceInfos.cpp @@ -0,0 +1,65 @@ +// +// VMime library (http://www.vmime.org) +// Copyright (C) 2002-2005 Vincent Richard <[email protected]> +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License as +// published by the Free Software Foundation; either version 2 of +// the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License along along +// with this program; if not, write to the Free Software Foundation, Inc., Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.. +// + +#include "vmime/net/sendmail/sendmailServiceInfos.hpp" + + +namespace vmime { +namespace net { +namespace sendmail { + + +sendmailServiceInfos::sendmailServiceInfos() +{ +} + + +const string sendmailServiceInfos::getPropertyPrefix() const +{ + return "transport.sendmail."; +} + + +const sendmailServiceInfos::props& sendmailServiceInfos::getProperties() const +{ + static props sendmailProps = + { + // Path to sendmail (override default) + property("binpath", serviceInfos::property::TYPE_STRING, string(VMIME_SENDMAIL_PATH)) + }; + + return sendmailProps; +} + + +const std::vector <serviceInfos::property> sendmailServiceInfos::getAvailableProperties() const +{ + std::vector <property> list; + const props& p = getProperties(); + + list.push_back(p.PROPERTY_BINPATH); + + return list; +} + + +} // sendmail +} // net +} // vmime + diff --git a/src/net/sendmail/sendmailTransport.cpp b/src/net/sendmail/sendmailTransport.cpp index 4a077465..853f4eec 100644 --- a/src/net/sendmail/sendmailTransport.cpp +++ b/src/net/sendmail/sendmailTransport.cpp @@ -33,9 +33,11 @@ // Helpers for service properties #define GET_PROPERTY(type, prop) \ - (sm_infos.getPropertyValue <type>(getSession(), sm_infos.getProperties().prop)) + (getInfos().getPropertyValue <type>(getSession(), \ + dynamic_cast <const sendmailServiceInfos&>(getInfos()).getProperties().prop)) #define HAS_PROPERTY(prop) \ - (sm_infos.hasProperty(getSession(), sm_infos.getProperties().prop)) + (getInfos().hasProperty(getSession(), \ + dynamic_cast <const sendmailServiceInfos&>(getInfos()).getProperties().prop)) #if VMIME_BUILTIN_PLATFORM_POSIX @@ -177,47 +179,18 @@ void sendmailTransport::internalSend // Service infos -sendmailTransport::_infos sendmailTransport::sm_infos; +sendmailServiceInfos sendmailTransport::sm_infos; const serviceInfos& sendmailTransport::getInfosInstance() { - return (sm_infos); + return sm_infos; } const serviceInfos& sendmailTransport::getInfos() const { - return (sm_infos); -} - - -const string sendmailTransport::_infos::getPropertyPrefix() const -{ - return "transport.sendmail."; -} - - -const sendmailTransport::_infos::props& sendmailTransport::_infos::getProperties() const -{ - static props p = - { - // Path to sendmail (override default) - property("binpath", serviceInfos::property::TYPE_STRING, string(VMIME_SENDMAIL_PATH)) - }; - - return p; -} - - -const std::vector <serviceInfos::property> sendmailTransport::_infos::getAvailableProperties() const -{ - std::vector <property> list; - const props& p = getProperties(); - - list.push_back(p.PROPERTY_BINPATH); - - return (list); + return sm_infos; } |