emailuis/nmframeworkadapter/inc/nmframeworkadapter.h
changeset 23 2dc6caa42ec3
parent 20 ecc8def7944a
child 27 9ba4404ef423
--- a/emailuis/nmframeworkadapter/inc/nmframeworkadapter.h	Mon May 03 12:23:15 2010 +0300
+++ b/emailuis/nmframeworkadapter/inc/nmframeworkadapter.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"
@@ -18,14 +18,12 @@
 #ifndef NMFRAMEWORKADAPTER_H
 #define NMFRAMEWORKADAPTER_H
 
-
 #include <nmcommon.h>
 #include <nmdataplugininterface.h>
 #include <CFSMailCommon.h>
 #include <MFSMailEventObserver.h>
-#ifdef Q_OS_SYMBIAN
+
 #include <xqsharablefile.h>
-#endif
 
 class NmMailbox;
 class NmMessage;
@@ -39,10 +37,11 @@
 class CFSMailMessagePart;
 class NmStoreEnvelopesOperation;
 class NmAddAttachmentsOperation;
-class NmOperation;
 class NmCheckOutboxOperation;
+class NmMailboxSearchObserver;
 class NmMessageSendingOperation;
 
+
 class NmFrameworkAdapter :
     public QObject,
     public NmDataPluginInterface,
@@ -53,9 +52,9 @@
 
 public:
 
-    NmFrameworkAdapter( );
+    NmFrameworkAdapter();
 
-    ~NmFrameworkAdapter( );
+    ~NmFrameworkAdapter();
 
     int listMailboxIds(QList<NmId>& mailboxIdList);
 
@@ -79,17 +78,23 @@
             const NmId& mailboxId,
             const NmId& folderId,
             QList<NmMessageEnvelope*> &messageMetaDataList);
+    
+    int listMessages(
+            const NmId& mailboxId,
+            const NmId& folderId,
+            QList<NmMessage*> &messageList,
+            const int maxAmountOfMessages = NmMaxItemsInMessageList);
 
-    NmOperation *fetchMessage( 
+    QPointer<NmOperation> fetchMessage( 
             const NmId &mailboxId, 
             const NmId &folderId,
             const NmId &messageId);
     
-    NmOperation *fetchMessagePart( 
-        const NmId &mailboxId,
-        const NmId &folderId,
-        const NmId &messageId,
-        const NmId &messagePartId);
+    QPointer<NmOperation> fetchMessagePart( 
+            const NmId &mailboxId,
+            const NmId &folderId,
+            const NmId &messageId,
+            const NmId &messagePartId);
     
     XQSharableFile messagePartFile(
             const NmId &mailboxId,
@@ -118,33 +123,33 @@
             const NmId &folderId,
             const QList<NmId> &messageIdList);
 
-    NmStoreEnvelopesOperation *storeEnvelopes(
+    QPointer<NmStoreEnvelopesOperation> storeEnvelopes(
             const NmId &mailboxId,
             const NmId &folderId,
             const QList<const NmMessageEnvelope*> &envelopeList);
 
-    NmMessageCreationOperation *createNewMessage(
-        const NmId &mailboxId);
+    QPointer<NmMessageCreationOperation> createNewMessage(
+            const NmId &mailboxId);
 
-    NmMessageCreationOperation *createForwardMessage(
-        const NmId &mailboxId,
-        const NmId &originalMessageId);
+    QPointer<NmMessageCreationOperation> createForwardMessage(
+            const NmId &mailboxId,
+            const NmId &originalMessageId);
      
-    NmMessageCreationOperation *createReplyMessage(
-        const NmId &mailboxId,
-        const NmId &originalMessageId,
-        const bool replyAll);
+    QPointer<NmMessageCreationOperation> createReplyMessage(
+            const NmId &mailboxId,
+            const NmId &originalMessageId,
+            const bool replyAll);
     
     int saveMessage(const NmMessage &message);
 
-    NmOperation *saveMessageWithSubparts(const NmMessage &message);
+    QPointer<NmOperation> saveMessageWithSubparts(const NmMessage &message);
 
     void EventL(
-        TFSMailEvent event,
-        TFSMailMsgId mailbox,
-        TAny* param1,
-        TAny* param2,
-        TAny* param3);
+            TFSMailEvent event,
+            TFSMailMsgId mailbox,
+            TAny* param1,
+            TAny* param2,
+            TAny* param3);
 
     int removeMessage(const NmId& mailboxId, const NmId& folderId, const NmId& messageId);
     
@@ -152,15 +157,17 @@
     
     void unsubscribeMailboxEvents(const NmId& mailboxId);
 
-    NmMessageSendingOperation *sendMessage(NmMessage *message);
+    QPointer<NmMessageSendingOperation> sendMessage(NmMessage *message);
     
-    NmAddAttachmentsOperation *addAttachments(
+    QPointer<NmAddAttachmentsOperation> addAttachments(
             const NmMessage &message, 
             const QList<QString> &fileList);
 
-    NmOperation *removeAttachment(const NmMessage &message, const NmId &attachmentPartId);
+    QPointer<NmOperation> removeAttachment(
+            const NmMessage &message, 
+            const NmId &attachmentPartId);
 
-    NmCheckOutboxOperation *checkOutbox(const NmId& mailboxId);
+    QPointer<NmCheckOutboxOperation> checkOutbox(const NmId& mailboxId);
     
     NmSyncState syncState(const NmId& mailboxId) const;
     
@@ -176,9 +183,17 @@
             const NmId& folderId,
             QList<NmMessageEnvelope*> &messageMetaDataList,
             const int maxAmountOfEnvelopes);
-			
+
+    int search(const NmId &mailboxId,
+               const QStringList &searchStrings);
+
+    int cancelSearch(const NmId &mailboxId);
+
+
 signals:
+
     void mailboxEvent(NmMailboxEvent event, const QList<NmId> &mailboxIds);
+
     void messageEvent(
             NmMessageEvent event,
             const NmId &folderId,
@@ -186,24 +201,29 @@
             const NmId& mailboxId); //added to provide mailboxId
     
     void syncStateEvent(
-        NmSyncState state,
-        const NmOperationCompletionEvent &event );
+            NmSyncState state,
+            const NmOperationCompletionEvent &event );
     
-    void connectionEvent(NmConnectState state, const NmId mailboxId);
+    void connectionEvent(NmConnectState state, const NmId mailboxId, int errorCode);
+
+    void matchFound(const NmId &messageId);
+
+    void searchComplete();
+
 
 private:
     
     void getMessageByIdL(
-        const NmId& mailboxId,
-        const NmId& folderId,
-        const NmId& messageId,
-        NmMessage*& message);
+            const NmId& mailboxId,
+            const NmId& folderId,
+            const NmId& messageId,
+            NmMessage*& message);
 
     void contentToMessagePartL(
-        const NmId &mailboxId,
-        const NmId &folderId,
-        const NmId &messageId,
-        NmMessagePart &messagePart);
+            const NmId &mailboxId,
+            const NmId &folderId,
+            const NmId &messageId,
+            NmMessagePart &messagePart);
         
     void listMessagesL(  
             const NmId &mailboxId,
@@ -211,6 +231,17 @@
             QList<NmMessageEnvelope*> &messageMetaDataList, 
             const int maxAmountOfEnvelopes);
     
+    void listMessagesL(  
+            const NmId &mailboxId,
+            const NmId &folderId,
+            QList<NmMessage*> &messageList, 
+            const int maxAmountOfMessages);
+
+    void searchL(const NmId &mailboxId,
+                 const QList<NmId> &folderIds,
+                 const QStringList &searchStrings,
+                 NmMailboxSearchObserver &searchObserver);
+
     NmId getMailboxIdByMailMsgId(TFSMailMsgId mailbox);
 
     void removeMessageL(const NmId& mailboxId,
@@ -245,10 +276,13 @@
 	void getFolderByIdL(
             const NmId& mailboxId, 
             const NmId& folderId, 
-            NmFolder*& unreadCount );		
-	
-private:
-    CFSMailClient*  mFSfw;//singleton, not owned
+            NmFolder*& unreadCount );
+
+
+private: // Data
+
+    CFSMailClient* mFSfw; // Singleton, not owned
+    NmMailboxSearchObserver *mSearchObserver; // Owned
 };