Enabled the error sending from Operation Mode changing. And corrected some possible...
[qtmeetings] / src / IO / DeviceControl / OperationModeToggler.cpp
index 0f44687..cfa5d5d 100644 (file)
@@ -22,6 +22,15 @@ OperationModeToggler::OperationModeToggler(
        iSuccess( true )
 {
        qDebug() << "OperationModeToggler::OperationModeToggler( ... )";
+       
+       qRegisterMetaType<DeviceManager::ErrorCode>("DeviceManager::ErrorCode");
+       
+       connect( iAlarmSender, SIGNAL( alarmSendingFailed( DeviceManager::ErrorCode, const QString& ) ),
+                       this, SIGNAL( error( DeviceManager::ErrorCode, const QString& ) ) );
+       connect( iConfigurator, SIGNAL( configuringError( DeviceManager::ErrorCode ) ),
+                       this, SLOT( createError( DeviceManager::ErrorCode ) ) );
+       connect( iDataStorage, SIGNAL( dataStorageInitFailed( DeviceManager::ErrorCode ) ),
+                       this, SLOT( createError( DeviceManager::ErrorCode ) ) );
 }
 
 OperationModeToggler::~OperationModeToggler()
@@ -35,7 +44,7 @@ void OperationModeToggler::run()
        {
                case DeviceManager::EmptyMode:
                        // error occured. Mode cannot be changed
-                       emit error( DeviceManager::ModeNotFetched );
+                       createError( DeviceManager::ModeNotFetched );
                        iSuccess = false;
                        return;
                case DeviceManager::StandAloneMode:
@@ -78,7 +87,7 @@ void OperationModeToggler::run()
                                emit changingMode( "Storing information about the new operation mode." );
                                sleep( 2 );
                                if( !storeOperationMode( DeviceManager::KioskMode, iDataStorage ) ) {
-                                       emit error( DeviceManager::ModeNotStored );
+                                       createError( DeviceManager::ModeNotStored );
                                        iSuccess = false;
                                }       
                        }
@@ -116,7 +125,7 @@ void OperationModeToggler::run()
                                emit changingMode( "Storing information about the new operation mode." );
                                sleep( 2 );
                                if( !storeOperationMode( DeviceManager::StandAloneModeInProgress, iDataStorage ) ) {
-                                       emit error( DeviceManager::ModeNotStored );
+                                       createError( DeviceManager::ModeNotStored );
                                        iSuccess = false;
                                }
                        }
@@ -145,6 +154,7 @@ void OperationModeToggler::run()
 
 bool OperationModeToggler::success()
 {
+       qDebug() << "OperationModeToggler::success()";
        return iSuccess;
 }
                        
@@ -158,3 +168,11 @@ bool OperationModeToggler::storeOperationMode( DeviceManager::OperationMode aMod
                return false;
        return true;
 }
+
+void OperationModeToggler::createError( DeviceManager::ErrorCode aCode )
+{
+       qDebug() << "OperationModeToggler::createError( DeviceManager::ErrorCode )";
+       QString empty = "";
+       emit error( aCode, empty );
+}
+