Added FETCH_IMPORTANCE flag.
This commit is contained in:
parent
67eef25151
commit
bd925cef1c
@ -2,6 +2,11 @@
|
||||
VERSION 0.7.2cvs
|
||||
================
|
||||
|
||||
2005-07-25 Vincent Richard <vincent@vincent-richard.net>
|
||||
|
||||
* Messaging folder: added a FETCH_IMPORTANCE flag to fetch the fields used
|
||||
with 'misc::importanceHelper'.
|
||||
|
||||
2005-07-23 Vincent Richard <vincent@vincent-richard.net>
|
||||
|
||||
* POP3, IMAP, maildir: fixed getMessages() when default arguments are given:
|
||||
|
@ -643,7 +643,8 @@ void IMAPFolder::fetchMessage(ref <message> msg, const int options)
|
||||
const int IMAPFolder::getFetchCapabilities() const
|
||||
{
|
||||
return (FETCH_ENVELOPE | FETCH_CONTENT_INFO | FETCH_STRUCTURE |
|
||||
FETCH_FLAGS | FETCH_SIZE | FETCH_FULL_HEADER | FETCH_UID);
|
||||
FETCH_FLAGS | FETCH_SIZE | FETCH_FULL_HEADER | FETCH_UID |
|
||||
FETCH_IMPORTANCE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -492,8 +492,32 @@ void IMAPMessage::fetch(IMAPFolder* folder, const int options)
|
||||
if (options & folder::FETCH_ENVELOPE)
|
||||
items.push_back("ENVELOPE");
|
||||
|
||||
std::vector <string> headerFields;
|
||||
|
||||
if (options & folder::FETCH_CONTENT_INFO)
|
||||
items.push_back("BODY[HEADER.FIELDS (CONTENT-TYPE)]");
|
||||
headerFields.push_back("CONTENT_TYPE");
|
||||
|
||||
if (options & folder::FETCH_IMPORTANCE)
|
||||
{
|
||||
headerFields.push_back("IMPORTANCE");
|
||||
headerFields.push_back("X-PRIORITY");
|
||||
}
|
||||
|
||||
if (!headerFields.empty())
|
||||
{
|
||||
string list;
|
||||
|
||||
for (std::vector <string>::iterator it = headerFields.begin() ;
|
||||
it != headerFields.end() ; ++it)
|
||||
{
|
||||
if (it != headerFields.begin())
|
||||
list += " ";
|
||||
|
||||
list += *it;
|
||||
}
|
||||
|
||||
items.push_back("BODY[HEADER.FIELDS (" + list + ")]");
|
||||
}
|
||||
}
|
||||
|
||||
// Build the request text
|
||||
|
@ -1368,7 +1368,8 @@ void maildirFolder::fetchMessage(ref <message> msg, const int options)
|
||||
const int maildirFolder::getFetchCapabilities() const
|
||||
{
|
||||
return (FETCH_ENVELOPE | FETCH_STRUCTURE | FETCH_CONTENT_INFO |
|
||||
FETCH_FLAGS | FETCH_SIZE | FETCH_FULL_HEADER | FETCH_UID);
|
||||
FETCH_FLAGS | FETCH_SIZE | FETCH_FULL_HEADER | FETCH_UID |
|
||||
FETCH_IMPORTANCE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -421,7 +421,8 @@ void maildirMessage::fetch(weak_ref <maildirFolder> folder, const int options)
|
||||
m_uid = maildirUtils::extractId(path.getLastComponent()).getBuffer();
|
||||
|
||||
if (options & (folder::FETCH_ENVELOPE | folder::FETCH_CONTENT_INFO |
|
||||
folder::FETCH_FULL_HEADER | folder::FETCH_STRUCTURE))
|
||||
folder::FETCH_FULL_HEADER | folder::FETCH_STRUCTURE |
|
||||
folder::FETCH_IMPORTANCE))
|
||||
{
|
||||
string contents;
|
||||
|
||||
@ -481,7 +482,8 @@ void maildirMessage::fetch(weak_ref <maildirFolder> folder, const int options)
|
||||
// Extract some header fields or whole header
|
||||
if (options & (folder::FETCH_ENVELOPE |
|
||||
folder::FETCH_CONTENT_INFO |
|
||||
folder::FETCH_FULL_HEADER))
|
||||
folder::FETCH_FULL_HEADER |
|
||||
folder::FETCH_IMPORTANCE))
|
||||
{
|
||||
getOrCreateHeader()->copyFrom(*(msg.getHeader()));
|
||||
}
|
||||
|
@ -476,7 +476,8 @@ void POP3Folder::fetchMessage(ref <message> msg, const int options)
|
||||
const int POP3Folder::getFetchCapabilities() const
|
||||
{
|
||||
return (FETCH_ENVELOPE | FETCH_CONTENT_INFO |
|
||||
FETCH_SIZE | FETCH_FULL_HEADER | FETCH_UID);
|
||||
FETCH_SIZE | FETCH_FULL_HEADER | FETCH_UID |
|
||||
FETCH_IMPORTANCE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -170,12 +170,12 @@ void POP3Message::fetch(POP3Folder* folder, const int options)
|
||||
throw exceptions::operation_not_supported();
|
||||
|
||||
// Check for the real need to fetch the full header
|
||||
if (!((options & folder::FETCH_ENVELOPE) ||
|
||||
(options & folder::FETCH_CONTENT_INFO) ||
|
||||
(options & folder::FETCH_FULL_HEADER)))
|
||||
{
|
||||
static const int optionsRequiringHeader =
|
||||
folder::FETCH_ENVELOPE | folder::FETCH_CONTENT_INFO |
|
||||
folder::FETCH_FULL_HEADER | folder::FETCH_IMPORTANCE;
|
||||
|
||||
if (!(options & optionsRequiringHeader))
|
||||
return;
|
||||
}
|
||||
|
||||
// No need to differenciate between FETCH_ENVELOPE,
|
||||
// FETCH_CONTENT_INFO, ... since POP3 only permits to
|
||||
|
@ -321,6 +321,7 @@ public:
|
||||
FETCH_SIZE = (1 << 4), /**< Fetch message size (exact or estimated). */
|
||||
FETCH_FULL_HEADER = (1 << 5), /**< Fetch full RFC-[2]822 header. */
|
||||
FETCH_UID = (1 << 6), /**< Fetch unique identifier (protocol specific). */
|
||||
FETCH_IMPORTANCE = (1 << 7), /**< Fetch header fields suitable for use with misc::importanceHelper. */
|
||||
|
||||
FETCH_CUSTOM = (1 << 16) /**< Reserved for future use. */
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user