aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/imap/MCIMAPAsyncConnection.cc
diff options
context:
space:
mode:
authorGravatar DINH Viet Hoa <dinh.viet.hoa@gmail.com>2013-03-07 00:40:55 -0800
committerGravatar DINH Viet Hoa <dinh.viet.hoa@gmail.com>2013-03-07 00:40:55 -0800
commit3288fbac4090ecf5ea490ba72e5c3c01a4233e21 (patch)
treeddbb1a5a7f88380c6d53d662c173d48f67ba9990 /src/async/imap/MCIMAPAsyncConnection.cc
parentd6c89c5effc7fed91e3ccb129bacc22c5d3c8d38 (diff)
Implemented QRESYNC. Implemented IndexSet. Implemented CAPABILITY.
Diffstat (limited to 'src/async/imap/MCIMAPAsyncConnection.cc')
-rw-r--r--src/async/imap/MCIMAPAsyncConnection.cc38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPAsyncConnection.cc b/src/async/imap/MCIMAPAsyncConnection.cc
index a4f06fbc..18922f37 100644
--- a/src/async/imap/MCIMAPAsyncConnection.cc
+++ b/src/async/imap/MCIMAPAsyncConnection.cc
@@ -28,6 +28,7 @@
#include "MCIMAPFetchNamespaceOperation.h"
#include "MCIMAPIdleOperation.h"
#include "MCIMAPIdentityOperation.h"
+#include "MCIMAPCapabilityOperation.h"
using namespace mailcore;
@@ -316,6 +317,35 @@ IMAPFetchMessagesOperation * IMAPAsyncConnection::fetchMessagesByNumberOperation
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;
+}
+
IMAPFetchContentOperation * IMAPAsyncConnection::fetchMessageByUIDOperation(String * folder, uint32_t uid)
{
IMAPFetchContentOperation * op = new IMAPFetchContentOperation();
@@ -421,6 +451,14 @@ IMAPOperation * IMAPAsyncConnection::checkAccountOperation()
return op;
}
+IMAPCapabilityOperation * IMAPAsyncConnection::capabilityOperation()
+{
+ IMAPCapabilityOperation * op = new IMAPCapabilityOperation();
+ op->setSession(this);
+ op->autorelease();
+ return op;
+}
+
IMAPSession * IMAPAsyncConnection::session()
{
return mSession;