diff -r 7d48bed6ce0c -r 987c9837762f telutils/keysequencerecognitionservice/src/manufacturerkeysequencehandler.cpp --- a/telutils/keysequencerecognitionservice/src/manufacturerkeysequencehandler.cpp Tue Aug 31 15:45:17 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -/*! -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Implements manufacturer key sequence handling. -* -*/ - -#include -#include -#include -#include -#include "manufacturerkeysequencehandler.h" -#include "keysequencerecognitionservicedefs.h" -#include "keysequencerecognitionservicelog.h" - -/*! - ManufacturerKeySequenceHandler::ManufacturerKeySequenceHandler. - */ -ManufacturerKeySequenceHandler::ManufacturerKeySequenceHandler( - QObject* parent) - : - KeySequenceHandler(parent), - m_currentRequest(0) -{ - DPRINT_METHODENTRYEXIT; - - setKeySequenceValidator( - QRegExp::escape(KCodeSwVersion) + "|" + - QRegExp::escape(KCodeActivateRfsNormal) + "|" + - QRegExp::escape(KCodeActivateRfsDeep) + "|" + - QRegExp::escape(KCodeBtAddress) + "|" + - QRegExp::escape(KCodeRFLoopback)); - - m_codeToInterfaceMappings[KCodeSwVersion] = InterfaceDescription( - "com.nokia.services", "devicemanager", "showVersionNumber()"); - - m_codeToInterfaceMappings[KCodeActivateRfsNormal] = InterfaceDescription( - "com.nokia.symbian", "IFactoryReset", "showResetUi()"); - m_codeToInterfaceMappings[KCodeActivateRfsDeep] = InterfaceDescription( - "com.nokia.symbian", "IFactoryReset", "showResetUi()"); - - m_codeToInterfaceMappings[KCodeBtAddress] = InterfaceDescription( - "com.nokia.services", "bluetooth", "showBluetoothDeviceAddress()"); - m_codeToInterfaceMappings[KCodeRFLoopback] = InterfaceDescription( - "com.nokia.services", "bluetooth", "showBluetoothLoopback()"); -} - - -/*! - ManufacturerKeySequenceHandler::~ManufacturerKeySequenceHandler. - */ -ManufacturerKeySequenceHandler::~ManufacturerKeySequenceHandler() -{ - DPRINT_METHODENTRYEXIT; -} - - -/*! - ManufacturerKeySequenceHandler::executeKeySequence. - */ -bool ManufacturerKeySequenceHandler::executeKeySequence( - const QString &keySequence) -{ - DPRINT_METHODENTRYEXIT; - - bool handled = true; - - if (m_codeToInterfaceMappings.contains(keySequence)) { - handled = issueServiceRequest(m_codeToInterfaceMappings[keySequence]); - } else { - handled = false; - } - - return handled; -} - - -/*! - ManufacturerKeySequenceHandler::issueServiceRequest. - */ -bool ManufacturerKeySequenceHandler::issueServiceRequest( - const InterfaceDescription &description) -{ - DPRINT_METHODENTRYEXIT; - - bool serviceRequestOk = false; - if (m_currentRequest.isNull()) { - const bool isEmbedded = false; - QScopedPointer request(m_aiwManager.create( - description.m_service, - description.m_interface, - description.m_method, - isEmbedded)); - - if (!request.isNull()) { - m_currentRequest = request.data(); - - // Due to a Qt Highway bug in assignment operator implementation we - // need to set request as asynchronous with a setter function. - request->setSynchronous(false); - - connect( - request.data(), SIGNAL(requestOk(const QVariant &)), - this, SLOT(requestOk(const QVariant &))); - connect( - request.data(), SIGNAL(requestError(int, const QString&)), - this, SLOT(requestError(int, const QString&))); - - serviceRequestOk = request->send(); - if (serviceRequestOk) { - m_currentRequest = request.take(); - } else { - // On a controlled error Qt Highway should call requestError, - // so clean scoped pointer here. - request.take(); - } - } - } - - return serviceRequestOk; -} - - -/*! - ManufacturerKeySequenceHandler::requestOk. - */ -void ManufacturerKeySequenceHandler::requestOk( - const QVariant &returnValue) -{ - DPRINT_METHODENTRYEXIT; - - Q_UNUSED(returnValue) - - delete m_currentRequest; - m_currentRequest = 0; -} - - -/*! - ManufacturerKeySequenceHandler::requestError. - */ -void ManufacturerKeySequenceHandler::requestError( - int error, const QString& errorMessage) -{ - DPRINT_METHODENTRYEXIT; - - Q_UNUSED(error) - Q_UNUSED(errorMessage) - - delete m_currentRequest; - m_currentRequest = 0; -}