speechsrv_plat/nss_srs_custom_commands_api/inc/nsssispeechrecognitioncustomcommands.h
branchRCL_3
changeset 19 e36f3802f733
parent 0 bf1d17376201
equal deleted inserted replaced
18:cad71a31b7fc 19:e36f3802f733
       
     1 /*
       
     2 * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  This is the definition of the client interface for the
       
    15 *			    speaker independent extensions to speech recognition custom commands.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef NSS_SI_SPEECH_RECOGNITION_CUSTOM_COMMANDS_H
       
    21 #define NSS_SI_SPEECH_RECOGNITION_CUSTOM_COMMANDS_H
       
    22 
       
    23 //  INCLUDES
       
    24 #include	<mmfcontroller.h>
       
    25 #include 	<nsssispeechrecognitiondataclient.h>
       
    26 
       
    27 // FORWARD DECLARATIONS
       
    28 class CSDClientResultSet;
       
    29 
       
    30 /**
       
    31 *  This is the main class of NSS Speaker Independent Speech Recognition Custom Commands
       
    32 *
       
    33 *  @lib nsssispeechrecognitioncustomcommands.lib
       
    34 *  @since 2.8
       
    35 */
       
    36 
       
    37 // CLASS DECLARATION
       
    38 class RSISpeechRecognitionCustomCommands : public RMMFCustomCommandsBase
       
    39 	{
       
    40 
       
    41 	public:
       
    42 		/**
       
    43 		*	Public C++ constructor for RSpeechRecognitionCustomCommands class.
       
    44         *
       
    45         * @since	2.8
       
    46         * @param	aController			reference to RMMFController object
       
    47         * @return	-
       
    48 		*/
       
    49 		IMPORT_C RSISpeechRecognitionCustomCommands(RMMFController& aController);
       
    50 
       
    51 		/**
       
    52 		*	Adapts speaker independent models according using a correct recognition result.
       
    53         * 
       
    54         * @since	2.8
       
    55         * @param	aResultSet          The result N-Best containing feature vectors
       
    56 		*			aCorrect            The correct index
       
    57         * @return	-
       
    58 		*/
       
    59         IMPORT_C TInt Adapt(const CSIClientResultSet& aResultSet, TInt aCorrect);
       
    60 
       
    61 		/**
       
    62 		*	Adds a pronunciation to the given lexicon.
       
    63         * 
       
    64         * @since	2.8
       
    65 		* @param	aLexiconID			The lexicon Id
       
    66         * @param    aTrainText          Text to be pronounced
       
    67         * @param    aLanguage           Pronunciation language
       
    68 		* @param	aPronunciationID	Reference where a new pronunciation Id is assigned to.
       
    69 		*								
       
    70         * @return	-
       
    71 		*/
       
    72         IMPORT_C TInt AddPronunciation(TSILexiconID aLexiconID,
       
    73                                        const TDesC& aTrainText,
       
    74                                        TLanguage aLanguage,
       
    75                                        TSIPronunciationID& aPronunciationID);
       
    76 
       
    77 		/**
       
    78         *	Adds a rule variant to a grammar.
       
    79         * 
       
    80         * @since 2.8
       
    81         * @param 	aGrammarID          Grammar identifier
       
    82         * @param    aRuleID             Rule identifier; variant is added here.
       
    83         * @param    aPronunciations     Sequence of pronunciations; these get concatenated.
       
    84         *                               in the rule variant.
       
    85         * @param    aRuleVariantID      Reference where the new variant
       
    86         *                               identifier is assigned to.
       
    87         * @return	-
       
    88 		*/
       
    89 		IMPORT_C TInt AddRuleVariant(
       
    90             TSIGrammarID aGrammarID,
       
    91             TSILexiconID aLexiconID,
       
    92             const RArray<TSIPronunciationID>& aPronunciationIDs,
       
    93             TSIRuleID aRuleID,
       
    94             TSIRuleVariantID& aRuleVariantID );
       
    95 
       
    96         /**
       
    97 		*	Trains a voice tag. Adds the text to the lexicon, and creates the required
       
    98         *   rules and rule variants.
       
    99         * 
       
   100         * @since 2.8
       
   101         * @param	aTrainArray         The phrase to be trained, split into subwords
       
   102         * @param	aLanguageArray      The pronunciaiton languages
       
   103         * @param	aLexiconID          Lexicon identifier
       
   104         * @param	aGrammarID          Grammar identifier
       
   105         * @param	aRuleID             Reference, where the new rule identifier is assigned to.
       
   106         * @return	-
       
   107         */
       
   108         IMPORT_C TInt AddVoiceTag(
       
   109             const MDesCArray& aTrainArray,
       
   110             const RArray<TLanguage>& aLanguageArray,
       
   111             TSILexiconID aLexiconID,
       
   112             TSIGrammarID aGrammarID,
       
   113             TSIRuleID& aRuleID);
       
   114 
       
   115         /**
       
   116 		*	Trains voice tags. If the training fails for some of the names (but not all),
       
   117         *   it is signaled by setting the Rule ID to KInvalidRuleID.
       
   118         * 
       
   119         * @since 2.8
       
   120         * @param	aTrainArray         The phrase to be trained, split into subwords
       
   121         * @param	aLanguageArray      The pronunciation languages
       
   122         * @param	aLexiconID          Lexicon identifier
       
   123         * @param	aGrammarID          Grammar identifier
       
   124         * @param	aRuleID             Referenceto an array, where the new
       
   125         *                               Rule identifiers are assigned to.
       
   126         * @return	-
       
   127         */
       
   128         IMPORT_C TInt AddVoiceTags(
       
   129             const RPointerArray<MDesCArray>& aTrainArray,
       
   130             const RArray<TLanguage>& aLanguageArray,
       
   131             TSILexiconID aLexiconID,
       
   132             TSIGrammarID aGrammarID,
       
   133             RArray<TSIRuleID>& aRuleID);
       
   134 
       
   135         /**
       
   136         *	Creates a new rule.
       
   137         * 
       
   138         * @since 2.8
       
   139         * @param 	aGrammarID          Grammar identifier
       
   140         * @param 	aRuleID             Reference where rule ID is stored
       
   141         * @return	-
       
   142         */
       
   143         IMPORT_C TInt CreateRule(TSIGrammarID aGrammarID, TSIRuleID& aRuleID);
       
   144 
       
   145 		/**
       
   146         *   Starts recognition
       
   147         *
       
   148         * @since 2.8
       
   149         * @param 	aResultSet          Recognition result is placed here, when ready.
       
   150         * @return	-
       
   151         */
       
   152 		IMPORT_C TInt Recognize( CSIClientResultSet& aResultSet );
       
   153 
       
   154         /**
       
   155 		*	Stops recognition. Unlike Cancel(), this function gives
       
   156         *   the recognition result, if it can be guessed.
       
   157         *
       
   158         * @since	2.8
       
   159         * @param	- 
       
   160         * @return	-
       
   161         */
       
   162 		IMPORT_C TInt EndRecord();
       
   163 
       
   164 		/**
       
   165 		*   Deactivates a grammar.
       
   166 		*
       
   167         * @since	2.8
       
   168         * @param	aGrammarID          Grammar identifier
       
   169         * @return	-
       
   170         */
       
   171         IMPORT_C TInt UnloadGrammar( TSIGrammarID aGrammarID );
       
   172 
       
   173 /************************ SD Legacy functions *******************************/
       
   174 
       
   175 		/**
       
   176 		*	Adds a new rule for the given pronunciation into 
       
   177 		*	the specified grammar.
       
   178         * @since	2.0
       
   179         * @param	aGrammarID			grammar Id, where the new rule is 
       
   180 		*								added to
       
   181 		* @param	aLexiconID			lexicon Id
       
   182 		* @param	aPronunciationID	pronunciation Id
       
   183 		* @param	aRuleID				reference where a new rule Id is 
       
   184 		*								assigned to
       
   185         * @return	System-wide errors
       
   186 		*/
       
   187 		IMPORT_C TInt AddRule(TSIGrammarID aGrammarID, TSILexiconID aLexiconID,
       
   188 						TSIPronunciationID aPronunciationID, TSIRuleID& aRuleID);
       
   189 
       
   190 		/**
       
   191         *
       
   192         *	Cancels the current operation
       
   193         * @since 2.0
       
   194         * @param 	-
       
   195         * @return	-
       
   196 		*/
       
   197 		IMPORT_C void Cancel();
       
   198 
       
   199         /**
       
   200 		*	Saves the current changes into permanent storage.
       
   201         * @since 2.0
       
   202         * @param	-
       
   203         * @return	System-wide errors
       
   204         */
       
   205 		IMPORT_C TInt CommitChanges();
       
   206 
       
   207 		/**
       
   208         *
       
   209         *	Creates a new grammar.
       
   210         * @since 2.0
       
   211         * @param 	aGrammarID			reference where grammar ID is stored
       
   212         * @return	System-wide errors
       
   213         */
       
   214 		IMPORT_C TInt CreateGrammar(TSIGrammarID& aGrammarID);
       
   215 
       
   216 		/**
       
   217         *
       
   218         *	Creates a new lexicon.
       
   219         * @since 2.0
       
   220         * @param 	aLexiconID			reference where lexicon ID is stored
       
   221         * @return	System-wide errors
       
   222         */
       
   223 		IMPORT_C TInt CreateLexicon(TSILexiconID& aLexiconID);
       
   224 
       
   225         /**
       
   226 		*	Creates a new model bank.
       
   227         * @since	2.0
       
   228         * @param	aModelBankID		reference where a new model 
       
   229 		*								bank Id is assigned to
       
   230         * @return	System-wide errors
       
   231         */
       
   232 		IMPORT_C TInt CreateModelBank(TSIModelBankID& aModelBankID);
       
   233 
       
   234 		/**
       
   235 		*	Ends the current recognition session.  Resources allocated for 
       
   236 		*	recognition are freed.
       
   237         * @since	2.0
       
   238         * @param	aModelBankID		reference where a new model bank Id 
       
   239 		*								is assigned to
       
   240         * @return	System-wide errors
       
   241         */
       
   242 		IMPORT_C TInt EndRecSession();
       
   243 
       
   244 		/**
       
   245         *	Returns all grammar Ids that belong to the current client.
       
   246         * @since 2.0
       
   247 		* @param	-
       
   248         * @return	System-wide errors
       
   249         */
       
   250 		IMPORT_C TInt GetAllClientGrammarIDs();
       
   251 
       
   252 		/**
       
   253  		*	Returns all lexicon Ids that belong to the current client.
       
   254         * @since 2.0
       
   255 		* @param	-
       
   256         * @return	System-wide errors
       
   257         */
       
   258 		IMPORT_C TInt GetAllClientLexiconIDs();
       
   259 
       
   260 		/**
       
   261         * Returns all model bank Ids that belong to the current client.
       
   262         * @since 2.0
       
   263 		* @param	-
       
   264         * @return	System-wide errors
       
   265         */
       
   266 		IMPORT_C TInt GetAllClientModelBankIDs();
       
   267 
       
   268 		/**
       
   269 		*	Returns all grammar Ids that exist (for all clients).
       
   270         * @since 2.0
       
   271 		* @param	-
       
   272         * @return	System-wide errors
       
   273         */
       
   274 		IMPORT_C TInt GetAllGrammarIDs();
       
   275 
       
   276 		/**
       
   277 		*	Returns all lexicon Ids that exist (for all clients).
       
   278         * @since 2.0
       
   279 		* @param	-
       
   280         * @return	System-wide errors
       
   281         */
       
   282 		IMPORT_C TInt GetAllLexiconIDs();
       
   283 
       
   284 		/**
       
   285  		*	Returns all model bank Ids that exist (for all clients).
       
   286         * @since 2.0
       
   287 		* @param	-
       
   288         * @return	System-wide errors
       
   289         */
       
   290 		IMPORT_C TInt GetAllModelBankIDs();
       
   291 
       
   292 		/**
       
   293 		*	Returns all model Ids that exist in the specified model bank.
       
   294         * @since	2.0
       
   295         * @param	aModelBankID		model bank Id
       
   296 		* @return	System-wide errors
       
   297         */
       
   298 		IMPORT_C TInt GetAllModelIDs(TSIModelBankID aModelBankID);
       
   299 						
       
   300 		/**
       
   301 		*	Returns all pronunciation Ids that exist in the specified lexicon.
       
   302         * @since	2.0
       
   303         * @param	aLexiconID			lexicon Id
       
   304 		* @param	aPronunciationIDs	reference where pronunciation Ids 
       
   305 		*								are stored
       
   306         * @return	System-wide errors
       
   307         */
       
   308 		IMPORT_C TInt GetAllPronunciationIDs(TSILexiconID aLexiconID);
       
   309 					
       
   310 		/**
       
   311 		*	Returns all rule Ids that exist in the specified grammar.
       
   312         * @since	2.0
       
   313         * @param	aGrammarID			grammar Id
       
   314 		* @param	aRuleIDs			reference where rule Ids are stored
       
   315         * @return	System-wide errors
       
   316         */
       
   317 		IMPORT_C TInt GetAllRuleIDs(TSIGrammarID aGrammarID); 
       
   318 		
       
   319 		/**
       
   320         * 
       
   321         *	Returns the engine properties specified by the engine property 
       
   322 		*	ID array. On return aPropertyValue contains an array of engine 
       
   323 		*	properties.
       
   324         * @since 2.0
       
   325         * @param 	aPropertyId		constant reference to array of engine 
       
   326 		*							property Ids
       
   327 		* @param	aPropertyValue	reference to array of engine property 
       
   328 		*							values
       
   329         * @return	system wide error code
       
   330         */
       
   331 		IMPORT_C TInt GetEngineProperties(const RArray<TInt>& aPropertyId, 
       
   332 						RArray<TInt>& aPropertyValue);
       
   333 
       
   334 		/**
       
   335 		*	Returns the number of models in the specified model bank.
       
   336         * @since	2.0
       
   337         * @param	aModelBankID		model bank Id
       
   338 		* @param	aCount				reference where the number of models 
       
   339 		*								is set
       
   340         * @return	System-wide errors
       
   341         */
       
   342 		IMPORT_C TInt GetModelCount(TSIModelBankID aModelBankID, 
       
   343 						TInt& aModelCount);
       
   344 
       
   345 		/**
       
   346 		*	Checks if the rule is valid or not.
       
   347         * @since	2.0
       
   348         * @param	aGrammarID			grammar Id
       
   349 		* @param	aRuleID				rule Id
       
   350 		* @param	aValid				reference where the validity of the 
       
   351 		*								rule is set
       
   352         * @return	System-wide errors
       
   353         */
       
   354 		IMPORT_C TInt GetRuleValidity(TSIGrammarID aGrammarID, TSIRuleID aRuleID, 
       
   355 						TBool& aValid);
       
   356 
       
   357 		/**
       
   358 		*	Loads a grammar. Grammars are loaded between StartRecSession()
       
   359         *   and Recognize()
       
   360         *
       
   361         * @since	2.0
       
   362         * @param	aGrammarID			grammar Id
       
   363         * @return	System-wide errors
       
   364         */
       
   365 		IMPORT_C TInt LoadGrammar( TSIGrammarID aGrammarID );
       
   366 
       
   367 		/**
       
   368 		*	Activates a loaded and deactivated grammar.
       
   369         *
       
   370         * @since	2.8
       
   371         * @param	aGrammarID			grammar Id
       
   372         * @return	System-wide errors
       
   373         */
       
   374 		IMPORT_C TInt ActivateGrammar( TSIGrammarID aGrammarID );
       
   375 
       
   376 		/**
       
   377         *   Deactivates a loaded grammar so that it is not recognized.
       
   378         *
       
   379         * @since	2.8
       
   380         * @param	aGrammarID			grammar Id
       
   381         * @return	System-wide errors
       
   382         */
       
   383 		IMPORT_C TInt DeactivateGrammar( TSIGrammarID aGrammarID );
       
   384 
       
   385         /**
       
   386         *
       
   387         *	Loads the specified lexicon into the recognizer; 
       
   388 		*	done prior to recognition.
       
   389         * @since 2.0
       
   390         * @param 	aLexiconID			lexicon ID
       
   391         * @return	System-wide errors
       
   392         */
       
   393 		IMPORT_C TInt LoadLexicon(TSILexiconID aLexiconID);
       
   394 
       
   395 		/**
       
   396         *
       
   397         *	Loads the specified model bank into the recognizer; done prior 
       
   398 		*	to recognition..
       
   399         * @since 2.0
       
   400         * @param 	aModelBankID		model bank Id
       
   401         * @return	System-wide errors
       
   402         */
       
   403 		IMPORT_C TInt LoadModels(TSIModelBankID aModelBankID);
       
   404 
       
   405 		/**
       
   406 		*	Records uder utterance for training and recognition.
       
   407         * @since	2.0
       
   408         * @param	aRecordTime			recording time in microseconds
       
   409         * @return	System-wide errors
       
   410         */
       
   411 		IMPORT_C TInt Record(TTimeIntervalMicroSeconds32 aRecordTime);
       
   412 
       
   413 		/**
       
   414 		*	Removes the specified grammar from the permanent storage.
       
   415 		*	Removing a grammar will remove all rules within the grammar.
       
   416         * @since	2.0
       
   417         * @param	aGrammarID			grammar Id
       
   418         * @return	System-wide errors
       
   419         */
       
   420 		IMPORT_C TInt RemoveGrammar(TSIGrammarID aGrammarID);
       
   421 
       
   422 		/**
       
   423 		*	Removes the specified lexicon from the permanent storage.
       
   424 		*	Removing a lexicon will remove all pronunciations within the 
       
   425 		*	lexicon.
       
   426         * @since	2.0
       
   427         * @param	aLexiconID			lexicon Id
       
   428         * @return	-
       
   429         */
       
   430 		IMPORT_C TInt RemoveLexicon(TSILexiconID aLexiconID);
       
   431 
       
   432 		/**
       
   433 		*	Removes the specified model bank from the permanent storage.
       
   434 		*	Removing a model bank will remove all models within the model bank.
       
   435         * @since	2.0
       
   436         * @param	aModelBankID		model bank Id
       
   437         * @return	-
       
   438         */
       
   439 		IMPORT_C TInt RemoveModelBank(TSIModelBankID aModelBankID);
       
   440 
       
   441 		/**
       
   442 		*	Removes the specified model from the specified model bank 
       
   443 		*	permanently.
       
   444         * @since	2.0
       
   445         * @param	aModelBankID		model bank Id
       
   446 		* @param	aModelID			model Id
       
   447         * @return	System-wide errors
       
   448         */
       
   449 		IMPORT_C TInt RemoveModel(TSIModelBankID aModelBankID, 
       
   450 									TSIModelID aModelID);
       
   451 
       
   452 		/**
       
   453 		*	Removes the specified pronunciation from the specified lexicon
       
   454 		*	permanently.
       
   455         * @since	2.0
       
   456         * @param	aLexiconID			lexicon Id
       
   457 		* @param	aPronunciationID	pronunciation Id
       
   458         * @return	System-wide errors
       
   459         */
       
   460 		IMPORT_C TInt RemovePronunciation(TSILexiconID aLexiconID, 
       
   461 									TSIPronunciationID aPronunciationID);
       
   462 
       
   463 		/**
       
   464 		*	Removes the specified rule from the specified grammar permanently.
       
   465         * @since	2.0
       
   466         * @param	aGrammarID			grammar Id
       
   467 		* @param	aRuleID				rule Id
       
   468         * @return	System-wide errors
       
   469         */
       
   470 		IMPORT_C TInt RemoveRule(TSIGrammarID aGrammarID, TSIRuleID aRuleID);
       
   471 
       
   472 		/**
       
   473 		*	Removes the specified rule from the specified grammar permanently.
       
   474         * @since	2.8
       
   475         * @param	aGrammarID			grammar Id
       
   476 		* @param	aRuleIDs			array of rule ids
       
   477         * @return	System-wide errors
       
   478         */
       
   479 		IMPORT_C TInt RemoveRules(TSIGrammarID aGrammarID, RArray<TSIRuleID>& aRuleIDs);
       
   480 
       
   481 		/**
       
   482         *	Sets the client's UID for data ownership identification.
       
   483         * @since 2.0
       
   484         * @param	aClientUid			client's UID
       
   485         * @return	-
       
   486         */
       
   487 		IMPORT_C TInt SetClientUid( TUid aClientUid );
       
   488 
       
   489 		/**
       
   490 		*	Starts a new recognition session.
       
   491         * @since	2.0
       
   492         * @param	aMode				recognition mode
       
   493         * @return	System-wide errors
       
   494         */
       
   495 		IMPORT_C TInt StartRecSession(TNSSRecognitionMode aMode);
       
   496 
       
   497 		/**
       
   498 		*	Unloads the specified rule from the specified grammar in temporary 
       
   499 		*	memory, previously loaded with LoadGrammarL. The rule in the 
       
   500 		*	permanent storage remains intact.
       
   501         * @since	2.0
       
   502         * @param	aGrammarID			grammar Id
       
   503 		* @param	aRuleID				rule Id
       
   504         * @return	System-wide errors
       
   505         */
       
   506 		IMPORT_C TInt UnloadRule(TSIGrammarID aGrammarID, TSIRuleID aRuleID);
       
   507 
       
   508 		/**
       
   509 		*	Uploads the specified parameters into the engine.
       
   510         * @since	2.0
       
   511         * @param	aParameterId		array of parameter IDs
       
   512 		* @param	aParameterValue		array of parameter values
       
   513         * @return	System-wide errors
       
   514         */
       
   515 		IMPORT_C TInt LoadEngineParameters(const RArray<TInt>& aParameterId, 
       
   516 									const RArray<TInt>& aParameterValue);
       
   517 
       
   518 		/**
       
   519 		*	Get the pronunciation ID array. On return aPronunciationIDs contains
       
   520 		*	an array of pronunciation IDs.
       
   521         * @since	2.0
       
   522         * @param	aPronunciationIDs		array of pronunciation IDs
       
   523 		* @return	-
       
   524         */
       
   525 		IMPORT_C void GetPronunciationIDArrayL(RArray<TSIPronunciationID>& aPronunciationIDs);
       
   526 
       
   527 		/**
       
   528 		*	Get the rule ID array. On return aRuleIDs contains
       
   529 		*	an array of rule IDs.
       
   530         * @since	2.0
       
   531         * @param	aRuleIDs				array of rule IDs
       
   532 		* @return	-
       
   533         */
       
   534 		IMPORT_C void GetRuleIDArrayL(RArray<TSIRuleID>& aRuleIDs);
       
   535 
       
   536 		/**
       
   537 		*	Get the model ID array. On return aModelIDs contains
       
   538 		*	an array of model IDs.
       
   539         * @since	2.0
       
   540         * @param	aModelIDs				array of model IDs
       
   541 		* @return	-
       
   542         */
       
   543 		IMPORT_C void GetModelIDArrayL(RArray<TSIModelID>& aModelIDs);
       
   544 	
       
   545 		/**
       
   546 		*	Get the grammar ID array. On return aGrammarIDs contains
       
   547 		*	an array of rule IDs.
       
   548         * @since	2.0
       
   549         * @param	aGrammar				array of grammar IDs
       
   550 		* @return	-
       
   551         */
       
   552 		IMPORT_C void GetGrammarIDArrayL(RArray<TSIGrammarID>& aGrammarIDs);
       
   553 
       
   554 		/**
       
   555 		*	Get the lexicon ID array. On return aLexiconIDs contains
       
   556 		*	an array of lexicon IDs.
       
   557         * @since	2.0
       
   558         * @param	aLexicon				array of lexicon IDs
       
   559 		* @return	-
       
   560         */
       
   561 		IMPORT_C void GetLexiconIDArrayL(RArray<TSILexiconID>& aLexiconIDs);
       
   562 
       
   563 		/**
       
   564 		*	Get the model bank ID array. On return aModelBankIDs contains
       
   565 		*	an array of model bank IDs.
       
   566         * @since	2.0
       
   567         * @param	aModelBank				array of model bank IDs
       
   568 		* @return	-
       
   569         */
       
   570 		IMPORT_C void GetModelBankIDArrayL(RArray<TSIModelBankID>& aModelBankIDs);
       
   571 
       
   572 		/**
       
   573 		*	Get the client result set. This function should be called after recognition.
       
   574 		*	On return aResultSet contains client result set.
       
   575         * @since	2.8
       
   576         * @param	aResultSet Result set to be populated.
       
   577 		* @return	-
       
   578         */
       
   579 		IMPORT_C void GetSIResultSetL(CSIClientResultSet& aResultSet);
       
   580 
       
   581 
       
   582 private:
       
   583 		/**
       
   584         * 
       
   585         *	Returns the engine properties specified by the engine property 
       
   586 		*	ID array. On return aPropertyValue contains an array of engine 
       
   587 		*	properties. This function does the actual work.
       
   588         * @since 2.0
       
   589         * @param 	aPropertyId		constant reference to array of engine 
       
   590 		*							property Ids
       
   591 		* @param	aPropertyValue	reference to array of engine property 
       
   592 		*							values
       
   593         * @return	-
       
   594         */
       
   595 		void DoGetEnginePropertiesL(const RArray<TInt>& aPropertyId, 
       
   596 						RArray<TInt>& aPropertyValue);
       
   597 
       
   598 		/**
       
   599 		*	Uploads the specified parameters into the engine. This function does
       
   600 		*	the actual work.
       
   601         * @since	2.0
       
   602         * @param	aParameterId		array of parameter IDs
       
   603 		* @param	aParameterValue		array of parameter values
       
   604         * @return	-
       
   605         */
       
   606 		void DoLoadEngineParametersL(const RArray<TInt>& aParameterId, 
       
   607 									const RArray<TInt>& aParameterValue);
       
   608 
       
   609 		/**
       
   610 		*	Externalize an integer array.
       
   611         * @since	2.0
       
   612         * @param	aArray				array to externalize
       
   613         * @return	Pointer to externalized array.
       
   614         */
       
   615 		CBufFlat* ExternalizeIntArrayL(const RArray<TInt>& aArray);
       
   616 
       
   617 		/**
       
   618 		*	Internalize an integer array.
       
   619         * @since	2.0
       
   620         * @param	aDes				descriptor containing the data to internalize
       
   621 		* @param	aNumberElements		number of elements to internalize
       
   622 		* @param	aArray				contains the internalized array on exit
       
   623         * @return	-
       
   624         */
       
   625 		void InternalizeIntArrayL(TDes8& aDes, TInt aNumberElements, RArray<TInt>& aArray);
       
   626 
       
   627 private:
       
   628 		/**
       
   629 		*	Initiates recognition; performed following loading of model bank,
       
   630 		*	lexicon, and grammar. This function does the actual work and is trapped
       
   631 		*	by the public Recognize() function.
       
   632         * @since	2.0
       
   633         * @param	aResultSet			reference where the recognition result 
       
   634 		*								is set
       
   635         * @return	-
       
   636         */
       
   637 		void DoRecognizeL(CSDClientResultSet& aResultSet);
       
   638 
       
   639 		/**
       
   640 		*	Initiates speaker independent recognition; performed following
       
   641         *   loading of model bank, lexicon, and grammar. This function does
       
   642         *   the actual work and is trapped by the public Recognize() function.
       
   643         * @since	2.8
       
   644         * @param	aResultSet			reference where the recognition result 
       
   645 		*								is set
       
   646         * @return	-
       
   647         */
       
   648 		void DoRecognizeSIL(CSIClientResultSet& aResultSet);
       
   649 
       
   650 /****************************************************************************/
       
   651 private:
       
   652 
       
   653 		TAny* iReservedPtr_1;	// reserved for future expansion
       
   654 		TAny* iReservedPtr_2;	// reserved for future expansion
       
   655 
       
   656 
       
   657 };
       
   658 
       
   659 #endif  // NSS_SI_SPEECH_RECOGNITION_CUSTOM_COMMANDS_H
       
   660 
       
   661 // End of File