diff options
author | Hoà V. DINH <dinh.viet.hoa@gmail.com> | 2016-02-09 07:31:25 -0800 |
---|---|---|
committer | Hoà V. DINH <dinh.viet.hoa@gmail.com> | 2016-02-09 07:31:25 -0800 |
commit | 20ae2fd57a9a9edd4c539fa170433ee8d59904b1 (patch) | |
tree | 59699d28c313dc3348d36da8f4d80437deb4ded6 /src/core/imap | |
parent | 5b694c89ebe98f388af25ad8f176f42523594358 (diff) | |
parent | e554610cb5b5820eae81217066d594c6f1999089 (diff) |
Merge pull request #1355 from disaykin/reduce-memory-on-send-message
Add low-memory interface for building, sending and appending messages
Diffstat (limited to 'src/core/imap')
-rwxr-xr-x | src/core/imap/MCIMAPSession.cpp | 12 | ||||
-rwxr-xr-x | src/core/imap/MCIMAPSession.h | 4 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/core/imap/MCIMAPSession.cpp b/src/core/imap/MCIMAPSession.cpp index 96d34b73..4e92e97f 100755 --- a/src/core/imap/MCIMAPSession.cpp +++ b/src/core/imap/MCIMAPSession.cpp @@ -1655,6 +1655,18 @@ void IMAPSession::appendMessageWithCustomFlagsAndDate(String * folder, Data * me * pError = ErrorNone; } +void IMAPSession::appendMessageWithCustomFlagsAndDate(String * folder, String * messagePath, MessageFlag flags, Array * customFlags, time_t date, + IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError) +{ + Data * messageData = Data::dataWithContentsOfFile(messagePath); + if (!messageData) { + * pError = ErrorFile; + return; + } + + return appendMessageWithCustomFlagsAndDate(folder, messageData, flags, customFlags, date, progressCallback, createdUID, pError); +} + void IMAPSession::copyMessages(String * folder, IndexSet * uidSet, String * destFolder, HashMap ** pUidMapping, ErrorCode * pError) { diff --git a/src/core/imap/MCIMAPSession.h b/src/core/imap/MCIMAPSession.h index c122e546..578350ac 100755 --- a/src/core/imap/MCIMAPSession.h +++ b/src/core/imap/MCIMAPSession.h @@ -85,7 +85,9 @@ namespace mailcore { IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError); virtual void appendMessageWithCustomFlagsAndDate(String * folder, Data * messageData, MessageFlag flags, Array * customFlags, time_t date, IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError); - + virtual void appendMessageWithCustomFlagsAndDate(String * folder, String * messagePath, MessageFlag flags, Array * customFlags, time_t date, + IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError); + virtual void copyMessages(String * folder, IndexSet * uidSet, String * destFolder, HashMap ** pUidMapping, ErrorCode * pError); |