--- a/srsf/sisrscontrollerplugin/src/sicontrollerplugininterface.cpp Mon Jan 18 20:20:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1031 +0,0 @@
-/*
-* Copyright (c) 2004-2007 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: This is the main interface of the SI Controller Plugin.
-*
-*/
-
-
-// INCLUDE FILES
-#include "srsfbldvariant.hrh"
-#include <mmfcontrollerframeworkbase.h>
-#include <nsssispeechrecognitioncustomcommandparser.h>
-#include <implementationproxy.h>
-#include "sicontrollerplugininterface.h"
-#include "sicontrollerplugin.h"
-#include "sipluginimplementationuids.hrh"
-#include "rubydebug.h"
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::CSIControllerPluginInterface
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CSIControllerPluginInterface::CSIControllerPluginInterface()
- {
- RUBY_DEBUG0( "CSIControllerPluginInterface::CSIControllerPluginInterface" );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-#ifndef __CONSOLETEST__
-
-void CSIControllerPluginInterface::ConstructL()
- {
- RUBY_DEBUG_BLOCK( "CSIControllerPluginInterface::ConstructL" );
-
- iController = CSIControllerPlugin::NewL(*this);
-
- CSISpeechRecognitionCustomCommandParser* speechRecognitionParser =
- CSISpeechRecognitionCustomCommandParser::NewL(*this);
- CleanupStack::PushL(speechRecognitionParser);
- AddCustomCommandParserL(*speechRecognitionParser);
- // The parser is owned by the controller framework
- CleanupStack::Pop(speechRecognitionParser);
- }
-
-#else // __CONSOLETEST__ defined
-
-// Unit Test
-void CSIControllerPluginInterface::ConstructL( MSrsObserver* aObserver )
- {
- iController = CSIControllerPlugin::NewL(*this);
- iObserver = aObserver;
- }
-
-// Unit Test
-void CSIControllerPluginInterface::ConstructL()
- {
- iController = CSIControllerPlugin::NewL(*this);
- iObserver = NULL;
- }
-
-#endif // __CONSOLETEST__
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSIControllerPluginInterface* CSIControllerPluginInterface::NewL()
- {
- RUBY_DEBUG_BLOCK( "CSIControllerPluginInterface::NewL" );
-
- CSIControllerPluginInterface* self = new( ELeave ) CSIControllerPluginInterface;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::~CSIControllerPluginInterface
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CSIControllerPluginInterface::~CSIControllerPluginInterface()
- {
- RUBY_DEBUG0( "CSIControllerPluginInterface::~CSIControllerPluginInterface" );
- delete iController;
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::AddDataSourceL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::AddDataSourceL( MDataSource& /*aDataSource*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::AddDataSinkL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::AddDataSinkL( MDataSink& /*aDataSink*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::RemoveDataSourceL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::RemoveDataSourceL( MDataSource& /*aDataSource*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::RemoveDataSinkL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::RemoveDataSinkL( MDataSink& /*aDataSink*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::ResetL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::ResetL()
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::PrimeL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::PrimeL()
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::PlayL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::PlayL()
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::PauseL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::PauseL()
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::StopL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::StopL()
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::PositionL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-TTimeIntervalMicroSeconds CSIControllerPluginInterface::PositionL() const
- {
- User::Leave( KErrNotSupported );
- return TTimeIntervalMicroSeconds( 0 ); // Just to make the compiler happy
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::SetPositionL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::SetPositionL( const TTimeIntervalMicroSeconds& /*aPosition*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::DurationL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-TTimeIntervalMicroSeconds CSIControllerPluginInterface::DurationL() const
- {
- User::Leave( KErrNotSupported );
- return TTimeIntervalMicroSeconds( 0 ); // Just to make the compiler happy
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::SetPrioritySettings
-// Set the priority settings for this controller. This is used during recording
-// and playback.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::SetPrioritySettings( const TMMFPrioritySettings& aPrioritySettings )
- {
- iController->SetPrioritySettings( aPrioritySettings );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::GetNumberOfMetaDataEntriesL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::GetNumberOfMetaDataEntriesL( TInt& /*aNumberOfEntries*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::GetMetaDataEntryL
-// This function is not supported.
-// -----------------------------------------------------------------------------
-//
-CMMFMetaDataEntry* CSIControllerPluginInterface::GetMetaDataEntryL( TInt /*aIndex*/ )
- {
- User::Leave( KErrNotSupported );
- return NULL; // Just to make the compiler happy
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddPronunciationL
-// Adds a new pronunciation into the lexicon.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAddPronunciationL( TSILexiconID aLexiconID,
- TSIModelBankID aModelBankID,
- TSIModelID aModelID,
- TSIPronunciationID& aPronunciationID )
- {
- iController->AddPronunciationL(aLexiconID, aModelBankID, aModelID, aPronunciationID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddRuleL
-// Adds a new rule into the grammar.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAddRuleL( TSIGrammarID /*aGrammarID*/,
- TSILexiconID /*aLexiconID*/,
- TSIPronunciationID /*aPronunciationID*/,
- TSIRuleID& /*aRuleID*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrCancel
-// Cancels the current activity and returns the plugin to Idle state.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrCancel()
- {
- iController->Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrCommitTrainL
-// Training is complete. Call model database handler to save the model into the
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrCommitChangesL()
- {
- iController->CommitChangesL( ETrue );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrCreateGrammarL
-// Creates a new grammar.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrCreateGrammarL( TSIGrammarID& aGrammarID )
- {
- iController->CreateGrammarL( aGrammarID );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrCreateLexiconL
-// Creates a new lexicon.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrCreateLexiconL( TSILexiconID& aLexiconID )
- {
- iController->CreateLexiconL( aLexiconID );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrCreateModelBankL
-// Creates a new model bank.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrCreateModelBankL( TSIModelBankID& aModelBankID )
- {
- iController->CreateModelBankL( aModelBankID );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrEndRecSessionL
-// Ends recognition session and releases resources.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrEndRecSessionL()
- {
- iController->EndRecSessionL();
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllClientGrammarIDsL
-// Returns all grammar Ids that belong to the current client.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllClientGrammarIDsL( RArray<TSIGrammarID>& aGrammarIDs )
- {
- iController->GetAllClientGrammarIDsL( aGrammarIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllClientLexiconIDsL
-// Returns all lexicon Ids that belong to the current client.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllClientLexiconIDsL( RArray<TSILexiconID>& aLexiconIDs )
- {
- iController->GetAllClientLexiconIDsL( aLexiconIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllClientModelBankIDsL
-// Returns all model bank Ids that belong to the current client.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllClientModelBankIDsL( RArray<TSIModelBankID>& aModelBankIDs )
- {
- iController->GetAllClientModelBankIDsL( aModelBankIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllGrammarIDsL
-// Returns all grammar Ids that exist (for all clients).
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllGrammarIDsL( RArray<TSIGrammarID>& aGrammarIDs )
- {
- iController->GetAllGrammarIDsL( aGrammarIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllLexiconIDsL
-// Returns all lexicon Ids that exist (for all clients).
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllLexiconIDsL( RArray<TSILexiconID>& aLexiconIDs )
- {
- iController->GetAllLexiconIDsL( aLexiconIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllModelBankIDsL
-// Returns all model bank Ids that exist (for all clients).
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllModelBankIDsL( RArray<TSIModelBankID>& aModelBankIDs )
- {
- iController->GetAllModelBankIDsL( aModelBankIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllModelIDsL
-// Gets all model IDs in the model bank.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllModelIDsL( TSIModelBankID aModelBankID,
- RArray<TSIModelID>& aModelIDs )
- {
- iController->GetAllModelIDsL( aModelBankID, aModelIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllPronunciationIDsL
-// Gets all pronunciation IDs in the lexicon.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllPronunciationIDsL( TSILexiconID aLexiconID,
- RArray<TSIPronunciationID>& aPronunciationIDs )
- {
- iController->GetAllPronunciationIDsL( aLexiconID, aPronunciationIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAllRuleIDsL
-// Gets all rule IDs in the grammar.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAllRuleIDsL( TSIGrammarID aGrammarID,
- RArray<TSIRuleID>& aRuleIDs )
- {
- iController->GetAllRuleIDsL( aGrammarID, aRuleIDs );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetAvailableStorageL
-// Calculates the available number of models that can be trained by subtracting
-// the current total from the system defined max.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetAvailableStorageL( TInt& /*aCount*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetEnginePropertiesL
-// Returns the current recognition engine properties.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetEnginePropertiesL( const RArray<TInt>& aPropertyId,
- RArray<TInt>& aPropertyValue )
- {
- iController->GetEnginePropertiesL( aPropertyId, aPropertyValue );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetModelCountL
-// Gets the number of models in a model bank.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetModelCountL( TSIModelBankID aModelBankID,
- TInt& aCount )
- {
- iController->GetModelCountL( aModelBankID, aCount );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetPronunciationCountL
-//
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetPronunciationCountL( TSILexiconID aLexiconID,
- TInt& aCount )
- {
- iController->GetPronunciationCountL( aLexiconID, aCount );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetRuleCountL
-//
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetRuleCountL( TSIGrammarID aGrammarID, TInt& aCount )
- {
- iController->GetRuleCountL(aGrammarID, aCount);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetRuleValidityL
-// Checks to see if a rule exists in the specified grammar or not.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetRuleValidityL( TSIGrammarID aGrammarID,
- TSIRuleID aRuleID,
- TBool& aValid )
- {
- iController->GetRuleValidityL(aGrammarID, aRuleID, aValid);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrGetUtteranceDurationL
-// Gets the duration of an utterance.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrGetUtteranceDurationL( TSIModelBankID /*aModelBankID*/,
- TSIModelID /*aModelID*/,
- TTimeIntervalMicroSeconds32& /*aDuration*/ )
- {
- User::Leave(KErrNotSupported);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrLoadEngineParametersL
-// Loads the specified recognizer parameter(s). These parameters are used to
-// alter the recognizer's default parameters. The parameters are specified as
-// attribute and value pairs.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrLoadEngineParametersL( const RArray<TInt>& aParameterId,
- const RArray<TInt>& aParameterValue )
- {
- iController->LoadEngineParametersL(aParameterId, aParameterValue);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrLoadGrammarL
-// Loads the specified grammar into the recognizer.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrLoadGrammarL( TSIGrammarID aGrammarID )
- {
- iController->LoadGrammarL(aGrammarID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrLoadLexiconL
-// Loads the specified lexicon into the recognizer.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrLoadLexiconL( TSILexiconID /*aLexiconID*/ )
- {
- User::Leave(KErrNotSupported);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrLoadModelsL
-// Loads the specified model bank into the recognizer.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrLoadModelsL( TSIModelBankID aModelBankID)
- {
- iController->LoadModelsL(aModelBankID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrActivateGrammarL
-//
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrActivateGrammarL( TSIGrammarID aGrammarID )
- {
- iController->ActivateGrammarL(aGrammarID );
- }
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrDeactivateGrammarL
-//
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrDeactivateGrammarL( TSIGrammarID aGrammarID )
- {
- iController->DeactivateGrammarL(aGrammarID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrPlayUtteranceL
-// Plays the user utterance.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrPlayUtteranceL( TSIModelBankID /*aModelBankID*/,
- TSIModelID /*aModelID*/ )
- {
- // Not supported in SI
- User::Leave(KErrNotSupported);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRecognizeL
-// Initiates recognition towards the recognizer.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRecognizeL( CSDClientResultSet& /*aResultSet*/ )
- {
- // Not supported in SI
- User::Leave(KErrNotSupported);
- // iController->RecognizeL(aResultSet);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRecordL
-// Initiates recording of user utterance.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRecordL( TTimeIntervalMicroSeconds32 aRecordTime )
- {
- iController->RecordL(aRecordTime);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrPreStartSamplingL
-// Starts sampling
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrPreStartSamplingL()
- {
- iController->PreStartSamplingL();
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRemoveGrammarL
-// Removes the specified grammar from the permanent storage.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRemoveGrammarL( TSIGrammarID aGrammarID )
- {
- iController->RemoveGrammarL(aGrammarID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRemoveLexiconL
-// Removes the specified lexicon from the permanent storage.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRemoveLexiconL( TSILexiconID aLexiconID )
- {
- iController->RemoveLexiconL(aLexiconID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRemoveModelBankL
-// Removes the specified model bank from the permanent storage.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRemoveModelBankL( TSIModelBankID aModelBankID )
- {
- iController->RemoveModelBankL(aModelBankID);
- }
-
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRemoveModelL
-// Removes the specified model from the specified model bank.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRemoveModelL( TSIModelBankID /*aModelBankID*/,
- TSIModelID /*aModelID*/ )
- {
- User::Leave(KErrNotSupported);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRemovePronunciationL
-// Removes the specified pronunciation from the specified lexicon.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRemovePronunciationL( TSILexiconID aLexiconID,
- TSIPronunciationID aPronunciationID )
- {
- iController->RemovePronunciationL(aLexiconID, aPronunciationID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRemoveRuleL
-// Removes the specified rule from the specified grammar.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRemoveRuleL( TSIGrammarID aGrammarID,
- TSIRuleID aRuleID )
- {
- iController->RemoveRuleL(aGrammarID, aRuleID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRemoveRulesL
-// Removes the specified rules from the specified grammar.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRemoveRulesL( TSIGrammarID aGrammarID,
- RArray<TSIRuleID>& aRuleIDs )
- {
- // User::Leave( KErrNotSupported );
- iController->RemoveRulesL(aGrammarID, aRuleIDs);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrSetClientUid
-// Sets the client's UID for data ownership identification.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrSetClientUid( TUid aClientUid )
- {
- iController->SetClientUid(aClientUid);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrStartRecSessionL
-// Starts a new recognition session.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrStartRecSessionL( TNSSRecognitionMode aMode )
- {
- if ( aMode == ENSSSiMode)
- {
- iController->StartRecSessionL();
- }
- else
- {
- User::Leave(KErrNotSupported);
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrTrainL
-// Trains a new model into the specified model bank.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrTrainL( TSIModelBankID aModelBankID,
- TSIModelID& aModelID )
- {
- iController->TrainL(aModelBankID, aModelID);
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrUnloadRuleL
-// Unloads a rule from the recognizer for this recognition session.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrUnloadRuleL( TSIGrammarID aGrammarID,
- TSIRuleID aRuleID )
- {
- iController->UnloadRuleL(aGrammarID, aRuleID);
- }
-
-
-///SI only functionalities
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAdaptL
-// Does speaker adapation to speaker independent models
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAdaptL( CSIClientResultSet& aResultSet,
- TInt aCorrect)
- {
- iController->AdaptL( aResultSet, aCorrect );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddPronunciationL
-// AAdds a new pronunciation for the given model into the specified lexicon.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAddPronunciationL( TSILexiconID aLexiconID,
- const TDesC& aTrainText,
- TLanguage aLanguage,
- TSIPronunciationID& aPronunciationID )
- {
- iController->AddPronunciationL( aLexiconID, aTrainText,aLanguage,aPronunciationID );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddRuleVariantL
-// Adds a new rule variant for the given pronunciation into the specified grammar.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAddRuleVariantL( TSIGrammarID aGrammarID,
- TSILexiconID aLexiconID,
- RArray<TSIPronunciationID>& aPronunciationIDs,
- TSIRuleID aRuleID,
- TSIRuleVariantID& aRuleVariantID )
- {
- iController->AddRuleVariantL( aGrammarID, aLexiconID, aPronunciationIDs,
- aRuleID, aRuleVariantID ) ;
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddVoiceTagsL
-// Trains a new voice tag. The recognition phrase is the concatenation of words in the aTrainArray.
-// Pronunciations are created with all given languages, which are supported.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAddVoiceTagsL( RPointerArray<MDesCArray>* aTrainArray,
- RArray<TLanguage>& aLanguageArray,
- TSILexiconID aLexiconID,
- TSIGrammarID aGrammarID,
- RArray<TSIRuleID>& aRuleID )
- {
- iController->AddVoiceTagsL( *aTrainArray, aLanguageArray, aLexiconID,
- aGrammarID, aRuleID );
- }
-
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddVoiceTagL
-// Trains a new voice tag.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAddVoiceTagL( MDesCArray& aTrainArray,
- RArray<TLanguage>& aLanguageArray,
- TSILexiconID aLexiconID,
- TSIGrammarID aGrammarID,
- TSIRuleID& aRuleID)
- {
- iController->AddVoiceTagL( aTrainArray, aLanguageArray, aLexiconID,
- aGrammarID, aRuleID );
- }
-
-#ifdef __SINDE_TRAINING
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddSindeVoiceTagL
-// Trains a new SINDE voice tag.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAddSindeVoiceTagL( MDesCArray& aTrainArray,
- RArray<RLanguageArray>& aLanguageArray,
- TSILexiconID aLexiconID,
- TSIGrammarID aGrammarID,
- TSIRuleID& aRuleID )
- {
- iController->AddSindeVoiceTagL( aTrainArray, aLanguageArray,
- aLexiconID, aGrammarID, aRuleID );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddSindeVoiceTagL
-// Trains a new SINDE voice tag.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::CSIControllerPluginInterface::MSrAddSindeVoiceTagsL( RPointerArray<MDesCArray>* aTrainArray,
- RArray<RLanguageArray>& aLanguageArray,
- TSILexiconID aLexiconID,
- TSIGrammarID aGrammarID,
- RArray<TSIRuleID>& aRuleID )
- {
- iController->AddSindeVoiceTagsL( *aTrainArray, aLanguageArray,
- aLexiconID, aGrammarID, aRuleID );
- }
-
-#else // __SINDE_TRAINING
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddSindeVoiceTagL
-// Trains a new SINDE voice tag.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrAddSindeVoiceTagL( MDesCArray& /*aTrainArray*/,
- RArray<RLanguageArray>& /*aLanguageArray*/,
- TSILexiconID /*aLexiconID*/,
- TSIGrammarID /*aGrammarID*/,
- TSIRuleID& /*aRuleID*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrAddSindeVoiceTagL
-// Trains a new SINDE voice tag.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::CSIControllerPluginInterface::MSrAddSindeVoiceTagsL( RPointerArray<MDesCArray>* /*aTrainArray*/,
- RArray<RLanguageArray>& /*aLanguageArray*/,
- TSILexiconID /*aLexiconID*/,
- TSIGrammarID /*aGrammarID*/,
- RArray<TSIRuleID>& /*aRuleID*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-#endif // __SINDE_TRAINING
-
-
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrCreateRuleL
-// Creates a new empty rule.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrCreateRuleL( TSIGrammarID aGrammarID,
- TSIRuleID& aRuleID )
- {
- iController->CreateRuleL( aGrammarID, aRuleID );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrRecognizeL
-// Initiates recognition; performed following loading of model bank, lexicon, and grammar
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrRecognizeL( CSIClientResultSet& aResultSet )
- {
- iController->RecognizeL( aResultSet );
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrEndRecordL
-// Ends recording. Unlike Cancel(), this function may return a recognition
-// result if adequate number of samples was already recorded.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrEndRecordL()
- {
- iController->EndRecordL();
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::MSrUnloadGrammarL
-// Unloads the specified grammar from the temporary memory,
-// previously loaded with MSrLoadGrammarL. The grammar in the permanent storage remains intact.
-// result if adequate number of samples was already recorded.
-// -----------------------------------------------------------------------------
-//
-void CSIControllerPluginInterface::MSrUnloadGrammarL( TSIGrammarID aGrammarID )
- {
- iController->UnloadGrammarL( aGrammarID ) ;
- }
-
-// -----------------------------------------------------------------------------
-// CSIControllerPluginInterface::SendSrsEvent
-// Sends an event to the client.
-// -----------------------------------------------------------------------------
-//
-#ifndef __CONSOLETEST__
-
-void CSIControllerPluginInterface::SendSrsEvent( TUid aEvent,
- TInt aResult )
- {
- RUBY_DEBUG2( "CSIControllerPluginInterface::SendSrsEvent: %d, result [%d]", aEvent, aResult );
- TMMFEvent event( aEvent, aResult );
- DoSendEventToClient( event );
- }
-
-#else
-
-// Unit Test
-void CSIControllerPluginInterface::SendSrsEvent(
- TUid aEvent,
- TInt aResult )
- {
- iObserver->SrsEvent(aEvent, aResult);
- }
-
-#endif
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-
-#ifdef __CONSOLETEST__
-// Unit Test
-
-// Two-phased constructor
-CSIControllerPluginInterface* CSIControllerPluginInterface::NewL(
- MSrsObserver* aObserver )
- {
- CSIControllerPluginInterface* self = new( ELeave ) CSIControllerPluginInterface();
-
- CleanupStack::PushL( self );
- self->ConstructL(aObserver);
- CleanupStack::Pop();
-
- return self;
- }
-
-// Returns reference to a database
-RDbNamedDatabase& CSIControllerPluginInterface::GetDb()
- {
- return iController->GetDb();
- }
-
-
-// Returns reference to model bank array
-RPointerArray<CSIModelBank>& CSIControllerPluginInterface::ModelBankArray()
- {
- return iController->ModelBankArray();
- }
-
-// Returns current plugin state
-TInt CSIControllerPluginInterface::PluginState()
- {
- return iController->PluginState();
- }
-
-#endif
-
-
-// __________________________________________________________________________
-// Exported proxy for instantiation method resolution
-// Define the interface UIDs
-
-#ifndef __CONSOLETEST__
-/**
-*
-* ImplementationTable
-*
-*/
-const TImplementationProxy ImplementationTable[] =
- {
- {{KSIUidController}, ( TProxyNewLPtr ) CSIControllerPluginInterface::NewL} // defined in SIPluginImplementationUIDs.hrh
- };
-
-/**
-* ImplementationGroupProxy
-* @param aTableCount
-* @returns "TImplementationProxy*"
-*/
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
- {
- aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
- return ImplementationTable;
- }
-
-#endif // __CONSOLETEST__
-
-// End of File