MCPcopy Create free account
hub / github.com/MailCore/mailcore2 / fetchMessageAttachmentToFileByUID

Method fetchMessageAttachmentToFileByUID

src/core/imap/MCIMAPSession.cpp:3083–3111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3081}
3082
3083void IMAPSession::fetchMessageAttachmentToFileByUID(String * folder, uint32_t uid, String * partID,
3084 Encoding encoding, String * outputFile,
3085 IMAPProgressCallback * progressCallback, ErrorCode * pError)
3086{
3087 DataStreamDecoder * decoder = new DataStreamDecoder();
3088 decoder->setEncoding(encoding);
3089 decoder->setFilename(outputFile);
3090
3091 ErrorCode error = ErrorNone;
3092 selectIfNeeded(folder, &error);
3093 if (error != ErrorNone) {
3094 * pError = error;
3095 return;
3096 }
3097
3098 mailimap_set_msg_body_handler(mImap, msg_body_handler, decoder);
3099
3100 fetchNonDecodedMessageAttachment(folder, true, uid, partID, true, 0, 0, encoding, progressCallback, &error);
3101
3102 mailimap_set_msg_body_handler(mImap, NULL, NULL);
3103
3104 if (error == ErrorNone) {
3105 error = decoder->flushData();
3106 }
3107
3108 MC_SAFE_RELEASE(decoder);
3109
3110 * pError = error;
3111}
3112
3113IndexSet * IMAPSession::search(String * folder, IMAPSearchKind kind, String * searchString, ErrorCode * pError)
3114{

Callers 1

mainMethod · 0.80

Calls 3

flushDataMethod · 0.80
setEncodingMethod · 0.45
setFilenameMethod · 0.45

Tested by

no test coverage detected