emailuis/nmhswidget/inc/nmhswidgetemailengine.h
changeset 23 2dc6caa42ec3
parent 20 ecc8def7944a
child 49 00c7ae862740
--- 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<NmMessageEnvelope> &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_ */