Operation mode changing related defects corrected.
[qtmeetings] / src / IO / DeviceControl / DeviceManager.h
index d318482..2c7531a 100644 (file)
@@ -3,12 +3,14 @@
 
 #include <QObject>
 #include <QStringList>
+#include <QMetaType>
 
 class AlarmSender;
 class HWKeyListener;
 class StartupSettings;
 class DeviceDataStorage;
 class DeviceConfigurator;
+class OperationModeToggler;
 
 static const int ERROR_BASE=200;
 
@@ -38,6 +40,7 @@ public:
        /*!
         * Enumeration of errors
         */
+       
        enum ErrorCode
        {
                FileCreationFailed, /*!< File couldn't be created. */
@@ -87,9 +90,9 @@ public:
        //! Changes the operation mode.
        /*!
         * Changes the operation mode.
-        * \param aChange To indicate if the mode should be changed or not
         */
-       void changeMode( bool aChange );
+       void changeMode();
+       void handleHWKeyPresses( bool aToggle );
 
 signals:
        //! Signal. Emitted if user tries to change the operation mode.
@@ -105,8 +108,17 @@ signals:
         * \param aAddInfo Possible additional information.
         */
        void error( int aCode, const QString &aAddInfo );
-       
+       //! Signal. Emitted during the operation mode change to explain the current sub-change.
+       /*!
+        * Signal. Emitted during the operation mode change to explain the current sub-change. 
+        * \param aMessage Explains the sub-change
+        */
        void changingMode( const QString &aMessage );
+       //! Signal. Emitted if the operation mode change fails.
+       /*!
+        * Signal. Emitted if the operation mode change fails.
+        */
+       void changeModeFailed();
 
 private slots:
        //! Slot. Handles "full screen"-hardware key presses.
@@ -123,6 +135,18 @@ private slots:
         * \param aAddInfo The possible additional error text.
         */
        void errorSender( DeviceManager::ErrorCode aErrorCode, const QString &aAddInfo = "" );
+       //! Slot. Is called after the operation mode changing is finished.
+       /*!
+        * Slot. Is called after the operation mode changing is finished. If everything went fine, restarts
+        * the device. 
+        */
+       void modeChanged();
+       //! Slot. Toggles an attribute that indicates whether the errors should be sent.
+       /*!
+        * Slot. Toggles an attribute that indicates whether the errors should be sent.
+        * \param aToggle Indicates if the errors are wanted to be shown.
+        */
+       void toggleErrorSending( bool aToggle );
 
 private:
        //! Updates the internal indicator of the current operation mode.
@@ -133,14 +157,6 @@ private:
         * \return True if operation mode fetching succeeds; otherwise, false.
         */
        bool setCurrentOperationMode();
-       //! Stores the current operation mode.
-       /*!
-        * Stores the current operation mode by asking the DeviceDataStorage to write it to the internal
-        * data storage.
-        * \param aMode The operation mode that user wants to activate.
-        * \return True if operation mode storing succeeds; otherwise, false.
-        */
-       bool storeOperationMode( OperationMode aMode );
        //! Asks DeviceConfigurator to remove the deactivate script of the application.
        /*!
         * Asks DeviceConfigurator to remove the deactivate script of the application. Also asks
@@ -148,13 +164,6 @@ private:
         * \return True if operation mode storing and deactivation of the init script succeed; otherwise, false.
         */
        bool finalizeStandAloneMode();
-       //! Connects/disconnects the HWKeyListener signals to the private HWKeyFullScreenPressed() slot.
-       /*!
-        * Connects/disconnects the HWKeyListener signals to the private HWKeyFullScreenPressed() slot. In case
-        * a signal is caught the connection is disabled until the signal handling is finished.
-        * \param aHandle indicates if the signals should be connected or not.
-        */
-       void handleKeyPresses( bool aHandle );
 
 private:
        AlarmSender *iAlarmSender;
@@ -162,10 +171,13 @@ private:
        StartupSettings *iSettings;
        DeviceDataStorage *iDataStorage;
        DeviceConfigurator *iConfigurator;
+       OperationModeToggler *iModeToggler;
 
        OperationMode iMode;
        bool iSendErrorMessages;
 
 };
 
+Q_DECLARE_METATYPE( DeviceManager::ErrorCode )
+
 #endif /*DEVICEMANAGER_H_*/