diff -r ecc8def7944a -r 2dc6caa42ec3 emailuis/nmhswidget/inc/nmhswidgetemailengine.h --- a/emailuis/nmhswidget/inc/nmhswidgetemailengine.h Mon May 03 12:23:15 2010 +0300 +++ b/emailuis/nmhswidget/inc/nmhswidgetemailengine.h Fri May 14 15:41:10 2010 +0300 @@ -25,28 +25,24 @@ class NmDataPluginFactory; class NmDataPluginInterface; class QPluginLoader; - +class QTimer; +//Three seconds +const int NmHsWidgetEmailEngineUpdateTimerValue = 3000; -enum NmHsWidgetEmailEngineErrorCode +enum NmHsWidgetEmailEngineExceptionCode { - NmEngineNoErr, - NmEngineErrNotFound, - NmEngineErrFailure + NmEngineExcFailure, + NmEngineExcAccountDeleted }; -//Maximum amount of envelopes that can be provided to client in getData function -//This is also the amount of envelopes that is kept in mData all the time -const int KMaxNumberOfEnvelopesProvided = 2; - -//Maximum value for unread count. Counting will stop when this limit is reached -const int KMaxUnreadCount = 999; - class NmHsWidgetEmailEngine : public QObject { Q_OBJECT + public: NmHsWidgetEmailEngine( const NmId& monitoredMailboxId ); + bool initialize(); ~NmHsWidgetEmailEngine(); int getEnvelopes(QList &list, int maxEnvelopeAmount); @@ -67,17 +63,18 @@ void activate(); void launchMailAppInboxView(); void launchMailAppMailViewer(const NmId &messageId); + void handleUpdateTimeout(); signals: void mailDataChanged(); void accountNameChanged(const QString& accountName); void unreadCountChanged(const int& unreadCount); - void errorOccured(NmHsWidgetEmailEngineErrorCode err); + void exceptionOccured(const int& err); private: - void constructNmPlugin(); - void updateData(); - void updateAccount(); + bool constructNmPlugin(); + bool updateData(); + bool updateAccount(); void resetEnvelopeList(); private: @@ -92,6 +89,7 @@ bool mAccountEventReceivedWhenSuspended; bool mMessageEventReceivedWhenSuspended; bool mSuspended; + QTimer* mUpdateTimer; }; #endif /* NMHSWIDGETEMAILENGINE_H_ */