diff options
Diffstat (limited to 'src/async')
-rwxr-xr-x | src/async/imap/MCIMAPAsyncConnection.cc | 5 | ||||
-rwxr-xr-x | src/async/imap/MCIMAPAsyncConnection.h | 1 | ||||
-rwxr-xr-x | src/async/imap/MCIMAPAsyncSession.cc | 8 | ||||
-rwxr-xr-x | src/async/imap/MCIMAPAsyncSession.h | 1 |
4 files changed, 15 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPAsyncConnection.cc b/src/async/imap/MCIMAPAsyncConnection.cc index 266a120f..04d3a93c 100755 --- a/src/async/imap/MCIMAPAsyncConnection.cc +++ b/src/async/imap/MCIMAPAsyncConnection.cc @@ -552,6 +552,11 @@ unsigned int IMAPAsyncConnection::operationsCount() return mQueue->count(); } +void IMAPAsyncConnection::cancelAllOperations() +{ + mQueue->cancelAllOperations(); +} + void IMAPAsyncConnection::runOperation(IMAPOperation * operation) { if (mScheduledAutomaticDisconnect) { diff --git a/src/async/imap/MCIMAPAsyncConnection.h b/src/async/imap/MCIMAPAsyncConnection.h index 28bac80c..6af22b50 100755 --- a/src/async/imap/MCIMAPAsyncConnection.h +++ b/src/async/imap/MCIMAPAsyncConnection.h @@ -167,6 +167,7 @@ namespace mailcore { virtual void runOperation(IMAPOperation * operation); virtual IMAPSession * session(); + virtual void cancelAllOperations(); virtual unsigned int operationsCount(); virtual void setLastFolder(String * folder); diff --git a/src/async/imap/MCIMAPAsyncSession.cc b/src/async/imap/MCIMAPAsyncSession.cc index 44f753c9..c037768f 100755 --- a/src/async/imap/MCIMAPAsyncSession.cc +++ b/src/async/imap/MCIMAPAsyncSession.cc @@ -567,6 +567,14 @@ bool IMAPAsyncSession::isOperationQueueRunning() return mQueueRunning; } +void IMAPAsyncSession::cancelAllOperations() +{ + for(unsigned int i = 0 ; i < mSessions->count() ; i ++) { + IMAPAsyncConnection * currentSession = (IMAPAsyncConnection *) mSessions->objectAtIndex(i); + currentSession->cancelAllOperations(); + } +} + void IMAPAsyncSession::operationRunningStateChanged() { bool isRunning = false; diff --git a/src/async/imap/MCIMAPAsyncSession.h b/src/async/imap/MCIMAPAsyncSession.h index ddd672e0..b00af1d3 100755 --- a/src/async/imap/MCIMAPAsyncSession.h +++ b/src/async/imap/MCIMAPAsyncSession.h @@ -97,6 +97,7 @@ namespace mailcore { virtual void setOperationQueueCallback(OperationQueueCallback * callback); virtual OperationQueueCallback * operationQueueCallback(); virtual bool isOperationQueueRunning(); + virtual void cancelAllOperations(); virtual IMAPIdentity * serverIdentity(); virtual IMAPIdentity * clientIdentity(); |