aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/imap/MCIMAPOperation.h
diff options
context:
space:
mode:
authorGravatar DINH Viet Hoa <hoa@sprw.me>2013-01-16 01:07:32 -0800
committerGravatar DINH Viet Hoa <hoa@sprw.me>2013-01-16 01:07:32 -0800
commite75be6c8b9a9b694e86c4054b4493f8ec405df2f (patch)
treec74257540dca069ece8178d2afa03a3ee45d7781 /src/async/imap/MCIMAPOperation.h
parent70f53398659fb9305f6bf88e33c84327c61829d5 (diff)
Implemented async IMAP
Diffstat (limited to 'src/async/imap/MCIMAPOperation.h')
-rw-r--r--src/async/imap/MCIMAPOperation.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPOperation.h b/src/async/imap/MCIMAPOperation.h
new file mode 100644
index 00000000..3d9d06eb
--- /dev/null
+++ b/src/async/imap/MCIMAPOperation.h
@@ -0,0 +1,48 @@
+//
+// MCIMAPOperation.h
+// mailcore2
+//
+// Created by DINH Viêt Hoà on 1/12/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef __mailcore2__MCIMAPOperation__
+#define __mailcore2__MCIMAPOperation__
+
+#include <mailcore/MCBaseTypes.h>
+#include <mailcore/MCIMAPProgressCallback.h>
+
+namespace mailcore {
+
+ class IMAPAsyncSession;
+ class IMAPOperationCallback;
+
+ class IMAPOperation : public Operation, public IMAPProgressCallback {
+ IMAPAsyncSession * mSession;
+ IMAPOperationCallback * mImapCallback;
+ ErrorCode mError;
+ private:
+ virtual void bodyProgress(IMAPSession * session, unsigned int current, unsigned int maximum);
+ virtual void bodyProgressOnMainThread(void * context);
+ virtual void itemsProgress(IMAPSession * session, unsigned int current, unsigned int maximum);
+ virtual void itemsProgressOnMainThread(void * context);
+
+ public:
+ IMAPOperation();
+ virtual ~IMAPOperation();
+
+ virtual void setSession(IMAPAsyncSession * session);
+ virtual IMAPAsyncSession * session();
+
+ virtual void setImapCallback(IMAPOperationCallback * callback);
+ virtual IMAPOperationCallback * imapCallback();
+
+ virtual void setError(ErrorCode error);
+ virtual ErrorCode error();
+
+ virtual void start();
+ };
+
+}
+
+#endif /* defined(__mailcore2__MCIMAPOperation__) */