diff options
author | CodaFi <devteam.codafi@gmail.com> | 2013-09-24 20:18:19 -0600 |
---|---|---|
committer | CodaFi <devteam.codafi@gmail.com> | 2013-09-24 20:18:19 -0600 |
commit | 3266aa128784d29c34819d745a6d4aa768f2a725 (patch) | |
tree | fed4a81d3d990ab3fd2765f076ba445a3242a67c /src/async/pop | |
parent | 512ea11d3d76666d891ace7034edb6280fa8b24c (diff) |
Implement POP noop
Diffstat (limited to 'src/async/pop')
-rw-r--r-- | src/async/pop/MCPOPAsyncSession.cc | 8 | ||||
-rw-r--r-- | src/async/pop/MCPOPAsyncSession.h | 54 | ||||
-rw-r--r-- | src/async/pop/MCPOPNoopOperation.cc | 30 | ||||
-rw-r--r-- | src/async/pop/MCPOPNoopOperation.h | 31 |
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 |