diff options
Diffstat (limited to '')
-rw-r--r-- | src/net/maildir/maildirServiceInfos.cpp | 64 | ||||
-rw-r--r-- | src/net/maildir/maildirStore.cpp | 42 |
2 files changed, 71 insertions, 35 deletions
diff --git a/src/net/maildir/maildirServiceInfos.cpp b/src/net/maildir/maildirServiceInfos.cpp new file mode 100644 index 00000000..f6487103 --- /dev/null +++ b/src/net/maildir/maildirServiceInfos.cpp @@ -0,0 +1,64 @@ +// +// 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/maildir/maildirServiceInfos.hpp" + + +namespace vmime { +namespace net { +namespace maildir { + + +maildirServiceInfos::maildirServiceInfos() +{ +} + + +const string maildirServiceInfos::getPropertyPrefix() const +{ + return "store.maildir."; +} + + +const maildirServiceInfos::props& maildirServiceInfos::getProperties() const +{ + static props maildirProps = + { + property(serviceInfos::property::SERVER_ROOTPATH, serviceInfos::property::FLAG_REQUIRED) + }; + + return maildirProps; +} + + +const std::vector <serviceInfos::property> maildirServiceInfos::getAvailableProperties() const +{ + std::vector <property> list; + const props& p = getProperties(); + + list.push_back(p.PROPERTY_SERVER_ROOTPATH); + + return list; +} + + +} // maildir +} // net +} // vmime + diff --git a/src/net/maildir/maildirStore.cpp b/src/net/maildir/maildirStore.cpp index bbb95624..d1baf8dd 100644 --- a/src/net/maildir/maildirStore.cpp +++ b/src/net/maildir/maildirStore.cpp @@ -29,9 +29,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 maildirServiceInfos&>(getInfos()).getProperties().prop)) #define HAS_PROPERTY(prop) \ - (sm_infos.hasProperty(getSession(), sm_infos.getProperties().prop)) + (getInfos().hasProperty(getSession(), \ + dynamic_cast <const maildirServiceInfos&>(getInfos()).getProperties().prop)) namespace vmime { @@ -205,50 +207,20 @@ const int maildirStore::getCapabilities() const - // Service infos -maildirStore::_infos maildirStore::sm_infos; +maildirServiceInfos maildirStore::sm_infos; const serviceInfos& maildirStore::getInfosInstance() { - return (sm_infos); + return sm_infos; } const serviceInfos& maildirStore::getInfos() const { - return (sm_infos); -} - - -const string maildirStore::_infos::getPropertyPrefix() const -{ - return "store.maildir."; -} - - -const maildirStore::_infos::props& maildirStore::_infos::getProperties() const -{ - static props p = - { - property(serviceInfos::property::SERVER_ROOTPATH, serviceInfos::property::FLAG_REQUIRED) - }; - - return p; -} - - -const std::vector <serviceInfos::property> maildirStore::_infos::getAvailableProperties() const -{ - std::vector <property> list; - const props& p = getProperties(); - - // Maildir-specific properties - list.push_back(p.PROPERTY_SERVER_ROOTPATH); - - return (list); + return sm_infos; } |