aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/sendmail
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/net/sendmail/sendmailServiceInfos.cpp65
-rw-r--r--src/net/sendmail/sendmailTransport.cpp41
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;
}