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/maildir/maildirMessage.cpp | 66 +++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'src/net/maildir/maildirMessage.cpp') diff --git a/src/net/maildir/maildirMessage.cpp b/src/net/maildir/maildirMessage.cpp index d20481d4..88d743b2 100644 --- a/src/net/maildir/maildirMessage.cpp +++ b/src/net/maildir/maildirMessage.cpp @@ -47,9 +47,9 @@ namespace net { namespace maildir { -maildirMessage::maildirMessage(ref folder, const int num) +maildirMessage::maildirMessage(shared_ptr folder, const int num) : m_folder(folder), m_num(num), m_size(-1), m_flags(FLAG_UNDEFINED), - m_expunged(false), m_structure(NULL) + m_expunged(false), m_structure(null) { folder->registerMessage(this); } @@ -57,7 +57,7 @@ maildirMessage::maildirMessage(ref folder, const int num) maildirMessage::~maildirMessage() { - ref folder = m_folder.acquire(); + shared_ptr folder = m_folder.lock(); if (folder) folder->unregisterMessage(this); @@ -66,7 +66,7 @@ maildirMessage::~maildirMessage() void maildirMessage::onFolderClosed() { - m_folder = NULL; + m_folder.reset(); } @@ -97,7 +97,7 @@ bool maildirMessage::isExpunged() const } -ref maildirMessage::getStructure() const +shared_ptr maildirMessage::getStructure() const { if (m_structure == NULL) throw exceptions::unfetched_object(); @@ -106,7 +106,7 @@ ref maildirMessage::getStructure() const } -ref maildirMessage::getStructure() +shared_ptr maildirMessage::getStructure() { if (m_structure == NULL) throw exceptions::unfetched_object(); @@ -115,7 +115,7 @@ ref maildirMessage::getStructure() } -ref maildirMessage::getHeader() const +shared_ptr maildirMessage::getHeader() const { if (m_header == NULL) throw exceptions::unfetched_object(); @@ -135,7 +135,7 @@ int maildirMessage::getFlags() const void maildirMessage::setFlags(const int flags, const int mode) { - ref folder = m_folder.acquire(); + shared_ptr folder = m_folder.lock(); if (!folder) throw exceptions::folder_not_found(); @@ -152,11 +152,11 @@ void maildirMessage::extract(utility::outputStream& os, } -void maildirMessage::extractPart(ref p, utility::outputStream& os, +void maildirMessage::extractPart(shared_ptr p, utility::outputStream& os, utility::progressListener* progress, const int start, const int length, const bool peek) const { - ref mp = p.dynamicCast (); + shared_ptr mp = dynamicCast (p); extractImpl(os, progress, mp->getBodyParsedOffset(), mp->getBodyParsedLength(), start, length, peek); @@ -167,15 +167,15 @@ void maildirMessage::extractImpl(utility::outputStream& os, utility::progressLis const int start, const int length, const int partialStart, const int partialLength, const bool /* peek */) const { - ref folder = m_folder.acquire(); + shared_ptr folder = m_folder.lock(); - ref fsf = platform::getHandler()->getFileSystemFactory(); + shared_ptr fsf = platform::getHandler()->getFileSystemFactory(); const utility::file::path path = folder->getMessageFSPath(m_num); - ref file = fsf->create(path); + shared_ptr file = fsf->create(path); - ref reader = file->getFileReader(); - ref is = reader->getInputStream(); + shared_ptr reader = file->getFileReader(); + shared_ptr is = reader->getInputStream(); is->skip(start + partialStart); @@ -210,19 +210,19 @@ void maildirMessage::extractImpl(utility::outputStream& os, utility::progressLis } -void maildirMessage::fetchPartHeader(ref p) +void maildirMessage::fetchPartHeader(shared_ptr p) { - ref folder = m_folder.acquire(); + shared_ptr folder = m_folder.lock(); - ref mp = p.dynamicCast (); + shared_ptr mp = dynamicCast (p); - ref fsf = platform::getHandler()->getFileSystemFactory(); + shared_ptr fsf = platform::getHandler()->getFileSystemFactory(); const utility::file::path path = folder->getMessageFSPath(m_num); - ref file = fsf->create(path); + shared_ptr file = fsf->create(path); - ref reader = file->getFileReader(); - ref is = reader->getInputStream(); + shared_ptr reader = file->getFileReader(); + shared_ptr is = reader->getInputStream(); is->skip(mp->getHeaderParsedOffset()); @@ -246,17 +246,17 @@ void maildirMessage::fetchPartHeader(ref p) } -void maildirMessage::fetch(ref msgFolder, const fetchAttributes& options) +void maildirMessage::fetch(shared_ptr msgFolder, const fetchAttributes& options) { - ref folder = m_folder.acquire(); + shared_ptr folder = m_folder.lock(); if (folder != msgFolder) throw exceptions::folder_not_found(); - ref fsf = platform::getHandler()->getFileSystemFactory(); + shared_ptr fsf = platform::getHandler()->getFileSystemFactory(); const utility::file::path path = folder->getMessageFSPath(m_num); - ref file = fsf->create(path); + shared_ptr file = fsf->create(path); if (options.has(fetchAttributes::FLAGS)) m_flags = maildirUtils::extractFlags(path.getLastComponent()); @@ -273,8 +273,8 @@ void maildirMessage::fetch(ref msgFolder, const fetchAttributes& { string contents; - ref reader = file->getFileReader(); - ref is = reader->getInputStream(); + shared_ptr reader = file->getFileReader(); + shared_ptr is = reader->getInputStream(); // Need whole message contents for structure if (options.has(fetchAttributes::STRUCTURE)) @@ -323,7 +323,7 @@ void maildirMessage::fetch(ref msgFolder, const fetchAttributes& // Extract structure if (options.has(fetchAttributes::STRUCTURE)) { - m_structure = vmime::create (null, msg); + m_structure = make_shared (shared_ptr (), msg); } // Extract some header fields or whole header @@ -338,23 +338,23 @@ void maildirMessage::fetch(ref msgFolder, const fetchAttributes& } -ref
maildirMessage::getOrCreateHeader() +shared_ptr
maildirMessage::getOrCreateHeader() { if (m_header != NULL) return (m_header); else - return (m_header = vmime::create
()); + return (m_header = make_shared
()); } -ref maildirMessage::getParsedMessage() +shared_ptr maildirMessage::getParsedMessage() { std::ostringstream oss; utility::outputStreamAdapter os(oss); extract(os); - vmime::ref msg = vmime::create (); + shared_ptr msg = make_shared (); msg->parse(oss.str()); return msg; -- cgit v1.2.3