16 */ |
16 */ |
17 |
17 |
18 #ifndef NMAPIENGINE_H |
18 #ifndef NMAPIENGINE_H |
19 #define NMAPIENGINE_H |
19 #define NMAPIENGINE_H |
20 |
20 |
21 #include "nmenginedef.h" |
|
22 #include "nmcommon.h" |
21 #include "nmcommon.h" |
23 #include "nmapimailbox.h" |
22 #include "nmapiprivateclasses.h" |
24 #include "nmapifolder.h" |
|
25 #include "nmprivateclasses.h" |
|
26 #include "nmapimessageenvelope.h" |
|
27 |
23 |
28 class NmDataPluginFactory; |
24 class NmApiDataPluginFactory; |
29 |
25 |
30 class NmEngine : public QObject |
26 namespace EmailClientApi |
|
27 { |
|
28 class NmApiMailbox; |
|
29 class NmApiFolder; |
|
30 class NmApiMessageEnvelope; |
|
31 } |
|
32 |
|
33 class NmApiEngine : public QObject |
31 { |
34 { |
32 Q_OBJECT |
35 Q_OBJECT |
33 public: |
36 public: |
34 static NmEngine* instance(); |
37 static NmApiEngine* instance(); |
35 static void releaseInstance(NmEngine *&engine); |
38 static void releaseInstance(NmApiEngine *&engine); |
36 |
39 |
37 void listMailboxes(QList<EmailClientApi::NmMailbox> &mailboxList); |
40 void listMailboxes(QList<EmailClientApi::NmApiMailbox> &mailboxList); |
38 |
41 |
39 void listFolders(const quint64 mailboxId, QList<EmailClientApi::NmFolder> &folderList); |
42 void listFolders(const quint64 mailboxId, QList<EmailClientApi::NmApiFolder> &folderList); |
40 void listEnvelopes(const quint64 mailboxId, const quint64 folderId, QList< |
43 void listEnvelopes(const quint64 mailboxId, const quint64 folderId, |
41 EmailClientApi::NmMessageEnvelope> &messageEnvelopeList); |
44 QList<EmailClientApi::NmApiMessageEnvelope> &messageEnvelopeList); |
42 |
45 |
43 bool envelopeById( |
46 bool getEnvelopeById( |
44 const quint64 mailboxId, |
47 const quint64 mailboxId, |
45 const quint64 folderId, |
48 const quint64 folderId, |
46 const quint64 envelopeId, |
49 const quint64 envelopeId, |
47 EmailClientApi::NmMessageEnvelope &envelope); |
50 EmailClientApi::NmApiMessageEnvelope &envelope); |
48 bool mailboxById(const quint64 mailboxId, EmailClientApi::NmMailbox &mailbox); |
51 |
|
52 bool getMailboxById(const quint64 mailboxId, EmailClientApi::NmApiMailbox &mailbox); |
49 |
53 |
50 void startCollectingEvents(); |
54 void startCollectingEvents(); |
|
55 |
51 signals: |
56 signals: |
52 /*! |
57 /*! |
53 * It contains info about event in emailstore. |
58 It contains info about event in emailstore. |
54 * |
59 |
55 * \arg Contains info about event and related object (message or mailbox list) |
60 \arg Contains info about event and related object (message or mailbox list) |
56 */ |
61 */ |
57 void emailStoreEvent(NmApiMessage message); |
62 void emailStoreEvent(NmApiMessage message); |
58 |
63 |
59 public slots: |
64 private slots: |
60 void mailboxChangedArrived(NmMailboxEvent, const QList<NmId> &mailboxIds); |
65 void mailboxChangedArrived(NmMailboxEvent, const QList<NmId> &mailboxIds); |
61 void messageChangedArrived( |
66 void messageChangedArrived( |
62 NmMessageEvent messageEvent, |
67 NmMessageEvent messageEvent, |
63 const NmId &folderId, |
68 const NmId &folderId, |
64 const QList<NmId> &messageIds, |
69 const QList<NmId> &messageIds, |
65 const NmId &mailboxId); |
70 const NmId &mailboxId); |
66 |
71 |
67 private: |
72 private: |
68 NmEngine(); |
73 NmApiEngine(); |
69 virtual ~NmEngine(); |
74 virtual ~NmApiEngine(); |
70 |
75 |
71 private: |
76 private: |
72 static NmEngine *mInstance;//!<Static instance of NmEngine. There can be only one instance of engine |
77 static NmApiEngine *mInstance;//!<Static instance of NmApiEngine. There can be only one instance of engine |
73 static quint32 mReferenceCount;//!<Count of refences to engine instance |
78 static quint32 mReferenceCount;//!<Count of refences to engine instance |
74 |
79 |
75 NmDataPluginFactory *mFactory;//!<Plugin factory. Is needed to get plugins for emails |
80 NmApiDataPluginFactory *mFactory;//!<Plugin factory. Is needed to get plugins for emails |
76 }; |
81 }; |
77 |
82 |
78 #endif /* NMENGINE_H_ */ |
83 #endif /* NMAPIENGINE_H */ |