emailservices/nmailagent/inc/nmmailagent.h
changeset 65 478bc57ad291
parent 59 16ed8d08d0b1
--- a/emailservices/nmailagent/inc/nmmailagent.h	Wed Aug 18 09:37:47 2010 +0300
+++ b/emailservices/nmailagent/inc/nmmailagent.h	Thu Sep 02 20:15:00 2010 +0300
@@ -19,16 +19,17 @@
 #define NMMAILAGENT_H
 
 #include <nmcommon.h>
+#include <nmuieventsnotifier.h>
 
 class CHWRMVibra;
 class NmMailbox;
 class NmDataPluginFactory;
 class NmDataPluginInterface;
 class HbIndicator;
-class XQSystemToneService;
 class XQSettingsManager;
 class XQSettingsKey;
 
+
 class NmMailboxInfo
 {
 public:
@@ -43,10 +44,10 @@
     int mInboxCreatedMessages;
     int mInboxChangedMessages;
     int mInboxDeletedMessages;
-    QList<NmId> mUnreadMailIdList;
+    QList<NmId> mMailIdList; // all messages
+    QList<NmId> mNewUnreadMailIdList; // new unread messages
     int mOutboxMails;
     bool mActive;
-    bool mInboxActive;
 
     NmMailboxInfo();
 };
@@ -91,6 +92,10 @@
 
     void delayedMailboxCreated(const NmId mailboxId);
     
+    void handleViewStateChangedEvent(const NmUiEventsNotifier::NmUiEventType eventType,
+                                     const NmUiViewId viewId,
+                                     const NmId mailboxId);
+
 private:
 
     void initMailboxStatus();
@@ -121,6 +126,8 @@
 
     bool removeMailboxInfo(const NmId &id);
 
+    bool updateMailboxState(const NmId &mailboxId);
+    
     bool updateMailboxState(const NmId &mailboxId,
         bool active, bool refreshAlways);
 
@@ -133,34 +140,36 @@
 
     void updateSendIndicator();
     
+    void resetMailboxState(NmMailboxInfo *info); 
+
     void storeMailboxActive(const NmId &mailboxId, bool active);
-    
+
     bool isMailboxActive(const NmId &mailboxId);
-    
+
     void deleteStoredMailboxActivity(const NmId &mailboxId);
 
     bool launchMailbox(quint64 mailboxId);
 
     void handleMessageCreatedEvent(const NmId &folderId, const QList<NmId> &messageIds,
-        const NmId &mailboxId, bool &updateNeeded, bool &activate);
+        const NmId &mailboxId);
 
     void handleMessageChangedEvent(const NmId &folderId, const QList<NmId> &messageIds,
-        const NmId &mailboxId, bool &updateNeeded, bool &activate);
+        const NmId &mailboxId);
 
     void handleMessageDeletedEvent(const NmId &folderId, const QList<NmId> &messageIds,
-        const NmId &mailboxId, bool &updateNeeded, bool &activate);
+        const NmId &mailboxId);
 
 private: // data
 
     HbIndicator *mIndicator; // Owned;
-    XQSystemToneService *mSystemTone; // Owned.
     NmDataPluginFactory *mPluginFactory; // Not owned (singleton).
     QList<NmMailboxInfo*> mMailboxes;
     CHWRMVibra *mVibra; // Owned.
+    XQSettingsManager *mSettingManager; // Owned.
+    NmUiEventsNotifier *mUiEventsNotifier; // Owned.
     bool mAlertToneAllowed;
     int mLastOutboxCount;
     bool mUnreadIndicatorActive;
-    XQSettingsManager *mSettingManager; // Owned.
     int mSilenceMode;
 };