aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async
diff options
context:
space:
mode:
Diffstat (limited to 'src/async')
-rwxr-xr-xsrc/async/imap/MCIMAPAsyncConnection.cc5
-rwxr-xr-xsrc/async/imap/MCIMAPAsyncConnection.h1
-rwxr-xr-xsrc/async/imap/MCIMAPAsyncSession.cc8
-rwxr-xr-xsrc/async/imap/MCIMAPAsyncSession.h1
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();