Status bar fixed
[qtmeetings] / src / BusinessLogic / Engine.h
index 3efc471..65690a1 100644 (file)
@@ -17,10 +17,8 @@ class UIManager;
 
 //! BusinessLogic class. Contains all the business logic of the application.
 /*!
- * BusinessLogic class. Contains all the business logic of the application. This class handles
- * the logic of the application according received calls to the slots. This class also maintains
- * the instances of managers, timers and its own set of meeting list. The managers handles
- * their tasks in more detailed manner.
+ * BusinessLogic class. Contains all the business logic of the application. It is responsible
+ * for connecting user interface to lower application layers (IO).
  */
 class Engine : public QObject
 {
@@ -41,8 +39,14 @@ public:
         */
        Room* defaultRoom();
 
+       bool connected();
+       QTime lastUpdated();
+       QString errorMessage();
+
 signals:
 
+       void roomStatusChanged( Room::Status aStatus, QTime aUntil );
+
 private slots:
        //! Slot. Closes the application.
        /*!
@@ -116,10 +120,21 @@ private slots:
        void stopIdleTimeCounter();
        void startIdleTimeCounter();
 
-       void changeDeviceMode( bool aChange );
+       void changeDeviceMode();
        
        void currentRoomChanged( Room *aRoom );
        
+       void tick( QDateTime aCurrentDateTime );
+       
+       /**
+        * Updates the current rooms info.
+        */
+       void updateRoomInfo();
+       /**
+        *
+        */
+       void configurationChanged();
+
 private:
        // Make the UIManager as friendly class so it can connect to private slots.
        friend class UIManager;
@@ -145,11 +160,11 @@ private:
        //! Slot. Fetches meetings from the server.
        /*!
         * Slot. Fetches meetings from the server, exact parameters are specified in the parameter list.
-        * \param aFrom Time from when the meetings need to be fetched.
-        * \param aUntil Time until when the meetings need to be fetched.
+        * \param aWeek Week for which the meetings need to be fetched.
+        * \param aYear Year for which the meetings need to be fetched.
         * \param aIn The room which meetings need to be fetched.
         */
-       void fetchMeetings( const QDateTime &aFrom, const QDateTime &aUntil, const Room *aIn );
+       void fetchMeetings( const int aWeek, const int aYear, const Room *aIn );
        //! Initialize configuration package.
        /*!
         * This method initializes configuration classes and
@@ -187,13 +202,13 @@ private:
 
 private:
        static QTime endOfTheDay;
-
-       WindowManager *iWindowManager;
        
        QTimer *iIdleTimeCounter;
        Clock *iClock;
+       QDate iCurrentDate;
        Configuration *iConfiguration;
        CommunicationManager *iCommunication;
+       WindowManager *iWindowManager;
        DeviceManager *iDevice;
        UIManager *iUIManager;
 
@@ -202,6 +217,9 @@ private:
        QList<Meeting*> iMeetings;
        
        Room *iCurrentRoom;
+       bool iCommunicationFailed;
+       QString iCommunicationError;
+       QTime iLastCommunication;
 };
 
 #endif /*ENGINE_H_*/