aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/imap/MCIMAPSession.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/imap/MCIMAPSession.h')
-rw-r--r--src/core/imap/MCIMAPSession.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/imap/MCIMAPSession.h b/src/core/imap/MCIMAPSession.h
index adbecd43..55f47de0 100644
--- a/src/core/imap/MCIMAPSession.h
+++ b/src/core/imap/MCIMAPSession.h
@@ -121,6 +121,12 @@ namespace mailcore {
IMAPProgressCallback * progressCallback, ErrorCode * pError);
virtual Data * fetchMessageAttachmentByUID(String * folder, uint32_t uid, String * partID,
Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+
+ virtual void fetchMessageAttachmentToFileByUID(String * folder, uint32_t uid, String * partID,
+ uint32_t estimatedSize, Encoding encoding,
+ String * outputFile, uint32_t chunkSize,
+ IMAPProgressCallback * progressCallback, ErrorCode * pError);
+
virtual Data * fetchMessageAttachmentByNumber(String * folder, uint32_t number, String * partID,
Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
virtual HashMap * fetchMessageNumberUIDMapping(String * folder, uint32_t fromUID, uint32_t toUID,
@@ -305,9 +311,14 @@ namespace mailcore {
Data * fetchMessageAttachment(String * folder, bool identifier_is_uid,
uint32_t identifier, String * partID,
Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+ // in case of wholePart is false, receives range [offset, length]
+ Data * fetchNonDecodedMessageAttachment(String * folder, bool identifier_is_uid,
+ uint32_t identifier, String * partID,
+ bool wholePart, uint32_t offset, uint32_t length,
+ Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
void storeLabels(String * folder, bool identifier_is_uid, IndexSet * identifiers, IMAPStoreFlagsRequestKind kind, Array * labels, ErrorCode * pError);
};
-
+
}
#endif