blob: ed5bc5603f8ff4d8b980a4791e1da2cfac723e92 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
//
// MCIMAPOperation.h
// mailcore2
//
// Created by DINH Viêt Hoà on 1/12/13.
// Copyright (c) 2013 MailCore. All rights reserved.
//
#ifndef MAILCORE_MCIMAPOPERATION_H
#define MAILCORE_MCIMAPOPERATION_H
#include <MailCore/MCBaseTypes.h>
#include <MailCore/MCIMAPProgressCallback.h>
#ifdef __cplusplus
namespace mailcore {
class IMAPAsyncConnection;
class IMAPAsyncSession;
class IMAPOperationCallback;
class IMAPOperation : public Operation, public IMAPProgressCallback {
public:
IMAPOperation();
virtual ~IMAPOperation();
virtual void setMainSession(IMAPAsyncSession * session);
virtual IMAPAsyncSession * mainSession();
virtual void setSession(IMAPAsyncConnection * session);
virtual IMAPAsyncConnection * session();
virtual void setFolder(String * folder);
virtual String * folder();
virtual void setUrgent(bool urgent);
virtual bool isUrgent();
virtual void setImapCallback(IMAPOperationCallback * callback);
virtual IMAPOperationCallback * imapCallback();
virtual void beforeMain();
virtual void afterMain();
virtual void start();
// Result.
virtual void setError(ErrorCode error);
virtual ErrorCode error();
private:
IMAPAsyncSession * mMainSession;
IMAPAsyncConnection * mSession;
String * mFolder;
IMAPOperationCallback * mImapCallback;
ErrorCode mError;
bool mUrgent;
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);
};
}
#endif
#endif
|