diff -r cad71a31b7fc -r e36f3802f733 srsf/vcommandhandler/src/vcommandrecoghandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/srsf/vcommandhandler/src/vcommandrecoghandler.cpp Wed Sep 01 12:29:17 2010 +0100 @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2006 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: Engine to perform the action corresponding to +* the recognized and selected command +* +*/ + + +#include +#include +#include "vcommandinternalapi.h" +#include "rubydebug.h" +#include "tagcommandconverter.h" +#include "vcommandrecoghandler.h" + +/** +* Factory function +*/ +CVCRecognitionHandler* CVCRecognitionHandler::NewL() + { + CVCRecognitionHandler* self = new (ELeave) CVCRecognitionHandler; + return self; + } + +// From MNssTagSelectHandler +/** +* Handle Tag Select Event - Event indicating a voice tag has been selected. +* @param aClientTag The voice tag which has been selected. This object is +* resonsible for deleting aClientTag. +* @return void +*/ +void CVCRecognitionHandler::HandleTagSelect( MNssTag* aClientTag ) + { + RUBY_DEBUG0( "CVCRecognitionHandler::HandleTagSelect start" ); + TRAPD( err, HandleTagSelectL( *aClientTag ) ); + if( err != KErrNone ) + { + RUBY_ERROR1( "CVCRecognitionHandler::HandleTagSelectL failed with [%d] ", err ); + } + + delete aClientTag; + RUBY_DEBUG0( "CVCRecognitionHandler::HandleTagSelect end" ); + } + +void CVCRecognitionHandler::HandleTagSelectL( const MNssTag& aTag ) + { + RUBY_DEBUG_BLOCK( "CVCRecognitionHandler::HandleTagSelectL" ); + CStoredVCommand* command = CTagCommandConverter::TagToCommandLC( aTag ); + command->Runnable().ExecuteL(); + CleanupStack::PopAndDestroy( command ); + } + +//End of file