From 1ece98b08f07909cbcd8c6d174902a41e388ca02 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Wed, 15 Dec 2004 10:00:49 +0000 Subject: Working on 'maildir' implementation. --- src/messaging/maildirMessage.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/messaging/maildirMessage.cpp') diff --git a/src/messaging/maildirMessage.cpp b/src/messaging/maildirMessage.cpp index 4d561f25..12ac8cdf 100644 --- a/src/messaging/maildirMessage.cpp +++ b/src/messaging/maildirMessage.cpp @@ -30,7 +30,8 @@ namespace messaging { maildirMessage::maildirMessage(maildirFolder* folder, const int num) - : m_folder(folder), m_num(num), m_size(-1), m_flags(FLAG_UNDEFINED) + : m_folder(folder), m_num(num), m_size(-1), m_flags(FLAG_UNDEFINED), + m_expunged(false) { m_folder->registerMessage(this); } @@ -57,7 +58,7 @@ const int maildirMessage::getNumber() const const message::uid maildirMessage::getUniqueId() const { - // TODO + return (m_uid); } @@ -72,7 +73,7 @@ const int maildirMessage::getSize() const const bool maildirMessage::isExpunged() const { - // TODO + return (m_expunged); } @@ -105,7 +106,10 @@ const int maildirMessage::getFlags() const void maildirMessage::setFlags(const int flags, const int mode) { - // TODO + if (!m_folder) + throw exceptions::folder_not_found(); + + m_folder->setMessageFlags(m_num, m_num, flags, mode); } @@ -144,7 +148,6 @@ void maildirMessage::fetch(maildirFolder* folder, const int options) TODO: FETCH_STRUCTURE TODO: FETCH_CONTENT_INFO TODO: FETCH_FULL_HEADER - TODO: FETCH_UID */ if (options & folder::FETCH_FLAGS) @@ -152,6 +155,9 @@ void maildirMessage::fetch(maildirFolder* folder, const int options) if (options & folder::FETCH_SIZE) m_size = file->length(); + + if (options & folder::FETCH_UID) + m_uid = maildirUtils::extractId(path.getLastComponent()).getBuffer(); } -- cgit v1.2.3