X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2FBusinessLogic%2FEngine.h;h=65690a1a9e9bec61ef4b8d34260584f609efb5ba;hb=51d64b3d9f4cacc447c74e5811e692fbe9b4137f;hp=3efc4715ce0911ca5119b48308980f07d4ca2330;hpb=2d67649a33e53020c998bbc9cae0f3457ac09fe3;p=qtmeetings diff --git a/src/BusinessLogic/Engine.h b/src/BusinessLogic/Engine.h index 3efc471..65690a1 100644 --- a/src/BusinessLogic/Engine.h +++ b/src/BusinessLogic/Engine.h @@ -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 iMeetings; Room *iCurrentRoom; + bool iCommunicationFailed; + QString iCommunicationError; + QTime iLastCommunication; }; #endif /*ENGINE_H_*/