diff options
author | DINH Viet Hoa <hoa@sprw.me> | 2013-01-16 01:07:32 -0800 |
---|---|---|
committer | DINH Viet Hoa <hoa@sprw.me> | 2013-01-16 01:07:32 -0800 |
commit | e75be6c8b9a9b694e86c4054b4493f8ec405df2f (patch) | |
tree | c74257540dca069ece8178d2afa03a3ee45d7781 /src/async/imap/MCIMAPCopyMessagesOperation.cc | |
parent | 70f53398659fb9305f6bf88e33c84327c61829d5 (diff) |
Implemented async IMAP
Diffstat (limited to 'src/async/imap/MCIMAPCopyMessagesOperation.cc')
-rw-r--r-- | src/async/imap/MCIMAPCopyMessagesOperation.cc | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPCopyMessagesOperation.cc b/src/async/imap/MCIMAPCopyMessagesOperation.cc new file mode 100644 index 00000000..b7321d97 --- /dev/null +++ b/src/async/imap/MCIMAPCopyMessagesOperation.cc @@ -0,0 +1,75 @@ +// +// MCIMAPCopyMessagesOperation.cc +// mailcore2 +// +// Created by DINH Viêt Hoà on 1/12/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#include "MCIMAPCopyMessagesOperation.h" + +#include "MCIMAPSession.h" +#include "MCIMAPAsyncSession.h" + +using namespace mailcore; + +IMAPCopyMessagesOperation::IMAPCopyMessagesOperation() +{ + mFolder = NULL; + mUids = NULL; + mDestFolder = NULL; + mDestUids = NULL; +} + +IMAPCopyMessagesOperation::~IMAPCopyMessagesOperation() +{ + MC_SAFE_RELEASE(mDestUids); + MC_SAFE_RELEASE(mFolder); + MC_SAFE_RELEASE(mUids); + MC_SAFE_RELEASE(mDestFolder); +} + +void IMAPCopyMessagesOperation::setFolder(String * folder) +{ + MC_SAFE_REPLACE_COPY(String, mFolder, folder); +} + +String * IMAPCopyMessagesOperation::folder() +{ + return mFolder; +} + +void IMAPCopyMessagesOperation::setUids(Array * uids) +{ + MC_SAFE_REPLACE_RETAIN(Array, mUids, uids); +} + +Array * IMAPCopyMessagesOperation::uids() +{ + return mUids; +} + +Array * IMAPCopyMessagesOperation::destUids() +{ + return mDestUids; +} + +void IMAPCopyMessagesOperation::setDestFolder(String * destFolder) +{ + MC_SAFE_REPLACE_COPY(String, mDestFolder, destFolder); +} + +String * IMAPCopyMessagesOperation::destFolder() +{ + return mDestFolder; +} + +void IMAPCopyMessagesOperation::main() +{ + ErrorCode error; + session()->session()->copyMessages(mFolder, mUids, mDestFolder, &mDestUids, &error); + if (mDestUids != NULL) { + mDestUids->retain(); + } + setError(error); +} |