epoc32/include/mmf/common/speechrecognitioncustomcommandimplementor.h
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/epoc32/include/mmf/common/speechrecognitioncustomcommandimplementor.h	Tue Mar 16 16:12:26 2010 +0000
@@ -0,0 +1,492 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef __SPEECHRECOGNITIONCUSTOMCOMMANDIMPLEMENTOR_H__
+#define __SPEECHRECOGNITIONCUSTOMCOMMANDIMPLEMENTOR_H__
+
+// INCLUDES
+
+#include <mmf/common/speechrecognitiondataclient.h>
+
+// CLASS DECLARATION
+
+/**
+@publishedAll
+@released
+
+This is the main class of Speech Recognition Custom Commands Implementor.
+
+@since  8.0
+*/
+
+class MSpeechRecognitionCustomCommandImplementor
+	{
+public:
+	/**
+	Adds a new pronunciation for the given model into the specified
+	lexicon.
+
+	@param  aLexiconID
+	        The lexicon ID to where the new pronunciation is added.
+	@param  aModelBankID
+	        The model bank ID.
+	@param  aModelID
+	        The model ID.
+	@param  aPronunciationID
+	        A reference to where a new pronunciation ID is assigned.
+
+	@since  8.0
+	*/
+	virtual void MSrAddPronunciationL( TLexiconID aLexiconID,
+					TModelBankID aModelBankID, TModelID aModelID,
+					TPronunciationID& aPronunciationID ) = 0;
+
+	/**
+	Adds a new rule for the given pronunciation into the specified
+	grammar.
+
+	@param  aGrammarID			
+	        The grammar ID, where the new rule is added to
+	@param  aLexiconID
+	        The lexicon ID.
+	@param  aPronunciationID
+	        The pronunciation ID.
+	@param  aRuleID
+	        A reference where a new rule ID is assigned to.
+
+	@since  8.0
+	*/
+	virtual void MSrAddRuleL( TGrammarID aGrammarID, TLexiconID aLexiconID,
+					TPronunciationID aPronunciationID,
+					TRuleID& aRuleID ) = 0;
+
+	/**
+	Cancels the current operation.
+
+	@since  8.0
+	*/
+	virtual void MSrCancel() = 0;
+
+	/**
+	Commit uncommited changes to the database.
+
+	@since  8.0
+	*/
+	virtual void MSrCommitChangesL() = 0;
+
+	/**
+	Creates a new grammar.
+
+	@param  aGrammarID			
+	        A reference where the grammar ID is stored.
+
+	@since  8.0
+	*/
+	virtual void MSrCreateGrammarL( TGrammarID& aGrammarID ) = 0;
+
+	/**
+	Creates a new lexicon.
+
+	@param  aLexiconID			
+	        A reference where the lexicon ID is stored.
+
+	@since  8.0
+	*/
+	virtual void MSrCreateLexiconL( TLexiconID& aLexiconID ) = 0;
+
+	/**
+	Creates a new model bank.
+
+	@param  aModelBankID		
+	        A reference to where a new model bank ID is assigned.
+
+	@since	8.0
+	*/
+	virtual void MSrCreateModelBankL( TModelBankID& aModelBankID ) = 0;
+
+	/**
+	Ends the current recognition session. Resources allocated
+	for recognition are freed.
+
+	@since  8.0
+	*/
+	virtual void MSrEndRecSessionL() = 0;
+
+	/**
+	Returns all grammar IDs that are owned by the client.
+
+	@param  aGrammarIDs			
+	        A reference where grammar IDs are stored.
+
+	@since  8.0
+	*/
+	virtual void MSrGetAllClientGrammarIDsL(RArray<TGrammarID>& aGrammarIDs ) = 0;
+
+	/**
+	Returns all lexicon IDs that are owned by the client.
+
+	@param  aLexiconIDs	
+	        A reference where the lexicon IDs are stored.
+
+	@since  8.0
+	*/
+	virtual void MSrGetAllClientLexiconIDsL(RArray<TLexiconID>& aLexiconIDs ) = 0;
+	/**
+	Returns all modelbank IDs that are owned by the client.
+
+	@param  aModelBankIDs	
+	        A reference where model bank IDs are stored.
+
+	@since  8.0
+	*/
+	virtual void MSrGetAllClientModelBankIDsL(RArray<TModelBankID>& aModelBankIDs ) = 0;
+
+	/**
+	Returns all grammar IDs.
+
+	@param  aGrammarIDs			
+	        A reference where grammar IDs are stored.
+	*/
+	virtual void MSrGetAllGrammarIDsL(RArray<TGrammarID>& aGrammarIDs ) = 0;
+
+	/**
+	Returns all lexicon IDs.
+
+	@param  aLexiconIDs	
+	        A reference where lexicon IDs are stored.
+	*/
+	virtual void MSrGetAllLexiconIDsL(RArray<TLexiconID>& aLexiconIDs ) = 0;
+
+	/**
+	Returns all modelbank IDs.
+
+	@param  aModelBankIDs	
+	        A reference where the model bank IDs are stored.
+	
+	@since  8.0
+	*/
+	virtual void MSrGetAllModelBankIDsL(RArray<TModelBankID>& aModelBankIDs ) = 0;
+
+	/**
+	Returns all model IDs that exist in the specified model bank.
+
+	@param  aModelBankID
+			The model bank ID.
+	@param  aModelIDs
+	        A reference where model IDs are stored.
+
+	@since  8.0
+	*/
+	virtual void MSrGetAllModelIDsL( TModelBankID aModelBankID,
+					RArray<TModelID>& aModelIDs ) = 0;
+
+	/**
+	Returns all pronunciation IDs that exist in the specified lexicon.
+
+	@param  aLexiconID
+	        The lexicon ID.
+	@param  aPronunciationIDs
+	        A reference where pronunciation IDs are stored.
+
+	@since  8.0
+	*/
+	virtual void MSrGetAllPronunciationIDsL( TLexiconID aLexiconID,
+					RArray<TPronunciationID>& aPronunciationIDs ) = 0;
+
+	/**
+	Returns all rule IDs that exist in the specified grammar.
+
+	@param  aGrammarID
+	        The grammar ID.
+	@param  aRuleIDs
+	        A reference where rule IDs are stored.
+
+	@since  8.0
+	*/
+	virtual void MSrGetAllRuleIDsL( TGrammarID aGrammarID,
+					RArray<TRuleID>& aRuleIDs ) = 0;
+
+	/**
+	Returns the number of models available for training system wide,
+	based on available disk space.
+
+
+	@param  aCount				
+	        A reference where the number of available models is set.
+
+	@since  8.0
+	*/
+	virtual void MSrGetAvailableStorageL( TInt& aCount ) = 0;
+
+	/**
+	Returns the engine properties specified by the engine property
+	ID array. 
+
+	On return aPropertyValue contains an array of engine properties.
+	
+	@param  aPropertyId		
+	        A constant reference to an array of engine property IDs.
+	@param  aPropertyValue
+	        A reference to an array of engine property values.
+
+	@since  8.0
+	*/
+	virtual void MSrGetEnginePropertiesL( const RArray<TInt>& aPropertyId,
+					RArray<TInt>& aPropertyValue ) = 0;
+
+	/**
+	Returns the number of models in the specified model bank.
+
+	@param  aModelBankID		
+	        The model bank ID.
+	@param  aCount				
+	        A reference where the number of models is set.
+
+	@since  8.0
+	*/
+	virtual void MSrGetModelCountL( TModelBankID aModelBankID, TInt& aCount ) = 0;
+
+	/**
+	Checks if the rule is valid or not.
+
+	@param  aGrammarID
+	        The grammar ID.
+	@param  aRuleID
+	        The rule ID.
+	@param  aValid
+	        A reference where the validity of the rule is set.
+
+	@since  8.0
+	*/
+	virtual void MSrGetRuleValidityL( TGrammarID aGrammarID,
+					TRuleID aRuleID, TBool& aValid ) = 0;
+
+	/**
+	Returns the duration of the utterance for the specified model.
+
+	@param  aModelBankID		
+	        The model bank ID.
+	@param  aModelID			
+	        The model ID.
+	@param  aDuration			
+	        A reference where the duration of utterance is set.
+
+	@since  8.0
+	*/
+	virtual void MSrGetUtteranceDurationL( TModelBankID aModelBankID,
+					TModelID aModelID,
+					TTimeIntervalMicroSeconds32& aDuration) = 0;
+	/**
+	Loads the specified grammar in into the recognizer; done prior to recognition.
+
+	@param  aGrammarID			
+	        The grammar ID.
+
+	@since  8.0
+	*/
+	virtual void MSrLoadGrammarL( TGrammarID aGrammarID ) = 0;
+
+	/**
+	Loads the specified lexicon into the recognizer; done prior to recognition.
+
+	@param  aLexiconID			
+	        The lexicon ID.
+
+	@since  8.0
+	*/
+	virtual void MSrLoadLexiconL( TLexiconID aLexiconID ) = 0;
+
+	/**
+	Loads the specified model bank into the recognizer; done prior to recognition.
+
+	@param  aModelBankID		
+	        The model bank ID.
+
+	@since  8.0
+	*/
+	virtual void MSrLoadModelsL( TModelBankID aModelBankID ) = 0;
+
+	/**
+	Plays the previously trained utterance.
+
+	@param  aModelBankID		
+	        The model bank ID.
+	@param  aModelID			
+	        The model ID, whose utterance is played.
+
+	@since  8.0
+	*/
+	virtual void MSrPlayUtteranceL( TModelBankID aModelBankID,
+					TModelID aModelID ) = 0;
+
+	/**
+	Initiates recognition; performed following loading of model bank, lexicon, and grammar.
+
+	@param  aResultSet			
+	        A reference where the recognition result is set.
+
+	@since  8.0
+	*/
+	virtual void MSrRecognizeL( CSDClientResultSet& aResultSet ) = 0;
+
+	/**
+	Records user utterance for training and recognition.
+
+	@param  aRecordTime			
+	        A recording time in microseconds.
+
+	@since  8.0
+	*/
+	virtual void MSrRecordL( TTimeIntervalMicroSeconds32 aRecordTime ) = 0;
+
+	/**
+	Removes the specified grammar from the permanent storage.
+
+	Removing a grammar will remove all rules within the grammar.
+
+	@param  aGrammarID			
+	        The grammar ID.
+
+	@since  8.0
+	*/
+	virtual void MSrRemoveGrammarL( TGrammarID aGrammarID ) = 0;
+
+	/**
+	Removes the specified lexicon from the permanent storage.
+	
+	Removing a lexicon will remove all pronunciations within the lexicon.
+
+	@param  aLexiconID			
+	        The lexicon ID.
+
+	@since  8.0
+	*/
+	virtual void MSrRemoveLexiconL( TLexiconID aLexiconID ) = 0;
+
+	/**
+	Removes the specified model bank from the permanent storage.
+
+	Removing a model bank will remove all models within the model bank.
+
+	@param  aModelBankID		
+	        The model bank ID.
+
+	@since  8.0
+	*/
+	virtual void MSrRemoveModelBankL( TModelBankID aModelBankID ) = 0;
+
+	/**
+	Removes the specified model from the specified model bank
+	permanently.
+
+	@param  aModelBankID		
+	        The model bank ID.
+	@param  aModelID			
+	        The model ID.
+
+	@since  8.0
+	*/
+	virtual void MSrRemoveModelL( TModelBankID aModelBankID,
+					TModelID aModelID ) = 0;
+
+	/**
+	Removes the specified pronunciation from the specified lexicon permanently.
+
+	@param  aLexiconID			
+	        The lexicon ID.
+	@param  aPronunciationID	
+	        The pronunciation ID.
+
+	@since  8.0
+	*/
+	virtual void MSrRemovePronunciationL( TLexiconID aLexiconID,
+					TPronunciationID aPronunciationID ) = 0;
+
+	/**
+	Removes the specified rule from the specified grammar permanently.
+
+	@param  aGrammarID			
+	        The grammar ID.
+	@param  aRuleID				
+	        The rule ID.
+
+	@since  8.0
+	*/
+	virtual void MSrRemoveRuleL( TGrammarID aGrammarID,
+					TRuleID aRuleID ) = 0;
+					
+	/**
+	Sets the specified grammar client UID.
+
+	@param  aClientUid The client UID.
+	*/
+	virtual void MSrSetClientUid(TUid aClientUid) = 0;
+
+	/**
+	Starts a new recognition session.
+
+	@param  aMode				
+	        The recognition mode.
+
+	@since  8.0
+	*/
+	virtual void MSrStartRecSessionL( TRecognitionMode aMode ) = 0;
+
+	/**
+	Trains a new model into the specified model bank.
+
+	@param  aModelBankID		
+	        The model bank ID.
+	@param  aModelID			
+	        A reference to where the new model ID is assigned.
+
+	@since  8.0
+	*/
+	virtual void MSrTrainL( TModelBankID aModelBankID,
+					TModelID& aModelID ) = 0;
+
+	/**
+	Unloads the specified rule from the specified grammar in temporary
+	memory, previously loaded with LoadGrammarL().
+
+	The rule in the permanent storage remains intact.
+
+	@param  aGrammarID
+	        The grammar ID.
+	@param  aRuleID
+	        The rule ID.
+
+	@since  8.0
+	*/
+	virtual void MSrUnloadRuleL( TGrammarID aGrammarID,
+					TRuleID aRuleID ) = 0;
+
+	/**
+	Unloads the specified parameters to the engine.
+
+	@param  aParameterId		
+	        An array of parameter IDs.
+	@param  aParameterValue		
+	        An array of parameter values.
+
+	@since  8.0
+	*/
+	virtual void MSrLoadEngineParametersL( 
+					const RArray<TInt>& aParameterId, 
+					const RArray<TInt>& aParameterValue ) = 0;
+					
+	};
+
+#endif  // __SPEECHRECOGNITIONCUSTOMCOMMANDIMPLEMENTOR_H__