X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2FBusinessLogic%2FEngine.h;h=65690a1a9e9bec61ef4b8d34260584f609efb5ba;hb=51d64b3d9f4cacc447c74e5811e692fbe9b4137f;hp=c457fae7bcbd8e28b30869a6921bbd74726158d3;hpb=4f5e48bd4a1e5ab05cd5f0d46c3e335731bb05ff;p=qtmeetings diff --git a/src/BusinessLogic/Engine.h b/src/BusinessLogic/Engine.h index c457fae..65690a1 100644 --- a/src/BusinessLogic/Engine.h +++ b/src/BusinessLogic/Engine.h @@ -39,9 +39,13 @@ public: */ Room* defaultRoom(); + bool connected(); + QTime lastUpdated(); + QString errorMessage(); + signals: - void meetingDetailsFetched( Meeting *aDetailedMeeting ); + void roomStatusChanged( Room::Status aStatus, QTime aUntil ); private slots: //! Slot. Closes the application. @@ -69,12 +73,6 @@ private slots: * \param aAddInfo Possible addition info. */ void errorHandler( int aCode, const QString &aAddInfo = "" ); - //! Slot. Fetches meetings from the server. - /*! - * Slot. Fetches meetings from the server. Parameters are hard coded: the meetings of the default - * room from current and +/- 2 weeks are fetched. - */ - void fetchMeetings(); //! Slot. Saves fetched meetings to the current instance's local storage. /*! * Slot. Saves fetched meetings to the current instance's local storage. Meetings are soted in a @@ -89,29 +87,17 @@ private slots: * room storage and calling the roomStatusInfoNeeded() separately on each of them. */ void checkStatusOfAllRooms(); - //! Slot. Fetches meeting details from the server. - /*! - * Slot. Fetches meeting details from the server. - * \param aMeeting The meeting. - */ - void fetchMeetingDetails( Meeting *aMeeting ); - //! Slot for receiving the status of the entered password - /*! - * Slot. Receives the status of the entered password and makes the DeviceManager to change the - * operation mode if the password is correct. - * \param aPasswordStatus The status of the password. - */ - void passwordEntered( PasswordDialog::PasswordStatus aPasswordStatus ); - //! Slot for receiving the cancel event of the progress bar. + //! Slot for receiving the failure event of operation mode changing. /*! - * Slot. Receives the cancel event of the progress bar. + * Slot. Receives the failure event of operation mode changing. */ - void progressBarCancelled(); + void changeModeFailed(); //! Slot for receiving the cancel event of the progress bar. /*! * Receives the cancel event of the progress bar when meeting details requested. */ - void fetchMeetingDetailsCancelled(); + void fetchMeetingDetails( Meeting *aMeeting ); + void cancelFetchMeetingDetails(); void handleViewEvent(); void previousViewRestored(); @@ -133,7 +119,22 @@ private slots: void stopIdleTimeCounter(); void startIdleTimeCounter(); + + 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; @@ -156,22 +157,14 @@ private: * \return Index of the meeting if found; otherwise, -1. */ int indexOfMeetingAfter( Room *aRoom, QDateTime aAfter ); - //! Indicates if the QList contains the Meeting or not. - /*! - * Indicates if the QList contains the Meeting or not. - * \param aList List of meetings. - * \param aMeeting The meeting which is seeked in the list for. - * \return True if contains; otherwise, false. - */ - static bool isMeetingInList( const QList &aList, const Meeting *aMeeting ); //! 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 @@ -204,22 +197,29 @@ private: * packages are connected here. */ void connectSignals(); + + bool isMeetingInList(const QList &aList, const Meeting *aMeeting); private: static QTime endOfTheDay; - - WindowManager *iWindowManager; QTimer *iIdleTimeCounter; Clock *iClock; + QDate iCurrentDate; Configuration *iConfiguration; CommunicationManager *iCommunication; + WindowManager *iWindowManager; DeviceManager *iDevice; UIManager *iUIManager; QTimer *iAutoRefresh; QList iMeetings; + + Room *iCurrentRoom; + bool iCommunicationFailed; + QString iCommunicationError; + QTime iLastCommunication; }; #endif /*ENGINE_H_*/