speechsrv_plat/nss_srs_custom_commands_api/inc/nsssispeechrecognitioncustomcommandparser.h
changeset 13 57b735022c18
parent 1 b13cd05eeb2f
equal deleted inserted replaced
1:b13cd05eeb2f 13:57b735022c18
     1 /*
       
     2 * Copyright (c) 2004-2007 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 server side for the
       
    15 *               speaker independent controller.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef NSSSISPEECHRECOGNITIONCUSTOMCOMMANDPARSER_H
       
    21 #define NSSSISPEECHRECOGNITIONCUSTOMCOMMANDPARSER_H
       
    22 
       
    23 // INCLUDE FILES
       
    24 #include <mmfcontroller.h>
       
    25 #include <nsssispeechrecognitioncustomcommandimplementor.h>
       
    26 
       
    27 // FORWARD DECLARATIONS
       
    28 class CSDClientResultSet;
       
    29 
       
    30 // CLASS DECLARATION
       
    31 
       
    32 /**
       
    33 *  This is the main class of Speaker Independent Custom Commands Parser
       
    34 *
       
    35 *  @lib nsssispeechrecognitioncustomcommands.lib
       
    36 *  @since 2.8
       
    37 */
       
    38 class CSISpeechRecognitionCustomCommandParser : public CMMFCustomCommandParserBase
       
    39 {
       
    40 
       
    41 public:
       
    42 	    /**
       
    43         * 
       
    44         *	Factory function for creating this class.
       
    45         * @since 2.0
       
    46         * @param 	aImplementor		reference to custom commands 
       
    47 		*								implementor
       
    48         * @return	pointer to CSISpeechRecognitionCustomCommandParser object
       
    49         */
       
    50 		IMPORT_C static CSISpeechRecognitionCustomCommandParser* NewL(
       
    51 							MSISpeechRecognitionCustomCommandImplementor& 
       
    52 							aImplementor);
       
    53 
       
    54 		/**
       
    55         * 
       
    56         *	Destructor
       
    57         * @since 2.0
       
    58         */
       
    59 		IMPORT_C  ~CSISpeechRecognitionCustomCommandParser();
       
    60 
       
    61 		/**
       
    62         * 
       
    63         *	Handles the request from the client
       
    64         * @since 2.0
       
    65         * @param 	aMessage			message containing the information of the
       
    66 		*								request.
       
    67         */
       
    68 		void HandleRequest(TMMFMessage& aMessage);
       
    69 
       
    70 private:
       
    71 	    /**
       
    72         * 
       
    73         *	C++ constructor for CSISpeechRecognitionCustomCommandParser class.
       
    74         * @since 2.0
       
    75         * @param 	aImplementor		reference to custom commands 
       
    76 		*								implementor
       
    77         */
       
    78 		CSISpeechRecognitionCustomCommandParser(
       
    79 			MSISpeechRecognitionCustomCommandImplementor& aImplementor);
       
    80 
       
    81 		/**
       
    82         * 
       
    83         *	Private method to handle the request from the client
       
    84         * @since 2.0
       
    85         * @param 	aMessage			message containing the information
       
    86 		*								of the request.
       
    87         */
       
    88 		void  DoHandleRequestL(TMMFMessage& aMessage);
       
    89 
       
    90 		/**
       
    91         * 
       
    92 		*	Adds a new pronunciation for the given model into the specified
       
    93 		*	lexicon.
       
    94         * @since	2.0
       
    95         * @param 	aMessage			message containing the information of 
       
    96 		*								the request.
       
    97 		*/
       
    98 		void DoAddPronunciationL(TMMFMessage& aMessage);
       
    99 
       
   100 		/**
       
   101 		*	Adds a new rule for the given pronunciation into the 
       
   102 		*	specified grammar.
       
   103         * @since	2.0
       
   104         * @param 	aMessage			message containing the information
       
   105 		*								of the request.
       
   106 		*/
       
   107 		void DoAddRuleL(TMMFMessage& aMessage);
       
   108 
       
   109 		/**
       
   110         * 
       
   111         *	Cancels the current operation
       
   112         * @since 2.0
       
   113         * @param 	-
       
   114 		*/
       
   115 		void DoCancel();
       
   116 
       
   117         /**
       
   118 		*	Saves the current changes into a permanent storage.
       
   119         * @since 2.0
       
   120         * @param	-
       
   121         */
       
   122 		void DoCommitChangesL();
       
   123 
       
   124 		/**
       
   125         * 
       
   126         *	Creates a new grammar.
       
   127         * @since 2.0
       
   128         * @param 	aMessage				message containing the information 
       
   129 		*									of the request.
       
   130         */
       
   131 		void DoCreateGrammarL(TMMFMessage& aMessage);
       
   132 
       
   133 		/**
       
   134         * 
       
   135         *	Creates a new lexicon.
       
   136         * @since 2.0
       
   137         * @param 	aMessage				message containing the information 
       
   138 		*									of the request.
       
   139         */
       
   140 		void DoCreateLexiconL(TMMFMessage& aMessage);
       
   141 
       
   142         /**
       
   143 		*	Creates a new model bank.
       
   144         * @since	2.0
       
   145         * @param 	aMessage				message containing the information
       
   146 		*									of the request.
       
   147         */
       
   148 		void DoCreateModelBankL(TMMFMessage& aMessage);
       
   149 
       
   150 		/**
       
   151 		*	Ends the current recognition session. Resources allocated for 
       
   152 		*	recognition are freed.
       
   153         * @since	2.0
       
   154         * @param 	aMessage				message containing the information 
       
   155 		*									of the request.
       
   156         */
       
   157 		void DoEndRecSessionL();
       
   158 
       
   159 		/**
       
   160         *	Returns all grammar Ids that belong to the current client, 
       
   161 		*	whose UID was set with SetClientUid().
       
   162         * @since 2.0
       
   163         * @param 	aMessage				message containing the information 
       
   164 		*									of the request.
       
   165         */
       
   166 		void DoGetAllClientGrammarIDsL();
       
   167 
       
   168 		/**
       
   169  		*	Returns all lexicon Ids that belong to the current client, 
       
   170 		*	whose UID was set with SetClientUid().
       
   171         * @since 2.0
       
   172         * @param 	aMessage				message containing the information 
       
   173 		*									of the request.
       
   174         */
       
   175 		void DoGetAllClientLexiconIDsL();
       
   176 
       
   177 		/**
       
   178         *	Returns all model bank Ids that belong to the current client, 
       
   179 		*	whose UID was set with SetClientUid().
       
   180         * @since 2.0
       
   181         * @param 	aMessage				message containing the information 
       
   182 		*									of the request.
       
   183         */
       
   184 		void DoGetAllClientModelBankIDsL();
       
   185 
       
   186 		/**
       
   187 		*	Returns all grammar Ids that exist (for all clients).
       
   188         * @since 2.0
       
   189         */
       
   190 		void DoGetAllGrammarIDsL();
       
   191 
       
   192 		/**
       
   193 		*	Returns all lexicon Ids that exist (for all clients).
       
   194         * @since 2.0
       
   195         * @param 	aMessage				message containing the information 
       
   196 		*									of the request.
       
   197         */
       
   198 		void DoGetAllLexiconIDsL();
       
   199 
       
   200 		/**
       
   201  		*	Returns all model bank Ids that exist (for all clients).
       
   202         * @since 2.0
       
   203         * @param 	aMessage				message containing the information 
       
   204 		*									of the request.
       
   205         */
       
   206 		void DoGetAllModelBankIDsL();
       
   207 
       
   208 		/**
       
   209 		*	Returns all model Ids that exist in the specified model bank.
       
   210         * @since	2.0
       
   211         * @param 	aMessage				message containing the information
       
   212 		*									of the request.
       
   213         */
       
   214 		void DoGetAllModelIDsL(TMMFMessage& aMessage);
       
   215 
       
   216 		/**
       
   217 		*	Returns all pronunciation Ids that exist in the specified lexicon.
       
   218         * @since	2.0
       
   219         * @param 	aMessage				message containing the information 
       
   220 		*									of the request.
       
   221         */
       
   222 		void DoGetAllPronunciationIDsL(TMMFMessage& aMessage);
       
   223 
       
   224 		/**
       
   225 		*	Returns all rule Ids that exist in the specified grammar.
       
   226         * @since	2.0
       
   227         * @param 	aMessage				message containing the information 
       
   228 		*									of the request.
       
   229         */
       
   230 		void DoGetAllRuleIDsL(TMMFMessage& aMessage);
       
   231 
       
   232 		/**
       
   233 		*	Returns the number of models available for training system wide, 
       
   234 		*	based on available disk space.
       
   235         * @since	2.0
       
   236         * @param 	aMessage				message containing the information of
       
   237 		*									the request.
       
   238         */
       
   239 		void DoGetAvailableStorageL(TMMFMessage& aMessage);
       
   240 
       
   241 		/**
       
   242         * 
       
   243         *	Returns the engine properties.
       
   244         * @since 2.0
       
   245         * @param 	aMessage				message containing the information of
       
   246 		*									the request.
       
   247         */
       
   248 		void DoGetEnginePropertiesL(TMMFMessage& aMessage);
       
   249 
       
   250 		/**
       
   251 		*	Returns the number of models in the specified model bank.
       
   252         * @since	2.0
       
   253         * @param 	aMessage				message containing the information 
       
   254 		*									of the request.
       
   255         */
       
   256 		void DoGetModelCountL(TMMFMessage& aMessage);
       
   257 
       
   258 		/**
       
   259 		*	Checks if the rule is valid or not.
       
   260         * @since	2.0
       
   261         * @param 	aMessage				message containing the information
       
   262 		*									of the request.
       
   263         */
       
   264 		void DoGetRuleValidityL(TMMFMessage& aMessage);
       
   265 
       
   266 		/**
       
   267         * 
       
   268         *	Returns the duration of the utterance for the specified model.
       
   269         * @since 2.0
       
   270         * @param 	aMessage				message containing the information
       
   271 		*									of the request.
       
   272         */
       
   273 		void DoGetUtteranceDurationL(TMMFMessage& aMessage);
       
   274 
       
   275 		/**
       
   276         * Loads a gramamr. Grammars must be loaded prior to recognition.
       
   277         *
       
   278         * @since	2.0
       
   279         * @param 	aMessage				message containing the information
       
   280 		*									of the request.
       
   281         */
       
   282 		void DoLoadGrammarL(TMMFMessage& aMessage);
       
   283 
       
   284 		/**
       
   285 		*	Activates a previously deactivated gramamr.
       
   286         *
       
   287         * @since	2.0
       
   288         * @param 	aMessage				message containing the information
       
   289 		*									of the request.
       
   290         */
       
   291 		void DoActivateGrammarL(TMMFMessage& aMessage);
       
   292 
       
   293 		/**
       
   294         *   Deactivates a loaded gramamr, so that it is not recognized.
       
   295         *
       
   296         * @since	2.0
       
   297         * @param 	aMessage				message containing the information
       
   298 		*									of the request.
       
   299         */
       
   300 		void DoDeactivateGrammarL(TMMFMessage& aMessage);
       
   301 
       
   302         /**
       
   303         * 
       
   304         *	Loads the specified lexicon into the recognizer; done prior to 
       
   305 		*	recognition.
       
   306         * @since 2.0
       
   307         * @param 	aMessage				message containing the information
       
   308 		*									of the request.
       
   309         */
       
   310 		void DoLoadLexiconL(TMMFMessage& aMessage);
       
   311 
       
   312 		/**
       
   313         * 
       
   314         *	Loads the specified model bank into the recognizer; done prior 
       
   315 		*	to recognition..
       
   316         * @since 2.0
       
   317         * @param 	aMessage				message containing the information
       
   318 		*									of the request.
       
   319         */
       
   320 		void DoLoadModelsL(TMMFMessage& aMessage);
       
   321 
       
   322 		/**
       
   323 		*	Plays the previously trained utterance.
       
   324         * @since	2.0
       
   325         * @param 	aMessage				message containing the information
       
   326 		*									of the request.
       
   327         */
       
   328 		void DoPlayUtteranceL(TMMFMessage& aMessage);
       
   329 
       
   330 		/**
       
   331 		*	Initiates recognition; performed following loading of model bank, 
       
   332 		*	lexicon, and grammar.
       
   333         * @since	2.0
       
   334         * @param 	aMessage				message containing the information
       
   335 		*									of the request.
       
   336         */
       
   337 		void DoRecognizeL(TMMFMessage& aMessage);
       
   338 
       
   339 		/**
       
   340 		*	Records uder utterance for training and recognition.
       
   341         * @since	2.0
       
   342         * @param 	aMessage				message containing the information
       
   343 		*									of the request.
       
   344         */
       
   345 		void DoRecordL(TMMFMessage& aMessage);
       
   346 
       
   347 		/**
       
   348 		*	Removes the specified grammar from the permanent storage.
       
   349 		*	Removing a grammar will remove all rules within the grammar.
       
   350         * @since	2.0
       
   351         * @param 	aMessage				message containing the information
       
   352 		*									of the request.
       
   353         */
       
   354 		void DoRemoveGrammarL(TMMFMessage& aMessage);
       
   355 
       
   356 		/**
       
   357 		*	Removes the specified lexicon from the permanent storage.
       
   358 		*	Removing a lexicon will remove all pronunciations within 
       
   359 		*	the lexicon.
       
   360         * @since	2.0
       
   361         * @param 	aMessage				message containing the information 
       
   362 		*									of the request.
       
   363         */
       
   364 		void DoRemoveLexiconL(TMMFMessage& aMessage);
       
   365 
       
   366 		/**
       
   367 		*	Removes the specified model bank from the permanent storage.
       
   368 		*	Removing a model bank will remove all models within the model
       
   369 		*	bank.
       
   370         * @since	2.0
       
   371         * @param 	aMessage				message containing the information
       
   372 		*									of the request.
       
   373         */
       
   374 		void DoRemoveModelBankL(TMMFMessage& aMessage);
       
   375 
       
   376 		/**
       
   377 		*	Removes the specified model from the specified model bank 
       
   378 		*	permanently.
       
   379         * @since	2.0
       
   380         * @param 	aMessage				message containing the information
       
   381 		*									of the request.
       
   382         */
       
   383 		void DoRemoveModelL(TMMFMessage& aMessage);
       
   384 
       
   385 		/**
       
   386 		*	Removes the specified pronunciation from the specified 
       
   387 		*	lexicon permanently.
       
   388         * @since	2.0
       
   389         * @param 	aMessage				message containing the information
       
   390 		*									of the request.
       
   391         */
       
   392 		void DoRemovePronunciationL(TMMFMessage& aMessage);
       
   393 
       
   394 		/**
       
   395 		*	Removes the specified rule from the specified grammar permanently.
       
   396         * @since	2.0
       
   397         * @param 	aMessage				message containing the information
       
   398 		*									of the request.
       
   399         */
       
   400 		void DoRemoveRuleL(TMMFMessage& aMessage);
       
   401 		
       
   402 		/**
       
   403 		* Removes the specified rules from the specified grammar permanently
       
   404 		* @param 	aMessage				message containing the information
       
   405 		*									of the request.
       
   406 		*/
       
   407 		void DoRemoveRulesL( TMMFMessage& aMessage );	
       
   408 
       
   409 
       
   410 		/**
       
   411         *	Sets the client's UID for data ownership identification.
       
   412         * @since 2.0
       
   413         * @param	aMessage				message containing the information 
       
   414 		*									of the request.
       
   415         */
       
   416 		void DoSetClientUidL(TMMFMessage& aMessage);
       
   417 
       
   418 		/**
       
   419 		*	Starts a new recognition session.
       
   420         * @since	2.0
       
   421         * @param 	aMessage				message containing the information 
       
   422 		*									of the request.
       
   423         */
       
   424 		void DoStartRecSessionL(TMMFMessage& aMessage);
       
   425 
       
   426         /**
       
   427 		*	Trains a new model into the specified model bank.
       
   428         * @since	2.0
       
   429         * @param 	aMessage				message containing the information
       
   430 		*									of the request.
       
   431         */
       
   432 		void DoTrainL(TMMFMessage& aMessage);
       
   433 
       
   434 		/**
       
   435 		*	Unloads the specified rule from the specified grammar in temporary 
       
   436 		*	memory, previously loaded with LoadGrammarL.  The rule in the permanent 
       
   437 		*	storage remains intact.
       
   438         * @since	2.0
       
   439         * @param 	aMessage				message containing the information
       
   440 		*									of the request.
       
   441         */
       
   442 		void DoUnloadRuleL(TMMFMessage& aMessage);
       
   443 
       
   444 		/**
       
   445 		*	Loads the specified parameters into the engine.
       
   446         * @since	2.0
       
   447         * @param 	aMessage				message containing the information
       
   448 		*									of the request.
       
   449         */
       
   450 		void DoLoadEngineParametersL(TMMFMessage& aMessage);
       
   451 
       
   452 // ================================ SI Extensions ============================ //
       
   453 
       
   454 		/**
       
   455 		*	Adapts acoustic models to a user's voice.
       
   456         * @since	2.8
       
   457         * @param 	aMessage				message containing the information
       
   458 		*									of the request.
       
   459         */
       
   460         void DoAdaptL(TMMFMessage& aMessage);
       
   461 
       
   462 		/**
       
   463 		*	Adds a speaker independent pronunciation.
       
   464         * @since	2.8
       
   465         * @param 	aMessage				message containing the information
       
   466 		*									of the request.
       
   467         */
       
   468         void DoAddPronunciationSIL(TMMFMessage& aMessage);
       
   469 
       
   470 		/**
       
   471 		*	Adds a rule variant.
       
   472         * @since	2.8
       
   473         * @param 	aMessage				message containing the information
       
   474 		*									of the request.
       
   475         */
       
   476         void DoAddRuleVariantL(TMMFMessage& aMessage);
       
   477 
       
   478 		/**
       
   479 		*	Adds a voice tag.
       
   480         * @since	2.8
       
   481         * @param 	aMessage				message containing the information
       
   482 		*									of the request.
       
   483         */
       
   484         void DoAddVoiceTagL(TMMFMessage& aMessage);
       
   485 
       
   486 		/**
       
   487 		*	Adds several voice tags.
       
   488         * @since	2.8
       
   489         * @param 	aMessage				message containing the information
       
   490 		*									of the request.
       
   491         */
       
   492         void DoAddVoiceTagsL(TMMFMessage& aMessage);
       
   493 
       
   494 		/**
       
   495 		*	Creates an empty rule.
       
   496         * @since	2.8
       
   497         * @param 	aMessage				message containing the information
       
   498 		*									of the request.
       
   499         */
       
   500         void DoCreateRuleL(TMMFMessage& aMessage);
       
   501 
       
   502 		/**
       
   503 		*	Stops recording (recognizing).
       
   504         * @since	2.8
       
   505         * @param 	aMessage				message containing the information
       
   506 		*									of the request.
       
   507         */
       
   508         void DoEndRecordL(TMMFMessage& aMessage);
       
   509 
       
   510 		/**
       
   511 		*	Starts speaker independent recognition.
       
   512         * @since	2.8
       
   513         * @param 	aMessage				message containing the information
       
   514 		*									of the request.
       
   515         */
       
   516         void DoRecognizeSIL(TMMFMessage& aMessage);
       
   517 
       
   518 		/**
       
   519 		*	Deactivates a grammar from the recognition vocabulary.
       
   520         * @since	2.8
       
   521         * @param 	aMessage				message containing the information
       
   522 		*									of the request.
       
   523         */
       
   524         void DoUnloadGrammarL(TMMFMessage& aMessage);
       
   525 
       
   526         /**
       
   527         * Adds one SINDE voice tag.
       
   528         *
       
   529         * @since 3.1
       
   530         * @param aMessage Message containing the information of the request.
       
   531         */
       
   532         void CSISpeechRecognitionCustomCommandParser::DoAddSindeVoiceTagL( TMMFMessage& aMessage );
       
   533 
       
   534         /**
       
   535         * Adds an array of voice tags.
       
   536         *
       
   537         * @since 3.1
       
   538         * @param aMessage Message containing the information of the request.
       
   539         */
       
   540         void CSISpeechRecognitionCustomCommandParser::DoAddSindeVoiceTagsL( TMMFMessage& aMessage );
       
   541 
       
   542         /**
       
   543         * Pre-starts sampling
       
   544         *
       
   545         * @since 3.2
       
   546         * @param aMessage Message containing the information of the request.
       
   547         */
       
   548         void DoPreStartSamplingL( TMMFMessage& aMessage );
       
   549 
       
   550 private:
       
   551 
       
   552 		/**
       
   553 		*	Copy the pronunciation ID array to the client.
       
   554         * @since	2.0
       
   555         * @param 	aMessage				message containing the information
       
   556 		*									of the request.
       
   557         */
       
   558 		void DoCopyPronunciationIDArrayL(TMMFMessage& aMessage);
       
   559 
       
   560 		/**
       
   561 		*	Copy the model ID array to the client.
       
   562         * @since	2.0
       
   563         * @param 	aMessage				message containing the information
       
   564 		*									of the request.
       
   565         */
       
   566 		void DoCopyModelIDArrayL(TMMFMessage& aMessage);
       
   567 
       
   568 		/**
       
   569 		*	Copy the rule ID array to the client.
       
   570         * @since	2.0
       
   571         * @param 	aMessage				message containing the information
       
   572 		*									of the request.
       
   573         */
       
   574 		void DoCopyRuleIDArrayL(TMMFMessage& aMessage);
       
   575 	
       
   576 		/**
       
   577 		*	Copy the grammar ID array to the client.
       
   578         * @since	2.0
       
   579         * @param 	aMessage				message containing the information
       
   580 		*									of the request.
       
   581         */
       
   582 		void DoCopyGrammarIDArrayL(TMMFMessage& aMessage);
       
   583 
       
   584 		/**
       
   585 		*	Copy the lexicon ID array to the client.
       
   586         * @since	2.0
       
   587         * @param 	aMessage				message containing the information
       
   588 		*									of the request.
       
   589         */
       
   590 		void DoCopyLexiconIDArrayL(TMMFMessage& aMessage);
       
   591 
       
   592 		/**
       
   593 		*	Copy the model bank ID array to the client.
       
   594         * @since	2.0
       
   595         * @param 	aMessage				message containing the information
       
   596 		*									of the request.
       
   597         */
       
   598 		void DoCopyModelBankIDArrayL(TMMFMessage& aMessage);
       
   599 
       
   600 		/**
       
   601 		*	Externalize the recognition result set.
       
   602         * @since	2.0
       
   603         */
       
   604 		void DoExternalizeResultSetL();
       
   605 
       
   606 		/**
       
   607 		*	Externalize the speaker independent recognition result set.
       
   608         * @since	2.0
       
   609         */
       
   610         void DoExternalizeSIResultSetL();
       
   611 
       
   612 		/**
       
   613 		*	Copy the recognition result set to the client.
       
   614         * @since	2.0
       
   615         * @param 	aMessage				message containing the information
       
   616 		*									of the request.
       
   617         */
       
   618 		void DoCopyResultSetL(TMMFMessage& aMessage);
       
   619 
       
   620 
       
   621 		/**
       
   622 		*	Extract an integer array from client data 1.
       
   623         * @since	2.0
       
   624         * @param 	aMessage				message containing the information
       
   625 		*									of the request.
       
   626 		* @param	aArray					RArray to contain the data on exit.
       
   627         */
       
   628 		void DoExtractIntArrayFromData1L(TMMFMessage& aMessage, RArray<TInt>& aArray);
       
   629 	
       
   630 
       
   631 		/**
       
   632 		*	Extract an integer array from client data 2.
       
   633         * @since	2.0
       
   634         * @param 	aMessage				message containing the information
       
   635 		*									of the request.
       
   636 		* @param	aArray					RArray to contain the data on exit.
       
   637         */
       
   638 		void DoExtractIntArrayFromData2L(TMMFMessage& aMessage, RArray<TInt>& aArray);
       
   639 
       
   640 		/**
       
   641 		*	Extract an integer array from a descriptor into an RArray.
       
   642         * @since	2.0
       
   643         * @param 	aMessage				message containing the information
       
   644 		*									of the request.
       
   645 		* @param	aArray					RArray to contain the data on exit.
       
   646         */
       
   647 		void DoExtractIntArrayL(TDes8& aDescriptor, RArray<TInt>& aArray);
       
   648 
       
   649 		/**
       
   650 		*	Copy data from an RArray to the client.
       
   651         * @since	2.0
       
   652         * @param 	aMessage				message containing the information
       
   653 		*									of the request.
       
   654 		* @param	aArray					RArray copied to the client.
       
   655         */
       
   656 		void DoCopyIntArrayL(TMMFMessage& aMessage, const RArray<TInt>& aArray);
       
   657 
       
   658 		// reference to the Custom Command Implementor class
       
   659 		MSISpeechRecognitionCustomCommandImplementor& iImplementor; 
       
   660 
       
   661 		// Contains the array of pronunciation IDs
       
   662 		RArray<TSIPronunciationID> iPronunciationIDs;
       
   663 		// Contains the array of model IDs
       
   664 		RArray<TSIModelID> iModelIDs;
       
   665 		// Contains the array of rule IDs
       
   666 		RArray<TSIRuleID> iRuleIDs;
       
   667 		// Contains the array of grammar IDs
       
   668 		RArray<TSIGrammarID> iGrammarIDs;
       
   669 		// Contains the array of lexicon IDs
       
   670 		RArray<TSILexiconID> iLexiconIDs;
       
   671 		// Contains the array of model bank IDs
       
   672 		RArray<TSIModelBankID> iModelBankIDs;
       
   673         // Contains the language array
       
   674         RArray<TLanguage> iLanguageArray;
       
   675         // Contains the array of language arrays
       
   676         RArray<RLanguageArray> iLanguageArrayArray;
       
   677 		// Contains the client result set !!!! Obsolete
       
   678 		CSDClientResultSet* iResultSet;
       
   679         // Contains the client result set for SI recognition
       
   680         CSIClientResultSet* iSIResultSet;
       
   681 		// temporary copy buffer
       
   682 		CBufFlat* iResultCopyBuffer;
       
   683         // Contains the word array of AddVoiceTag
       
   684         MDesCArray* iWordArray;
       
   685         // Contains the result set, which is used in adaptation.
       
   686         CSIClientResultSet* iAdaptationSet;
       
   687 
       
   688 		TAny* iReservedPtr_1;	// reserved for future expansion
       
   689 		TAny* iReservedPtr_2;	// reserved for future expansion
       
   690 
       
   691 };
       
   692 
       
   693 #endif  // NSSSISPEECHRECOGNITIONCUSTOMCOMMANDPARSER_H
       
   694 
       
   695 // End of file