aboutsummaryrefslogtreecommitdiffstats
path: root/src/vmime/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/vmime/net')
-rw-r--r--src/vmime/net/events.cpp6
-rw-r--r--src/vmime/net/events.hpp18
-rw-r--r--src/vmime/net/folder.cpp8
-rw-r--r--src/vmime/net/folder.hpp12
-rw-r--r--src/vmime/net/imap/IMAPCommand.cpp2
-rw-r--r--src/vmime/net/imap/IMAPCommand.hpp2
-rw-r--r--src/vmime/net/imap/IMAPConnection.cpp6
-rw-r--r--src/vmime/net/imap/IMAPConnection.hpp6
-rw-r--r--src/vmime/net/imap/IMAPFolder.cpp6
-rw-r--r--src/vmime/net/imap/IMAPFolder.hpp6
-rw-r--r--src/vmime/net/imap/IMAPMessage.cpp18
-rw-r--r--src/vmime/net/imap/IMAPMessage.hpp14
-rw-r--r--src/vmime/net/imap/IMAPMessagePart.cpp6
-rw-r--r--src/vmime/net/imap/IMAPMessagePart.hpp6
-rw-r--r--src/vmime/net/imap/IMAPMessagePartContentHandler.cpp18
-rw-r--r--src/vmime/net/imap/IMAPMessagePartContentHandler.hpp2
-rw-r--r--src/vmime/net/imap/IMAPMessageStructure.cpp2
-rw-r--r--src/vmime/net/imap/IMAPMessageStructure.hpp2
-rw-r--r--src/vmime/net/imap/IMAPParser.hpp12
-rw-r--r--src/vmime/net/imap/IMAPSStore.cpp2
-rw-r--r--src/vmime/net/imap/IMAPSStore.hpp2
-rw-r--r--src/vmime/net/imap/IMAPStore.cpp2
-rw-r--r--src/vmime/net/imap/IMAPStore.hpp2
-rw-r--r--src/vmime/net/imap/IMAPUtils.cpp5
-rw-r--r--src/vmime/net/imap/IMAPUtils.hpp6
-rw-r--r--src/vmime/net/maildir/format/courierMaildirFormat.cpp2
-rw-r--r--src/vmime/net/maildir/format/courierMaildirFormat.hpp2
-rw-r--r--src/vmime/net/maildir/format/kmailMaildirFormat.cpp2
-rw-r--r--src/vmime/net/maildir/format/kmailMaildirFormat.hpp2
-rw-r--r--src/vmime/net/maildir/maildirFolder.cpp6
-rw-r--r--src/vmime/net/maildir/maildirFolder.hpp6
-rw-r--r--src/vmime/net/maildir/maildirFormat.cpp18
-rw-r--r--src/vmime/net/maildir/maildirFormat.hpp16
-rw-r--r--src/vmime/net/maildir/maildirMessage.cpp8
-rw-r--r--src/vmime/net/maildir/maildirMessage.hpp8
-rw-r--r--src/vmime/net/maildir/maildirMessagePart.cpp2
-rw-r--r--src/vmime/net/maildir/maildirMessagePart.hpp2
-rw-r--r--src/vmime/net/maildir/maildirMessageStructure.cpp4
-rw-r--r--src/vmime/net/maildir/maildirMessageStructure.hpp4
-rw-r--r--src/vmime/net/maildir/maildirStore.cpp2
-rw-r--r--src/vmime/net/maildir/maildirStore.hpp2
-rw-r--r--src/vmime/net/maildir/maildirUtils.cpp2
-rw-r--r--src/vmime/net/maildir/maildirUtils.hpp2
-rw-r--r--src/vmime/net/message.hpp4
-rw-r--r--src/vmime/net/pop3/POP3Command.cpp2
-rw-r--r--src/vmime/net/pop3/POP3Command.hpp2
-rw-r--r--src/vmime/net/pop3/POP3Connection.cpp2
-rw-r--r--src/vmime/net/pop3/POP3Connection.hpp2
-rw-r--r--src/vmime/net/pop3/POP3Folder.cpp6
-rw-r--r--src/vmime/net/pop3/POP3Folder.hpp6
-rw-r--r--src/vmime/net/pop3/POP3Message.cpp10
-rw-r--r--src/vmime/net/pop3/POP3Message.hpp8
-rw-r--r--src/vmime/net/pop3/POP3Response.cpp8
-rw-r--r--src/vmime/net/pop3/POP3Response.hpp8
-rw-r--r--src/vmime/net/pop3/POP3SStore.cpp2
-rw-r--r--src/vmime/net/pop3/POP3SStore.hpp2
-rw-r--r--src/vmime/net/pop3/POP3Store.cpp2
-rw-r--r--src/vmime/net/pop3/POP3Store.hpp2
-rw-r--r--src/vmime/net/pop3/POP3Utils.cpp2
-rw-r--r--src/vmime/net/pop3/POP3Utils.hpp2
-rw-r--r--src/vmime/net/sendmail/sendmailTransport.cpp4
-rw-r--r--src/vmime/net/sendmail/sendmailTransport.hpp4
-rw-r--r--src/vmime/net/service.cpp14
-rw-r--r--src/vmime/net/service.hpp12
-rw-r--r--src/vmime/net/serviceFactory.cpp10
-rw-r--r--src/vmime/net/serviceFactory.hpp14
-rw-r--r--src/vmime/net/serviceInfos.cpp2
-rw-r--r--src/vmime/net/serviceInfos.hpp4
-rw-r--r--src/vmime/net/serviceRegistration.inl4
-rw-r--r--src/vmime/net/session.cpp14
-rw-r--r--src/vmime/net/session.hpp14
-rw-r--r--src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.cpp2
-rw-r--r--src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.hpp2
-rw-r--r--src/vmime/net/smtp/SMTPCommand.cpp2
-rw-r--r--src/vmime/net/smtp/SMTPCommand.hpp2
-rw-r--r--src/vmime/net/smtp/SMTPCommandSet.cpp4
-rw-r--r--src/vmime/net/smtp/SMTPCommandSet.hpp4
-rw-r--r--src/vmime/net/smtp/SMTPConnection.cpp4
-rw-r--r--src/vmime/net/smtp/SMTPConnection.hpp4
-rw-r--r--src/vmime/net/smtp/SMTPResponse.cpp8
-rw-r--r--src/vmime/net/smtp/SMTPResponse.hpp6
-rw-r--r--src/vmime/net/smtp/SMTPSTransport.cpp2
-rw-r--r--src/vmime/net/smtp/SMTPSTransport.hpp2
-rw-r--r--src/vmime/net/smtp/SMTPTransport.cpp4
-rw-r--r--src/vmime/net/smtp/SMTPTransport.hpp4
-rw-r--r--src/vmime/net/socket.hpp4
-rw-r--r--src/vmime/net/store.hpp2
-rw-r--r--src/vmime/net/tls/TLSSecuredConnectionInfos.cpp2
-rw-r--r--src/vmime/net/tls/TLSSecuredConnectionInfos.hpp2
-rw-r--r--src/vmime/net/tls/TLSSession.hpp4
-rw-r--r--src/vmime/net/tls/TLSSocket.hpp2
-rw-r--r--src/vmime/net/tls/gnutls/TLSSession_GnuTLS.cpp6
-rw-r--r--src/vmime/net/tls/gnutls/TLSSession_GnuTLS.hpp4
-rw-r--r--src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp6
-rw-r--r--src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp4
-rw-r--r--src/vmime/net/tls/openssl/TLSSession_OpenSSL.cpp6
-rw-r--r--src/vmime/net/tls/openssl/TLSSession_OpenSSL.hpp4
-rw-r--r--src/vmime/net/tls/openssl/TLSSocket_OpenSSL.cpp83
-rw-r--r--src/vmime/net/tls/openssl/TLSSocket_OpenSSL.hpp4
-rw-r--r--src/vmime/net/tracer.hpp2
-rw-r--r--src/vmime/net/transport.cpp14
-rw-r--r--src/vmime/net/transport.hpp10
102 files changed, 338 insertions, 298 deletions
diff --git a/src/vmime/net/events.cpp b/src/vmime/net/events.cpp
index 45f7f98e..6d056ae6 100644
--- a/src/vmime/net/events.cpp
+++ b/src/vmime/net/events.cpp
@@ -60,7 +60,7 @@ const char* messageCountEvent::EVENT_CLASS = "messageCountEvent";
messageCountEvent::messageCountEvent
- (shared_ptr <folder> folder, const Types type, const std::vector <size_t>& nums)
+ (const shared_ptr <folder>& folder, const Types type, const std::vector <size_t>& nums)
: m_folder(folder), m_type(type)
{
m_nums.resize(nums.size());
@@ -96,7 +96,7 @@ const char* messageChangedEvent::EVENT_CLASS = "messageChangedEvent";
messageChangedEvent::messageChangedEvent
- (shared_ptr <folder> folder, const Types type, const std::vector <size_t>& nums)
+ (const shared_ptr <folder>& folder, const Types type, const std::vector <size_t>& nums)
: m_folder(folder), m_type(type)
{
m_nums.resize(nums.size());
@@ -129,7 +129,7 @@ const char* folderEvent::EVENT_CLASS = "folderEvent";
folderEvent::folderEvent
- (shared_ptr <folder> folder, const Types type,
+ (const shared_ptr <folder>& folder, const Types type,
const utility::path& oldPath, const utility::path& newPath)
: m_folder(folder), m_type(type), m_oldPath(oldPath), m_newPath(newPath)
{
diff --git a/src/vmime/net/events.hpp b/src/vmime/net/events.hpp
index 60d15bd9..772c4d9d 100644
--- a/src/vmime/net/events.hpp
+++ b/src/vmime/net/events.hpp
@@ -75,7 +75,7 @@ public:
};
- messageCountEvent(shared_ptr <folder> folder, const Types type, const std::vector <size_t>& nums);
+ messageCountEvent(const shared_ptr <folder>& folder, const Types type, const std::vector <size_t>& nums);
/** Return the folder in which messages have been added/removed.
*
@@ -123,8 +123,8 @@ protected:
public:
- virtual void messagesAdded(shared_ptr <messageCountEvent> event) = 0;
- virtual void messagesRemoved(shared_ptr <messageCountEvent> event) = 0;
+ virtual void messagesAdded(const shared_ptr <messageCountEvent>& event) = 0;
+ virtual void messagesRemoved(const shared_ptr <messageCountEvent>& event) = 0;
};
@@ -144,7 +144,7 @@ public:
};
- messageChangedEvent(shared_ptr <folder> folder, const Types type, const std::vector <size_t>& nums);
+ messageChangedEvent(const shared_ptr <folder>& folder, const Types type, const std::vector <size_t>& nums);
/** Return the folder in which messages have changed.
*
@@ -192,7 +192,7 @@ protected:
public:
- virtual void messageChanged(shared_ptr <messageChangedEvent> event) = 0;
+ virtual void messageChanged(const shared_ptr <messageChangedEvent>& event) = 0;
};
@@ -214,7 +214,7 @@ public:
};
- folderEvent(shared_ptr <folder> folder, const Types type, const utility::path& oldPath, const utility::path& newPath);
+ folderEvent(const shared_ptr <folder>& folder, const Types type, const utility::path& oldPath, const utility::path& newPath);
/** Return the folder on which the event occurred.
*
@@ -257,9 +257,9 @@ protected:
public:
- virtual void folderCreated(shared_ptr <folderEvent> event) = 0;
- virtual void folderRenamed(shared_ptr <folderEvent> event) = 0;
- virtual void folderDeleted(shared_ptr <folderEvent> event) = 0;
+ virtual void folderCreated(const shared_ptr <folderEvent>& event) = 0;
+ virtual void folderRenamed(const shared_ptr <folderEvent>& event) = 0;
+ virtual void folderDeleted(const shared_ptr <folderEvent>& event) = 0;
};
diff --git a/src/vmime/net/folder.cpp b/src/vmime/net/folder.cpp
index 78ed5131..38f60523 100644
--- a/src/vmime/net/folder.cpp
+++ b/src/vmime/net/folder.cpp
@@ -60,7 +60,7 @@ void folder::removeMessageChangedListener(events::messageChangedListener* l)
}
-void folder::notifyMessageChanged(shared_ptr <events::messageChangedEvent> event)
+void folder::notifyMessageChanged(const shared_ptr <events::messageChangedEvent>& event)
{
for (std::list <events::messageChangedListener*>::iterator
it = m_messageChangedListeners.begin() ; it != m_messageChangedListeners.end() ; ++it)
@@ -82,7 +82,7 @@ void folder::removeMessageCountListener(events::messageCountListener* l)
}
-void folder::notifyMessageCount(shared_ptr <events::messageCountEvent> event)
+void folder::notifyMessageCount(const shared_ptr <events::messageCountEvent>& event)
{
for (std::list <events::messageCountListener*>::iterator
it = m_messageCountListeners.begin() ; it != m_messageCountListeners.end() ; ++it)
@@ -104,7 +104,7 @@ void folder::removeFolderListener(events::folderListener* l)
}
-void folder::notifyFolder(shared_ptr <events::folderEvent> event)
+void folder::notifyFolder(const shared_ptr <events::folderEvent>& event)
{
for (std::list <events::folderListener*>::iterator
it = m_folderListeners.begin() ; it != m_folderListeners.end() ; ++it)
@@ -114,7 +114,7 @@ void folder::notifyFolder(shared_ptr <events::folderEvent> event)
}
-void folder::notifyEvent(shared_ptr <events::event> event)
+void folder::notifyEvent(const shared_ptr <events::event>& event)
{
if (event->getClass() == events::messageCountEvent::EVENT_CLASS)
{
diff --git a/src/vmime/net/folder.hpp b/src/vmime/net/folder.hpp
index 5186bae0..8117d7d1 100644
--- a/src/vmime/net/folder.hpp
+++ b/src/vmime/net/folder.hpp
@@ -274,7 +274,7 @@ public:
* @throw exceptions::net_exception if an error occurs
*/
virtual messageSet addMessage
- (shared_ptr <vmime::message> msg,
+ (const shared_ptr <vmime::message>& msg,
const int flags = -1,
vmime::datetime* date = NULL,
utility::progressListener* progress = NULL) = 0;
@@ -366,7 +366,7 @@ public:
* @param attribs set of attributes to fetch
* @throw exceptions::net_exception if an error occurs
*/
- virtual void fetchMessage(shared_ptr <message> msg, const fetchAttributes& attribs) = 0;
+ virtual void fetchMessage(const shared_ptr <message>& msg, const fetchAttributes& attribs) = 0;
/** Get new references to messages in this folder, given either their
* sequence numbers or UIDs, and fetch objects for them at the same time.
@@ -408,10 +408,10 @@ public:
protected:
- void notifyMessageChanged(shared_ptr <events::messageChangedEvent> event);
- void notifyMessageCount(shared_ptr <events::messageCountEvent> event);
- void notifyFolder(shared_ptr <events::folderEvent> event);
- void notifyEvent(shared_ptr <events::event> event);
+ void notifyMessageChanged(const shared_ptr <events::messageChangedEvent>& event);
+ void notifyMessageCount(const shared_ptr <events::messageCountEvent>& event);
+ void notifyFolder(const shared_ptr <events::folderEvent>& event);
+ void notifyEvent(const shared_ptr <events::event>& event);
private:
diff --git a/src/vmime/net/imap/IMAPCommand.cpp b/src/vmime/net/imap/IMAPCommand.cpp
index b1840d8d..908b9152 100644
--- a/src/vmime/net/imap/IMAPCommand.cpp
+++ b/src/vmime/net/imap/IMAPCommand.cpp
@@ -396,7 +396,7 @@ const string IMAPCommand::getTraceText() const
}
-void IMAPCommand::send(shared_ptr <IMAPConnection> conn)
+void IMAPCommand::send(const shared_ptr <IMAPConnection>& conn)
{
conn->sendCommand(dynamicCast <IMAPCommand>(shared_from_this()));
}
diff --git a/src/vmime/net/imap/IMAPCommand.hpp b/src/vmime/net/imap/IMAPCommand.hpp
index dd499859..09f34c66 100644
--- a/src/vmime/net/imap/IMAPCommand.hpp
+++ b/src/vmime/net/imap/IMAPCommand.hpp
@@ -85,7 +85,7 @@ public:
*
* @param conn connection onto which the command will be sent
*/
- virtual void send(shared_ptr <IMAPConnection> conn);
+ virtual void send(const shared_ptr <IMAPConnection>& conn);
/** Returns the full text of the command, including command name
* and parameters (if any). This is the text that will be sent
diff --git a/src/vmime/net/imap/IMAPConnection.cpp b/src/vmime/net/imap/IMAPConnection.cpp
index 0cc08178..7fc86188 100644
--- a/src/vmime/net/imap/IMAPConnection.cpp
+++ b/src/vmime/net/imap/IMAPConnection.cpp
@@ -66,7 +66,7 @@ namespace net {
namespace imap {
-IMAPConnection::IMAPConnection(shared_ptr <IMAPStore> store, shared_ptr <security::authenticator> auth)
+IMAPConnection::IMAPConnection(const shared_ptr <IMAPStore>& store, const shared_ptr <security::authenticator>& auth)
: m_store(store), m_auth(auth), m_socket(null), m_parser(null), m_tag(null),
m_hierarchySeparator('\0'), m_state(STATE_NONE), m_timeoutHandler(null),
m_secured(false), m_firstTag(true), m_capabilitiesFetched(false), m_noModSeq(false)
@@ -754,7 +754,7 @@ void IMAPConnection::initHierarchySeparator()
}
-void IMAPConnection::sendCommand(shared_ptr <IMAPCommand> cmd)
+void IMAPConnection::sendCommand(const shared_ptr <IMAPCommand>& cmd)
{
if (!m_firstTag)
++(*m_tag);
@@ -830,7 +830,7 @@ shared_ptr <const socket> IMAPConnection::getSocket() const
}
-void IMAPConnection::setSocket(shared_ptr <socket> sok)
+void IMAPConnection::setSocket(const shared_ptr <socket>& sok)
{
m_socket = sok;
m_parser->setSocket(sok);
diff --git a/src/vmime/net/imap/IMAPConnection.hpp b/src/vmime/net/imap/IMAPConnection.hpp
index 0ce9092d..9a277f7c 100644
--- a/src/vmime/net/imap/IMAPConnection.hpp
+++ b/src/vmime/net/imap/IMAPConnection.hpp
@@ -56,7 +56,7 @@ class VMIME_EXPORT IMAPConnection : public object, public enable_shared_from_thi
{
public:
- IMAPConnection(shared_ptr <IMAPStore> store, shared_ptr <security::authenticator> auth);
+ IMAPConnection(const shared_ptr <IMAPStore>& store, const shared_ptr <security::authenticator>& auth);
~IMAPConnection();
@@ -81,7 +81,7 @@ public:
char hierarchySeparator() const;
- void sendCommand(shared_ptr <IMAPCommand> cmd);
+ void sendCommand(const shared_ptr <IMAPCommand>& cmd);
void sendRaw(const byte_t* buffer, const size_t count);
IMAPParser::response* readResponse(IMAPParser::literalHandler* lh = NULL);
@@ -104,7 +104,7 @@ public:
shared_ptr <connectionInfos> getConnectionInfos() const;
shared_ptr <const socket> getSocket() const;
- void setSocket(shared_ptr <socket> sok);
+ void setSocket(const shared_ptr <socket>& sok);
shared_ptr <tracer> getTracer();
diff --git a/src/vmime/net/imap/IMAPFolder.cpp b/src/vmime/net/imap/IMAPFolder.cpp
index 1fbe1331..a142f7f5 100644
--- a/src/vmime/net/imap/IMAPFolder.cpp
+++ b/src/vmime/net/imap/IMAPFolder.cpp
@@ -52,7 +52,7 @@ namespace net {
namespace imap {
-IMAPFolder::IMAPFolder(const folder::path& path, shared_ptr <IMAPStore> store, shared_ptr <folderAttributes> attribs)
+IMAPFolder::IMAPFolder(const folder::path& path, const shared_ptr <IMAPStore>& store, const shared_ptr <folderAttributes>& attribs)
: m_store(store), m_connection(store->connection()), m_path(path),
m_name(path.isEmpty() ? folder::path::component("") : path.getLastComponent()), m_mode(-1),
m_open(false), m_attribs(attribs)
@@ -837,7 +837,7 @@ void IMAPFolder::fetchMessages(std::vector <shared_ptr <message> >& msg, const f
}
-void IMAPFolder::fetchMessage(shared_ptr <message> msg, const fetchAttributes& options)
+void IMAPFolder::fetchMessage(const shared_ptr <message>& msg, const fetchAttributes& options)
{
std::vector <shared_ptr <message> > msgs;
msgs.push_back(msg);
@@ -1044,7 +1044,7 @@ void IMAPFolder::setMessageFlags(const messageSet& msgs, const int flags, const
messageSet IMAPFolder::addMessage
- (shared_ptr <vmime::message> msg, const int flags,
+ (const shared_ptr <vmime::message>& msg, const int flags,
vmime::datetime* date, utility::progressListener* progress)
{
std::ostringstream oss;
diff --git a/src/vmime/net/imap/IMAPFolder.hpp b/src/vmime/net/imap/IMAPFolder.hpp
index d4e1c34a..15663232 100644
--- a/src/vmime/net/imap/IMAPFolder.hpp
+++ b/src/vmime/net/imap/IMAPFolder.hpp
@@ -63,7 +63,7 @@ private:
friend class IMAPMessage;
IMAPFolder(const IMAPFolder&);
- IMAPFolder(const folder::path& path, shared_ptr <IMAPStore> store, shared_ptr <folderAttributes> attribs);
+ IMAPFolder(const folder::path& path, const shared_ptr <IMAPStore>& store, const shared_ptr <folderAttributes>& attribs);
public:
@@ -103,7 +103,7 @@ public:
void setMessageFlags(const messageSet& msgs, const int flags, const int mode = message::FLAG_MODE_SET);
messageSet addMessage
- (shared_ptr <vmime::message> msg,
+ (const shared_ptr <vmime::message>& msg,
const int flags = -1,
vmime::datetime* date = NULL,
utility::progressListener* progress = NULL);
@@ -131,7 +131,7 @@ public:
void fetchMessages(std::vector <shared_ptr <message> >& msg, const fetchAttributes& options, utility::progressListener* progress = NULL);
- void fetchMessage(shared_ptr <message> msg, const fetchAttributes& options);
+ void fetchMessage(const shared_ptr <message>& msg, const fetchAttributes& options);
std::vector <shared_ptr <message> > getAndFetchMessages
(const messageSet& msgs, const fetchAttributes& attribs);
diff --git a/src/vmime/net/imap/IMAPMessage.cpp b/src/vmime/net/imap/IMAPMessage.cpp
index 123a94a9..87f78f38 100644
--- a/src/vmime/net/imap/IMAPMessage.cpp
+++ b/src/vmime/net/imap/IMAPMessage.cpp
@@ -101,7 +101,7 @@ private:
//
-IMAPMessage::IMAPMessage(shared_ptr <IMAPFolder> folder, const size_t num)
+IMAPMessage::IMAPMessage(const shared_ptr <IMAPFolder>& folder, const size_t num)
: m_folder(folder), m_num(num), m_size(-1U), m_flags(FLAG_UNDEFINED),
m_expunged(false), m_modseq(0), m_structure(null)
{
@@ -109,7 +109,7 @@ IMAPMessage::IMAPMessage(shared_ptr <IMAPFolder> folder, const size_t num)
}
-IMAPMessage::IMAPMessage(shared_ptr <IMAPFolder> folder, const size_t num, const uid& uid)
+IMAPMessage::IMAPMessage(const shared_ptr <IMAPFolder>& folder, const size_t num, const uid& uid)
: m_folder(folder), m_num(num), m_size(-1), m_flags(FLAG_UNDEFINED),
m_expunged(false), m_uid(uid), m_modseq(0), m_structure(null)
{
@@ -225,7 +225,7 @@ void IMAPMessage::extract
void IMAPMessage::extractPart
- (shared_ptr <const messagePart> p,
+ (const shared_ptr <const messagePart>& p,
utility::outputStream& os,
utility::progressListener* progress,
const size_t start, const size_t length,
@@ -241,7 +241,7 @@ void IMAPMessage::extractPart
}
-void IMAPMessage::fetchPartHeader(shared_ptr <messagePart> p)
+void IMAPMessage::fetchPartHeader(const shared_ptr <messagePart>& p)
{
shared_ptr <IMAPFolder> folder = m_folder.lock();
@@ -257,7 +257,7 @@ void IMAPMessage::fetchPartHeader(shared_ptr <messagePart> p)
}
-void IMAPMessage::fetchPartHeaderForStructure(shared_ptr <messageStructure> str)
+void IMAPMessage::fetchPartHeaderForStructure(const shared_ptr <messageStructure>& str)
{
for (size_t i = 0, n = str->getPartCount() ; i < n ; ++i)
{
@@ -273,7 +273,7 @@ void IMAPMessage::fetchPartHeaderForStructure(shared_ptr <messageStructure> str)
size_t IMAPMessage::extractImpl
- (shared_ptr <const messagePart> p,
+ (const shared_ptr <const messagePart>& p,
utility::outputStream& os,
utility::progressListener* progress,
const size_t start, const size_t length,
@@ -414,11 +414,11 @@ size_t IMAPMessage::extractImpl
IMAPCommand::FETCH(
m_uid.empty() ? messageSet::byNumber(m_num) : messageSet::byUID(m_uid),
fetchParams
- )->send(constCast <IMAPFolder>(folder)->m_connection);
+ )->send(folder->m_connection);
// Get the response
scoped_ptr <IMAPParser::response> resp
- (constCast <IMAPFolder>(folder)->m_connection->readResponse(&literalHandler));
+ (folder->m_connection->readResponse(&literalHandler));
if (resp->isBad() || resp->response_done()->response_tagged()->
resp_cond_state()->status() != IMAPParser::resp_cond_state::OK)
@@ -611,7 +611,7 @@ void IMAPMessage::setFlags(const int flags, const int mode)
void IMAPMessage::constructParsedMessage
- (shared_ptr <bodyPart> parentPart, shared_ptr <messageStructure> str, int level)
+ (const shared_ptr <bodyPart>& parentPart, const shared_ptr <messageStructure>& str, int level)
{
if (level == 0)
{
diff --git a/src/vmime/net/imap/IMAPMessage.hpp b/src/vmime/net/imap/IMAPMessage.hpp
index 93545f22..48722127 100644
--- a/src/vmime/net/imap/IMAPMessage.hpp
+++ b/src/vmime/net/imap/IMAPMessage.hpp
@@ -59,8 +59,8 @@ private:
public:
- IMAPMessage(shared_ptr <IMAPFolder> folder, const size_t num);
- IMAPMessage(shared_ptr <IMAPFolder> folder, const size_t num, const uid& uid);
+ IMAPMessage(const shared_ptr <IMAPFolder>& folder, const size_t num);
+ IMAPMessage(const shared_ptr <IMAPFolder>& folder, const size_t num, const uid& uid);
~IMAPMessage();
@@ -99,13 +99,13 @@ public:
const bool peek = false) const;
void extractPart
- (shared_ptr <const messagePart> p,
+ (const shared_ptr <const messagePart>& p,
utility::outputStream& os,
utility::progressListener* progress = NULL,
const size_t start = 0, const size_t length = -1,
const bool peek = false) const;
- void fetchPartHeader(shared_ptr <messagePart> p);
+ void fetchPartHeader(const shared_ptr <messagePart>& p);
shared_ptr <vmime::message> getParsedMessage();
@@ -135,7 +135,7 @@ private:
*
* @param str structure for which to fetch parts headers
*/
- void fetchPartHeaderForStructure(shared_ptr <messageStructure> str);
+ void fetchPartHeaderForStructure(const shared_ptr <messageStructure>& str);
/** Recursively contruct parsed message from structure.
* Called by getParsedMessage().
@@ -144,7 +144,7 @@ private:
* @param str structure for which to construct part
* @param level current nesting level (0 is root)
*/
- void constructParsedMessage(shared_ptr <bodyPart> parentPart, shared_ptr <messageStructure> str, int level = 0);
+ void constructParsedMessage(const shared_ptr <bodyPart>& parentPart, const shared_ptr <messageStructure>& str, int level = 0);
enum ExtractFlags
@@ -155,7 +155,7 @@ private:
};
size_t extractImpl
- (shared_ptr <const messagePart> p,
+ (const shared_ptr <const messagePart>& p,
utility::outputStream& os,
utility::progressListener* progress,
const size_t start, const size_t length,
diff --git a/src/vmime/net/imap/IMAPMessagePart.cpp b/src/vmime/net/imap/IMAPMessagePart.cpp
index 54c29a9e..6f3e7167 100644
--- a/src/vmime/net/imap/IMAPMessagePart.cpp
+++ b/src/vmime/net/imap/IMAPMessagePart.cpp
@@ -36,7 +36,7 @@ namespace net {
namespace imap {
-IMAPMessagePart::IMAPMessagePart(shared_ptr <IMAPMessagePart> parent, const size_t number, const IMAPParser::body_type_mpart* mpart)
+IMAPMessagePart::IMAPMessagePart(const shared_ptr <IMAPMessagePart>& parent, const size_t number, const IMAPParser::body_type_mpart* mpart)
: m_parent(parent), m_header(null), m_number(number), m_size(0)
{
m_mediaType = vmime::mediaType
@@ -44,7 +44,7 @@ IMAPMessagePart::IMAPMessagePart(shared_ptr <IMAPMessagePart> parent, const size
}
-IMAPMessagePart::IMAPMessagePart(shared_ptr <IMAPMessagePart> parent, const size_t number, const IMAPParser::body_type_1part* part)
+IMAPMessagePart::IMAPMessagePart(const shared_ptr <IMAPMessagePart>& parent, const size_t number, const IMAPParser::body_type_1part* part)
: m_parent(parent), m_header(null), m_number(number), m_size(0)
{
if (part->body_type_text())
@@ -137,7 +137,7 @@ shared_ptr <const header> IMAPMessagePart::getHeader() const
// static
shared_ptr <IMAPMessagePart> IMAPMessagePart::create
- (shared_ptr <IMAPMessagePart> parent, const size_t number, const IMAPParser::body* body)
+ (const shared_ptr <IMAPMessagePart>& parent, const size_t number, const IMAPParser::body* body)
{
if (body->body_type_mpart())
{
diff --git a/src/vmime/net/imap/IMAPMessagePart.hpp b/src/vmime/net/imap/IMAPMessagePart.hpp
index 2e19f551..d095c12f 100644
--- a/src/vmime/net/imap/IMAPMessagePart.hpp
+++ b/src/vmime/net/imap/IMAPMessagePart.hpp
@@ -48,8 +48,8 @@ class VMIME_EXPORT IMAPMessagePart : public messagePart
{
public:
- IMAPMessagePart(shared_ptr <IMAPMessagePart> parent, const size_t number, const IMAPParser::body_type_mpart* mpart);
- IMAPMessagePart(shared_ptr <IMAPMessagePart> parent, const size_t number, const IMAPParser::body_type_1part* part);
+ IMAPMessagePart(const shared_ptr <IMAPMessagePart>& parent, const size_t number, const IMAPParser::body_type_mpart* mpart);
+ IMAPMessagePart(const shared_ptr <IMAPMessagePart>& parent, const size_t number, const IMAPParser::body_type_1part* part);
shared_ptr <const messageStructure> getStructure() const;
shared_ptr <messageStructure> getStructure();
@@ -65,7 +65,7 @@ public:
static shared_ptr <IMAPMessagePart> create
- (shared_ptr <IMAPMessagePart> parent, const size_t number, const IMAPParser::body* body);
+ (const shared_ptr <IMAPMessagePart>& parent, const size_t number, const IMAPParser::body* body);
header& getOrCreateHeader();
diff --git a/src/vmime/net/imap/IMAPMessagePartContentHandler.cpp b/src/vmime/net/imap/IMAPMessagePartContentHandler.cpp
index 1f53f082..0917d0f7 100644
--- a/src/vmime/net/imap/IMAPMessagePartContentHandler.cpp
+++ b/src/vmime/net/imap/IMAPMessagePartContentHandler.cpp
@@ -43,7 +43,7 @@ namespace imap {
IMAPMessagePartContentHandler::IMAPMessagePartContentHandler
- (shared_ptr <IMAPMessage> msg, shared_ptr <messagePart> part, const vmime::encoding& encoding)
+ (const shared_ptr <IMAPMessage>& msg, const shared_ptr <messagePart>& part, const vmime::encoding& encoding)
: m_message(msg), m_part(part), m_encoding(encoding)
{
}
@@ -52,17 +52,15 @@ IMAPMessagePartContentHandler::IMAPMessagePartContentHandler
shared_ptr <contentHandler> IMAPMessagePartContentHandler::clone() const
{
return make_shared <IMAPMessagePartContentHandler>
- (constCast <IMAPMessage>(m_message.lock()),
- constCast <messagePart>(m_part.lock()),
- m_encoding);
+ (m_message.lock(), m_part.lock(), m_encoding);
}
void IMAPMessagePartContentHandler::generate
(utility::outputStream& os, const vmime::encoding& enc, const size_t maxLineLength) const
{
- shared_ptr <IMAPMessage> msg = constCast <IMAPMessage>(m_message.lock());
- shared_ptr <messagePart> part = constCast <messagePart>(m_part.lock());
+ shared_ptr <IMAPMessage> msg = m_message.lock();
+ shared_ptr <messagePart> part = m_part.lock();
// Data is already encoded
if (isEncoded())
@@ -128,8 +126,8 @@ void IMAPMessagePartContentHandler::generate
void IMAPMessagePartContentHandler::extract
(utility::outputStream& os, utility::progressListener* progress) const
{
- shared_ptr <IMAPMessage> msg = constCast <IMAPMessage>(m_message.lock());
- shared_ptr <messagePart> part = constCast <messagePart>(m_part.lock());
+ shared_ptr <IMAPMessage> msg = m_message.lock();
+ shared_ptr <messagePart> part = m_part.lock();
// No decoding to perform
if (!isEncoded())
@@ -158,8 +156,8 @@ void IMAPMessagePartContentHandler::extract
void IMAPMessagePartContentHandler::extractRaw
(utility::outputStream& os, utility::progressListener* progress) const
{
- shared_ptr <IMAPMessage> msg = constCast <IMAPMessage>(m_message.lock());
- shared_ptr <messagePart> part = constCast <messagePart>(m_part.lock());
+ shared_ptr <IMAPMessage> msg = m_message.lock();
+ shared_ptr <messagePart> part = m_part.lock();
msg->extractPart(part, os, progress);
}
diff --git a/src/vmime/net/imap/IMAPMessagePartContentHandler.hpp b/src/vmime/net/imap/IMAPMessagePartContentHandler.hpp
index cb52b2e3..8314fa95 100644
--- a/src/vmime/net/imap/IMAPMessagePartContentHandler.hpp
+++ b/src/vmime/net/imap/IMAPMessagePartContentHandler.hpp
@@ -44,7 +44,7 @@ class VMIME_EXPORT IMAPMessagePartContentHandler : public contentHandler
{
public:
- IMAPMessagePartContentHandler(shared_ptr <IMAPMessage> msg, shared_ptr <messagePart> part, const vmime::encoding& encoding);
+ IMAPMessagePartContentHandler(const shared_ptr <IMAPMessage>& msg, const shared_ptr <messagePart>& part, const vmime::encoding& encoding);
shared_ptr <contentHandler> clone() const;
diff --git a/src/vmime/net/imap/IMAPMessageStructure.cpp b/src/vmime/net/imap/IMAPMessageStructure.cpp
index 689c495d..1e6c1b32 100644
--- a/src/vmime/net/imap/IMAPMessageStructure.cpp
+++ b/src/vmime/net/imap/IMAPMessageStructure.cpp
@@ -47,7 +47,7 @@ IMAPMessageStructure::IMAPMessageStructure(const IMAPParser::body* body)
}
-IMAPMessageStructure::IMAPMessageStructure(shared_ptr <IMAPMessagePart> parent, const std::vector <IMAPParser::body*>& list)
+IMAPMessageStructure::IMAPMessageStructure(const shared_ptr <IMAPMessagePart>& parent, const std::vector <IMAPParser::body*>& list)
{
size_t number = 0;
diff --git a/src/vmime/net/imap/IMAPMessageStructure.hpp b/src/vmime/net/imap/IMAPMessageStructure.hpp
index 44b6d6f0..f24e518c 100644
--- a/src/vmime/net/imap/IMAPMessageStructure.hpp
+++ b/src/vmime/net/imap/IMAPMessageStructure.hpp
@@ -50,7 +50,7 @@ public:
IMAPMessageStructure();
IMAPMessageStructure(const IMAPParser::body* body);
- IMAPMessageStructure(shared_ptr <IMAPMessagePart> parent, const std::vector <IMAPParser::body*>& list);
+ IMAPMessageStructure(const shared_ptr <IMAPMessagePart>& parent, const std::vector <IMAPParser::body*>& list);
shared_ptr <const messagePart> getPartAt(const size_t x) const;
shared_ptr <messagePart> getPartAt(const size_t x);
diff --git a/src/vmime/net/imap/IMAPParser.hpp b/src/vmime/net/imap/IMAPParser.hpp
index 8b24c9ca..33d091cc 100644
--- a/src/vmime/net/imap/IMAPParser.hpp
+++ b/src/vmime/net/imap/IMAPParser.hpp
@@ -273,7 +273,7 @@ public:
*
* @param tag IMAP command tag
*/
- void setTag(shared_ptr <IMAPTag> tag)
+ void setTag(const shared_ptr <IMAPTag>& tag)
{
m_tag = tag;
}
@@ -292,7 +292,7 @@ public:
*
* @param sok socket
*/
- void setSocket(shared_ptr <socket> sok)
+ void setSocket(const shared_ptr <socket>& sok)
{
m_socket = sok;
}
@@ -301,7 +301,7 @@ public:
*
* @param toh timeout handler
*/
- void setTimeoutHandler(shared_ptr <timeoutHandler> toh)
+ void setTimeoutHandler(const shared_ptr <timeoutHandler>& toh)
{
m_timeoutHandler = toh;
}
@@ -310,7 +310,7 @@ public:
*
* @param tr tracer
*/
- void setTracer(shared_ptr <tracer> tr)
+ void setTracer(const shared_ptr <tracer>& tr)
{
m_tracer = tr;
}
@@ -1996,6 +1996,8 @@ public:
if (name == "marked")
m_type = MARKED;
+ break;
+
case 'n':
if (name == "noinferiors")
@@ -2003,6 +2005,8 @@ public:
else if (name == "noselect")
m_type = NOSELECT;
+ break;
+
case 's':
if (name == "sent")
diff --git a/src/vmime/net/imap/IMAPSStore.cpp b/src/vmime/net/imap/IMAPSStore.cpp
index c9e64f5b..f70c0915 100644
--- a/src/vmime/net/imap/IMAPSStore.cpp
+++ b/src/vmime/net/imap/IMAPSStore.cpp
@@ -35,7 +35,7 @@ namespace net {
namespace imap {
-IMAPSStore::IMAPSStore(shared_ptr <session> sess, shared_ptr <security::authenticator> auth)
+IMAPSStore::IMAPSStore(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth)
: IMAPStore(sess, auth, true)
{
}
diff --git a/src/vmime/net/imap/IMAPSStore.hpp b/src/vmime/net/imap/IMAPSStore.hpp
index 9d27bdd0..8d6896d7 100644
--- a/src/vmime/net/imap/IMAPSStore.hpp
+++ b/src/vmime/net/imap/IMAPSStore.hpp
@@ -46,7 +46,7 @@ class VMIME_EXPORT IMAPSStore : public IMAPStore
{
public:
- IMAPSStore(shared_ptr <session> sess, shared_ptr <security::authenticator> auth);
+ IMAPSStore(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth);
~IMAPSStore();
const string getProtocolName() const;
diff --git a/src/vmime/net/imap/IMAPStore.cpp b/src/vmime/net/imap/IMAPStore.cpp
index bf93f284..7abfe8ae 100644
--- a/src/vmime/net/imap/IMAPStore.cpp
+++ b/src/vmime/net/imap/IMAPStore.cpp
@@ -44,7 +44,7 @@ namespace net {
namespace imap {
-IMAPStore::IMAPStore(shared_ptr <session> sess, shared_ptr <security::authenticator> auth, const bool secured)
+IMAPStore::IMAPStore(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth, const bool secured)
: store(sess, getInfosInstance(), auth), m_connection(null), m_isIMAPS(secured)
{
}
diff --git a/src/vmime/net/imap/IMAPStore.hpp b/src/vmime/net/imap/IMAPStore.hpp
index f854fadf..80932af4 100644
--- a/src/vmime/net/imap/IMAPStore.hpp
+++ b/src/vmime/net/imap/IMAPStore.hpp
@@ -60,7 +60,7 @@ class VMIME_EXPORT IMAPStore : public store
public:
- IMAPStore(shared_ptr <session> sess, shared_ptr <security::authenticator> auth, const bool secured = false);
+ IMAPStore(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth, const bool secured = false);
~IMAPStore();
const string getProtocolName() const;
diff --git a/src/vmime/net/imap/IMAPUtils.cpp b/src/vmime/net/imap/IMAPUtils.cpp
index 6124edcf..bffc2c78 100644
--- a/src/vmime/net/imap/IMAPUtils.cpp
+++ b/src/vmime/net/imap/IMAPUtils.cpp
@@ -381,7 +381,7 @@ const folder::path::component IMAPUtils::fromModifiedUTF7(const string& text)
// static
void IMAPUtils::mailboxFlagsToFolderAttributes
- (shared_ptr <const IMAPConnection> cnt, const IMAPParser::mailbox_flag_list* list,
+ (const shared_ptr <const IMAPConnection>& cnt, const IMAPParser::mailbox_flag_list* list,
folderAttributes& attribs)
{
int specialUse = folderAttributes::SPECIALUSE_NONE;
@@ -594,7 +594,7 @@ const string IMAPUtils::dateTime(const vmime::datetime& date)
// static
shared_ptr <IMAPCommand> IMAPUtils::buildFetchCommand
- (shared_ptr <IMAPConnection> cnt, const messageSet& msgs, const fetchAttributes& options)
+ (const shared_ptr <IMAPConnection>& cnt, const messageSet& msgs, const fetchAttributes& options)
{
// Example:
// C: A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])
@@ -694,6 +694,7 @@ public:
IMAPUIDMessageSetEnumerator()
: m_first(true)
{
+ m_oss.imbue(std::locale::classic());
}
void enumerateNumberMessageRange(const vmime::net::numberMessageRange& range)
diff --git a/src/vmime/net/imap/IMAPUtils.hpp b/src/vmime/net/imap/IMAPUtils.hpp
index 6140855d..a7daf736 100644
--- a/src/vmime/net/imap/IMAPUtils.hpp
+++ b/src/vmime/net/imap/IMAPUtils.hpp
@@ -74,7 +74,7 @@ public:
* @param attribs reference to an object holding folder attributes
*/
static void mailboxFlagsToFolderAttributes
- (shared_ptr <const IMAPConnection> cnt,
+ (const shared_ptr <const IMAPConnection>& cnt,
const IMAPParser::mailbox_flag_list* list,
folderAttributes& attribs);
@@ -98,7 +98,7 @@ public:
* @return fetch request
*/
static shared_ptr <IMAPCommand> buildFetchCommand
- (shared_ptr <IMAPConnection> cnt, const messageSet& msgs, const fetchAttributes& options);
+ (const shared_ptr <IMAPConnection>& cnt, const messageSet& msgs, const fetchAttributes& options);
/** Convert a parser-style address list to a mailbox list.
*
@@ -124,7 +124,7 @@ public:
private:
static const string buildFetchRequestImpl
- (shared_ptr <IMAPConnection> cnt, const string& mode, const string& set, const int options);
+ (const shared_ptr <IMAPConnection>& cnt, const string& mode, const string& set, const int options);
};
diff --git a/src/vmime/net/maildir/format/courierMaildirFormat.cpp b/src/vmime/net/maildir/format/courierMaildirFormat.cpp
index 6d460d5e..78753796 100644
--- a/src/vmime/net/maildir/format/courierMaildirFormat.cpp
+++ b/src/vmime/net/maildir/format/courierMaildirFormat.cpp
@@ -41,7 +41,7 @@ namespace maildir {
namespace format {
-courierMaildirFormat::courierMaildirFormat(shared_ptr <context> ctx)
+courierMaildirFormat::courierMaildirFormat(const shared_ptr <context>& ctx)
: maildirFormat(ctx)
{
}
diff --git a/src/vmime/net/maildir/format/courierMaildirFormat.hpp b/src/vmime/net/maildir/format/courierMaildirFormat.hpp
index b8443426..6b6841e2 100644
--- a/src/vmime/net/maildir/format/courierMaildirFormat.hpp
+++ b/src/vmime/net/maildir/format/courierMaildirFormat.hpp
@@ -47,7 +47,7 @@ class VMIME_EXPORT courierMaildirFormat : public maildirFormat
{
public:
- courierMaildirFormat(shared_ptr <context> ctx);
+ courierMaildirFormat(const shared_ptr <context>& ctx);
/* Folder types:
diff --git a/src/vmime/net/maildir/format/kmailMaildirFormat.cpp b/src/vmime/net/maildir/format/kmailMaildirFormat.cpp
index 975752a5..c52a2f45 100644
--- a/src/vmime/net/maildir/format/kmailMaildirFormat.cpp
+++ b/src/vmime/net/maildir/format/kmailMaildirFormat.cpp
@@ -41,7 +41,7 @@ namespace maildir {
namespace format {
-kmailMaildirFormat::kmailMaildirFormat(shared_ptr <context> ctx)
+kmailMaildirFormat::kmailMaildirFormat(const shared_ptr <context>& ctx)
: maildirFormat(ctx)
{
}
diff --git a/src/vmime/net/maildir/format/kmailMaildirFormat.hpp b/src/vmime/net/maildir/format/kmailMaildirFormat.hpp
index 98ca212e..854e60be 100644
--- a/src/vmime/net/maildir/format/kmailMaildirFormat.hpp
+++ b/src/vmime/net/maildir/format/kmailMaildirFormat.hpp
@@ -47,7 +47,7 @@ class VMIME_EXPORT kmailMaildirFormat : public maildirFormat
{
public:
- kmailMaildirFormat(shared_ptr <context> ctx);
+ kmailMaildirFormat(const shared_ptr <context>& ctx);
/* Folder types:
diff --git a/src/vmime/net/maildir/maildirFolder.cpp b/src/vmime/net/maildir/maildirFolder.cpp
index 8951cb1c..fec1294b 100644
--- a/src/vmime/net/maildir/maildirFolder.cpp
+++ b/src/vmime/net/maildir/maildirFolder.cpp
@@ -49,7 +49,7 @@ namespace net {
namespace maildir {
-maildirFolder::maildirFolder(const folder::path& path, shared_ptr <maildirStore> store)
+maildirFolder::maildirFolder(const folder::path& path, const shared_ptr <maildirStore>& store)
: m_store(store), m_path(path),
m_name(path.isEmpty() ? folder::path::component("") : path.getLastComponent()),
m_mode(-1), m_open(false), m_unreadMessageCount(0), m_messageCount(0)
@@ -708,7 +708,7 @@ void maildirFolder::setMessageFlags
messageSet maildirFolder::addMessage
- (shared_ptr <vmime::message> msg, const int flags,
+ (const shared_ptr <vmime::message>& msg, const int flags,
vmime::datetime* date, utility::progressListener* progress)
{
std::ostringstream oss;
@@ -1221,7 +1221,7 @@ void maildirFolder::fetchMessages(std::vector <shared_ptr <message> >& msg,
}
-void maildirFolder::fetchMessage(shared_ptr <message> msg, const fetchAttributes& options)
+void maildirFolder::fetchMessage(const shared_ptr <message>& msg, const fetchAttributes& options)
{
shared_ptr <maildirStore> store = m_store.lock();
diff --git a/src/vmime/net/maildir/maildirFolder.hpp b/src/vmime/net/maildir/maildirFolder.hpp
index d6bdb7e8..ff0cff61 100644
--- a/src/vmime/net/maildir/maildirFolder.hpp
+++ b/src/vmime/net/maildir/maildirFolder.hpp
@@ -61,7 +61,7 @@ private:
friend class maildirMessage;
maildirFolder(const maildirFolder&) : folder() { }
- maildirFolder(const folder::path& path, shared_ptr <maildirStore> store);
+ maildirFolder(const folder::path& path, const shared_ptr <maildirStore>& store);
public:
@@ -99,7 +99,7 @@ public:
void setMessageFlags(const messageSet& msgs, const int flags, const int mode = message::FLAG_MODE_SET);
- messageSet addMessage(shared_ptr <vmime::message> msg, const int flags = -1, vmime::datetime* date = NULL, utility::progressListener* progress = NULL);
+ messageSet addMessage(const shared_ptr <vmime::message>& msg, const int flags = -1, vmime::datetime* date = NULL, utility::progressListener* progress = NULL);
messageSet addMessage(utility::inputStream& is, const size_t size, const int flags = -1, vmime::datetime* date = NULL, utility::progressListener* progress = NULL);
messageSet copyMessages(const folder::path& dest, const messageSet& msgs);
@@ -116,7 +116,7 @@ public:
void fetchMessages(std::vector <shared_ptr <message> >& msg, const fetchAttributes& options, utility::progressListener* progress = NULL);
- void fetchMessage(shared_ptr <message> msg, const fetchAttributes& options);
+ void fetchMessage(const shared_ptr <message>& msg, const fetchAttributes& options);
std::vector <shared_ptr <message> > getAndFetchMessages
(const messageSet& msgs, const fetchAttributes& attribs);
diff --git a/src/vmime/net/maildir/maildirFormat.cpp b/src/vmime/net/maildir/maildirFormat.cpp
index f7a3c8fe..7f2cb5f1 100644
--- a/src/vmime/net/maildir/maildirFormat.cpp
+++ b/src/vmime/net/maildir/maildirFormat.cpp
@@ -50,15 +50,15 @@ const utility::file::path::component maildirFormat::NEW_DIR("new", vmime::charse
// maildirFormat::context
//
-maildirFormat::context::context(shared_ptr <maildirStore> store)
+maildirFormat::context::context(const shared_ptr <maildirStore>& store)
: m_store(store)
{
}
-shared_ptr <maildirStore> maildirFormat::context::getStore() const
+shared_ptr <maildirStore> maildirFormat::context::getStore()
{
- return constCast <maildirStore>(m_store.lock());
+ return m_store.lock();
}
@@ -66,26 +66,20 @@ shared_ptr <maildirStore> maildirFormat::context::getStore() const
// maildirFormat
//
-maildirFormat::maildirFormat(shared_ptr <context> ctx)
+maildirFormat::maildirFormat(const shared_ptr <context>& ctx)
: m_context(ctx)
{
}
-shared_ptr <maildirFormat::context> maildirFormat::getContext()
-{
- return m_context;
-}
-
-
-shared_ptr <const maildirFormat::context> maildirFormat::getContext() const
+shared_ptr <maildirFormat::context> maildirFormat::getContext() const
{
return m_context;
}
// static
-shared_ptr <maildirFormat> maildirFormat::detect(shared_ptr <maildirStore> store)
+shared_ptr <maildirFormat> maildirFormat::detect(const shared_ptr <maildirStore>& store)
{
shared_ptr <context> ctx = make_shared <context>(store);
diff --git a/src/vmime/net/maildir/maildirFormat.hpp b/src/vmime/net/maildir/maildirFormat.hpp
index c0daf288..733303bd 100644
--- a/src/vmime/net/maildir/maildirFormat.hpp
+++ b/src/vmime/net/maildir/maildirFormat.hpp
@@ -55,9 +55,9 @@ public:
{
public:
- context(shared_ptr <maildirStore> store);
+ context(const shared_ptr <maildirStore>& store);
- shared_ptr <maildirStore> getStore() const;
+ shared_ptr <maildirStore> getStore();
private:
@@ -146,7 +146,7 @@ public:
* @param store of which to detect format
* @return a Maildir format implementation for the specified store
*/
- static shared_ptr <maildirFormat> detect(shared_ptr <maildirStore> store);
+ static shared_ptr <maildirFormat> detect(const shared_ptr <maildirStore>& store);
protected:
@@ -155,20 +155,14 @@ protected:
static const utility::file::path::component NEW_DIR; /**< Unread messages. */
- maildirFormat(shared_ptr <context> ctx);
+ maildirFormat(const shared_ptr <context>& ctx);
/** Returns the current context.
*
* @return current context
*/
- shared_ptr <context> getContext();
-
- /** Returns the current context (const version).
- *
- * @return current context
- */
- shared_ptr <const context> getContext() const;
+ shared_ptr <context> getContext() const;
/** Quick checks whether this implementation can read the Maildir
* format in the specified directory.
diff --git a/src/vmime/net/maildir/maildirMessage.cpp b/src/vmime/net/maildir/maildirMessage.cpp
index faf00f6a..ea3d05a6 100644
--- a/src/vmime/net/maildir/maildirMessage.cpp
+++ b/src/vmime/net/maildir/maildirMessage.cpp
@@ -48,7 +48,7 @@ namespace net {
namespace maildir {
-maildirMessage::maildirMessage(shared_ptr <maildirFolder> folder, const size_t num)
+maildirMessage::maildirMessage(const shared_ptr <maildirFolder>& folder, const size_t num)
: m_folder(folder), m_num(num), m_size(-1), m_flags(FLAG_UNDEFINED),
m_expunged(false), m_structure(null)
{
@@ -160,7 +160,7 @@ void maildirMessage::extract(utility::outputStream& os,
}
-void maildirMessage::extractPart(shared_ptr <const messagePart> p, utility::outputStream& os,
+void maildirMessage::extractPart(const shared_ptr <const messagePart>& p, utility::outputStream& os,
utility::progressListener* progress, const size_t start,
const size_t length, const bool peek) const
{
@@ -217,7 +217,7 @@ void maildirMessage::extractImpl(utility::outputStream& os, utility::progressLis
}
-void maildirMessage::fetchPartHeader(shared_ptr <messagePart> p)
+void maildirMessage::fetchPartHeader(const shared_ptr <messagePart>& p)
{
shared_ptr <maildirFolder> folder = m_folder.lock();
@@ -252,7 +252,7 @@ void maildirMessage::fetchPartHeader(shared_ptr <messagePart> p)
}
-void maildirMessage::fetch(shared_ptr <maildirFolder> msgFolder, const fetchAttributes& options)
+void maildirMessage::fetch(const shared_ptr <maildirFolder>& msgFolder, const fetchAttributes& options)
{
shared_ptr <maildirFolder> folder = m_folder.lock();
diff --git a/src/vmime/net/maildir/maildirMessage.hpp b/src/vmime/net/maildir/maildirMessage.hpp
index 5cdabfc9..3e97a981 100644
--- a/src/vmime/net/maildir/maildirMessage.hpp
+++ b/src/vmime/net/maildir/maildirMessage.hpp
@@ -54,7 +54,7 @@ class VMIME_EXPORT maildirMessage : public message
public:
- maildirMessage(shared_ptr <maildirFolder> folder, const size_t num);
+ maildirMessage(const shared_ptr <maildirFolder>& folder, const size_t num);
~maildirMessage();
@@ -76,15 +76,15 @@ public:
void setFlags(const int flags, const int mode = FLAG_MODE_SET);
void extract(utility::outputStream& os, utility::progressListener* progress = NULL, const size_t start = 0, const size_t length = -1, const bool peek = false) const;
- void extractPart(shared_ptr <const messagePart> p, utility::outputStream& os, utility::progressListener* progress = NULL, const size_t start = 0, const size_t length = -1, const bool peek = false) const;
+ void extractPart(const shared_ptr <const messagePart>& p, utility::outputStream& os, utility::progressListener* progress = NULL, const size_t start = 0, const size_t length = -1, const bool peek = false) const;
- void fetchPartHeader(shared_ptr <messagePart> p);
+ void fetchPartHeader(const shared_ptr <messagePart>& p);
shared_ptr <vmime::message> getParsedMessage();
private:
- void fetch(shared_ptr <maildirFolder> folder, const fetchAttributes& options);
+ void fetch(const shared_ptr <maildirFolder>& folder, const fetchAttributes& options);
void onFolderClosed();
diff --git a/src/vmime/net/maildir/maildirMessagePart.cpp b/src/vmime/net/maildir/maildirMessagePart.cpp
index 0b813749..787c0198 100644
--- a/src/vmime/net/maildir/maildirMessagePart.cpp
+++ b/src/vmime/net/maildir/maildirMessagePart.cpp
@@ -36,7 +36,7 @@ namespace net {
namespace maildir {
-maildirMessagePart::maildirMessagePart(shared_ptr <maildirMessagePart> parent, const size_t number, const bodyPart& part)
+maildirMessagePart::maildirMessagePart(const shared_ptr <maildirMessagePart>& parent, const size_t number, const bodyPart& part)
: m_parent(parent), m_header(null), m_number(number)
{
m_headerParsedOffset = part.getHeader()->getParsedOffset();
diff --git a/src/vmime/net/maildir/maildirMessagePart.hpp b/src/vmime/net/maildir/maildirMessagePart.hpp
index db1aeb75..6aa80019 100644
--- a/src/vmime/net/maildir/maildirMessagePart.hpp
+++ b/src/vmime/net/maildir/maildirMessagePart.hpp
@@ -46,7 +46,7 @@ class maildirMessagePart : public messagePart
{
public:
- maildirMessagePart(shared_ptr <maildirMessagePart> parent, const size_t number, const bodyPart& part);
+ maildirMessagePart(const shared_ptr <maildirMessagePart>& parent, const size_t number, const bodyPart& part);
~maildirMessagePart();
diff --git a/src/vmime/net/maildir/maildirMessageStructure.cpp b/src/vmime/net/maildir/maildirMessageStructure.cpp
index 54eba981..e01c2a92 100644
--- a/src/vmime/net/maildir/maildirMessageStructure.cpp
+++ b/src/vmime/net/maildir/maildirMessageStructure.cpp
@@ -44,7 +44,7 @@ maildirMessageStructure::maildirMessageStructure()
}
-maildirMessageStructure::maildirMessageStructure(shared_ptr <maildirMessagePart> parent, const bodyPart& part)
+maildirMessageStructure::maildirMessageStructure(const shared_ptr <maildirMessagePart>& parent, const bodyPart& part)
{
shared_ptr <maildirMessagePart> mpart = make_shared <maildirMessagePart>(parent, 0, part);
mpart->initStructure(part);
@@ -53,7 +53,7 @@ maildirMessageStructure::maildirMessageStructure(shared_ptr <maildirMessagePart>
}
-maildirMessageStructure::maildirMessageStructure(shared_ptr <maildirMessagePart> parent, const std::vector <shared_ptr <const vmime::bodyPart> >& list)
+maildirMessageStructure::maildirMessageStructure(const shared_ptr <maildirMessagePart>& parent, const std::vector <shared_ptr <const vmime::bodyPart> >& list)
{
for (size_t i = 0 ; i < list.size() ; ++i)
{
diff --git a/src/vmime/net/maildir/maildirMessageStructure.hpp b/src/vmime/net/maildir/maildirMessageStructure.hpp
index a43fc15c..fce5db6f 100644
--- a/src/vmime/net/maildir/maildirMessageStructure.hpp
+++ b/src/vmime/net/maildir/maildirMessageStructure.hpp
@@ -47,8 +47,8 @@ class maildirMessageStructure : public messageStructure
public:
maildirMessageStructure();
- maildirMessageStructure(shared_ptr <maildirMessagePart> parent, const bodyPart& part);
- maildirMessageStructure(shared_ptr <maildirMessagePart> parent, const std::vector <shared_ptr <const vmime::bodyPart> >& list);
+ maildirMessageStructure(const shared_ptr <maildirMessagePart>& parent, const bodyPart& part);
+ maildirMessageStructure(const shared_ptr <maildirMessagePart>& parent, const std::vector <shared_ptr <const vmime::bodyPart> >& list);
shared_ptr <const messagePart> getPartAt(const size_t x) const;
diff --git a/src/vmime/net/maildir/maildirStore.cpp b/src/vmime/net/maildir/maildirStore.cpp
index 3c777551..4029eb7d 100644
--- a/src/vmime/net/maildir/maildirStore.cpp
+++ b/src/vmime/net/maildir/maildirStore.cpp
@@ -52,7 +52,7 @@ namespace net {
namespace maildir {
-maildirStore::maildirStore(shared_ptr <session> sess, shared_ptr <security::authenticator> auth)
+maildirStore::maildirStore(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth)
: store(sess, getInfosInstance(), auth), m_connected(false)
{
}
diff --git a/src/vmime/net/maildir/maildirStore.hpp b/src/vmime/net/maildir/maildirStore.hpp
index efadfdfe..ba7b8c13 100644
--- a/src/vmime/net/maildir/maildirStore.hpp
+++ b/src/vmime/net/maildir/maildirStore.hpp
@@ -60,7 +60,7 @@ class VMIME_EXPORT maildirStore : public store
public:
- maildirStore(shared_ptr <session> sess, shared_ptr <security::authenticator> auth);
+ maildirStore(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth);
~maildirStore();
const string getProtocolName() const;
diff --git a/src/vmime/net/maildir/maildirUtils.cpp b/src/vmime/net/maildir/maildirUtils.cpp
index b31eb931..1c75805a 100644
--- a/src/vmime/net/maildir/maildirUtils.cpp
+++ b/src/vmime/net/maildir/maildirUtils.cpp
@@ -175,7 +175,7 @@ const utility::file::path::component maildirUtils::generateId()
}
-void maildirUtils::recursiveFSDelete(shared_ptr <utility::file> dir)
+void maildirUtils::recursiveFSDelete(const shared_ptr <utility::file>& dir)
{
shared_ptr <utility::fileIterator> files = dir->getFiles();
diff --git a/src/vmime/net/maildir/maildirUtils.hpp b/src/vmime/net/maildir/maildirUtils.hpp
index 8899bdd7..6f120636 100644
--- a/src/vmime/net/maildir/maildirUtils.hpp
+++ b/src/vmime/net/maildir/maildirUtils.hpp
@@ -130,7 +130,7 @@ public:
*
* @param dir directory to delete
*/
- static void recursiveFSDelete(shared_ptr <utility::file> dir);
+ static void recursiveFSDelete(const shared_ptr <utility::file>& dir);
/** Returns a list of message numbers given a message set.
*
diff --git a/src/vmime/net/message.hpp b/src/vmime/net/message.hpp
index ae21f2dd..68cce415 100644
--- a/src/vmime/net/message.hpp
+++ b/src/vmime/net/message.hpp
@@ -331,7 +331,7 @@ public:
* an exception if not supported.
*/
virtual void extractPart
- (shared_ptr <const messagePart> p,
+ (const shared_ptr <const messagePart>& p,
utility::outputStream& os,
utility::progressListener* progress = NULL,
const size_t start = 0,
@@ -342,7 +342,7 @@ public:
*
* @param p the part for which to fetch the header
*/
- virtual void fetchPartHeader(shared_ptr <messagePart> p) = 0;
+ virtual void fetchPartHeader(const shared_ptr <messagePart>& p) = 0;
/** Get the RFC-822 message for this abstract message.
* Warning: This may require getting some data (ie: structure and headers) from
diff --git a/src/vmime/net/pop3/POP3Command.cpp b/src/vmime/net/pop3/POP3Command.cpp
index 9dfaf17a..528746e0 100644
--- a/src/vmime/net/pop3/POP3Command.cpp
+++ b/src/vmime/net/pop3/POP3Command.cpp
@@ -245,7 +245,7 @@ const string POP3Command::getTraceText() const
}
-void POP3Command::send(shared_ptr <POP3Connection> conn)
+void POP3Command::send(const shared_ptr <POP3Connection>& conn)
{
conn->getSocket()->send(m_text + "\r\n");
diff --git a/src/vmime/net/pop3/POP3Command.hpp b/src/vmime/net/pop3/POP3Command.hpp
index 45aff661..7718ccb2 100644
--- a/src/vmime/net/pop3/POP3Command.hpp
+++ b/src/vmime/net/pop3/POP3Command.hpp
@@ -85,7 +85,7 @@ public:
*
* @param conn connection onto which the command will be sent
*/
- virtual void send(shared_ptr <POP3Connection> conn);
+ virtual void send(const shared_ptr <POP3Connection>& conn);
/** Returns the full text of the command, including command name
* and parameters (if any).
diff --git a/src/vmime/net/pop3/POP3Connection.cpp b/src/vmime/net/pop3/POP3Connection.cpp
index 27ab7aa2..ed098656 100644
--- a/src/vmime/net/pop3/POP3Connection.cpp
+++ b/src/vmime/net/pop3/POP3Connection.cpp
@@ -63,7 +63,7 @@ namespace pop3 {
-POP3Connection::POP3Connection(shared_ptr <POP3Store> store, shared_ptr <security::authenticator> auth)
+POP3Connection::POP3Connection(const shared_ptr <POP3Store>& store, const shared_ptr <security::authenticator>& auth)
: m_store(store), m_auth(auth), m_socket(null), m_timeoutHandler(null),
m_authenticated(false), m_secured(false), m_capabilitiesFetched(false)
{
diff --git a/src/vmime/net/pop3/POP3Connection.hpp b/src/vmime/net/pop3/POP3Connection.hpp
index f40f1193..032be5cc 100644
--- a/src/vmime/net/pop3/POP3Connection.hpp
+++ b/src/vmime/net/pop3/POP3Connection.hpp
@@ -65,7 +65,7 @@ class VMIME_EXPORT POP3Connection : public object, public enable_shared_from_thi
{
public:
- POP3Connection(shared_ptr <POP3Store> store, shared_ptr <security::authenticator> auth);
+ POP3Connection(const shared_ptr <POP3Store>& store, const shared_ptr <security::authenticator>& auth);
virtual ~POP3Connection();
diff --git a/src/vmime/net/pop3/POP3Folder.cpp b/src/vmime/net/pop3/POP3Folder.cpp
index 0e232c1a..8c34676e 100644
--- a/src/vmime/net/pop3/POP3Folder.cpp
+++ b/src/vmime/net/pop3/POP3Folder.cpp
@@ -45,7 +45,7 @@ namespace net {
namespace pop3 {
-POP3Folder::POP3Folder(const folder::path& path, shared_ptr <POP3Store> store)
+POP3Folder::POP3Folder(const folder::path& path, const shared_ptr <POP3Store>& store)
: m_store(store), m_path(path),
m_name(path.isEmpty() ? folder::path::component("") : path.getLastComponent()),
m_mode(-1), m_open(false)
@@ -420,7 +420,7 @@ void POP3Folder::fetchMessages(std::vector <shared_ptr <message> >& msg, const f
}
-void POP3Folder::fetchMessage(shared_ptr <message> msg, const fetchAttributes& options)
+void POP3Folder::fetchMessage(const shared_ptr <message>& msg, const fetchAttributes& options)
{
shared_ptr <POP3Store> store = m_store.lock();
@@ -625,7 +625,7 @@ void POP3Folder::rename(const folder::path& /* newPath */)
messageSet POP3Folder::addMessage
- (shared_ptr <vmime::message> /* msg */, const int /* flags */,
+ (const shared_ptr <vmime::message>& /* msg */, const int /* flags */,
vmime::datetime* /* date */, utility::progressListener* /* progress */)
{
throw exceptions::operation_not_supported();
diff --git a/src/vmime/net/pop3/POP3Folder.hpp b/src/vmime/net/pop3/POP3Folder.hpp
index 339399d8..92be088b 100644
--- a/src/vmime/net/pop3/POP3Folder.hpp
+++ b/src/vmime/net/pop3/POP3Folder.hpp
@@ -59,7 +59,7 @@ private:
friend class POP3Message;
POP3Folder(const POP3Folder&);
- POP3Folder(const folder::path& path, shared_ptr <POP3Store> store);
+ POP3Folder(const folder::path& path, const shared_ptr <POP3Store>& store);
public:
@@ -96,7 +96,7 @@ public:
void setMessageFlags(const messageSet& msgs, const int flags, const int mode = message::FLAG_MODE_SET);
- messageSet addMessage(shared_ptr <vmime::message> msg, const int flags = -1, vmime::datetime* date = NULL, utility::progressListener* progress = NULL);
+ messageSet addMessage(const shared_ptr <vmime::message>& msg, const int flags = -1, vmime::datetime* date = NULL, utility::progressListener* progress = NULL);
messageSet addMessage(utility::inputStream& is, const size_t size, const int flags = -1, vmime::datetime* date = NULL, utility::progressListener* progress = NULL);
messageSet copyMessages(const folder::path& dest, const messageSet& msgs);
@@ -113,7 +113,7 @@ public:
void fetchMessages(std::vector <shared_ptr <message> >& msg, const fetchAttributes& options, utility::progressListener* progress = NULL);
- void fetchMessage(shared_ptr <message> msg, const fetchAttributes& options);
+ void fetchMessage(const shared_ptr <message>& msg, const fetchAttributes& options);
std::vector <shared_ptr <message> > getAndFetchMessages
(const messageSet& msgs, const fetchAttributes& attribs);
diff --git a/src/vmime/net/pop3/POP3Message.cpp b/src/vmime/net/pop3/POP3Message.cpp
index 67ad6d16..913219b3 100644
--- a/src/vmime/net/pop3/POP3Message.cpp
+++ b/src/vmime/net/pop3/POP3Message.cpp
@@ -44,7 +44,7 @@ namespace net {
namespace pop3 {
-POP3Message::POP3Message(shared_ptr <POP3Folder> folder, const size_t num)
+POP3Message::POP3Message(const shared_ptr <POP3Folder>& folder, const size_t num)
: m_folder(folder), m_num(num), m_size(-1), m_deleted(false)
{
folder->registerMessage(this);
@@ -149,7 +149,7 @@ void POP3Message::extract
throw exceptions::partial_fetch_not_supported();
// Emit the "RETR" command
- shared_ptr <POP3Store> store = constCast <POP3Folder>(folder)->m_store.lock();
+ shared_ptr <POP3Store> store = folder->m_store.lock();
POP3Command::RETR(m_num)->send(store->getConnection());
@@ -166,7 +166,7 @@ void POP3Message::extract
void POP3Message::extractPart
- (shared_ptr <const messagePart> /* p */,
+ (const shared_ptr <const messagePart>& /* p */,
utility::outputStream& /* os */,
utility::progressListener* /* progress */,
const size_t /* start */, const size_t /* length */,
@@ -176,13 +176,13 @@ void POP3Message::extractPart
}
-void POP3Message::fetchPartHeader(shared_ptr <messagePart> /* p */)
+void POP3Message::fetchPartHeader(const shared_ptr <messagePart>& /* p */)
{
throw exceptions::operation_not_supported();
}
-void POP3Message::fetch(shared_ptr <POP3Folder> msgFolder, const fetchAttributes& options)
+void POP3Message::fetch(const shared_ptr <POP3Folder>& msgFolder, const fetchAttributes& options)
{
shared_ptr <POP3Folder> folder = m_folder.lock();
diff --git a/src/vmime/net/pop3/POP3Message.hpp b/src/vmime/net/pop3/POP3Message.hpp
index e4e3b079..7ac86a1b 100644
--- a/src/vmime/net/pop3/POP3Message.hpp
+++ b/src/vmime/net/pop3/POP3Message.hpp
@@ -56,7 +56,7 @@ private:
public:
- POP3Message(shared_ptr <POP3Folder> folder, const size_t num);
+ POP3Message(const shared_ptr <POP3Folder>& folder, const size_t num);
~POP3Message();
@@ -84,19 +84,19 @@ public:
const bool peek = false) const;
void extractPart
- (shared_ptr <const messagePart> p,
+ (const shared_ptr <const messagePart>& p,
utility::outputStream& os,
utility::progressListener* progress = NULL,
const size_t start = 0, const size_t length = -1,
const bool peek = false) const;
- void fetchPartHeader(shared_ptr <messagePart> p);
+ void fetchPartHeader(const shared_ptr <messagePart>& p);
shared_ptr <vmime::message> getParsedMessage();
private:
- void fetch(shared_ptr <POP3Folder> folder, const fetchAttributes& options);
+ void fetch(const shared_ptr <POP3Folder>& folder, const fetchAttributes& options);
void onFolderClosed();
diff --git a/src/vmime/net/pop3/POP3Response.cpp b/src/vmime/net/pop3/POP3Response.cpp
index de3c2cf3..1d510fb3 100644
--- a/src/vmime/net/pop3/POP3Response.cpp
+++ b/src/vmime/net/pop3/POP3Response.cpp
@@ -46,14 +46,14 @@ namespace net {
namespace pop3 {
-POP3Response::POP3Response(shared_ptr <socket> sok, shared_ptr <timeoutHandler> toh, shared_ptr <tracer> tracer)
+POP3Response::POP3Response(const shared_ptr <socket>& sok, const shared_ptr <timeoutHandler>& toh, const shared_ptr <tracer>& tracer)
: m_socket(sok), m_timeoutHandler(toh), m_tracer(tracer)
{
}
// static
-shared_ptr <POP3Response> POP3Response::readResponse(shared_ptr <POP3Connection> conn)
+shared_ptr <POP3Response> POP3Response::readResponse(const shared_ptr <POP3Connection>& conn)
{
shared_ptr <POP3Response> resp = shared_ptr <POP3Response>
(new POP3Response(conn->getSocket(), conn->getTimeoutHandler(), conn->getTracer()));
@@ -73,7 +73,7 @@ shared_ptr <POP3Response> POP3Response::readResponse(shared_ptr <POP3Connection>
// static
-shared_ptr <POP3Response> POP3Response::readMultilineResponse(shared_ptr <POP3Connection> conn)
+shared_ptr <POP3Response> POP3Response::readMultilineResponse(const shared_ptr <POP3Connection>& conn)
{
shared_ptr <POP3Response> resp = shared_ptr <POP3Response>
(new POP3Response(conn->getSocket(), conn->getTimeoutHandler(), conn->getTracer()));
@@ -112,7 +112,7 @@ shared_ptr <POP3Response> POP3Response::readMultilineResponse(shared_ptr <POP3Co
// static
shared_ptr <POP3Response> POP3Response::readLargeResponse
- (shared_ptr <POP3Connection> conn, utility::outputStream& os,
+ (const shared_ptr <POP3Connection>& conn, utility::outputStream& os,
utility::progressListener* progress, const size_t predictedSize)
{
shared_ptr <POP3Response> resp = shared_ptr <POP3Response>
diff --git a/src/vmime/net/pop3/POP3Response.hpp b/src/vmime/net/pop3/POP3Response.hpp
index d85b5405..4f0221e6 100644
--- a/src/vmime/net/pop3/POP3Response.hpp
+++ b/src/vmime/net/pop3/POP3Response.hpp
@@ -77,7 +77,7 @@ public:
* @throws exceptions::operation_timed_out if no data
* has been received within the granted time
*/
- static shared_ptr <POP3Response> readResponse(shared_ptr <POP3Connection> conn);
+ static shared_ptr <POP3Response> readResponse(const shared_ptr <POP3Connection>& conn);
/** Receive and parse a multiline POP3 response from
* the specified connection.
@@ -87,7 +87,7 @@ public:
* @throws exceptions::operation_timed_out if no data
* has been received within the granted time
*/
- static shared_ptr <POP3Response> readMultilineResponse(shared_ptr <POP3Connection> conn);
+ static shared_ptr <POP3Response> readMultilineResponse(const shared_ptr <POP3Connection>& conn);
/** Receive and parse a large POP3 response (eg. message data)
* from the specified connection.
@@ -101,7 +101,7 @@ public:
* has been received within the granted time
*/
static shared_ptr <POP3Response> readLargeResponse
- (shared_ptr <POP3Connection> conn, utility::outputStream& os,
+ (const shared_ptr <POP3Connection>& conn, utility::outputStream& os,
utility::progressListener* progress, const size_t predictedSize);
@@ -144,7 +144,7 @@ public:
private:
- POP3Response(shared_ptr <socket> sok, shared_ptr <timeoutHandler> toh, shared_ptr <tracer> tracer);
+ POP3Response(const shared_ptr <socket>& sok, const shared_ptr <timeoutHandler>& toh, const shared_ptr <tracer>& tracer);
void readResponseImpl(string& buffer, const bool multiLine);
size_t readResponseImpl
diff --git a/src/vmime/net/pop3/POP3SStore.cpp b/src/vmime/net/pop3/POP3SStore.cpp
index f1c3da74..51e58f0e 100644
--- a/src/vmime/net/pop3/POP3SStore.cpp
+++ b/src/vmime/net/pop3/POP3SStore.cpp
@@ -35,7 +35,7 @@ namespace net {
namespace pop3 {
-POP3SStore::POP3SStore(shared_ptr <session> sess, shared_ptr <security::authenticator> auth)
+POP3SStore::POP3SStore(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth)
: POP3Store(sess, auth, true)
{
}
diff --git a/src/vmime/net/pop3/POP3SStore.hpp b/src/vmime/net/pop3/POP3SStore.hpp
index e60b4ef8..ad88fa10 100644
--- a/src/vmime/net/pop3/POP3SStore.hpp
+++ b/src/vmime/net/pop3/POP3SStore.hpp
@@ -46,7 +46,7 @@ class VMIME_EXPORT POP3SStore : public POP3Store
{
public:
- POP3SStore(shared_ptr <session> sess, shared_ptr <security::authenticator> auth);
+ POP3SStore(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth);
~POP3SStore();
const string getProtocolName() const;
diff --git a/src/vmime/net/pop3/POP3Store.cpp b/src/vmime/net/pop3/POP3Store.cpp
index 4d1bb432..020cc55e 100644
--- a/src/vmime/net/pop3/POP3Store.cpp
+++ b/src/vmime/net/pop3/POP3Store.cpp
@@ -42,7 +42,7 @@ namespace net {
namespace pop3 {
-POP3Store::POP3Store(shared_ptr <session> sess, shared_ptr <security::authenticator> auth, const bool secured)
+POP3Store::POP3Store(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth, const bool secured)
: store(sess, getInfosInstance(), auth), m_isPOP3S(secured)
{
}
diff --git a/src/vmime/net/pop3/POP3Store.hpp b/src/vmime/net/pop3/POP3Store.hpp
index b35659a0..4737715a 100644
--- a/src/vmime/net/pop3/POP3Store.hpp
+++ b/src/vmime/net/pop3/POP3Store.hpp
@@ -59,7 +59,7 @@ class VMIME_EXPORT POP3Store : public store
public:
- POP3Store(shared_ptr <session> sess, shared_ptr <security::authenticator> auth, const bool secured = false);
+ POP3Store(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth, const bool secured = false);
~POP3Store();
const string getProtocolName() const;
diff --git a/src/vmime/net/pop3/POP3Utils.cpp b/src/vmime/net/pop3/POP3Utils.cpp
index 0649fb79..cb17ea9b 100644
--- a/src/vmime/net/pop3/POP3Utils.cpp
+++ b/src/vmime/net/pop3/POP3Utils.cpp
@@ -39,7 +39,7 @@ namespace pop3 {
// static
-void POP3Utils::parseMultiListOrUidlResponse(shared_ptr <POP3Response> response, std::map <size_t, string>& result)
+void POP3Utils::parseMultiListOrUidlResponse(const shared_ptr <POP3Response>& response, std::map <size_t, string>& result)
{
std::map <size_t, string> ids;
diff --git a/src/vmime/net/pop3/POP3Utils.hpp b/src/vmime/net/pop3/POP3Utils.hpp
index c7d15b07..b9b2d555 100644
--- a/src/vmime/net/pop3/POP3Utils.hpp
+++ b/src/vmime/net/pop3/POP3Utils.hpp
@@ -64,7 +64,7 @@ public:
* number to its corresponding data (either UID or size)
*/
static void parseMultiListOrUidlResponse
- (shared_ptr <POP3Response> response, std::map <size_t, string>& result);
+ (const shared_ptr <POP3Response>& response, std::map <size_t, string>& result);
/** Returns a list of message numbers given a message set.
*
diff --git a/src/vmime/net/sendmail/sendmailTransport.cpp b/src/vmime/net/sendmail/sendmailTransport.cpp
index 822e1114..b911b129 100644
--- a/src/vmime/net/sendmail/sendmailTransport.cpp
+++ b/src/vmime/net/sendmail/sendmailTransport.cpp
@@ -58,7 +58,7 @@ namespace net {
namespace sendmail {
-sendmailTransport::sendmailTransport(shared_ptr <session> sess, shared_ptr <security::authenticator> auth)
+sendmailTransport::sendmailTransport(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth)
: transport(sess, getInfosInstance(), auth), m_connected(false)
{
}
@@ -175,7 +175,7 @@ void sendmailTransport::send
void sendmailTransport::internalSend
- (const std::vector <string> args, utility::inputStream& is,
+ (const std::vector <string>& args, utility::inputStream& is,
const size_t size, utility::progressListener* progress)
{
const utility::file::path path = vmime::platform::getHandler()->
diff --git a/src/vmime/net/sendmail/sendmailTransport.hpp b/src/vmime/net/sendmail/sendmailTransport.hpp
index d1c6aec0..da419f95 100644
--- a/src/vmime/net/sendmail/sendmailTransport.hpp
+++ b/src/vmime/net/sendmail/sendmailTransport.hpp
@@ -50,7 +50,7 @@ class VMIME_EXPORT sendmailTransport : public transport
{
public:
- sendmailTransport(shared_ptr <session> sess, shared_ptr <security::authenticator> auth);
+ sendmailTransport(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth);
~sendmailTransport();
const string getProtocolName() const;
@@ -79,7 +79,7 @@ private:
void internalDisconnect();
- void internalSend(const std::vector <string> args, utility::inputStream& is,
+ void internalSend(const std::vector <string>& args, utility::inputStream& is,
const size_t size, utility::progressListener* progress);
diff --git a/src/vmime/net/service.cpp b/src/vmime/net/service.cpp
index 3cf94d5e..055f34fa 100644
--- a/src/vmime/net/service.cpp
+++ b/src/vmime/net/service.cpp
@@ -48,8 +48,8 @@ namespace vmime {
namespace net {
-service::service(shared_ptr <session> sess, const serviceInfos& /* infos */,
- shared_ptr <security::authenticator> auth)
+service::service(const shared_ptr <session>& sess, const serviceInfos& /* infos */,
+ const shared_ptr <security::authenticator>& auth)
: m_session(sess), m_auth(auth)
{
if (!auth)
@@ -102,7 +102,7 @@ shared_ptr <security::authenticator> service::getAuthenticator()
}
-void service::setAuthenticator(shared_ptr <security::authenticator> auth)
+void service::setAuthenticator(const shared_ptr <security::authenticator>& auth)
{
m_auth = auth;
}
@@ -110,7 +110,7 @@ void service::setAuthenticator(shared_ptr <security::authenticator> auth)
#if VMIME_HAVE_TLS_SUPPORT
-void service::setCertificateVerifier(shared_ptr <security::cert::certificateVerifier> cv)
+void service::setCertificateVerifier(const shared_ptr <security::cert::certificateVerifier>& cv)
{
m_certVerifier = cv;
}
@@ -124,7 +124,7 @@ shared_ptr <security::cert::certificateVerifier> service::getCertificateVerifier
#endif // VMIME_HAVE_TLS_SUPPORT
-void service::setSocketFactory(shared_ptr <socketFactory> sf)
+void service::setSocketFactory(const shared_ptr <socketFactory>& sf)
{
m_socketFactory = sf;
}
@@ -136,7 +136,7 @@ shared_ptr <socketFactory> service::getSocketFactory()
}
-void service::setTracerFactory(shared_ptr <tracerFactory> tf)
+void service::setTracerFactory(const shared_ptr <tracerFactory>& tf)
{
m_tracerFactory = tf;
}
@@ -148,7 +148,7 @@ shared_ptr <tracerFactory> service::getTracerFactory()
}
-void service::setTimeoutHandlerFactory(shared_ptr <timeoutHandlerFactory> thf)
+void service::setTimeoutHandlerFactory(const shared_ptr <timeoutHandlerFactory>& thf)
{
m_toHandlerFactory = thf;
}
diff --git a/src/vmime/net/service.hpp b/src/vmime/net/service.hpp
index 8d144aec..1fa120d3 100644
--- a/src/vmime/net/service.hpp
+++ b/src/vmime/net/service.hpp
@@ -60,7 +60,7 @@ class VMIME_EXPORT service : public object, public enable_shared_from_this <serv
{
protected:
- service(shared_ptr <session> sess, const serviceInfos& infos, shared_ptr <security::authenticator> auth);
+ service(const shared_ptr <session>& sess, const serviceInfos& infos, const shared_ptr <security::authenticator>& auth);
public:
@@ -139,14 +139,14 @@ public:
*
* @param auth authenticator object
*/
- void setAuthenticator(shared_ptr <security::authenticator> auth);
+ void setAuthenticator(const shared_ptr <security::authenticator>& auth);
#if VMIME_HAVE_TLS_SUPPORT
/** Set the object responsible for verifying certificates when
* using secured connections (TLS/SSL).
*/
- void setCertificateVerifier(shared_ptr <security::cert::certificateVerifier> cv);
+ void setCertificateVerifier(const shared_ptr <security::cert::certificateVerifier>& cv);
/** Get the object responsible for verifying certificates when
* using secured connections (TLS/SSL).
@@ -160,7 +160,7 @@ public:
*
* @param sf socket factory
*/
- void setSocketFactory(shared_ptr <socketFactory> sf);
+ void setSocketFactory(const shared_ptr <socketFactory>& sf);
/** Return the factory used to create socket objects for this
* service.
@@ -175,7 +175,7 @@ public:
*
* @param thf timeoutHandler factory
*/
- void setTimeoutHandlerFactory(shared_ptr <timeoutHandlerFactory> thf);
+ void setTimeoutHandlerFactory(const shared_ptr <timeoutHandlerFactory>& thf);
/** Return the factory used to create timeoutHandler objects for
* this service.
@@ -185,7 +185,7 @@ public:
shared_ptr <timeoutHandlerFactory> getTimeoutHandlerFactory();
- void setTracerFactory(shared_ptr <tracerFactory> tf);
+ void setTracerFactory(const shared_ptr <tracerFactory>& tf);
shared_ptr <tracerFactory> getTracerFactory();
diff --git a/src/vmime/net/serviceFactory.cpp b/src/vmime/net/serviceFactory.cpp
index b6f90eb2..dc129c63 100644
--- a/src/vmime/net/serviceFactory.cpp
+++ b/src/vmime/net/serviceFactory.cpp
@@ -57,8 +57,8 @@ shared_ptr <serviceFactory> serviceFactory::getInstance()
shared_ptr <service> serviceFactory::create
- (shared_ptr <session> sess, const string& protocol,
- shared_ptr <security::authenticator> auth)
+ (const shared_ptr <session>& sess, const string& protocol,
+ const shared_ptr <security::authenticator>& auth)
{
shared_ptr <const registeredService> rserv = getServiceByProtocol(protocol);
@@ -70,8 +70,8 @@ shared_ptr <service> serviceFactory::create
shared_ptr <service> serviceFactory::create
- (shared_ptr <session> sess, const utility::url& u,
- shared_ptr <security::authenticator> auth)
+ (const shared_ptr <session>& sess, const utility::url& u,
+ const shared_ptr <security::authenticator>& auth)
{
shared_ptr <service> serv = create(sess, u.getProtocol(), auth);
@@ -136,7 +136,7 @@ const std::vector <shared_ptr <const serviceFactory::registeredService> > servic
}
-void serviceFactory::registerService(shared_ptr <registeredService> reg)
+void serviceFactory::registerService(const shared_ptr <registeredService>& reg)
{
m_services.push_back(reg);
}
diff --git a/src/vmime/net/serviceFactory.hpp b/src/vmime/net/serviceFactory.hpp
index 9295b345..cb778b91 100644
--- a/src/vmime/net/serviceFactory.hpp
+++ b/src/vmime/net/serviceFactory.hpp
@@ -81,8 +81,8 @@ public:
public:
virtual shared_ptr <service> create
- (shared_ptr <session> sess,
- shared_ptr <security::authenticator> auth) const = 0;
+ (const shared_ptr <session>& sess,
+ const shared_ptr <security::authenticator>& auth) const = 0;
virtual int getType() const = 0;
virtual const string& getName() const = 0;
@@ -94,7 +94,7 @@ public:
*
* @param reg service registration infos
*/
- void registerService(shared_ptr <registeredService> reg);
+ void registerService(const shared_ptr <registeredService>& reg);
/** Create a new service instance from a protocol name.
*
@@ -105,9 +105,9 @@ public:
* is registered for this protocol
*/
shared_ptr <service> create
- (shared_ptr <session> sess,
+ (const shared_ptr <session>& sess,
const string& protocol,
- shared_ptr <security::authenticator> auth = null);
+ const shared_ptr <security::authenticator>& auth = null);
/** Create a new service instance from a URL.
*
@@ -119,9 +119,9 @@ public:
* is registered for this protocol
*/
shared_ptr <service> create
- (shared_ptr <session> sess,
+ (const shared_ptr <session>& sess,
const utility::url& u,
- shared_ptr <security::authenticator> auth = null);
+ const shared_ptr <security::authenticator>& auth = null);
/** Return information about a registered protocol.
*
diff --git a/src/vmime/net/serviceInfos.cpp b/src/vmime/net/serviceInfos.cpp
index c5d0124a..b3fa7d03 100644
--- a/src/vmime/net/serviceInfos.cpp
+++ b/src/vmime/net/serviceInfos.cpp
@@ -88,7 +88,7 @@ serviceInfos::~serviceInfos()
}
-bool serviceInfos::hasProperty(shared_ptr <session> s, const property& p) const
+bool serviceInfos::hasProperty(const shared_ptr <session>& s, const property& p) const
{
return s->getProperties().hasProperty(getPropertyPrefix() + p.getName());
}
diff --git a/src/vmime/net/serviceInfos.hpp b/src/vmime/net/serviceInfos.hpp
index 5c3909b2..63261867 100644
--- a/src/vmime/net/serviceInfos.hpp
+++ b/src/vmime/net/serviceInfos.hpp
@@ -221,7 +221,7 @@ public:
* @return value of the property
*/
template <typename TYPE>
- const TYPE getPropertyValue(shared_ptr <session> s, const property& p) const
+ const TYPE getPropertyValue(const shared_ptr <session>& s, const property& p) const
{
if (p.getFlags() & property::FLAG_REQUIRED)
return s->getProperties()[getPropertyPrefix() + p.getName()].template getValue <TYPE>();
@@ -237,7 +237,7 @@ public:
* @param p property to test
* @return true if the property is set, false otherwise
*/
- bool hasProperty(shared_ptr <session> s, const property& p) const;
+ bool hasProperty(const shared_ptr <session>& s, const property& p) const;
};
diff --git a/src/vmime/net/serviceRegistration.inl b/src/vmime/net/serviceRegistration.inl
index 2366fe01..5a897594 100644
--- a/src/vmime/net/serviceRegistration.inl
+++ b/src/vmime/net/serviceRegistration.inl
@@ -42,8 +42,8 @@ public:
}
shared_ptr <service> create
- (shared_ptr <session> sess,
- shared_ptr <security::authenticator> auth) const
+ (const shared_ptr <session>& sess,
+ const shared_ptr <security::authenticator>& auth) const
{
return make_shared <S>(sess, auth);
}
diff --git a/src/vmime/net/session.cpp b/src/vmime/net/session.cpp
index 7e335899..9da2fc69 100644
--- a/src/vmime/net/session.cpp
+++ b/src/vmime/net/session.cpp
@@ -78,14 +78,14 @@ shared_ptr <session> session::create(const propertySet& props)
}
-shared_ptr <transport> session::getTransport(shared_ptr <security::authenticator> auth)
+shared_ptr <transport> session::getTransport(const shared_ptr <security::authenticator>& auth)
{
return (getTransport(m_props["transport.protocol"], auth));
}
shared_ptr <transport> session::getTransport
- (const string& protocol, shared_ptr <security::authenticator> auth)
+ (const string& protocol, const shared_ptr <security::authenticator>& auth)
{
shared_ptr <session> sess(dynamicCast <session>(shared_from_this()));
shared_ptr <service> sv = serviceFactory::getInstance()->create(sess, protocol, auth);
@@ -98,7 +98,7 @@ shared_ptr <transport> session::getTransport
shared_ptr <transport> session::getTransport
- (const utility::url& url, shared_ptr <security::authenticator> auth)
+ (const utility::url& url, const shared_ptr <security::authenticator>& auth)
{
shared_ptr <session> sess(dynamicCast <session>(shared_from_this()));
shared_ptr <service> sv = serviceFactory::getInstance()->create(sess, url, auth);
@@ -110,14 +110,14 @@ shared_ptr <transport> session::getTransport
}
-shared_ptr <store> session::getStore(shared_ptr <security::authenticator> auth)
+shared_ptr <store> session::getStore(const shared_ptr <security::authenticator>& auth)
{
return (getStore(m_props["store.protocol"], auth));
}
shared_ptr <store> session::getStore
- (const string& protocol, shared_ptr <security::authenticator> auth)
+ (const string& protocol, const shared_ptr <security::authenticator>& auth)
{
shared_ptr <session> sess(dynamicCast <session>(shared_from_this()));
shared_ptr <service> sv = serviceFactory::getInstance()->create(sess, protocol, auth);
@@ -130,7 +130,7 @@ shared_ptr <store> session::getStore
shared_ptr <store> session::getStore
- (const utility::url& url, shared_ptr <security::authenticator> auth)
+ (const utility::url& url, const shared_ptr <security::authenticator>& auth)
{
shared_ptr <session> sess(dynamicCast <session>(shared_from_this()));
shared_ptr <service> sv = serviceFactory::getInstance()->create(sess, url, auth);
@@ -156,7 +156,7 @@ propertySet& session::getProperties()
#if VMIME_HAVE_TLS_SUPPORT
-void session::setTLSProperties(shared_ptr <tls::TLSProperties> tlsProps)
+void session::setTLSProperties(const shared_ptr <tls::TLSProperties>& tlsProps)
{
m_tlsProps = make_shared <tls::TLSProperties>(*tlsProps);
}
diff --git a/src/vmime/net/session.hpp b/src/vmime/net/session.hpp
index 3165e1ce..75858ef2 100644
--- a/src/vmime/net/session.hpp
+++ b/src/vmime/net/session.hpp
@@ -85,7 +85,7 @@ public:
* protocol or is not a transport protocol
*/
shared_ptr <transport> getTransport
- (shared_ptr <security::authenticator> auth = null);
+ (const shared_ptr <security::authenticator>& auth = null);
/** Return a transport service instance for the specified protocol.
*
@@ -98,7 +98,7 @@ public:
*/
shared_ptr <transport> getTransport
(const string& protocol,
- shared_ptr <security::authenticator> auth = null);
+ const shared_ptr <security::authenticator>& auth = null);
/** Return a transport service instance for the specified URL.
*
@@ -111,7 +111,7 @@ public:
*/
shared_ptr <transport> getTransport
(const utility::url& url,
- shared_ptr <security::authenticator> auth = null);
+ const shared_ptr <security::authenticator>& auth = null);
/** Return a transport service instance for the protocol specified
* in the session properties.
@@ -124,7 +124,7 @@ public:
* @return a new store service, or NULL if no service is registered for this
* protocol or is not a store protocol
*/
- shared_ptr <store> getStore(shared_ptr <security::authenticator> auth = null);
+ shared_ptr <store> getStore(const shared_ptr <security::authenticator>& auth = null);
/** Return a store service instance for the specified protocol.
*
@@ -137,7 +137,7 @@ public:
*/
shared_ptr <store> getStore
(const string& protocol,
- shared_ptr <security::authenticator> auth = null);
+ const shared_ptr <security::authenticator>& auth = null);
/** Return a store service instance for the specified URL.
*
@@ -150,7 +150,7 @@ public:
*/
shared_ptr <store> getStore
(const utility::url& url,
- shared_ptr <security::authenticator> auth = null);
+ const shared_ptr <security::authenticator>& auth = null);
/** Properties for the session and for the services.
*/
@@ -166,7 +166,7 @@ public:
*
* @param tlsProps SSL/TLS properties
*/
- void setTLSProperties(shared_ptr <tls::TLSProperties> tlsProps);
+ void setTLSProperties(const shared_ptr <tls::TLSProperties>& tlsProps);
/** Get properties for SSL/TLS secured connections in this session.
*
diff --git a/src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.cpp b/src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.cpp
index f6ecc54d..d1d58e4c 100644
--- a/src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.cpp
+++ b/src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.cpp
@@ -41,7 +41,7 @@ namespace smtp {
SMTPChunkingOutputStreamAdapter::SMTPChunkingOutputStreamAdapter
- (shared_ptr <SMTPConnection> conn, const size_t size, utility::progressListener* progress)
+ (const shared_ptr <SMTPConnection>& conn, const size_t size, utility::progressListener* progress)
: m_connection(conn), m_bufferSize(0), m_chunkCount(0),
m_totalSize(size), m_totalSent(0), m_progress(progress)
{
diff --git a/src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.hpp b/src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.hpp
index 56d72fb1..7bda1e73 100644
--- a/src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.hpp
+++ b/src/vmime/net/smtp/SMTPChunkingOutputStreamAdapter.hpp
@@ -49,7 +49,7 @@ class VMIME_EXPORT SMTPChunkingOutputStreamAdapter : public utility::outputStrea
{
public:
- SMTPChunkingOutputStreamAdapter(shared_ptr <SMTPConnection> conn,
+ SMTPChunkingOutputStreamAdapter(const shared_ptr <SMTPConnection>& conn,
const size_t size, utility::progressListener* progress);
void flush();
diff --git a/src/vmime/net/smtp/SMTPCommand.cpp b/src/vmime/net/smtp/SMTPCommand.cpp
index 27c8ec1b..acf59830 100644
--- a/src/vmime/net/smtp/SMTPCommand.cpp
+++ b/src/vmime/net/smtp/SMTPCommand.cpp
@@ -221,7 +221,7 @@ const string SMTPCommand::getTraceText() const
}
-void SMTPCommand::writeToSocket(shared_ptr <socket> sok, shared_ptr <tracer> tr)
+void SMTPCommand::writeToSocket(const shared_ptr <socket>& sok, shared_ptr <tracer> tr)
{
sok->send(m_text + "\r\n");
diff --git a/src/vmime/net/smtp/SMTPCommand.hpp b/src/vmime/net/smtp/SMTPCommand.hpp
index 7c00d156..bb52dbc4 100644
--- a/src/vmime/net/smtp/SMTPCommand.hpp
+++ b/src/vmime/net/smtp/SMTPCommand.hpp
@@ -84,7 +84,7 @@ public:
* @param sok socket to which the command will be written
* @param tr tracer
*/
- virtual void writeToSocket(shared_ptr <socket> sok, shared_ptr <tracer> tr);
+ virtual void writeToSocket(const shared_ptr <socket>& sok, shared_ptr <tracer> tr);
/** Returns the full text of the command, including command name
* and parameters (if any).
diff --git a/src/vmime/net/smtp/SMTPCommandSet.cpp b/src/vmime/net/smtp/SMTPCommandSet.cpp
index 85f58fed..425b3535 100644
--- a/src/vmime/net/smtp/SMTPCommandSet.cpp
+++ b/src/vmime/net/smtp/SMTPCommandSet.cpp
@@ -55,7 +55,7 @@ shared_ptr <SMTPCommandSet> SMTPCommandSet::create(const bool pipeline)
}
-void SMTPCommandSet::addCommand(shared_ptr <SMTPCommand> cmd)
+void SMTPCommandSet::addCommand(const shared_ptr <SMTPCommand>& cmd)
{
if (m_started)
{
@@ -67,7 +67,7 @@ void SMTPCommandSet::addCommand(shared_ptr <SMTPCommand> cmd)
}
-void SMTPCommandSet::writeToSocket(shared_ptr <socket> sok, shared_ptr <tracer> tr)
+void SMTPCommandSet::writeToSocket(const shared_ptr <socket>& sok, const shared_ptr <tracer>& tr)
{
if (m_pipeline)
{
diff --git a/src/vmime/net/smtp/SMTPCommandSet.hpp b/src/vmime/net/smtp/SMTPCommandSet.hpp
index 83c7fe46..af69366e 100644
--- a/src/vmime/net/smtp/SMTPCommandSet.hpp
+++ b/src/vmime/net/smtp/SMTPCommandSet.hpp
@@ -61,7 +61,7 @@ public:
*
* @param cmd command to add
*/
- void addCommand(shared_ptr <SMTPCommand> cmd);
+ void addCommand(const shared_ptr <SMTPCommand>& cmd);
/** Tests whether all commands have been sent.
*
@@ -78,7 +78,7 @@ public:
shared_ptr <SMTPCommand> getLastCommandSent() const;
- void writeToSocket(shared_ptr <socket> sok, shared_ptr <tracer> tr);
+ void writeToSocket(const shared_ptr <socket>& sok, const shared_ptr <tracer>& tr);
const string getText() const;
const string getTraceText() const;
diff --git a/src/vmime/net/smtp/SMTPConnection.cpp b/src/vmime/net/smtp/SMTPConnection.cpp
index 8709efe4..cad107cb 100644
--- a/src/vmime/net/smtp/SMTPConnection.cpp
+++ b/src/vmime/net/smtp/SMTPConnection.cpp
@@ -67,7 +67,7 @@ namespace smtp {
-SMTPConnection::SMTPConnection(shared_ptr <SMTPTransport> transport, shared_ptr <security::authenticator> auth)
+SMTPConnection::SMTPConnection(const shared_ptr <SMTPTransport>& transport, const shared_ptr <security::authenticator>& auth)
: m_transport(transport), m_auth(auth), m_socket(null), m_timeoutHandler(null),
m_authenticated(false), m_secured(false), m_extendedSMTP(false)
{
@@ -605,7 +605,7 @@ void SMTPConnection::internalDisconnect()
}
-void SMTPConnection::sendRequest(shared_ptr <SMTPCommand> cmd)
+void SMTPConnection::sendRequest(const shared_ptr <SMTPCommand>& cmd)
{
cmd->writeToSocket(m_socket, m_tracer);
}
diff --git a/src/vmime/net/smtp/SMTPConnection.hpp b/src/vmime/net/smtp/SMTPConnection.hpp
index c7614920..50f5daf2 100644
--- a/src/vmime/net/smtp/SMTPConnection.hpp
+++ b/src/vmime/net/smtp/SMTPConnection.hpp
@@ -65,7 +65,7 @@ class VMIME_EXPORT SMTPConnection : public object
{
public:
- SMTPConnection(shared_ptr <SMTPTransport> transport, shared_ptr <security::authenticator> auth);
+ SMTPConnection(const shared_ptr <SMTPTransport>& transport, const shared_ptr <security::authenticator>& auth);
virtual ~SMTPConnection();
@@ -83,7 +83,7 @@ public:
virtual shared_ptr <session> getSession();
virtual shared_ptr <tracer> getTracer();
- void sendRequest(shared_ptr <SMTPCommand> cmd);
+ void sendRequest(const shared_ptr <SMTPCommand>& cmd);
shared_ptr <SMTPResponse> readResponse();
bool hasExtension(const std::string& extName, std::vector <string>* params = NULL) const;
diff --git a/src/vmime/net/smtp/SMTPResponse.cpp b/src/vmime/net/smtp/SMTPResponse.cpp
index b4b2c542..d1c25cf8 100644
--- a/src/vmime/net/smtp/SMTPResponse.cpp
+++ b/src/vmime/net/smtp/SMTPResponse.cpp
@@ -45,8 +45,8 @@ namespace smtp {
SMTPResponse::SMTPResponse
- (shared_ptr <tracer> tr, shared_ptr <socket> sok,
- shared_ptr <timeoutHandler> toh, const state& st)
+ (const shared_ptr <tracer>& tr, const shared_ptr <socket>& sok,
+ const shared_ptr <timeoutHandler>& toh, const state& st)
: m_socket(sok), m_timeoutHandler(toh), m_tracer(tr),
m_responseBuffer(st.responseBuffer), m_responseContinues(false)
{
@@ -98,8 +98,8 @@ const string SMTPResponse::getText() const
// static
shared_ptr <SMTPResponse> SMTPResponse::readResponse
- (shared_ptr <tracer> tr, shared_ptr <socket> sok,
- shared_ptr <timeoutHandler> toh, const state& st)
+ (const shared_ptr <tracer>& tr, const shared_ptr <socket>& sok,
+ const shared_ptr <timeoutHandler>& toh, const state& st)
{
shared_ptr <SMTPResponse> resp =
shared_ptr <SMTPResponse>(new SMTPResponse(tr, sok, toh, st));
diff --git a/src/vmime/net/smtp/SMTPResponse.hpp b/src/vmime/net/smtp/SMTPResponse.hpp
index 4d88b6b5..fa19a1db 100644
--- a/src/vmime/net/smtp/SMTPResponse.hpp
+++ b/src/vmime/net/smtp/SMTPResponse.hpp
@@ -105,8 +105,8 @@ public:
* has been received within the granted time
*/
static shared_ptr <SMTPResponse> readResponse
- (shared_ptr <tracer> tr, shared_ptr <socket> sok,
- shared_ptr <timeoutHandler> toh, const state& st);
+ (const shared_ptr <tracer>& tr, const shared_ptr <socket>& sok,
+ const shared_ptr <timeoutHandler>& toh, const state& st);
/** Return the SMTP response code.
*
@@ -154,7 +154,7 @@ public:
private:
- SMTPResponse(shared_ptr <tracer> tr, shared_ptr <socket> sok, shared_ptr <timeoutHandler> toh, const state& st);
+ SMTPResponse(const shared_ptr <tracer>& tr, const shared_ptr <socket>& sok, const shared_ptr <timeoutHandler>& toh, const state& st);
SMTPResponse(const SMTPResponse&);
void readResponse();
diff --git a/src/vmime/net/smtp/SMTPSTransport.cpp b/src/vmime/net/smtp/SMTPSTransport.cpp
index ab64d49d..1a8a0804 100644
--- a/src/vmime/net/smtp/SMTPSTransport.cpp
+++ b/src/vmime/net/smtp/SMTPSTransport.cpp
@@ -35,7 +35,7 @@ namespace net {
namespace smtp {
-SMTPSTransport::SMTPSTransport(shared_ptr <session> sess, shared_ptr <security::authenticator> auth)
+SMTPSTransport::SMTPSTransport(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth)
: SMTPTransport(sess, auth, true)
{
}
diff --git a/src/vmime/net/smtp/SMTPSTransport.hpp b/src/vmime/net/smtp/SMTPSTransport.hpp
index 7782f711..52dce1f2 100644
--- a/src/vmime/net/smtp/SMTPSTransport.hpp
+++ b/src/vmime/net/smtp/SMTPSTransport.hpp
@@ -46,7 +46,7 @@ class VMIME_EXPORT SMTPSTransport : public SMTPTransport
{
public:
- SMTPSTransport(shared_ptr <session> sess, shared_ptr <security::authenticator> auth);
+ SMTPSTransport(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth);
~SMTPSTransport();
const string getProtocolName() const;
diff --git a/src/vmime/net/smtp/SMTPTransport.cpp b/src/vmime/net/smtp/SMTPTransport.cpp
index 25eb72a7..27afcf6f 100644
--- a/src/vmime/net/smtp/SMTPTransport.cpp
+++ b/src/vmime/net/smtp/SMTPTransport.cpp
@@ -51,7 +51,7 @@ namespace net {
namespace smtp {
-SMTPTransport::SMTPTransport(shared_ptr <session> sess, shared_ptr <security::authenticator> auth, const bool secured)
+SMTPTransport::SMTPTransport(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth, const bool secured)
: transport(sess, getInfosInstance(), auth), m_isSMTPS(secured), m_needReset(false)
{
}
@@ -377,7 +377,7 @@ void SMTPTransport::send
void SMTPTransport::send
- (shared_ptr <vmime::message> msg, const mailbox& expeditor, const mailboxList& recipients,
+ (const shared_ptr <vmime::message>& msg, const mailbox& expeditor, const mailboxList& recipients,
utility::progressListener* progress, const mailbox& sender)
{
if (!isConnected())
diff --git a/src/vmime/net/smtp/SMTPTransport.hpp b/src/vmime/net/smtp/SMTPTransport.hpp
index 7b266d3d..a5f15ca6 100644
--- a/src/vmime/net/smtp/SMTPTransport.hpp
+++ b/src/vmime/net/smtp/SMTPTransport.hpp
@@ -54,7 +54,7 @@ class VMIME_EXPORT SMTPTransport : public transport
{
public:
- SMTPTransport(shared_ptr <session> sess, shared_ptr <security::authenticator> auth, const bool secured = false);
+ SMTPTransport(const shared_ptr <session>& sess, const shared_ptr <security::authenticator>& auth, const bool secured = false);
~SMTPTransport();
const string getProtocolName() const;
@@ -77,7 +77,7 @@ public:
const mailbox& sender = mailbox());
void send
- (shared_ptr <vmime::message> msg,
+ (const shared_ptr <vmime::message>& msg,
const mailbox& expeditor,
const mailboxList& recipients,
utility::progressListener* progress = NULL,
diff --git a/src/vmime/net/socket.hpp b/src/vmime/net/socket.hpp
index 2de83dd1..4de45ca9 100644
--- a/src/vmime/net/socket.hpp
+++ b/src/vmime/net/socket.hpp
@@ -175,7 +175,7 @@ public:
*
* @param tracer tracer to use
*/
- virtual void setTracer(shared_ptr <tracer> tracer) = 0;
+ virtual void setTracer(const shared_ptr <tracer>& tracer) = 0;
/** Return the tracer used by this socket.
*
@@ -213,7 +213,7 @@ public:
* @param th timeout handler
* @return a new socket
*/
- virtual shared_ptr <socket> create(shared_ptr <timeoutHandler> th) = 0;
+ virtual shared_ptr <socket> create(const shared_ptr <timeoutHandler>& th) = 0;
};
diff --git a/src/vmime/net/store.hpp b/src/vmime/net/store.hpp
index 37dcadbc..dfeb9a53 100644
--- a/src/vmime/net/store.hpp
+++ b/src/vmime/net/store.hpp
@@ -47,7 +47,7 @@ class VMIME_EXPORT store : public service
{
protected:
- store(shared_ptr <session> sess, const serviceInfos& infos, shared_ptr <security::authenticator> auth)
+ store(const shared_ptr <session>& sess, const serviceInfos& infos, const shared_ptr <security::authenticator>& auth)
: service(sess, infos, auth) { }
public:
diff --git a/src/vmime/net/tls/TLSSecuredConnectionInfos.cpp b/src/vmime/net/tls/TLSSecuredConnectionInfos.cpp
index 4856e9af..45b9527e 100644
--- a/src/vmime/net/tls/TLSSecuredConnectionInfos.cpp
+++ b/src/vmime/net/tls/TLSSecuredConnectionInfos.cpp
@@ -38,7 +38,7 @@ namespace tls {
TLSSecuredConnectionInfos::TLSSecuredConnectionInfos
(const string& host, const port_t port,
- shared_ptr <TLSSession> tlsSession, shared_ptr <TLSSocket> tlsSocket)
+ const shared_ptr <TLSSession>& tlsSession, const shared_ptr <TLSSocket>& tlsSocket)
: m_host(host), m_port(port),
m_tlsSession(tlsSession), m_tlsSocket(tlsSocket)
{
diff --git a/src/vmime/net/tls/TLSSecuredConnectionInfos.hpp b/src/vmime/net/tls/TLSSecuredConnectionInfos.hpp
index e552d6f9..19e7a064 100644
--- a/src/vmime/net/tls/TLSSecuredConnectionInfos.hpp
+++ b/src/vmime/net/tls/TLSSecuredConnectionInfos.hpp
@@ -52,7 +52,7 @@ class VMIME_EXPORT TLSSecuredConnectionInfos : public securedConnectionInfos
public:
TLSSecuredConnectionInfos(const string& host, const port_t port,
- shared_ptr <TLSSession> tlsSession, shared_ptr <TLSSocket> tlsSocket);
+ const shared_ptr <TLSSession>& tlsSession, const shared_ptr <TLSSocket>& tlsSocket);
const string getHost() const;
port_t getPort() const;
diff --git a/src/vmime/net/tls/TLSSession.hpp b/src/vmime/net/tls/TLSSession.hpp
index 8951ffa4..83a1623c 100644
--- a/src/vmime/net/tls/TLSSession.hpp
+++ b/src/vmime/net/tls/TLSSession.hpp
@@ -57,7 +57,7 @@ public:
* @param props TLS properties for this session
* @return a new TLS session
*/
- static shared_ptr <TLSSession> create(shared_ptr <security::cert::certificateVerifier> cv, shared_ptr <TLSProperties> props);
+ static shared_ptr <TLSSession> create(const shared_ptr <security::cert::certificateVerifier>& cv, const shared_ptr <TLSProperties>& props);
/** Create a new socket that adds a TLS security layer around
* an existing socket. You should create only one socket
@@ -66,7 +66,7 @@ public:
* @param sok socket to wrap
* @return TLS socket wrapper
*/
- virtual shared_ptr <TLSSocket> getSocket(shared_ptr <socket> sok) = 0;
+ virtual shared_ptr <TLSSocket> getSocket(const shared_ptr <socket>& sok) = 0;
/** Get the object responsible for verifying certificates when
* using secured connections (TLS/SSL).
diff --git a/src/vmime/net/tls/TLSSocket.hpp b/src/vmime/net/tls/TLSSocket.hpp
index be27d1d0..75b80116 100644
--- a/src/vmime/net/tls/TLSSocket.hpp
+++ b/src/vmime/net/tls/TLSSocket.hpp
@@ -59,7 +59,7 @@ public:
* @param session TLS session
* @param sok socket to wrap
*/
- static shared_ptr <TLSSocket> wrap(shared_ptr <TLSSession> session, shared_ptr <socket> sok);
+ static shared_ptr <TLSSocket> wrap(const shared_ptr <TLSSession>& session, const shared_ptr <socket>& sok);
/** Starts a TLS handshake on this connection.
*
diff --git a/src/vmime/net/tls/gnutls/TLSSession_GnuTLS.cpp b/src/vmime/net/tls/gnutls/TLSSession_GnuTLS.cpp
index 2a6450eb..dccfb5ec 100644
--- a/src/vmime/net/tls/gnutls/TLSSession_GnuTLS.cpp
+++ b/src/vmime/net/tls/gnutls/TLSSession_GnuTLS.cpp
@@ -134,13 +134,13 @@ static TLSGlobal g_gnutlsGlobal;
// static
-shared_ptr <TLSSession> TLSSession::create(shared_ptr <security::cert::certificateVerifier> cv, shared_ptr <TLSProperties> props)
+shared_ptr <TLSSession> TLSSession::create(const shared_ptr <security::cert::certificateVerifier>& cv, const shared_ptr <TLSProperties>& props)
{
return make_shared <TLSSession_GnuTLS>(cv, props);
}
-TLSSession_GnuTLS::TLSSession_GnuTLS(shared_ptr <security::cert::certificateVerifier> cv, shared_ptr <TLSProperties> props)
+TLSSession_GnuTLS::TLSSession_GnuTLS(const shared_ptr <security::cert::certificateVerifier>& cv, const shared_ptr <TLSProperties>& props)
: m_certVerifier(cv), m_props(props)
{
int res;
@@ -274,7 +274,7 @@ TLSSession_GnuTLS::~TLSSession_GnuTLS()
}
-shared_ptr <TLSSocket> TLSSession_GnuTLS::getSocket(shared_ptr <socket> sok)
+shared_ptr <TLSSocket> TLSSession_GnuTLS::getSocket(const shared_ptr <socket>& sok)
{
return TLSSocket::wrap(dynamicCast <TLSSession>(shared_from_this()), sok);
}
diff --git a/src/vmime/net/tls/gnutls/TLSSession_GnuTLS.hpp b/src/vmime/net/tls/gnutls/TLSSession_GnuTLS.hpp
index 14172ee0..dd096ff3 100644
--- a/src/vmime/net/tls/gnutls/TLSSession_GnuTLS.hpp
+++ b/src/vmime/net/tls/gnutls/TLSSession_GnuTLS.hpp
@@ -52,11 +52,11 @@ class TLSSession_GnuTLS : public TLSSession
public:
- TLSSession_GnuTLS(shared_ptr <security::cert::certificateVerifier> cv, shared_ptr <TLSProperties> props);
+ TLSSession_GnuTLS(const shared_ptr <security::cert::certificateVerifier>& cv, const shared_ptr <TLSProperties>& props);
~TLSSession_GnuTLS();
- shared_ptr <TLSSocket> getSocket(shared_ptr <socket> sok);
+ shared_ptr <TLSSocket> getSocket(const shared_ptr <socket>& sok);
shared_ptr <security::cert::certificateVerifier> getCertificateVerifier();
diff --git a/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp b/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp
index 16dabb66..31753590 100644
--- a/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp
+++ b/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp
@@ -50,14 +50,14 @@ namespace tls {
// static
-shared_ptr <TLSSocket> TLSSocket::wrap(shared_ptr <TLSSession> session, shared_ptr <socket> sok)
+shared_ptr <TLSSocket> TLSSocket::wrap(const shared_ptr <TLSSession>& session, const shared_ptr <socket>& sok)
{
return make_shared <TLSSocket_GnuTLS>
(dynamicCast <TLSSession_GnuTLS>(session), sok);
}
-TLSSocket_GnuTLS::TLSSocket_GnuTLS(shared_ptr <TLSSession_GnuTLS> session, shared_ptr <socket> sok)
+TLSSocket_GnuTLS::TLSSocket_GnuTLS(const shared_ptr <TLSSession_GnuTLS>& session, const shared_ptr <socket>& sok)
: m_session(session), m_wrapped(sok), m_connected(false),
m_ex(NULL), m_status(0), m_errno(0)
{
@@ -143,7 +143,7 @@ shared_ptr <timeoutHandler> TLSSocket_GnuTLS::getTimeoutHandler()
}
-void TLSSocket_GnuTLS::setTracer(shared_ptr <net::tracer> tracer)
+void TLSSocket_GnuTLS::setTracer(const shared_ptr <net::tracer>& tracer)
{
m_wrapped->setTracer(tracer);
}
diff --git a/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp b/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp
index 931cb993..a1d78e99 100644
--- a/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp
+++ b/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp
@@ -50,7 +50,7 @@ class TLSSocket_GnuTLS : public TLSSocket
{
public:
- TLSSocket_GnuTLS(shared_ptr <TLSSession_GnuTLS> session, shared_ptr <socket> sok);
+ TLSSocket_GnuTLS(const shared_ptr <TLSSession_GnuTLS>& session, const shared_ptr <socket>& sok);
~TLSSocket_GnuTLS();
@@ -83,7 +83,7 @@ public:
shared_ptr <timeoutHandler> getTimeoutHandler();
- void setTracer(shared_ptr <net::tracer> tracer);
+ void setTracer(const shared_ptr <net::tracer>& tracer);
shared_ptr <net::tracer> getTracer();
private:
diff --git a/src/vmime/net/tls/openssl/TLSSession_OpenSSL.cpp b/src/vmime/net/tls/openssl/TLSSession_OpenSSL.cpp
index 7892de65..961f6517 100644
--- a/src/vmime/net/tls/openssl/TLSSession_OpenSSL.cpp
+++ b/src/vmime/net/tls/openssl/TLSSession_OpenSSL.cpp
@@ -46,13 +46,13 @@ static OpenSSLInitializer::autoInitializer openSSLInitializer;
// static
-shared_ptr <TLSSession> TLSSession::create(shared_ptr <security::cert::certificateVerifier> cv, shared_ptr <TLSProperties> props)
+shared_ptr <TLSSession> TLSSession::create(const shared_ptr <security::cert::certificateVerifier>& cv, const shared_ptr <TLSProperties>& props)
{
return make_shared <TLSSession_OpenSSL>(cv, props);
}
-TLSSession_OpenSSL::TLSSession_OpenSSL(shared_ptr <vmime::security::cert::certificateVerifier> cv, shared_ptr <TLSProperties> props)
+TLSSession_OpenSSL::TLSSession_OpenSSL(const shared_ptr <vmime::security::cert::certificateVerifier>& cv, const shared_ptr <TLSProperties>& props)
: m_sslctx(0), m_certVerifier(cv), m_props(props)
{
m_sslctx = SSL_CTX_new(SSLv23_client_method());
@@ -76,7 +76,7 @@ TLSSession_OpenSSL::~TLSSession_OpenSSL()
}
-shared_ptr <TLSSocket> TLSSession_OpenSSL::getSocket(shared_ptr <socket> sok)
+shared_ptr <TLSSocket> TLSSession_OpenSSL::getSocket(const shared_ptr <socket>& sok)
{
return TLSSocket::wrap(dynamicCast <TLSSession>(shared_from_this()), sok);
}
diff --git a/src/vmime/net/tls/openssl/TLSSession_OpenSSL.hpp b/src/vmime/net/tls/openssl/TLSSession_OpenSSL.hpp
index 5a2b60a8..c5c5da39 100644
--- a/src/vmime/net/tls/openssl/TLSSession_OpenSSL.hpp
+++ b/src/vmime/net/tls/openssl/TLSSession_OpenSSL.hpp
@@ -55,11 +55,11 @@ class TLSSession_OpenSSL : public TLSSession
public:
- TLSSession_OpenSSL(const shared_ptr <security::cert::certificateVerifier> cv, shared_ptr <TLSProperties> props);
+ TLSSession_OpenSSL(const shared_ptr <security::cert::certificateVerifier>& cv, const shared_ptr <TLSProperties>& props);
~TLSSession_OpenSSL();
- shared_ptr <TLSSocket> getSocket(shared_ptr <socket> sok);
+ shared_ptr <TLSSocket> getSocket(const shared_ptr <socket>& sok);
shared_ptr <security::cert::certificateVerifier> getCertificateVerifier();
diff --git a/src/vmime/net/tls/openssl/TLSSocket_OpenSSL.cpp b/src/vmime/net/tls/openssl/TLSSocket_OpenSSL.cpp
index a663f196..afc7e514 100644
--- a/src/vmime/net/tls/openssl/TLSSocket_OpenSSL.cpp
+++ b/src/vmime/net/tls/openssl/TLSSocket_OpenSSL.cpp
@@ -52,6 +52,8 @@ namespace tls {
static OpenSSLInitializer::autoInitializer openSSLInitializer;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+
// static
BIO_METHOD TLSSocket_OpenSSL::sm_customBIOMethod =
{
@@ -67,16 +69,32 @@ BIO_METHOD TLSSocket_OpenSSL::sm_customBIOMethod =
0
};
+#define BIO_set_init(b, val) b->init = val
+#define BIO_set_data(b, val) b->ptr = val
+#define BIO_set_num(b, val) b->num = val
+#define BIO_set_flags(b, val) b->flags = val
+#define BIO_set_shutdown(b, val) b->shutdown = val
+#define BIO_get_init(b) b->init
+#define BIO_get_data(b) b->ptr
+#define BIO_get_shutdown(b) b->shutdown
+
+#else
+
+#define BIO_set_num(b, val)
+
+#endif
+
+
// static
-shared_ptr <TLSSocket> TLSSocket::wrap(shared_ptr <TLSSession> session, shared_ptr <socket> sok)
+shared_ptr <TLSSocket> TLSSocket::wrap(const shared_ptr <TLSSession>& session, const shared_ptr <socket>& sok)
{
return make_shared <TLSSocket_OpenSSL>
(dynamicCast <TLSSession_OpenSSL>(session), sok);
}
-TLSSocket_OpenSSL::TLSSocket_OpenSSL(shared_ptr <TLSSession_OpenSSL> session, shared_ptr <socket> sok)
+TLSSocket_OpenSSL::TLSSocket_OpenSSL(const shared_ptr <TLSSession_OpenSSL>& session, const shared_ptr <socket>& sok)
: m_session(session), m_wrapped(sok), m_connected(false), m_ssl(0), m_status(0), m_ex()
{
}
@@ -99,10 +117,41 @@ void TLSSocket_OpenSSL::createSSLHandle()
{
if (m_wrapped->isConnected())
{
+
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+
BIO* sockBio = BIO_new(&sm_customBIOMethod);
sockBio->ptr = this;
sockBio->init = 1;
+#else
+
+ BIO_METHOD* bioMeth = BIO_meth_new(BIO_TYPE_SOURCE_SINK | BIO_get_new_index(), "vmime::socket glue");
+
+ if (!bioMeth)
+ {
+ BIO_meth_free(bioMeth);
+ throw exceptions::tls_exception("BIO_meth_new() failed");
+ }
+
+ BIO_meth_set_write(bioMeth, TLSSocket_OpenSSL::bio_write);
+ BIO_meth_set_read(bioMeth, TLSSocket_OpenSSL::bio_read);
+ BIO_meth_set_puts(bioMeth, TLSSocket_OpenSSL::bio_puts);
+ BIO_meth_set_ctrl(bioMeth, TLSSocket_OpenSSL::bio_ctrl);
+ BIO_meth_set_create(bioMeth, TLSSocket_OpenSSL::bio_create);
+ BIO_meth_set_destroy(bioMeth, TLSSocket_OpenSSL::bio_destroy);
+
+ BIO* sockBio = BIO_new(bioMeth);
+ BIO_set_data(sockBio, this);
+ BIO_set_init(sockBio, 1);
+
+#endif
+
+ if (!sockBio)
+ {
+ throw exceptions::tls_exception("BIO_new() failed");
+ }
+
m_ssl = SSL_new(m_session->getContext());
if (!m_ssl)
@@ -193,7 +242,7 @@ shared_ptr <timeoutHandler> TLSSocket_OpenSSL::getTimeoutHandler()
}
-void TLSSocket_OpenSSL::setTracer(shared_ptr <net::tracer> tracer)
+void TLSSocket_OpenSSL::setTracer(const shared_ptr <net::tracer>& tracer)
{
m_wrapped->setTracer(tracer);
}
@@ -538,9 +587,9 @@ int TLSSocket_OpenSSL::bio_write(BIO* bio, const char* buf, int len)
if (buf == NULL || len <= 0)
return -1;
- TLSSocket_OpenSSL *sok = reinterpret_cast <TLSSocket_OpenSSL*>(bio->ptr);
+ TLSSocket_OpenSSL *sok = reinterpret_cast <TLSSocket_OpenSSL*>(BIO_get_data(bio));
- if (!bio->init || !sok)
+ if (!BIO_get_init(bio) || !sok)
return -1;
try
@@ -573,9 +622,9 @@ int TLSSocket_OpenSSL::bio_read(BIO* bio, char* buf, int len)
if (buf == NULL || len <= 0)
return -1;
- TLSSocket_OpenSSL *sok = reinterpret_cast <TLSSocket_OpenSSL*>(bio->ptr);
+ TLSSocket_OpenSSL *sok = reinterpret_cast <TLSSocket_OpenSSL*>(BIO_get_data(bio));
- if (!bio->init || !sok)
+ if (!BIO_get_init(bio) || !sok)
return -1;
try
@@ -621,12 +670,12 @@ long TLSSocket_OpenSSL::bio_ctrl(BIO* bio, int cmd, long num, void* /* ptr */)
case BIO_CTRL_GET_CLOSE:
- ret = bio->shutdown;
+ ret = BIO_get_shutdown(bio);
break;
case BIO_CTRL_SET_CLOSE:
- bio->shutdown = static_cast <int>(num);
+ BIO_set_shutdown(bio, static_cast <int>(num));
break;
case BIO_CTRL_PENDING:
@@ -654,10 +703,10 @@ long TLSSocket_OpenSSL::bio_ctrl(BIO* bio, int cmd, long num, void* /* ptr */)
// static
int TLSSocket_OpenSSL::bio_create(BIO* bio)
{
- bio->init = 0;
- bio->num = 0;
- bio->ptr = NULL;
- bio->flags = 0;
+ BIO_set_init(bio, 0);
+ BIO_set_num(bio, 0);
+ BIO_set_data(bio, NULL);
+ BIO_set_flags(bio, 0);
return 1;
}
@@ -669,11 +718,11 @@ int TLSSocket_OpenSSL::bio_destroy(BIO* bio)
if (bio == NULL)
return 0;
- if (bio->shutdown)
+ if (BIO_get_shutdown(bio))
{
- bio->ptr = NULL;
- bio->init = 0;
- bio->flags = 0;
+ BIO_set_data(bio, NULL);
+ BIO_set_init(bio, 0);
+ BIO_set_flags(bio, 0);
}
return 1;
diff --git a/src/vmime/net/tls/openssl/TLSSocket_OpenSSL.hpp b/src/vmime/net/tls/openssl/TLSSocket_OpenSSL.hpp
index 34324b8c..9f395051 100644
--- a/src/vmime/net/tls/openssl/TLSSocket_OpenSSL.hpp
+++ b/src/vmime/net/tls/openssl/TLSSocket_OpenSSL.hpp
@@ -54,7 +54,7 @@ class TLSSocket_OpenSSL : public TLSSocket
{
public:
- TLSSocket_OpenSSL(shared_ptr <TLSSession_OpenSSL> session, shared_ptr <socket> sok);
+ TLSSocket_OpenSSL(const shared_ptr <TLSSession_OpenSSL>& session, const shared_ptr <socket>& sok);
~TLSSocket_OpenSSL();
@@ -87,7 +87,7 @@ public:
shared_ptr <timeoutHandler> getTimeoutHandler();
- void setTracer(shared_ptr <net::tracer> tracer);
+ void setTracer(const shared_ptr <net::tracer>& tracer);
shared_ptr <net::tracer> getTracer();
private:
diff --git a/src/vmime/net/tracer.hpp b/src/vmime/net/tracer.hpp
index e30c823c..853455a3 100644
--- a/src/vmime/net/tracer.hpp
+++ b/src/vmime/net/tracer.hpp
@@ -96,7 +96,7 @@ public:
* different connections used by a service
* @return a new tracer
*/
- virtual shared_ptr <tracer> create(shared_ptr <service> serv, const int connectionId) = 0;
+ virtual shared_ptr <tracer> create(const shared_ptr <service>& serv, const int connectionId) = 0;
};
diff --git a/src/vmime/net/transport.cpp b/src/vmime/net/transport.cpp
index dd7281d0..1b69995c 100644
--- a/src/vmime/net/transport.cpp
+++ b/src/vmime/net/transport.cpp
@@ -43,13 +43,13 @@ namespace vmime {
namespace net {
-transport::transport(shared_ptr <session> sess, const serviceInfos& infos, shared_ptr <security::authenticator> auth)
+transport::transport(const shared_ptr <session>& sess, const serviceInfos& infos, const shared_ptr <security::authenticator>& auth)
: service(sess, infos, auth)
{
}
-shared_ptr <headerField> transport::processHeaderField(shared_ptr <headerField> field)
+shared_ptr <headerField> transport::processHeaderField(const shared_ptr <headerField>& field)
{
if (utility::stringUtils::isStringEqualNoCase(field->getName(), fields::BCC))
{
@@ -77,7 +77,7 @@ shared_ptr <headerField> transport::processHeaderField(shared_ptr <headerField>
}
-void transport::processHeader(shared_ptr <header> header)
+void transport::processHeader(const shared_ptr <header>& header)
{
if (header->getFieldCount() == 0)
return;
@@ -122,7 +122,7 @@ static void extractMailboxes
}
-void transport::send(shared_ptr <vmime::message> msg, utility::progressListener* progress)
+void transport::send(const shared_ptr <vmime::message>& msg, utility::progressListener* progress)
{
// Extract expeditor
shared_ptr <mailbox> fromMbox =
@@ -179,8 +179,8 @@ void transport::send(shared_ptr <vmime::message> msg, utility::progressListener*
// Revert it back to original header after.
struct XChangeMsgHeader
{
- XChangeMsgHeader(shared_ptr <vmime::message> _msg,
- shared_ptr <vmime::header> _hdr)
+ XChangeMsgHeader(const shared_ptr <vmime::message>& _msg,
+ const shared_ptr <vmime::header>& _hdr)
: msg(_msg), hdr(msg->getHeader())
{
// Set new header
@@ -204,7 +204,7 @@ void transport::send(shared_ptr <vmime::message> msg, utility::progressListener*
void transport::send
- (shared_ptr <vmime::message> msg, const mailbox& expeditor, const mailboxList& recipients,
+ (const shared_ptr <vmime::message>& msg, const mailbox& expeditor, const mailboxList& recipients,
utility::progressListener* progress, const mailbox& sender)
{
// Generate the message, "stream" it and delegate the sending
diff --git a/src/vmime/net/transport.hpp b/src/vmime/net/transport.hpp
index 6c405cbb..a54f041e 100644
--- a/src/vmime/net/transport.hpp
+++ b/src/vmime/net/transport.hpp
@@ -56,7 +56,7 @@ class VMIME_EXPORT transport : public service
{
protected:
- transport(shared_ptr <session> sess, const serviceInfos& infos, shared_ptr <security::authenticator> auth);
+ transport(const shared_ptr <session>& sess, const serviceInfos& infos, const shared_ptr <security::authenticator>& auth);
public:
@@ -67,7 +67,7 @@ public:
* @param msg message to send
* @param progress progress listener, or NULL if not used
*/
- virtual void send(shared_ptr <vmime::message> msg, utility::progressListener* progress = NULL);
+ virtual void send(const shared_ptr <vmime::message>& msg, utility::progressListener* progress = NULL);
/** Send a message over this transport service.
*
@@ -97,7 +97,7 @@ public:
* @param sender envelope sender (if empty, expeditor will be used)
*/
virtual void send
- (shared_ptr <vmime::message> msg,
+ (const shared_ptr <vmime::message>& msg,
const mailbox& expeditor,
const mailboxList& recipients,
utility::progressListener* progress = NULL,
@@ -115,7 +115,7 @@ protected:
* if the field is to be replaced, or a reference to the same headerField
* that was passed if the field should be left as is
*/
- shared_ptr <headerField> processHeaderField(shared_ptr <headerField> field);
+ shared_ptr <headerField> processHeaderField(const shared_ptr <headerField>& field);
/** Prepares the header before transmitting the message.
* Removes headers that should not be present (eg. "Bcc", "Return-Path"),
@@ -124,7 +124,7 @@ protected:
*
* @param header headers to process
*/
- void processHeader(shared_ptr <header> header);
+ void processHeader(const shared_ptr <header>& header);
};