aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/imap/MCIMAPAsyncConnection.cc
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-03-26 00:58:03 -0700
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-03-26 00:58:03 -0700
commit1640f3525f830df5382edb96f6e6f6a71993787c (patch)
treee69912e9934bf1400d8d49f03cfa4b6f71749d48 /src/async/imap/MCIMAPAsyncConnection.cc
parent1353cb0ee96d92192f05e1feb1518e1534ba8cbe (diff)
IMAP ObjC async operations implemented
Diffstat (limited to 'src/async/imap/MCIMAPAsyncConnection.cc')
-rw-r--r--src/async/imap/MCIMAPAsyncConnection.cc101
1 files changed, 9 insertions, 92 deletions
diff --git a/src/async/imap/MCIMAPAsyncConnection.cc b/src/async/imap/MCIMAPAsyncConnection.cc
index 1c82d07a..c3170a56 100644
--- a/src/async/imap/MCIMAPAsyncConnection.cc
+++ b/src/async/imap/MCIMAPAsyncConnection.cc
@@ -245,7 +245,7 @@ IMAPAppendMessageOperation * IMAPAsyncConnection::appendMessageOperation(String
return op;
}
-IMAPCopyMessagesOperation * IMAPAsyncConnection::copyMessagesOperation(String * folder, Array * uids, String * destFolder)
+IMAPCopyMessagesOperation * IMAPAsyncConnection::copyMessagesOperation(String * folder, IndexSet * uids, String * destFolder)
{
IMAPCopyMessagesOperation * op = new IMAPCopyMessagesOperation();
op->setSession(this);
@@ -265,123 +265,40 @@ IMAPOperation * IMAPAsyncConnection::expungeOperation(String * folder)
return op;
}
-#if 0
IMAPFetchMessagesOperation * IMAPAsyncConnection::fetchMessagesByUIDOperation(String * folder, IMAPMessagesRequestKind requestKind,
- uint32_t firstUID, uint32_t lastUID)
+ IndexSet * uids)
{
IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
op->setSession(this);
op->setFolder(folder);
op->setKind(requestKind);
op->setFetchByUidEnabled(true);
- op->setFirst(firstUID);
- op->setLast(lastUID);
+ op->setIndexes(uids);
op->autorelease();
return op;
}
IMAPFetchMessagesOperation * IMAPAsyncConnection::fetchMessagesByNumberOperation(String * folder, IMAPMessagesRequestKind requestKind,
- uint32_t firstNumber, uint32_t lastNumber)
+ IndexSet * numbers)
{
IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
op->setSession(this);
op->setFolder(folder);
op->setKind(requestKind);
- op->setFirst(firstNumber);
- op->setLast(lastNumber);
- op->autorelease();
- return op;
-}
-
-IMAPFetchMessagesOperation * IMAPAsyncConnection::fetchMessagesByUIDOperation(String * folder, IMAPMessagesRequestKind requestKind,
- Array * uids)
-{
- IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
- op->setSession(this);
- op->setFolder(folder);
- op->setKind(requestKind);
- op->setFetchByUidEnabled(true);
- op->setUids(uids);
- op->autorelease();
- return op;
-}
-
-IMAPFetchMessagesOperation * IMAPAsyncConnection::fetchMessagesByNumberOperation(String * folder, IMAPMessagesRequestKind requestKind,
- Array * numbers)
-{
- IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
- op->setSession(this);
- op->setFolder(folder);
- op->setKind(requestKind);
- op->setNumbers(numbers);
- op->autorelease();
- return op;
-}
-
-IMAPFetchMessagesOperation * IMAPAsyncConnection::syncMessagesByUIDForModSeqOperation(String * folder, IMAPMessagesRequestKind requestKind,
- uint32_t firstUID, uint32_t lastUID, uint64_t modSeq)
-{
- IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
- op->setSession(this);
- op->setFolder(folder);
- op->setKind(requestKind);
- op->setFetchByUidEnabled(true);
- op->setFirst(firstUID);
- op->setLast(lastUID);
- op->setModSequenceValue(modSeq);
- op->autorelease();
- return op;
-}
-
-IMAPFetchMessagesOperation * IMAPAsyncConnection::syncMessagesByUIDForModSeqOperation(String * folder, IMAPMessagesRequestKind requestKind,
- Array * uids, uint64_t modSeq)
-{
- IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
- op->setSession(this);
- op->setFolder(folder);
- op->setKind(requestKind);
- op->setFetchByUidEnabled(true);
- op->setUids(uids);
- op->setModSequenceValue(modSeq);
- op->autorelease();
- return op;
-}
-#endif
-
-IMAPFetchMessagesOperation * IMAPAsyncConnection::fetchMessagesByUIDOperation(String * folder, IMAPMessagesRequestKind requestKind,
- IndexSet * indexes)
-{
- IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
- op->setSession(this);
- op->setFolder(folder);
- op->setKind(requestKind);
- op->setFetchByUidEnabled(true);
- op->setIndexes(indexes);
- op->autorelease();
- return op;
-}
-
-IMAPFetchMessagesOperation * IMAPAsyncConnection::fetchMessagesByNumberOperation(String * folder, IMAPMessagesRequestKind requestKind,
- IndexSet * indexes)
-{
- IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
- op->setSession(this);
- op->setFolder(folder);
- op->setKind(requestKind);
- op->setIndexes(indexes);
+ op->setIndexes(numbers);
op->autorelease();
return op;
}
IMAPFetchMessagesOperation * IMAPAsyncConnection::syncMessagesByUID(String * folder, IMAPMessagesRequestKind requestKind,
- IndexSet * indexes, uint64_t modSeq)
+ IndexSet * uids, uint64_t modSeq)
{
IMAPFetchMessagesOperation * op = new IMAPFetchMessagesOperation();
op->setSession(this);
op->setFolder(folder);
op->setKind(requestKind);
op->setFetchByUidEnabled(true);
- op->setIndexes(indexes);
+ op->setIndexes(uids);
op->setModSequenceValue(modSeq);
op->autorelease();
return op;
@@ -410,7 +327,7 @@ IMAPFetchContentOperation * IMAPAsyncConnection::fetchMessageAttachmentByUIDOper
return op;
}
-IMAPOperation * IMAPAsyncConnection::storeFlagsOperation(String * folder, Array * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags)
+IMAPOperation * IMAPAsyncConnection::storeFlagsOperation(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags)
{
IMAPStoreFlagsOperation * op = new IMAPStoreFlagsOperation();
op->setSession(this);
@@ -422,7 +339,7 @@ IMAPOperation * IMAPAsyncConnection::storeFlagsOperation(String * folder, Array
return op;
}
-IMAPOperation * IMAPAsyncConnection::storeLabelsOperation(String * folder, Array * uids, IMAPStoreFlagsRequestKind kind, Array * labels)
+IMAPOperation * IMAPAsyncConnection::storeLabelsOperation(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, Array * labels)
{
IMAPStoreLabelsOperation * op = new IMAPStoreLabelsOperation();
op->setSession(this);