diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/mmf/common/speechrecognitioncustomcommandimplementor.h --- /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 + +// 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& 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& 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& aModelBankIDs ) = 0; + + /** + Returns all grammar IDs. + + @param aGrammarIDs + A reference where grammar IDs are stored. + */ + virtual void MSrGetAllGrammarIDsL(RArray& aGrammarIDs ) = 0; + + /** + Returns all lexicon IDs. + + @param aLexiconIDs + A reference where lexicon IDs are stored. + */ + virtual void MSrGetAllLexiconIDsL(RArray& aLexiconIDs ) = 0; + + /** + Returns all modelbank IDs. + + @param aModelBankIDs + A reference where the model bank IDs are stored. + + @since 8.0 + */ + virtual void MSrGetAllModelBankIDsL(RArray& 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& 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& 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& 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& aPropertyId, + RArray& 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& aParameterId, + const RArray& aParameterValue ) = 0; + + }; + +#endif // __SPEECHRECOGNITIONCUSTOMCOMMANDIMPLEMENTOR_H__