emailservices/nmclientapi/inc/nmapiengine.h
changeset 23 2dc6caa42ec3
parent 18 578830873419
child 68 83cc6bae1de8
equal deleted inserted replaced
20:ecc8def7944a 23:2dc6caa42ec3
    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 */