aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async
diff options
context:
space:
mode:
authorGravatar CodaFi <devteam.codafi@gmail.com>2013-09-24 20:29:24 -0600
committerGravatar CodaFi <devteam.codafi@gmail.com>2013-09-24 20:29:24 -0600
commit95b6c6ac75ecf66eb8d627a5ea4925057a27f7f7 (patch)
treeb75c88d69b2c418a0cb220c7af8ab5f33280801f /src/async
parent3266aa128784d29c34819d745a6d4aa768f2a725 (diff)
Implement IMAP noop
Diffstat (limited to 'src/async')
-rwxr-xr-xsrc/async/imap/MCIMAPAsyncConnection.cc9
-rwxr-xr-xsrc/async/imap/MCIMAPAsyncConnection.h2
-rwxr-xr-xsrc/async/imap/MCIMAPAsyncSession.cc6
-rwxr-xr-xsrc/async/imap/MCIMAPAsyncSession.h2
-rw-r--r--src/async/imap/MCIMAPNoopOperation.cpp29
-rw-r--r--src/async/imap/MCIMAPNoopOperation.h31
6 files changed, 79 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPAsyncConnection.cc b/src/async/imap/MCIMAPAsyncConnection.cc
index f4e6b73b..db6afe9a 100755
--- a/src/async/imap/MCIMAPAsyncConnection.cc
+++ b/src/async/imap/MCIMAPAsyncConnection.cc
@@ -34,6 +34,7 @@
#include "MCIMAPQuotaOperation.h"
#include "MCOperationQueueCallback.h"
#include "MCIMAPDisconnectOperation.h"
+#include "MCIMAPNoopOperation.h"
#include "MCIMAPAsyncSession.h"
#include "MCConnectionLogger.h"
#include "MCIMAPMessageRenderingOperation.h"
@@ -504,6 +505,14 @@ IMAPOperation * IMAPAsyncConnection::checkAccountOperation()
return op;
}
+IMAPOperation * IMAPAsyncConnection::noopOperation()
+{
+ IMAPNoopOperation * op = new IMAPNoopOperation();
+ op->setSession(this);
+ op->autorelease();
+ return op;
+}
+
IMAPCapabilityOperation * IMAPAsyncConnection::capabilityOperation()
{
IMAPCapabilityOperation * op = new IMAPCapabilityOperation();
diff --git a/src/async/imap/MCIMAPAsyncConnection.h b/src/async/imap/MCIMAPAsyncConnection.h
index 934180fd..a1950fd8 100755
--- a/src/async/imap/MCIMAPAsyncConnection.h
+++ b/src/async/imap/MCIMAPAsyncConnection.h
@@ -126,6 +126,8 @@ namespace mailcore {
virtual IMAPOperation * connectOperation();
virtual IMAPOperation * checkAccountOperation();
+ virtual IMAPOperation * noopOperation();
+
virtual IMAPCapabilityOperation * capabilityOperation();
virtual IMAPQuotaOperation * quotaOperation();
diff --git a/src/async/imap/MCIMAPAsyncSession.cc b/src/async/imap/MCIMAPAsyncSession.cc
index 7e791ce9..c388e352 100755
--- a/src/async/imap/MCIMAPAsyncSession.cc
+++ b/src/async/imap/MCIMAPAsyncSession.cc
@@ -472,6 +472,12 @@ IMAPQuotaOperation * IMAPAsyncSession::quotaOperation()
return session->quotaOperation();
}
+IMAPOperation * IMAPAsyncSession::noopOperation()
+{
+ IMAPAsyncConnection * session = sessionForFolder(MCSTR("INBOX"));
+ return session->noopOperation();
+}
+
void IMAPAsyncSession::setConnectionLogger(ConnectionLogger * logger)
{
mConnectionLogger = logger;
diff --git a/src/async/imap/MCIMAPAsyncSession.h b/src/async/imap/MCIMAPAsyncSession.h
index 33362e01..f0f2bd11 100755
--- a/src/async/imap/MCIMAPAsyncSession.h
+++ b/src/async/imap/MCIMAPAsyncSession.h
@@ -144,6 +144,8 @@ namespace mailcore {
virtual IMAPCapabilityOperation * capabilityOperation();
virtual IMAPQuotaOperation * quotaOperation();
+ virtual IMAPOperation * noopOperation();
+
virtual IMAPMessageRenderingOperation * htmlRenderingOperation(IMAPMessage * message, String * folder);
virtual IMAPMessageRenderingOperation * htmlBodyRenderingOperation(IMAPMessage * message, String * folder);
virtual IMAPMessageRenderingOperation * plainTextRenderingOperation(IMAPMessage * message, String * folder);
diff --git a/src/async/imap/MCIMAPNoopOperation.cpp b/src/async/imap/MCIMAPNoopOperation.cpp
new file mode 100644
index 00000000..19a82883
--- /dev/null
+++ b/src/async/imap/MCIMAPNoopOperation.cpp
@@ -0,0 +1,29 @@
+//
+// MCIMAPNoopOperation.cpp
+// mailcore2
+//
+// Created by Robert Widmann on 9/24/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#include "MCIMAPNoopOperation.h"
+
+#include "MCIMAPSession.h"
+#include "MCIMAPAsyncConnection.h"
+
+using namespace mailcore;
+
+IMAPNoopOperation::IMAPNoopOperation()
+{
+}
+
+IMAPNoopOperation::~IMAPNoopOperation()
+{
+}
+
+void IMAPNoopOperation::main()
+{
+ ErrorCode error;
+ session()->session()->noop(&error);
+ setError(error);
+}
diff --git a/src/async/imap/MCIMAPNoopOperation.h b/src/async/imap/MCIMAPNoopOperation.h
new file mode 100644
index 00000000..4ceff687
--- /dev/null
+++ b/src/async/imap/MCIMAPNoopOperation.h
@@ -0,0 +1,31 @@
+//
+// MCIMAPNoopOperation.h
+// mailcore2
+//
+// Created by Robert Widmann on 9/24/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef __MAILCORE_MCIMAPNOOPOPERATION_H_
+
+#define __MAILCORE_MCIMAPNOOPOPERATION_H_
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+ class IMAPNoopOperation : public IMAPOperation {
+ public:
+ IMAPNoopOperation();
+ virtual ~IMAPNoopOperation();
+
+ public: // subclass behavior
+ virtual void main();
+ };
+}
+
+#endif
+
+#endif