diff options
author | 2013-01-16 01:07:32 -0800 | |
---|---|---|
committer | 2013-01-16 01:07:32 -0800 | |
commit | e75be6c8b9a9b694e86c4054b4493f8ec405df2f (patch) | |
tree | c74257540dca069ece8178d2afa03a3ee45d7781 /src/async/imap/MCIMAPAppendMessageOperation.cc | |
parent | 70f53398659fb9305f6bf88e33c84327c61829d5 (diff) |
Implemented async IMAP
Diffstat (limited to 'src/async/imap/MCIMAPAppendMessageOperation.cc')
-rw-r--r-- | src/async/imap/MCIMAPAppendMessageOperation.cc | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPAppendMessageOperation.cc b/src/async/imap/MCIMAPAppendMessageOperation.cc new file mode 100644 index 00000000..4026d2d8 --- /dev/null +++ b/src/async/imap/MCIMAPAppendMessageOperation.cc @@ -0,0 +1,71 @@ +// +// MCIMAPAppendMessageOperation.cc +// mailcore2 +// +// Created by DINH Viêt Hoà on 1/12/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#include "MCIMAPAppendMessageOperation.h" + +#include "MCIMAPSession.h" +#include "MCIMAPAsyncSession.h" + +using namespace mailcore; + +IMAPAppendMessageOperation::IMAPAppendMessageOperation() +{ + mFolder = NULL; + mMessageData = NULL; + mFlags = MessageFlagNone; + mCreatedUID = 0; +} + +IMAPAppendMessageOperation::~IMAPAppendMessageOperation() +{ + MC_SAFE_RELEASE(mFolder); + MC_SAFE_RELEASE(mMessageData); +} + +void IMAPAppendMessageOperation::setFolder(String * folder) +{ + MC_SAFE_REPLACE_COPY(String, mFolder, folder); +} + +String * IMAPAppendMessageOperation::folder() +{ + return mFolder; +} + +void IMAPAppendMessageOperation::setMessageData(Data * messageData) +{ + MC_SAFE_REPLACE_RETAIN(Data, mMessageData, messageData); +} + +Data * IMAPAppendMessageOperation::messageData() +{ + return mMessageData; +} + +void IMAPAppendMessageOperation::setFlags(MessageFlag flags) +{ + mFlags = flags; +} + +MessageFlag IMAPAppendMessageOperation::flags() +{ + return mFlags; +} + +uint32_t IMAPAppendMessageOperation::createdUID() +{ + return mCreatedUID; +} + +void IMAPAppendMessageOperation::main() +{ + ErrorCode error; + session()->session()->appendMessage(mFolder, mMessageData, mFlags, this, &mCreatedUID, &error); + setError(error); +} + |