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