diff options
Diffstat (limited to 'src/async/imap')
-rwxr-xr-x | src/async/imap/MCIMAPAsyncConnection.cc | 9 | ||||
-rwxr-xr-x | src/async/imap/MCIMAPAsyncConnection.h | 1 | ||||
-rwxr-xr-x | src/async/imap/MCIMAPAsyncSession.cc | 6 | ||||
-rwxr-xr-x | src/async/imap/MCIMAPAsyncSession.h | 1 | ||||
-rw-r--r-- | src/async/imap/MCIMAPConnectOperation.cc | 21 | ||||
-rw-r--r-- | src/async/imap/MCIMAPConnectOperation.h | 26 |
6 files changed, 64 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPAsyncConnection.cc b/src/async/imap/MCIMAPAsyncConnection.cc index d1322687..f4e6b73b 100755 --- a/src/async/imap/MCIMAPAsyncConnection.cc +++ b/src/async/imap/MCIMAPAsyncConnection.cc @@ -25,6 +25,7 @@ #include "MCIMAPStoreFlagsOperation.h" #include "MCIMAPStoreLabelsOperation.h" #include "MCIMAPSearchOperation.h" +#include "MCIMAPConnectOperation.h" #include "MCIMAPCheckAccountOperation.h" #include "MCIMAPFetchNamespaceOperation.h" #include "MCIMAPIdleOperation.h" @@ -487,6 +488,14 @@ IMAPIdentityOperation * IMAPAsyncConnection::identityOperation(IMAPIdentity * id return op; } +IMAPOperation * IMAPAsyncConnection::connectOperation() +{ + IMAPConnectOperation * op = new IMAPConnectOperation(); + op->setSession(this); + op->autorelease(); + return op; +} + IMAPOperation * IMAPAsyncConnection::checkAccountOperation() { IMAPCheckAccountOperation * op = new IMAPCheckAccountOperation(); diff --git a/src/async/imap/MCIMAPAsyncConnection.h b/src/async/imap/MCIMAPAsyncConnection.h index 9f1b9d47..934180fd 100755 --- a/src/async/imap/MCIMAPAsyncConnection.h +++ b/src/async/imap/MCIMAPAsyncConnection.h @@ -123,6 +123,7 @@ namespace mailcore { virtual IMAPIdentityOperation * identityOperation(IMAPIdentity * identity); + virtual IMAPOperation * connectOperation(); virtual IMAPOperation * checkAccountOperation(); virtual IMAPCapabilityOperation * capabilityOperation(); diff --git a/src/async/imap/MCIMAPAsyncSession.cc b/src/async/imap/MCIMAPAsyncSession.cc index 5fe9a61b..7e791ce9 100755 --- a/src/async/imap/MCIMAPAsyncSession.cc +++ b/src/async/imap/MCIMAPAsyncSession.cc @@ -448,6 +448,12 @@ IMAPIdentityOperation * IMAPAsyncSession::identityOperation(IMAPIdentity * ident return session->identityOperation(identity); } +IMAPOperation * IMAPAsyncSession::connectOperation() +{ + IMAPAsyncConnection * session = sessionForFolder(MCSTR("INBOX")); + return session->connectOperation(); +} + IMAPOperation * IMAPAsyncSession::checkAccountOperation() { IMAPAsyncConnection * session = sessionForFolder(MCSTR("INBOX")); diff --git a/src/async/imap/MCIMAPAsyncSession.h b/src/async/imap/MCIMAPAsyncSession.h index 10af928d..33362e01 100755 --- a/src/async/imap/MCIMAPAsyncSession.h +++ b/src/async/imap/MCIMAPAsyncSession.h @@ -138,6 +138,7 @@ namespace mailcore { virtual IMAPIdentityOperation * identityOperation(IMAPIdentity * identity); + virtual IMAPOperation * connectOperation(); virtual IMAPOperation * checkAccountOperation(); virtual IMAPCapabilityOperation * capabilityOperation(); diff --git a/src/async/imap/MCIMAPConnectOperation.cc b/src/async/imap/MCIMAPConnectOperation.cc new file mode 100644 index 00000000..e4f71d03 --- /dev/null +++ b/src/async/imap/MCIMAPConnectOperation.cc @@ -0,0 +1,21 @@ +// +// MCIMAPConnectOperation.cc +// mailcore2 +// +// Created by Ryan Walklin on 6/09/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#include "MCIMAPConnectOperation.h" + +#include "MCIMAPAsyncConnection.h" +#include "MCIMAPSession.h" + +using namespace mailcore; + +void IMAPConnectOperation::main() +{ + ErrorCode error; + session()->session()->connectIfNeeded(&error); + setError(error); +} diff --git a/src/async/imap/MCIMAPConnectOperation.h b/src/async/imap/MCIMAPConnectOperation.h new file mode 100644 index 00000000..a5d3c035 --- /dev/null +++ b/src/async/imap/MCIMAPConnectOperation.h @@ -0,0 +1,26 @@ +// +// MCIMAPConnectOperation.h +// mailcore2 +// +// Created by Ryan Walklin on 6/09/13. +// Copyright (c) 2013 MailCore. All rights reserved. +// + +#ifndef __MAILCORE_MCIMAPCONNECTOPERATION_H_ +#define __MAILCORE_MCIMAPCONNECTOPERATION_H_ + +#include <MailCore/MCIMAPOperation.h> + +#ifdef __cplusplus + +namespace mailcore { + + class IMAPConnectOperation : public IMAPOperation { + public: // subclass behavior + virtual void main(); + }; +} + +#endif + +#endif /* defined(__MAILCORE_MCIMAPCONNECTOPERATION_H_) */ |