diff -r 8ce15fced3a6 -r cad71a31b7fc srsf/nssvasapi/nssvascore/src/nssvassiutilitywrapper.cpp --- a/srsf/nssvasapi/nssvascore/src/nssvassiutilitywrapper.cpp Thu Aug 19 09:56:14 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,432 +0,0 @@ -/* -* 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: Class which hides the dynamic loading of -* nsssispeechrecognitionutility.dll -* -*/ - - -// INCLUDE FILES -#include -#include -#include "rubydebug.h" -#include "nssvassiutilitywrapper.h" - -// CONSTANTS -// DLL name -_LIT( KUtilityFilename, "nsssispeechrecognitionutility.dll" ); -// CreateInstanceL function ordinal number -const TInt KFunctionOrdinal = 1; - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::NewL -// Two-phased constructor -// --------------------------------------------------------- -// -CNssSiUtilityWrapper* CNssSiUtilityWrapper::NewL( - MSISpeechRecognitionUtilityObserver& aObserver, TUid aClientUid ) - { - CNssSiUtilityWrapper* self = new ( ELeave ) CNssSiUtilityWrapper( aObserver, aClientUid ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::~CNssSiUtilityWrapper -// Destructor -// --------------------------------------------------------- -// -CNssSiUtilityWrapper::~CNssSiUtilityWrapper() - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::~CNssSiUtilityWrapper" ); - - Cancel(); - - delete iUtility; - // Close RLibrary handle - iLib.Close(); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::CNssSiUtilityWrapper -// C++ constructor -// --------------------------------------------------------- -// -CNssSiUtilityWrapper::CNssSiUtilityWrapper( - MSISpeechRecognitionUtilityObserver& aObserver, TUid aClientUid ) : - CActive( EPriorityStandard ), - iClientUid( aClientUid ), - iObserver( aObserver ) - { - // Nothing - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::ConstructL -// Second phase constructor -// --------------------------------------------------------- -// -void CNssSiUtilityWrapper::ConstructL() - { - RUBY_DEBUG_BLOCK( "CNssSiUtilityWrapper::ConstructL" ); - - // Load a DLL based on name with RLibrary - User::LeaveIfError( iLib.Load( KUtilityFilename ) ); - - // Find the TAny* CreateInstanceL() function - TLibraryFunction entry = iLib.Lookup( KFunctionOrdinal ); - if ( !entry ) - { - User::Leave( KErrNotFound ); - } - - // Call CreateInstanceL - // Cannot use static_cast since entry() call returns TInt - iUtility = ( MSISpeechRecognitionUtilityBase* ) entry(); - - // Do the 2nd phase construction - iUtility->CreateInstanceSecondPhaseL( iClientUid, KNullUid, *this ); - - CActiveScheduler::Add( this ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::Adapt -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::Adapt( const CSIClientResultSet& aResultSet, - TInt aCorrect ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::Adapt" ); - return iUtility->Adapt( aResultSet, aCorrect ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::AddVoiceTags -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::AddVoiceTags( const RPointerArray& aTextArrayArray, - const RArray& aLanguageArray, - TSILexiconID aLexiconID, - TSIGrammarID aGrammarID, - RArray& aRuleIDArray ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::AddVoiceTags" ); - return iUtility->AddVoiceTags( aTextArrayArray, aLanguageArray, - aLexiconID, aGrammarID, aRuleIDArray ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::AddVoiceTags -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::AddVoiceTags( const RPointerArray& aTextArrayArray, - const RArray& aLanguageArray, - TSILexiconID aLexiconID, - TSIGrammarID aGrammarID, - RArray& aRuleIDArray ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::AddVoiceTags" ); - return iUtility->AddVoiceTags( aTextArrayArray, aLanguageArray, - aLexiconID, aGrammarID, aRuleIDArray ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::CancelUtility -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -void CNssSiUtilityWrapper::CancelUtility() - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::Cancel" ); - return iUtility->Cancel(); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::CommitChanges -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::CommitChanges() - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::CommitChanges" ); - return iUtility->CommitChanges(); - } - - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::CreateGrammar -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::CreateGrammar( TSIGrammarID& aGrammarID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::CreateGrammar" ); - return iUtility->CreateGrammar( aGrammarID ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::CreateLexicon -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::CreateLexicon( TSILexiconID& aLexiconID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::CreateLexicon" ); - return iUtility->CreateLexicon( aLexiconID ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::CreateModelBank -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::CreateModelBank( TSIModelBankID& aModelBankID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::CreateModelBank" ); - return iUtility->CreateModelBank( aModelBankID ); - } - - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::EndRecSession -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::EndRecSession() - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::EndRecSession" ); - return iUtility->EndRecSession(); - } - - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::LoadGrammar -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::LoadGrammar( TSIGrammarID aGrammarID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::LoadGrammar" ); - return iUtility->LoadGrammar( aGrammarID ); - } - - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::LoadModels -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::LoadModels( TSIModelBankID aModelBankID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::LoadModels" ); - return iUtility->LoadModels( aModelBankID ); - } - - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::Record -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::Record( TTimeIntervalMicroSeconds32 aRecordTime ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::Record" ); - return iUtility->Record( aRecordTime ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::PreStartSampling -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::PreStartSampling() - { - RUBY_DEBUG0( "" ); - return iUtility->PreStartSampling(); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::Recognize -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::Recognize( CSIClientResultSet& aResultSet ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::Recognize" ); - return iUtility->Recognize( aResultSet ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::RemoveGrammar -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::RemoveGrammar( TSIGrammarID aGrammarID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::RemoveGrammar" ); - return iUtility->RemoveGrammar( aGrammarID ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::RemoveLexicon -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::RemoveLexicon( TSILexiconID aLexiconID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::RemoveLexicon" ); - return iUtility->RemoveLexicon( aLexiconID ); - } - - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::RemoveModelBank -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::RemoveModelBank( TSIModelBankID aModelBankID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::RemoveModelBank" ); - return iUtility->RemoveModelBank( aModelBankID ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::RemoveRule -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::RemoveRule( TSIGrammarID aGrammarID, TSIRuleID aRuleID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::RemoveRule" ); - return iUtility->RemoveRule( aGrammarID, aRuleID ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::RemoveRules -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::RemoveRules( TSIGrammarID aGrammarID, RArray& aRuleIDs ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::RemoveRules" ); - return iUtility->RemoveRules( aGrammarID, aRuleIDs ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::SetAudioPriority -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::SetAudioPriority( TInt aPriority, TInt aTrainPreference, - TInt aPlaybackPreference, TInt aRecognitionPreference ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::SetAudioPriority" ); - return iUtility->SetAudioPriority( aPriority, aTrainPreference, - aPlaybackPreference, aRecognitionPreference ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::SetEventHandler -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -void CNssSiUtilityWrapper::SetEventHandler( MSISpeechRecognitionUtilityObserver* - aSpeechRecognitionUtilityObserver ) - { - iObserver = *aSpeechRecognitionUtilityObserver; - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::StartRecSession -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::StartRecSession( TNSSRecognitionMode aMode ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::StartRecSession" ); - return iUtility->StartRecSession( aMode ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::UnloadRule -// Forwards the call to Recognition Utility -// --------------------------------------------------------- -// -TInt CNssSiUtilityWrapper::UnloadRule( TSIGrammarID aGrammarID, TSIRuleID aRuleID ) - { - RUBY_DEBUG0( "CNssSiUtilityWrapper::UnloadRule" ); - return iUtility->UnloadRule( aGrammarID, aRuleID ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::MsruoEvent -// Callback from SI Utility -// --------------------------------------------------------- -// -void CNssSiUtilityWrapper::MsruoEvent( TUid aEvent, TInt aResult ) - { - RUBY_DEBUG2( "CNssSiUtilityWrapper::MsruoEvent, event[%d], result[%d]", aEvent, aResult ); - iEvent = aEvent; - iResult = aResult; - Ready(); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::Ready -// Sets active object ready to be run -// --------------------------------------------------------- -// -void CNssSiUtilityWrapper::Ready() - { - if ( !IsActive() ) - { - SetActive(); - TRequestStatus* stat = &iStatus; - User::RequestComplete( stat, KErrNone ); - } - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::RunL -// From CActive -// --------------------------------------------------------- -// -void CNssSiUtilityWrapper::RunL() - { - // Forwards callback to other parts of VAS - RUBY_DEBUG2( "CNssSiUtilityWrapper::RunL calling callback function, event[%d], result[%d]", iEvent, iResult ); - iObserver.MsruoEvent( iEvent, iResult ); - RUBY_DEBUG0( "CNssSiUtilityWrapper::RunL callback called" ); - } - -// --------------------------------------------------------- -// CNssSiUtilityWrapper::DoCancel -// From CActive -// --------------------------------------------------------- -// -void CNssSiUtilityWrapper::DoCancel() - { - // Nothing - } - - -// End of file