From f9913fa28a27f23fde2d4956c62cbb2fb2bc2ee8 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Thu, 21 Nov 2013 22:16:57 +0100 Subject: Boost/C++11 shared pointers. --- src/net/session.cpp | 57 +++++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) (limited to 'src/net/session.cpp') diff --git a/src/net/session.cpp b/src/net/session.cpp index a444d000..fcc5dd12 100644 --- a/src/net/session.cpp +++ b/src/net/session.cpp @@ -39,19 +39,20 @@ namespace net { session::session() - : m_tlsProps(vmime::create ()) + : m_tlsProps(make_shared ()) { } session::session(const session& sess) - : object(), m_props(sess.m_props), m_tlsProps(vmime::create (*sess.m_tlsProps)) + : object(), m_props(sess.m_props), + m_tlsProps(make_shared (*sess.m_tlsProps)) { } session::session(const propertySet& props) - : m_props(props), m_tlsProps(vmime::create ()) + : m_props(props), m_tlsProps(make_shared ()) { } @@ -61,67 +62,67 @@ session::~session() } -ref session::getTransport(ref auth) +shared_ptr session::getTransport(shared_ptr auth) { return (getTransport(m_props["transport.protocol"], auth)); } -ref session::getTransport - (const string& protocol, ref auth) +shared_ptr session::getTransport + (const string& protocol, shared_ptr auth) { - ref sess = thisRef().dynamicCast (); - ref sv = serviceFactory::getInstance()->create(sess, protocol, auth); + shared_ptr sess(dynamicCast (shared_from_this())); + shared_ptr sv = serviceFactory::getInstance()->create(sess, protocol, auth); if (sv->getType() != service::TYPE_TRANSPORT) throw exceptions::no_service_available(); - return sv.staticCast (); + return dynamicCast (sv); } -ref session::getTransport - (const utility::url& url, ref auth) +shared_ptr session::getTransport + (const utility::url& url, shared_ptr auth) { - ref sess = thisRef().dynamicCast (); - ref sv = serviceFactory::getInstance()->create(sess, url, auth); + shared_ptr sess(dynamicCast (shared_from_this())); + shared_ptr sv = serviceFactory::getInstance()->create(sess, url, auth); if (sv->getType() != service::TYPE_TRANSPORT) throw exceptions::no_service_available(); - return sv.staticCast (); + return dynamicCast (sv); } -ref session::getStore(ref auth) +shared_ptr session::getStore(shared_ptr auth) { return (getStore(m_props["store.protocol"], auth)); } -ref session::getStore - (const string& protocol, ref auth) +shared_ptr session::getStore + (const string& protocol, shared_ptr auth) { - ref sess = thisRef().dynamicCast (); - ref sv = serviceFactory::getInstance()->create(sess, protocol, auth); + shared_ptr sess(dynamicCast (shared_from_this())); + shared_ptr sv = serviceFactory::getInstance()->create(sess, protocol, auth); if (sv->getType() != service::TYPE_STORE) throw exceptions::no_service_available(); - return sv.staticCast (); + return dynamicCast (sv); } -ref session::getStore - (const utility::url& url, ref auth) +shared_ptr session::getStore + (const utility::url& url, shared_ptr auth) { - ref sess = thisRef().dynamicCast (); - ref sv = serviceFactory::getInstance()->create(sess, url, auth); + shared_ptr sess(dynamicCast (shared_from_this())); + shared_ptr sv = serviceFactory::getInstance()->create(sess, url, auth); if (sv->getType() != service::TYPE_STORE) throw exceptions::no_service_available(); - return sv.staticCast (); + return dynamicCast (sv); } @@ -137,13 +138,13 @@ propertySet& session::getProperties() } -void session::setTLSProperties(ref tlsProps) +void session::setTLSProperties(shared_ptr tlsProps) { - m_tlsProps = vmime::create (*tlsProps); + m_tlsProps = make_shared (*tlsProps); } -ref session::getTLSProperties() const +shared_ptr session::getTLSProperties() const { return m_tlsProps; } -- cgit v1.2.3