aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2005-07-24 20:04:23 +0000
committerVincent Richard <[email protected]>2005-07-24 20:04:23 +0000
commite14a8b6adbed2903b0565521b4df7615aac24545 (patch)
treeed980054745490efc2490a35bdf7c5768b0c9d80
parentAllow getting/setting importance directly from/on message header. (diff)
downloadvmime-e14a8b6adbed2903b0565521b4df7615aac24545.tar.gz
vmime-e14a8b6adbed2903b0565521b4df7615aac24545.zip
Fixed some doc + getHeader() now returns a ref.
-rw-r--r--src/messaging/imap/IMAPMessage.cpp34
-rw-r--r--src/messaging/maildir/maildirMessage.cpp14
-rw-r--r--src/messaging/pop3/POP3Message.cpp16
-rw-r--r--vmime/messaging/imap/IMAPMessage.hpp4
-rw-r--r--vmime/messaging/maildir/maildirMessage.hpp4
-rw-r--r--vmime/messaging/message.hpp8
-rw-r--r--vmime/messaging/pop3/POP3Message.hpp4
7 files changed, 38 insertions, 46 deletions
diff --git a/src/messaging/imap/IMAPMessage.cpp b/src/messaging/imap/IMAPMessage.cpp
index 92ec675f..bbda8386 100644
--- a/src/messaging/imap/IMAPMessage.cpp
+++ b/src/messaging/imap/IMAPMessage.cpp
@@ -272,7 +272,7 @@ private:
IMAPMessage::IMAPMessage(IMAPFolder* folder, const int num)
: m_folder(folder), m_num(num), m_size(-1), m_flags(FLAG_UNDEFINED),
- m_expunged(false), m_header(NULL), m_structure(NULL)
+ m_expunged(false), m_structure(NULL)
{
m_folder->registerMessage(this);
}
@@ -345,12 +345,12 @@ structure& IMAPMessage::getStructure()
}
-const header& IMAPMessage::getHeader() const
+ref <const header> IMAPMessage::getHeader() const
{
if (m_header == NULL)
throw exceptions::unfetched_object();
- return (*m_header);
+ return (m_header);
}
@@ -582,57 +582,57 @@ void IMAPMessage::processFetchResponse
if (!(options & folder::FETCH_FULL_HEADER))
{
const IMAPParser::envelope* env = (*it)->envelope();
- vmime::header& hdr = getOrCreateHeader();
+ ref <vmime::header> hdr = getOrCreateHeader();
// Date
- hdr.Date()->setValue(env->env_date()->value());
+ hdr->Date()->setValue(env->env_date()->value());
// Subject
text subject;
text::decodeAndUnfold(env->env_subject()->value(), &subject);
- hdr.Subject()->setValue(subject);
+ hdr->Subject()->setValue(subject);
// From
mailboxList from;
convertAddressList(*(env->env_from()), from);
if (!from.isEmpty())
- hdr.From()->setValue(*(from.getMailboxAt(0)));
+ hdr->From()->setValue(*(from.getMailboxAt(0)));
// To
mailboxList to;
convertAddressList(*(env->env_to()), to);
- hdr.To()->setValue(to);
+ hdr->To()->setValue(to);
// Sender
mailboxList sender;
convertAddressList(*(env->env_sender()), sender);
if (!sender.isEmpty())
- hdr.Sender()->setValue(*(sender.getMailboxAt(0)));
+ hdr->Sender()->setValue(*(sender.getMailboxAt(0)));
// Reply-to
mailboxList replyTo;
convertAddressList(*(env->env_reply_to()), replyTo);
if (!replyTo.isEmpty())
- hdr.ReplyTo()->setValue(*(replyTo.getMailboxAt(0)));
+ hdr->ReplyTo()->setValue(*(replyTo.getMailboxAt(0)));
// Cc
mailboxList cc;
convertAddressList(*(env->env_cc()), cc);
if (!cc.isEmpty())
- hdr.Cc()->setValue(cc);
+ hdr->Cc()->setValue(cc);
// Bcc
mailboxList bcc;
convertAddressList(*(env->env_bcc()), bcc);
if (!bcc.isEmpty())
- hdr.Bcc()->setValue(bcc);
+ hdr->Bcc()->setValue(bcc);
}
break;
@@ -644,7 +644,7 @@ void IMAPMessage::processFetchResponse
}
case IMAPParser::msg_att_item::RFC822_HEADER:
{
- getOrCreateHeader().parse((*it)->nstring()->value());
+ getOrCreateHeader()->parse((*it)->nstring()->value());
break;
}
case IMAPParser::msg_att_item::RFC822_SIZE:
@@ -663,7 +663,7 @@ void IMAPMessage::processFetchResponse
header tempHeader;
tempHeader.parse((*it)->nstring()->value());
- vmime::header& hdr = getOrCreateHeader();
+ vmime::header& hdr = *getOrCreateHeader();
std::vector <ref <headerField> > fields = tempHeader.getFieldList();
for (std::vector <ref <headerField> >::const_iterator jt = fields.begin() ;
@@ -692,12 +692,12 @@ void IMAPMessage::processFetchResponse
}
-header& IMAPMessage::getOrCreateHeader()
+ref <header> IMAPMessage::getOrCreateHeader()
{
if (m_header != NULL)
- return (*m_header);
+ return (m_header);
else
- return (*(m_header = vmime::create <header>()));
+ return (m_header = vmime::create <header>());
}
diff --git a/src/messaging/maildir/maildirMessage.cpp b/src/messaging/maildir/maildirMessage.cpp
index 408b27c8..daaa2784 100644
--- a/src/messaging/maildir/maildirMessage.cpp
+++ b/src/messaging/maildir/maildirMessage.cpp
@@ -212,7 +212,7 @@ structure& maildirPart::getStructure()
maildirMessage::maildirMessage(weak_ref <maildirFolder> folder, const int num)
: m_folder(folder), m_num(num), m_size(-1), m_flags(FLAG_UNDEFINED),
- m_expunged(false), m_header(NULL), m_structure(NULL)
+ m_expunged(false), m_structure(NULL)
{
m_folder->registerMessage(this);
}
@@ -276,12 +276,12 @@ structure& maildirMessage::getStructure()
}
-const header& maildirMessage::getHeader() const
+ref <const header> maildirMessage::getHeader() const
{
if (m_header == NULL)
throw exceptions::unfetched_object();
- return (*m_header);
+ return (m_header);
}
@@ -483,18 +483,18 @@ void maildirMessage::fetch(weak_ref <maildirFolder> folder, const int options)
folder::FETCH_CONTENT_INFO |
folder::FETCH_FULL_HEADER))
{
- getOrCreateHeader().copyFrom(*(msg.getHeader()));
+ getOrCreateHeader()->copyFrom(*(msg.getHeader()));
}
}
}
-header& maildirMessage::getOrCreateHeader()
+ref <header> maildirMessage::getOrCreateHeader()
{
if (m_header != NULL)
- return (*m_header);
+ return (m_header);
else
- return (*(m_header = vmime::create <header>()));
+ return (m_header = vmime::create <header>());
}
diff --git a/src/messaging/pop3/POP3Message.cpp b/src/messaging/pop3/POP3Message.cpp
index e4833583..7b848f87 100644
--- a/src/messaging/pop3/POP3Message.cpp
+++ b/src/messaging/pop3/POP3Message.cpp
@@ -30,7 +30,7 @@ namespace pop3 {
POP3Message::POP3Message(POP3Folder* folder, const int num)
- : m_folder(folder), m_num(num), m_size(-1), m_deleted(false), m_header(NULL)
+ : m_folder(folder), m_num(num), m_size(-1), m_deleted(false)
{
m_folder->registerMessage(this);
}
@@ -40,8 +40,6 @@ POP3Message::~POP3Message()
{
if (m_folder)
m_folder->unregisterMessage(this);
-
- delete (m_header);
}
@@ -101,12 +99,12 @@ structure& POP3Message::getStructure()
}
-const header& POP3Message::getHeader() const
+ref <const header> POP3Message::getHeader() const
{
if (m_header == NULL)
throw exceptions::unfetched_object();
- return (*m_header);
+ return (m_header);
}
@@ -194,13 +192,7 @@ void POP3Message::fetch(POP3Folder* folder, const int options)
string buffer;
m_folder->m_store->readResponse(buffer, true);
- if (m_header != NULL)
- {
- delete (m_header);
- m_header = NULL;
- }
-
- m_header = new header();
+ m_header = vmime::create <header>();
m_header->parse(buffer);
}
catch (exceptions::command_error& e)
diff --git a/vmime/messaging/imap/IMAPMessage.hpp b/vmime/messaging/imap/IMAPMessage.hpp
index 33e43fec..04032b42 100644
--- a/vmime/messaging/imap/IMAPMessage.hpp
+++ b/vmime/messaging/imap/IMAPMessage.hpp
@@ -63,7 +63,7 @@ public:
const structure& getStructure() const;
structure& getStructure();
- const header& getHeader() const;
+ ref <const header> getHeader() const;
const int getFlags() const;
void setFlags(const int flags, const int mode = FLAG_MODE_SET);
@@ -85,7 +85,7 @@ private:
void convertAddressList(const IMAPParser::address_list& src, mailboxList& dest);
- header& getOrCreateHeader();
+ ref <header> getOrCreateHeader();
void onFolderClosed();
diff --git a/vmime/messaging/maildir/maildirMessage.hpp b/vmime/messaging/maildir/maildirMessage.hpp
index c3e2e377..36c91cd4 100644
--- a/vmime/messaging/maildir/maildirMessage.hpp
+++ b/vmime/messaging/maildir/maildirMessage.hpp
@@ -61,7 +61,7 @@ public:
const structure& getStructure() const;
structure& getStructure();
- const header& getHeader() const;
+ ref <const header> getHeader() const;
const int getFlags() const;
void setFlags(const int flags, const int mode = FLAG_MODE_SET);
@@ -77,7 +77,7 @@ private:
void onFolderClosed();
- header& getOrCreateHeader();
+ ref <header> getOrCreateHeader();
void extractImpl(utility::outputStream& os, utility::progressionListener* progress, const int start, const int length, const int partialStart, const int partialLength, const bool peek) const;
diff --git a/vmime/messaging/message.hpp b/vmime/messaging/message.hpp
index 3f87f8f5..0784d1b3 100644
--- a/vmime/messaging/message.hpp
+++ b/vmime/messaging/message.hpp
@@ -87,7 +87,7 @@ public:
/** Return the sub-part at the specified position.
* This provide easy access to parts:
- * Eg: "message->extract(message->structure()[3][1][2])".
+ * Eg: "message->extractPart(message->getStructure()[3][1][2])".
*
* @param x index of the sub-part
* @return sub-part at position 'x'
@@ -96,7 +96,7 @@ public:
/** Return the sub-part at the specified position.
* This provide easy access to parts:
- * Eg: "message->extract(message->structure()[3][1][2])".
+ * Eg: "message->extractPart(message->getStructure()[3][1][2])".
*
* @param x index of the sub-part
* @return sub-part at position 'x'
@@ -183,7 +183,7 @@ public:
*
* @return header section of the message
*/
- virtual const header& getHeader() const = 0;
+ virtual ref <const header> getHeader() const = 0;
/** Return the sequence number of this message. This number is
* used to reference the message in the folder.
@@ -262,7 +262,7 @@ public:
*/
virtual void extract(utility::outputStream& os, utility::progressionListener* progress = NULL, const int start = 0, const int length = -1, const bool peek = false) const = 0;
- /** Extract the specified (MIME) part of the message (header + contents).
+ /** Extract the specified MIME part of the message (header + contents).
*
* \warning Partial fetch might not be supported by the underlying protocol.
*
diff --git a/vmime/messaging/pop3/POP3Message.hpp b/vmime/messaging/pop3/POP3Message.hpp
index 499f3427..5aa22d90 100644
--- a/vmime/messaging/pop3/POP3Message.hpp
+++ b/vmime/messaging/pop3/POP3Message.hpp
@@ -63,7 +63,7 @@ public:
const structure& getStructure() const;
structure& getStructure();
- const header& getHeader() const;
+ ref <const header> getHeader() const;
const int getFlags() const;
void setFlags(const int flags, const int mode = FLAG_MODE_SET);
@@ -86,7 +86,7 @@ private:
bool m_deleted;
- header* m_header;
+ ref <header> m_header;
};