aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Nikolay Morev <n.morev@corp.mail.ru>2016-02-08 16:32:29 +0300
committerGravatar Nikolay Morev <n.morev@corp.mail.ru>2016-02-08 16:32:57 +0300
commita3b60195196b77a44cfc6950d0f9b5b3c7f83672 (patch)
tree3d9da36f7b1228815bed23b9827e8bd1b0bffa74
parentaa80a00642039403ad21462541765d520645471f (diff)
Add constant for IMAP MOVE capability
-rw-r--r--src/core/abstract/MCMessageConstants.h1
-rwxr-xr-xsrc/core/imap/MCIMAPSession.cpp3
-rw-r--r--src/objc/abstract/MCOConstants.h2
-rw-r--r--tests/test-all.cpp20
4 files changed, 26 insertions, 0 deletions
diff --git a/src/core/abstract/MCMessageConstants.h b/src/core/abstract/MCMessageConstants.h
index d1029b13..c6671bc7 100644
--- a/src/core/abstract/MCMessageConstants.h
+++ b/src/core/abstract/MCMessageConstants.h
@@ -107,6 +107,7 @@ namespace mailcore {
IMAPCapabilityIdle,
IMAPCapabilityId,
IMAPCapabilityLiteralPlus,
+ IMAPCapabilityMove,
IMAPCapabilityMultiAppend,
IMAPCapabilityNamespace,
IMAPCapabilityQResync,
diff --git a/src/core/imap/MCIMAPSession.cpp b/src/core/imap/MCIMAPSession.cpp
index c1209c9d..96d34b73 100755
--- a/src/core/imap/MCIMAPSession.cpp
+++ b/src/core/imap/MCIMAPSession.cpp
@@ -3829,6 +3829,9 @@ void IMAPSession::capabilitySetWithSessionState(IndexSet * capabilities)
if (mailimap_has_extension(mImap, (char *)"CHILDREN")) {
capabilities->addIndex(IMAPCapabilityChildren);
}
+ if (mailimap_has_extension(mImap, (char *)"MOVE")) {
+ capabilities->addIndex(IMAPCapabilityMove);
+ }
applyCapabilities(capabilities);
}
diff --git a/src/objc/abstract/MCOConstants.h b/src/objc/abstract/MCOConstants.h
index 419d8485..1809e30c 100644
--- a/src/objc/abstract/MCOConstants.h
+++ b/src/objc/abstract/MCOConstants.h
@@ -266,6 +266,8 @@ typedef NS_ENUM(NSInteger, MCOIMAPCapability) {
MCOIMAPCapabilityId,
/** LITERAL+ Capability.*/
MCOIMAPCapabilityLiteralPlus,
+ /** MOVE Capability */
+ MCOIMAPCapabilityMove,
/** MULTIAPPEND Capability.*/
MCOIMAPCapabilityMultiAppend,
/** NAMESPACE Capability.*/
diff --git a/tests/test-all.cpp b/tests/test-all.cpp
index 1858bef1..02a4081c 100644
--- a/tests/test-all.cpp
+++ b/tests/test-all.cpp
@@ -163,6 +163,25 @@ static void testIMAPMove()
session->release();
}
+static void testIMAPCapability()
+{
+ mailcore::IMAPSession * session;
+ mailcore::ErrorCode error;
+
+ session = new mailcore::IMAPSession();
+ session->setHostname(MCSTR("imap.mail.ru"));
+ session->setPort(993);
+ session->setUsername(email);
+ session->setPassword(password);
+ session->setConnectionType(mailcore::ConnectionTypeTLS);
+
+ mailcore::IndexSet *caps = session->capability(&error);
+
+ MCLog("capability: %s, error: %i", MCUTF8DESC(caps), error);
+
+ session->release();
+}
+
static void testSMTP(mailcore::Data * data)
{
mailcore::SMTPSession * smtp;
@@ -394,6 +413,7 @@ void testAll()
//testSMTP(data);
//testIMAP();
//testIMAPMove();
+ //testIMAPCapability();
//testPOP();
//testNNTP();
//testAsyncSMTP(data);