aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/imap/MCIMAPSession.h
diff options
context:
space:
mode:
authorGravatar Ryan Johnson <ryan@iambismark.net>2013-07-02 14:30:09 -0700
committerGravatar Ryan Johnson <ryan@iambismark.net>2013-07-16 14:50:01 -0700
commit73ea92fd846adbb4e3b25d8c12c04916da25b340 (patch)
tree07b3a9316b46b6ca7b9209281e91eb9d70289f37 /src/core/imap/MCIMAPSession.h
parentf5e4186da2bc1c6d88582e8f2d4c6a236e278840 (diff)
Allows for request custom headers when fetching messages
* Defines new request kind ExtraHeaders * Exposes extraHeaders property on fetch messages operations * Modifies MessageHeader::importIMFFields for handling any headers
Diffstat (limited to 'src/core/imap/MCIMAPSession.h')
-rw-r--r--src/core/imap/MCIMAPSession.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/core/imap/MCIMAPSession.h b/src/core/imap/MCIMAPSession.h
index 09732edd..82abd311 100644
--- a/src/core/imap/MCIMAPSession.h
+++ b/src/core/imap/MCIMAPSession.h
@@ -88,9 +88,11 @@ namespace mailcore {
virtual void expunge(String * folder, ErrorCode * pError);
virtual Array * /* IMAPMessage */ fetchMessagesByUID(String * folder, IMAPMessagesRequestKind requestKind,
- IndexSet * uids, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+ IndexSet * uids, IMAPProgressCallback * progressCallback,
+ ErrorCode * pError, Array * extraHeaders = NULL);
virtual Array * /* IMAPMessage */ fetchMessagesByNumber(String * folder, IMAPMessagesRequestKind requestKind,
- IndexSet * numbers, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+ IndexSet * numbers, IMAPProgressCallback * progressCallback,
+ ErrorCode * pError, Array * extraHeaders = NULL);
virtual Data * fetchMessageByUID(String * folder, uint32_t uid,
IMAPProgressCallback * progressCallback, ErrorCode * pError);
@@ -102,7 +104,8 @@ namespace mailcore {
/* When CONDSTORE or QRESYNC is available */
virtual IMAPSyncResult * syncMessagesByUID(String * folder, IMAPMessagesRequestKind requestKind,
IndexSet * uids, uint64_t modseq,
- IMAPProgressCallback * progressCallback, ErrorCode * pError);
+ IMAPProgressCallback * progressCallback, ErrorCode * pError,
+ Array * extraHeaders = NULL);
virtual void storeFlags(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags, ErrorCode * pError);
virtual void storeLabels(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, Array * labels, ErrorCode * pError);
@@ -207,9 +210,10 @@ namespace mailcore {
void unsetup();
void selectIfNeeded(String * folder, ErrorCode * pError);
char fetchDelimiterIfNeeded(char defaultDelimiter, ErrorCode * pError);
- IMAPSyncResult * fetchMessages(String * folder, IMAPMessagesRequestKind requestKind, bool fetchByUID,
- struct mailimap_set * imapset, uint64_t modseq, HashMap * mapping, uint32_t startUid,
- IMAPProgressCallback * progressCallback, ErrorCode * pError);
+ IMAPSyncResult * fetchMessages(String * folder, IMAPMessagesRequestKind requestKind,
+ bool fetchByUID, struct mailimap_set * imapset, uint64_t modseq,
+ HashMap * mapping, uint32_t startUid, IMAPProgressCallback * progressCallback,
+ ErrorCode * pError, Array * extraHeaders);
};
}