diff -r ecc8def7944a -r 2dc6caa42ec3 emailuis/nmailuiengine/inc/nmuiengine.h --- a/emailuis/nmailuiengine/inc/nmuiengine.h Mon May 03 12:23:15 2010 +0300 +++ b/emailuis/nmailuiengine/inc/nmuiengine.h Fri May 14 15:41:10 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -20,43 +20,42 @@ #include #include -#ifdef Q_OS_SYMBIAN #include -#endif #include "nmcommon.h" #include "nmuienginedef.h" +class QAbstractItemModel; class NmMailboxListModel; class NmMessageListModel; +class NmMessageSearchListModel; class NmDataManager; class NmDataPluginFactory; class NmMailboxMetaData; class NmMessage; class NmMessagePart; class NmMessageEnvelope; +class NmOperation; class NmMessageCreationOperation; class NmStoreEnvelopesOperation; class NmAddAttachmentsOperation; -class NmOperation; class NmCheckOutboxOperation; class NmMessageSendingOperation; + class NMUIENGINE_EXPORT NmUiEngine: public QObject { Q_OBJECT + public: static NmUiEngine *instance(); static void releaseInstance(NmUiEngine *&instance); NmMailboxListModel &mailboxListModel(); - void refreshMailboxListModel(); - NmMessageListModel &messageListModel(const NmId &mailboxId, const NmId &folderId); - - void releaseMessageListModel(const NmId &mailboxId); + NmMessageSearchListModel &messageSearchListModel(QAbstractItemModel *sourceModel); NmId standardFolderId(const NmId &mailboxId, NmFolderType folderType); @@ -65,22 +64,22 @@ const NmId &folderId, const NmId &messageId); - NmOperation *fetchMessage( + QPointer fetchMessage( const NmId &mailboxId, const NmId &folderId, const NmId &messageId); - NmOperation *fetchMessagePart( + QPointer fetchMessagePart( const NmId &mailboxId, const NmId &folderId, const NmId &messageId, const NmId &messagePartId); XQSharableFile messagePartFile( - const NmId &mailboxId, - const NmId &folderId, - const NmId &messageId, - const NmId &messagePartId); + const NmId &mailboxId, + const NmId &folderId, + const NmId &messageId, + const NmId &messagePartId); NmMailboxMetaData *mailboxById(const NmId &mailboxId); @@ -99,23 +98,22 @@ const NmId &folderId, const QList &messageIdList); - NmStoreEnvelopesOperation *setEnvelopes( - const NmId &mailboxId, - const NmId &folderId, - NmEnvelopeProperties property, - const QList &envelopeList); + QPointer setEnvelopes( + const NmId &mailboxId, + const NmId &folderId, + NmEnvelopeProperties property, + const QList &envelopeList); - - NmMessageCreationOperation *createNewMessage(const NmId &mailboxId); + QPointer createNewMessage(const NmId &mailboxId); - NmMessageCreationOperation *createForwardMessage( - const NmId &mailboxId, - const NmId &originalMessageId); + QPointer createForwardMessage( + const NmId &mailboxId, + const NmId &originalMessageId); - NmMessageCreationOperation *createReplyMessage( - const NmId &mailboxId, - const NmId &originalMessageId, - bool replyAll); + QPointer createReplyMessage( + const NmId &mailboxId, + const NmId &originalMessageId, + bool replyAll); int saveMessage(const NmMessage &message); @@ -129,44 +127,64 @@ const NmId &mailboxId, const NmId &folderId, const NmId &messageId); - - void storeOperation(NmOperation *op); - - void sendMessage(NmMessage *message, const QList &preliminaryOperations); + + void sendMessage(NmMessage *message, const QList &preliminaryOperations); bool isSendingMessage() const; const NmMessage *messageBeingSent() const; - NmAddAttachmentsOperation *addAttachments( - const NmMessage &message, - const QList &fileList); + + QPointer addAttachments( + const NmMessage &message, + const QList &fileList); - NmOperation *removeAttachment(const NmMessage &message, const NmId &attachmentPartId); + QPointer removeAttachment( + const NmMessage &message, + const NmId &attachmentPartId); - NmCheckOutboxOperation *checkOutbox(const NmId &mailboxId); + QPointer checkOutbox(const NmId &mailboxId); NmSyncState syncState(const NmId& mailboxId); NmConnectState connectionState(const NmId& mailboxId); + int search(const NmId &mailboxId, + const QStringList &searchStrings); + + int cancelSearch(const NmId &mailboxId); + + NmFolderType folderTypeById(NmId mailboxId, NmId folderId); + public slots: - void handleCompletedOperation(); void handleCompletedSendOperation(); void handleSyncStateEvent(NmSyncState syncState, const NmOperationCompletionEvent &event); - void cleanupSendOperation(); + void handleConnectEvent(NmConnectState connectState, const NmId &mailboxId, const int errorCode); + +private slots: + void handleMessageEvent( + NmMessageEvent event, + const NmId &folderId, + const QList &messageIds, + const NmId& mailboxId); + void handleMailboxEvent(NmMailboxEvent event, + const QList &mailboxIds); + + signals: void syncStateEvent(NmSyncState, const NmId &); void connectionEvent(NmConnectState, const NmId &); void operationCompleted(const NmOperationCompletionEvent &event); void sendOperationCompleted(); - + void messageDeleted(const NmId &mailboxId, const NmId &folderId, const NmId &messageId); + void mailboxDeleted(const NmId &mailboxId); + void matchFound(const NmId &); + void searchComplete(); + private: - NmUiEngine(); virtual ~NmUiEngine(); private: - static NmUiEngine *mInstance; static int mReferenceCount; @@ -174,9 +192,8 @@ NmDataManager *mDataManager; // Owned NmMailboxListModel *mMailboxListModel; // Owned NmMessageListModel *mMessageListModel; // Owned - QList mOperations; // Owned - - NmMessageSendingOperation *mSendOperation; // Owned + NmMessageSearchListModel *mMessageSearchListModel; // Owned + QPointer mSendOperation; // Not owned };