diff -r 16ed8d08d0b1 -r 478bc57ad291 emailservices/nmailagent/inc/nmmailagent.h --- 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 +#include 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 mUnreadMailIdList; + QList mMailIdList; // all messages + QList 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 &messageIds, - const NmId &mailboxId, bool &updateNeeded, bool &activate); + const NmId &mailboxId); void handleMessageChangedEvent(const NmId &folderId, const QList &messageIds, - const NmId &mailboxId, bool &updateNeeded, bool &activate); + const NmId &mailboxId); void handleMessageDeletedEvent(const NmId &folderId, const QList &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 mMailboxes; CHWRMVibra *mVibra; // Owned. + XQSettingsManager *mSettingManager; // Owned. + NmUiEventsNotifier *mUiEventsNotifier; // Owned. bool mAlertToneAllowed; int mLastOutboxCount; bool mUnreadIndicatorActive; - XQSettingsManager *mSettingManager; // Owned. int mSilenceMode; };