aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/imap/MCIMAPCapabilityOperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/async/imap/MCIMAPCapabilityOperation.cpp')
-rw-r--r--src/async/imap/MCIMAPCapabilityOperation.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPCapabilityOperation.cpp b/src/async/imap/MCIMAPCapabilityOperation.cpp
new file mode 100644
index 00000000..9edb9b1c
--- /dev/null
+++ b/src/async/imap/MCIMAPCapabilityOperation.cpp
@@ -0,0 +1,43 @@
+//
+// MCIMAPCapabilityOperation.cpp
+// mailcore2
+//
+// Created by DINH Viêt Hoà on 3/4/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#include "MCIMAPCapabilityOperation.h"
+
+#include "MCIMAPSession.h"
+#include "MCIMAPAsyncConnection.h"
+
+using namespace mailcore;
+
+IMAPCapabilityOperation::IMAPCapabilityOperation()
+{
+ mCapabilities = NULL;
+}
+
+IMAPCapabilityOperation::~IMAPCapabilityOperation()
+{
+ MC_SAFE_RELEASE(mCapabilities);
+}
+
+IndexSet * IMAPCapabilityOperation::capabilities()
+{
+ return mCapabilities;
+}
+
+void IMAPCapabilityOperation::main()
+{
+ ErrorCode error;
+ session()->session()->loginIfNeeded(&error);
+ if (error != ErrorNone) {
+ setError(error);
+ return;
+ }
+ mCapabilities = session()->session()->capability(&error);
+ MC_SAFE_RETAIN(mCapabilities);
+ setError(error);
+}
+