aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/pop
diff options
context:
space:
mode:
authorGravatar CodaFi <devteam.codafi@gmail.com>2013-09-24 20:18:19 -0600
committerGravatar CodaFi <devteam.codafi@gmail.com>2013-09-24 20:18:19 -0600
commit3266aa128784d29c34819d745a6d4aa768f2a725 (patch)
treefed4a81d3d990ab3fd2765f076ba445a3242a67c /src/async/pop
parent512ea11d3d76666d891ace7034edb6280fa8b24c (diff)
Implement POP noop
Diffstat (limited to 'src/async/pop')
-rw-r--r--src/async/pop/MCPOPAsyncSession.cc8
-rw-r--r--src/async/pop/MCPOPAsyncSession.h54
-rw-r--r--src/async/pop/MCPOPNoopOperation.cc30
-rw-r--r--src/async/pop/MCPOPNoopOperation.h31
4 files changed, 97 insertions, 26 deletions
diff --git a/src/async/pop/MCPOPAsyncSession.cc b/src/async/pop/MCPOPAsyncSession.cc
index f5334542..392d7060 100644
--- a/src/async/pop/MCPOPAsyncSession.cc
+++ b/src/async/pop/MCPOPAsyncSession.cc
@@ -14,6 +14,7 @@
#include "MCPOPDeleteMessagesOperation.h"
#include "MCPOPFetchMessagesOperation.h"
#include "MCPOPCheckAccountOperation.h"
+#include "MCPOPNoopOperation.h"
#include "MCOperationQueueCallback.h"
#include "MCConnectionLogger.h"
@@ -209,6 +210,13 @@ POPOperation * POPAsyncSession::checkAccountOperation()
return op;
}
+POPOperation * POPAsyncSession::noopOperation() {
+ POPNoopOperation * op = new POPNoopOperation();
+ op->setSession(this);
+ op->autorelease();
+ return op;
+}
+
POPSession * POPAsyncSession::session()
{
return mSession;
diff --git a/src/async/pop/MCPOPAsyncSession.h b/src/async/pop/MCPOPAsyncSession.h
index 0345ecd6..a37b80ea 100644
--- a/src/async/pop/MCPOPAsyncSession.h
+++ b/src/async/pop/MCPOPAsyncSession.h
@@ -22,37 +22,37 @@ namespace mailcore {
class POPFetchMessageOperation;
class POPDeleteMessagesOperation;
class POPFetchMessagesOperation;
- class POPOperationQueueCallback;
+ class POPOperationQueueCallback;
class POPConnectionLogger;
- class POPAsyncSession : public Object {
- public:
- POPAsyncSession();
- virtual ~POPAsyncSession();
-
- virtual void setHostname(String * hostname);
- virtual String * hostname();
+ class POPAsyncSession : public Object {
+ public:
+ POPAsyncSession();
+ virtual ~POPAsyncSession();
- virtual void setPort(unsigned int port);
- virtual unsigned int port();
+ virtual void setHostname(String * hostname);
+ virtual String * hostname();
- virtual void setUsername(String * login);
- virtual String * username();
+ virtual void setPort(unsigned int port);
+ virtual unsigned int port();
- virtual void setPassword(String * password);
- virtual String * password();
+ virtual void setUsername(String * login);
+ virtual String * username();
- virtual void setAuthType(AuthType authType);
- virtual AuthType authType();
+ virtual void setPassword(String * password);
+ virtual String * password();
- virtual void setConnectionType(ConnectionType connectionType);
- virtual ConnectionType connectionType();
+ virtual void setAuthType(AuthType authType);
+ virtual AuthType authType();
- virtual void setTimeout(time_t timeout);
- virtual time_t timeout();
-
- virtual void setCheckCertificateEnabled(bool enabled);
- virtual bool isCheckCertificateEnabled();
+ virtual void setConnectionType(ConnectionType connectionType);
+ virtual ConnectionType connectionType();
+
+ virtual void setTimeout(time_t timeout);
+ virtual time_t timeout();
+
+ virtual void setCheckCertificateEnabled(bool enabled);
+ virtual bool isCheckCertificateEnabled();
virtual void setConnectionLogger(ConnectionLogger * logger);
virtual ConnectionLogger * connectionLogger();
@@ -61,7 +61,7 @@ namespace mailcore {
virtual POPFetchHeaderOperation * fetchHeaderOperation(unsigned int index);
- virtual POPFetchMessageOperation * fetchMessageOperation(unsigned int index);
+ virtual POPFetchMessageOperation * fetchMessageOperation(unsigned int index);
// Will disconnect.
virtual POPOperation * deleteMessagesOperation(IndexSet * indexes);
@@ -70,14 +70,16 @@ namespace mailcore {
virtual POPOperation * checkAccountOperation();
- private:
+ virtual POPOperation * noopOperation();
+
+ private:
POPSession * mSession;
OperationQueue * mQueue;
POPOperationQueueCallback * mQueueCallback;
ConnectionLogger * mConnectionLogger;
pthread_mutex_t mConnectionLoggerLock;
POPConnectionLogger * mInternalLogger;
-
+
public: // private
virtual void runOperation(POPOperation * operation);
virtual POPSession * session();
diff --git a/src/async/pop/MCPOPNoopOperation.cc b/src/async/pop/MCPOPNoopOperation.cc
new file mode 100644
index 00000000..034b1fa8
--- /dev/null
+++ b/src/async/pop/MCPOPNoopOperation.cc
@@ -0,0 +1,30 @@
+//
+// MCPOPNoopOperation.cpp
+// mailcore2
+//
+// Created by Robert Widmann on 9/24/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#include "MCPOPNoopOperation.h"
+
+#include "MCPOPAsyncSession.h"
+#include "MCPOPSession.h"
+
+using namespace mailcore;
+
+POPNoopOperation::POPNoopOperation()
+{
+}
+
+POPNoopOperation::~POPNoopOperation()
+{
+}
+
+void POPNoopOperation::main()
+{
+ ErrorCode error;
+
+ session()->session()->noop(&error);
+ setError(error);
+}
diff --git a/src/async/pop/MCPOPNoopOperation.h b/src/async/pop/MCPOPNoopOperation.h
new file mode 100644
index 00000000..d0736006
--- /dev/null
+++ b/src/async/pop/MCPOPNoopOperation.h
@@ -0,0 +1,31 @@
+//
+// MCPOPNoopOperation.h
+// mailcore2
+//
+// Created by Robert Widmann on 9/24/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef __MAILCORE_MCPOPNOOPOPERATION_H_
+#define __MAILCORE_MCPOPNOOPOPERATION_H_
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+ class POPNoopOperation : public POPOperation {
+ public:
+ POPNoopOperation();
+ virtual ~POPNoopOperation();
+
+ public: // subclass behavior
+ virtual void main();
+ };
+
+}
+
+#endif
+
+#endif