emailuis/nmailuiengine/inc/nmuiengine.h
changeset 27 9ba4404ef423
parent 23 2dc6caa42ec3
child 30 759dc5235cdb
equal deleted inserted replaced
23:2dc6caa42ec3 27:9ba4404ef423
    26 #include "nmuienginedef.h"
    26 #include "nmuienginedef.h"
    27 
    27 
    28 class QAbstractItemModel;
    28 class QAbstractItemModel;
    29 class NmMailboxListModel;
    29 class NmMailboxListModel;
    30 class NmMessageListModel;
    30 class NmMessageListModel;
    31 class NmMessageSearchListModel;
       
    32 class NmDataManager;
    31 class NmDataManager;
    33 class NmDataPluginFactory;
    32 class NmDataPluginFactory;
    34 class NmMailboxMetaData;
    33 class NmMailboxMetaData;
    35 class NmMessage;
    34 class NmMessage;
    36 class NmMessagePart;
    35 class NmMessagePart;
    48     Q_OBJECT
    47     Q_OBJECT
    49 
    48 
    50 public:
    49 public:
    51 
    50 
    52     static NmUiEngine *instance();
    51     static NmUiEngine *instance();
       
    52 
    53     static void releaseInstance(NmUiEngine *&instance);
    53     static void releaseInstance(NmUiEngine *&instance);
    54 
    54 
    55     NmMailboxListModel &mailboxListModel();
    55     NmMailboxListModel &mailboxListModel();
       
    56 
    56     void refreshMailboxListModel();
    57     void refreshMailboxListModel();
    57     NmMessageListModel &messageListModel(const NmId &mailboxId, const NmId &folderId);
    58 
    58     NmMessageSearchListModel &messageSearchListModel(QAbstractItemModel *sourceModel);
    59     NmMessageListModel &messageListModel(const NmId &mailboxId,
       
    60                                          const NmId &folderId);
       
    61 
       
    62     NmMessageListModel &messageListModelForSearch(const NmId &mailboxId);
    59 
    63 
    60     NmId standardFolderId(const NmId &mailboxId, NmFolderType folderType);
    64     NmId standardFolderId(const NmId &mailboxId, NmFolderType folderType);
    61 
    65 
    62     NmMessage *message(
    66     NmMessage *message(
    63         const NmId &mailboxId,
    67         const NmId &mailboxId,
    72     QPointer<NmOperation> fetchMessagePart( 
    76     QPointer<NmOperation> fetchMessagePart( 
    73         const NmId &mailboxId,
    77         const NmId &mailboxId,
    74         const NmId &folderId,
    78         const NmId &folderId,
    75         const NmId &messageId,
    79         const NmId &messageId,
    76         const NmId &messagePartId);
    80         const NmId &messagePartId);
       
    81     
       
    82     QPointer<NmOperation> fetchMessageParts( 
       
    83         const NmId &mailboxId,
       
    84         const NmId &folderId,
       
    85         const NmId &messageId,
       
    86         const QList<NmId> &messagePartIds);
    77     
    87     
    78     XQSharableFile messagePartFile(
    88     XQSharableFile messagePartFile(
    79        const NmId &mailboxId,
    89        const NmId &mailboxId,
    80        const NmId &folderId,
    90        const NmId &folderId,
    81        const NmId &messageId,
    91        const NmId &messageId,
   121 
   131 
   122     int goOnline(const NmId &mailboxId);
   132     int goOnline(const NmId &mailboxId);
   123     
   133     
   124     int goOffline(const NmId &mailboxId);
   134     int goOffline(const NmId &mailboxId);
   125     
   135     
   126     int removeMessage(
   136     int removeMessage(const NmId &mailboxId,
   127                 const NmId &mailboxId,
   137                       const NmId &folderId,
   128                 const NmId &folderId,
   138                       const NmId &messageId);
   129                 const NmId &messageId);
   139     
   130     
   140     void sendMessage(NmMessage *message,
   131     void sendMessage(NmMessage *message, const QList<NmOperation*> &preliminaryOperations);
   141                      const QList<NmOperation*> &preliminaryOperations);
   132 
   142 
   133     bool isSendingMessage() const;
   143     bool isSendingMessage() const;
   134 
   144 
   135     const NmMessage *messageBeingSent() const;
   145     const NmMessage *messageBeingSent() const;
   136     
   146     
   143         const NmId &attachmentPartId);
   153         const NmId &attachmentPartId);
   144 
   154 
   145     QPointer<NmCheckOutboxOperation> checkOutbox(const NmId &mailboxId);
   155     QPointer<NmCheckOutboxOperation> checkOutbox(const NmId &mailboxId);
   146     
   156     
   147     NmSyncState syncState(const NmId& mailboxId);
   157     NmSyncState syncState(const NmId& mailboxId);
       
   158 
   148     NmConnectState connectionState(const NmId& mailboxId);
   159     NmConnectState connectionState(const NmId& mailboxId);
   149 
   160 
   150     int search(const NmId &mailboxId,
   161     int search(const NmId &mailboxId,
   151                const QStringList &searchStrings);
   162                const QStringList &searchStrings);
   152 
   163 
   153     int cancelSearch(const NmId &mailboxId);
   164     int cancelSearch(const NmId &mailboxId);
   154     
   165     
   155     NmFolderType folderTypeById(NmId mailboxId, NmId folderId);
   166     NmFolderType folderTypeById(NmId mailboxId, NmId folderId);
   156 
   167 
       
   168     void updateActiveFolder(const NmId &mailboxId, const NmId &folderId);
       
   169     
   157 public slots:
   170 public slots:
       
   171 
   158     void handleCompletedSendOperation();
   172     void handleCompletedSendOperation();
   159     void handleSyncStateEvent(NmSyncState syncState, const NmOperationCompletionEvent &event);
   173 
   160     void handleConnectEvent(NmConnectState connectState, const NmId &mailboxId, const int errorCode);
   174     void handleSyncStateEvent(NmSyncState syncState,
       
   175                               const NmOperationCompletionEvent &event);
       
   176 
       
   177     void handleConnectEvent(NmConnectState connectState,
       
   178                             const NmId &mailboxId,
       
   179                             const int errorCode);
       
   180 
   161 
   181 
   162 private slots:
   182 private slots:
   163     void handleMessageEvent(
   183 
   164             NmMessageEvent event,
   184     void handleMessageEvent(NmMessageEvent event,
   165             const NmId &folderId,
   185                             const NmId &folderId,
   166             const QList<NmId> &messageIds, 
   186                             const QList<NmId> &messageIds, 
   167             const NmId& mailboxId);
   187                             const NmId& mailboxId);
   168     
   188     
   169     void handleMailboxEvent(NmMailboxEvent event,
   189     void handleMailboxEvent(NmMailboxEvent event,
   170                             const QList<NmId> &mailboxIds);
   190                             const QList<NmId> &mailboxIds);
   171 
   191 
       
   192     void handleMatchFound(const NmId &messageId, const NmId &folderId);
       
   193 
   172 
   194 
   173 signals:
   195 signals:
       
   196 
   174     void syncStateEvent(NmSyncState, const NmId &);
   197     void syncStateEvent(NmSyncState, const NmId &);
   175     void connectionEvent(NmConnectState, const NmId &);
   198     void connectionEvent(NmConnectState, const NmId &);
   176     void operationCompleted(const NmOperationCompletionEvent &event);
   199     void operationCompleted(const NmOperationCompletionEvent &event);
   177     void sendOperationCompleted();
   200     void sendOperationCompleted();
   178     void messageDeleted(const NmId &mailboxId, const NmId &folderId, const NmId &messageId);
   201     void messageDeleted(const NmId &mailboxId, const NmId &folderId, const NmId &messageId);
   179     void mailboxDeleted(const NmId &mailboxId);
   202     void mailboxDeleted(const NmId &mailboxId);
   180     void matchFound(const NmId &);
   203     void matchFound(const NmId &, const NmId &);
   181     void searchComplete();
   204     void searchComplete();
   182     
   205 
       
   206 
   183 private:
   207 private:
       
   208 
   184     NmUiEngine();
   209     NmUiEngine();
       
   210 
   185     virtual ~NmUiEngine();
   211     virtual ~NmUiEngine();
   186 
   212 
   187 private:
   213 
       
   214 private: // Data
       
   215 
   188     static NmUiEngine *mInstance;
   216     static NmUiEngine *mInstance;
   189     static int	mReferenceCount;
   217     static int	mReferenceCount;
   190 
   218 
   191     NmDataPluginFactory *mPluginFactory;
   219     NmDataPluginFactory *mPluginFactory;
   192     NmDataManager *mDataManager;                // Owned
   220     NmDataManager *mDataManager;                // Owned
   193     NmMailboxListModel *mMailboxListModel;      // Owned
   221     NmMailboxListModel *mMailboxListModel;      // Owned
   194     NmMessageListModel *mMessageListModel;      // Owned
   222     NmMessageListModel *mMessageListModel;      // Owned
   195     NmMessageSearchListModel *mMessageSearchListModel; // Owned
   223     NmMessageListModel *mMessageSearchListModel; // Owned
   196     QPointer<NmMessageSendingOperation> mSendOperation;  // Not owned
   224     QPointer<NmMessageSendingOperation> mSendOperation;  // Not owned
   197 };
   225 };
   198 
   226 
   199 
   227 
   200 #endif /* NMUIENGINE_H */
   228 #endif /* NMUIENGINE_H */