speechsrv_plat/nss_srs_utility_api/inc/nsssiutilitybase.h
branchRCL_3
changeset 18 cad71a31b7fc
parent 17 8ce15fced3a6
child 19 e36f3802f733
equal deleted inserted replaced
17:8ce15fced3a6 18:cad71a31b7fc
     1 /*
       
     2 * Copyright (c) 2006-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:  Base class for TTS utility API
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef NSSSIUTILITYBASE_H
       
    20 #define NSSSIUTILITYBASE_H
       
    21 
       
    22 // INCLUDES
       
    23 #include <e32base.h>
       
    24 #include <nsssispeechrecognitiondataclient.h>
       
    25 #include <nsssispeechrecognitionutilityobserver.h>
       
    26 
       
    27 // CLASS DECLARATION
       
    28 
       
    29 /**
       
    30 * MSISpeechRecognitionUtilityBase
       
    31 * Interface class for CSISpeechRecognitionUtility
       
    32 * @since 3.1
       
    33 */
       
    34 class MSISpeechRecognitionUtilityBase
       
    35     {
       
    36     public:     
       
    37    
       
    38         /**
       
    39         * Second phase construction.
       
    40         * Needed when dynamically loading nsssispeechrecognitionutility.dll
       
    41         * Direct users of CSISpeechRecognitionUtility should not use this.
       
    42         *
       
    43         * @since 3.1
       
    44         * @param aClientUid Client UID for data ownership, other clients won't
       
    45         *                   be able to modify the data registered to certain client
       
    46         * @param aPluginUid UID of the plugin which will be used, KNullUid to 
       
    47         *                    search for suitable plugin
       
    48         * @param aObserver Callback observer reference
       
    49         */
       
    50         virtual void CreateInstanceSecondPhaseL( TUid aClientUid, 
       
    51                                                  TUid aPluginUid, 
       
    52                                                  MSISpeechRecognitionUtilityObserver& aObserver ) = 0;
       
    53                                                  
       
    54         /**
       
    55         * Destructor. Defined here so that client can use M-class pointer to destroy
       
    56         * the concrete C-object
       
    57         */                                         
       
    58         virtual ~MSISpeechRecognitionUtilityBase() {};
       
    59            
       
    60         /**
       
    61         * Returns the engine properties specified by the engine property 
       
    62         * ID array. On return aPropertyValue contains an array of engine 
       
    63         * properties.
       
    64         *
       
    65         * @since 3.1
       
    66         * @param aPropertyId constant reference to array of engine property Ids
       
    67         * @param aPropertyValue reference to array of engine property values
       
    68         * @return system wide error code
       
    69         */
       
    70         virtual TInt GetEngineProperties( const RArray<TInt>& aPropertyId, 
       
    71                                           RArray<TInt>& aPropertyValue ) = 0;
       
    72 
       
    73         /**
       
    74         * Adapts the speaker independent models to a specific speaker's voice.
       
    75         *
       
    76         * @since 3.1
       
    77         * @param aResultSet Recognition result N-Best
       
    78         * @param aCorrect Index to N-Best pointing the correct result.
       
    79         * @return system wide error code
       
    80         */
       
    81         virtual TInt Adapt( const CSIClientResultSet& aResultSet,
       
    82                             TInt aCorrect ) = 0;
       
    83 
       
    84         /**
       
    85         * Adds a new pronunciation for the given text phrase into the 
       
    86         * specified lexicon.
       
    87         *
       
    88         * @since 3.1
       
    89         * @param aLexiconID lexicon Id, where the new pronunciation is added to
       
    90         * @param aTextForTraining Text to be trained
       
    91         * @param aLanguage Pronunciation language
       
    92         * @param aPronunciationID reference where a new pronunciation Id is assigned to
       
    93         * @return system wide error code
       
    94         */
       
    95         virtual TInt AddPronunciation( TSILexiconID aLexiconID,
       
    96                                        const TDesC& aTextForTraining,
       
    97                                        TLanguage aLanguage,
       
    98                                        TSIPronunciationID& aPronunciationID ) = 0;
       
    99 
       
   100         /**
       
   101         * Adds a new rule for the given pronunciation into the 
       
   102         * specified grammar.
       
   103         *
       
   104         * @since 3.1
       
   105         * @param aGrammarID grammar Id, where the new rule is added to
       
   106         * @param aLexiconID lexicon Id
       
   107         * @param aPronunciationID pronunciation Id
       
   108         * @param aRuleID reference where a new rule Id is assigned to
       
   109         * @return system wide error code
       
   110         */
       
   111         virtual TInt AddRule( TSIGrammarID aGrammarID,
       
   112                               TSILexiconID aLexiconID,
       
   113                               TSIPronunciationID aPronunciationID,
       
   114                               TSIRuleID& aRuleID ) = 0;
       
   115 
       
   116         /**
       
   117         * Adds a new rule variant for the given pronunciation into the 
       
   118         * specified grammar.
       
   119         *
       
   120         * @since 3.1
       
   121         * @param aGrammarID grammar Id, where the new rule is added to
       
   122         * @param aRuleID the rule Id, which will contain this variant
       
   123         * @param aPronunciationIDs the phrase is the concatenation of these pronunciation IDs
       
   124         * @param aRuleVariantID reference where a new rule variant Id is assigned to
       
   125         * @return system wide error code
       
   126         */
       
   127         virtual TInt AddRuleVariant( TSIGrammarID aGrammarID,
       
   128                                      TSILexiconID aLexiconID,
       
   129                                      RArray<TSIPronunciationID>& aPronunciationIDs,
       
   130                                      TSIRuleID aRuleID,
       
   131                                      TSIRuleVariantID& aRuleVariantID ) = 0;
       
   132 
       
   133         /**
       
   134         * Adds a new rule for the given phrase into the 
       
   135         * specified grammar.
       
   136         *
       
   137         * @since 3.1
       
   138         * @param aTextArray the text to be trained, divided in to words.
       
   139         *                   The phrase is the concatenation of these words.
       
   140         * @param aLanguageArray pronunciations will be generated for these languages
       
   141         * @param aLexiconID lexicon, where to add pronunciations
       
   142         * @param aGrammarID grammar, where to add rules
       
   143         * @param aRuleID the ID of the rule will be placed on this variable.
       
   144         * @return system wide error code
       
   145         */
       
   146         virtual TInt AddVoiceTag( MDesCArray& aTextArray,
       
   147                                   const RArray<TLanguage>& aLanguageArray,
       
   148                                   TSILexiconID aLexiconID,
       
   149                                   TSIGrammarID aGrammarID,
       
   150                                   TSIRuleID& aRuleID ) = 0;
       
   151 
       
   152         /**
       
   153         * Adds a new rules for the given phrases into the 
       
   154         * specified grammar.
       
   155         *
       
   156         * @since 3.1
       
   157         * @param aTextArrayArray Array of text arrays. The phrase k is the concatenation
       
   158         *                        of texts in array k.
       
   159         * @param aLanguageArray pronunciations will be generated for these languages
       
   160         * @param aLexiconID lexicon, where to add pronunciations
       
   161         * @param aGrammarID grammar, where to add rules
       
   162         * @param aRuleID the ID of the rule will be placed on this variable.
       
   163         *                If some of the names fail while others succeed,
       
   164         *                KInvalidRuleID will be placed to the array.
       
   165         * @return system wide error code
       
   166         */
       
   167         virtual TInt AddVoiceTags( const RPointerArray<MDesCArray> &aTextArrayArray,
       
   168                                    const RArray<TLanguage> &aLanguageArray,
       
   169                                    TSILexiconID aLexiconID,
       
   170                                    TSIGrammarID aGrammarID, 
       
   171                                    RArray<TSIRuleID>& aRuleIDArray ) = 0;
       
   172 
       
   173         /**
       
   174         * Adds a new rule for the given phrase into the 
       
   175         * specified grammar.
       
   176         *
       
   177         * @since 3.1
       
   178         * @param aTextArray The text to be trained, divided in to words.
       
   179         *                   The phrase is the concatenation of these words.
       
   180         * @param aLanguageArray Pronunciations will be generated for these languages
       
   181         * @param aLexiconID Lexicon, where to add pronunciations
       
   182         * @param aGrammarID Grammar, where to add rules
       
   183         * @param aRuleID The ID of the rule will be placed on this variable.
       
   184         * @return System wide error code
       
   185         */
       
   186         virtual TInt AddVoiceTag( MDesCArray& aTextArray,
       
   187                                   const RArray<RLanguageArray>& aLanguageArray,
       
   188                                   TSILexiconID aLexiconID,
       
   189                                   TSIGrammarID aGrammarID,
       
   190                                   TSIRuleID& aRuleID ) = 0;
       
   191 
       
   192         /**
       
   193         * Adds a new rules for the given phrases into the 
       
   194         * specified grammar.
       
   195         *
       
   196         * @since 3.1
       
   197         * @param aTextArrayArray Array of text arrays. The phrase k is the concatenation
       
   198         *                        of texts in array k.
       
   199         * @param aLanguageArray pronunciations will be generated for these languages
       
   200         * @param aLexiconID lexicon, where to add pronunciations
       
   201         * @param aGrammarID grammar, where to add rules
       
   202         * @param aRuleID the ID of the rule will be placed on this variable.
       
   203         *                If some of the names fail while others succeed,
       
   204         *                KInvalidRuleID will be placed to the array.
       
   205         * @return System wide error code
       
   206         */
       
   207         virtual TInt AddVoiceTags( const RPointerArray<MDesCArray>& aTextArrayArray,
       
   208                                    const RArray<RLanguageArray>& aLanguageArray,
       
   209                                    TSILexiconID aLexiconID,
       
   210                                    TSIGrammarID aGrammarID, 
       
   211                                    RArray<TSIRuleID>& aRuleIDArray ) = 0;
       
   212 
       
   213         /**
       
   214         * Cancels the current operation
       
   215         *    
       
   216         * @since 3.1
       
   217         */
       
   218         virtual void Cancel() = 0;
       
   219 
       
   220         /**
       
   221         * Saves the changes into a permanent storage.
       
   222         *
       
   223         * @since 3.1
       
   224         * @return System-wide errors
       
   225         */
       
   226         virtual TInt CommitChanges() = 0;
       
   227 
       
   228         /**
       
   229         * Creates a new grammar.
       
   230         *    
       
   231         * @since 3.1
       
   232         * @param aGrammarID reference where grammar ID is stored
       
   233         * @return system wide error codes
       
   234         */
       
   235         virtual TInt CreateGrammar( TSIGrammarID& aGrammarID ) = 0;
       
   236 
       
   237         /**
       
   238         * Creates a new lexicon.
       
   239         *    
       
   240         * @since 3.1
       
   241         * @param aLexiconID reference where lexicon ID is stored
       
   242         * @return system wide error codes
       
   243         */
       
   244         virtual TInt CreateLexicon( TSILexiconID& aLexiconID ) = 0;
       
   245 
       
   246         /**
       
   247         * Creates a new rule.
       
   248         *    
       
   249         * @since 3.1
       
   250         * @param aGrammarID grammar, where the new rule is to be added
       
   251         * @param aRuleID reference where rule ID is stored
       
   252         * @return system wide error codes
       
   253         */
       
   254         virtual TInt CreateRule( TSIGrammarID aGrammarID, TSIRuleID& aRuleID ) = 0;
       
   255 
       
   256         /**
       
   257         * Loads the specified model bank into the recognizer.
       
   258         * done prior to recognition.
       
   259         *
       
   260         * @since 3.1
       
   261         * @param ModelBankID model bank Id
       
   262         * @return system wide error codes
       
   263         */
       
   264         virtual TInt LoadModels( TSIModelBankID aModelBankID ) = 0;
       
   265 
       
   266         /**
       
   267         * Loads the specified grammar into the recognizer.
       
   268         * done prior to recognition.
       
   269         *
       
   270         * @since 3.1
       
   271         * @param aGrammarID grammar ID
       
   272         * @return system wide error codes
       
   273         */
       
   274         virtual TInt LoadGrammar( TSIGrammarID aGrammarID ) = 0;
       
   275 
       
   276         /**
       
   277         * Reactivates a previously deactivated grammar.
       
   278         *
       
   279         * @since 3.1
       
   280         * @param aGrammarID grammar ID
       
   281         * @return system wide error codes
       
   282         */
       
   283         virtual TInt ActivateGrammar( TSIGrammarID aGrammarID ) = 0;
       
   284 
       
   285         /**
       
   286         * Deactivates a loaded grammar, so that it is not recognized.
       
   287         *
       
   288         * @since 3.1
       
   289         * @param aGrammarID grammar ID
       
   290         * @return system wide error codes
       
   291         */
       
   292         virtual TInt DeactivateGrammar( TSIGrammarID aGrammarID ) = 0;
       
   293 
       
   294         /**
       
   295         * Loads the specified lexicon into the recognizer; 
       
   296         * done prior to recognition.
       
   297         *
       
   298         * @since 3.1
       
   299         * @param aLexiconID lexicon ID
       
   300         * @return system wide error codes
       
   301         */
       
   302         virtual TInt LoadLexicon( TSILexiconID aLexiconID ) = 0;
       
   303 
       
   304         /**
       
   305         * Returns the number of models in the specified model bank.
       
   306         *
       
   307         * @since 3.1
       
   308         * @param aModelBankID model bank Id
       
   309         * @param aCount reference where the number of 
       
   310         *               models is set
       
   311         * @return system wide error codes
       
   312         */
       
   313         virtual TInt GetModelCount( TSIModelBankID aModelBankID, 
       
   314                                     TInt& aModelCount ) = 0;
       
   315 
       
   316         /**
       
   317         * Ends the current recognition session. Resources allocated 
       
   318         * for recognition are freed.
       
   319         *
       
   320         * @since 3.1
       
   321         * @param aModelBankID reference where a new model bank Id is assigned to
       
   322         * @return system wide error codes
       
   323         */
       
   324         virtual TInt EndRecSession() = 0;
       
   325 
       
   326         /**
       
   327         * Starts a new recognition session.
       
   328         *
       
   329         * @since 3.1
       
   330         * @param aMode recognition mode
       
   331         * @return system wide error codes
       
   332         */
       
   333         virtual TInt StartRecSession( TNSSRecognitionMode aMode ) = 0;
       
   334 
       
   335         /**
       
   336         * Initiates speaker independent recognition; performed
       
   337         * following loading of model bank, lexicon, and grammar.
       
   338         *
       
   339         * @since 3.1
       
   340         * @param aResultSet reference where the recognition result is set
       
   341         * @return system wide error codes
       
   342         */
       
   343         virtual TInt Recognize( CSIClientResultSet& aResultSet ) = 0;
       
   344 
       
   345         /**
       
   346         * Records utterance for recognition.
       
   347         *
       
   348         * @since 3.1
       
   349         * @param aRecordTime recording time in microseconds
       
   350         * @return system wide error codes
       
   351         */
       
   352         virtual TInt Record( TTimeIntervalMicroSeconds32 aRecordTime ) = 0;
       
   353 
       
   354         /**
       
   355         * Stops the recording. The difference with Cancel is that if
       
   356         * enough samples were recorded, a recognition result will be produced.
       
   357         *
       
   358         * @since 3.1
       
   359         * @param aRecordTime recording time in microseconds
       
   360         * @return system wide error codes
       
   361         */
       
   362         virtual TInt EndRecord() = 0;
       
   363 
       
   364         /**
       
   365         * Pre-starts samping before Record call.
       
   366         * 
       
   367         * @since 3.2
       
   368         * @return System wide error code
       
   369         */
       
   370         virtual TInt PreStartSampling() = 0;
       
   371 
       
   372         /**
       
   373         * Removes the specified grammar from the permanent storage.
       
   374         * Removing a grammar will remove all rules within the grammar.
       
   375         *
       
   376         * @since 3.1
       
   377         * @param aGrammarID grammar Id
       
   378         * @return system wide error codes
       
   379         */
       
   380         virtual TInt RemoveGrammar( TSIGrammarID aGrammarID ) = 0;
       
   381 
       
   382         /**
       
   383         * Removes the specified pronunciation from the 
       
   384         * specified lexicon permanently.
       
   385         *
       
   386         * @since 3.1
       
   387         * @param aLexiconID lexicon Id
       
   388         * @param aPronunciationID pronunciation Id
       
   389         * @return system wide error codes
       
   390         */
       
   391         virtual TInt RemovePronunciation( TSILexiconID aLexiconID, 
       
   392                                           TSIPronunciationID aPronunciationID ) = 0;
       
   393 
       
   394         /**
       
   395         * Removes the specified lexicon from the permanent storage.
       
   396         * Removing a lexicon will remove all pronunciations within the 
       
   397         * lexicon.
       
   398         * 
       
   399         * @since 3.1
       
   400         * @param aLexiconID lexicon Id
       
   401         * @return system wide error codes
       
   402         */
       
   403         virtual TInt RemoveLexicon( TSILexiconID aLexiconID ) = 0;
       
   404 
       
   405         /**
       
   406         * Removes the specified model from the specified model bank 
       
   407         * permanently.
       
   408         *
       
   409         * @since 3.1
       
   410         * @param aModelBankID model bank Id
       
   411         * @param aModelID model Id
       
   412         * @return system wide error codes
       
   413         */
       
   414         virtual TInt RemoveModel( TSIModelBankID aModelBankID, 
       
   415                                   TSIModelID aModelID ) = 0;
       
   416 
       
   417         /**
       
   418         * Removes the specified rule from the specified grammar permanently.
       
   419         *
       
   420         * @since 3.1
       
   421         * @param aGrammarID grammar Id
       
   422         * @param aRuleID rule Id
       
   423         * @return system wide error codes
       
   424         */
       
   425         virtual TInt RemoveRule( TSIGrammarID aGrammarID, TSIRuleID aRuleID ) = 0;
       
   426 
       
   427         /**
       
   428         * Removes multiple rules from the specified grammar permanently.
       
   429         *
       
   430         * @since 3.1
       
   431         * @param aGrammarID grammar Id
       
   432         * @param aRuleID rule Id
       
   433         * @return system wide error codes
       
   434         */
       
   435         virtual TInt RemoveRules( TSIGrammarID aGrammarID, RArray<TSIRuleID>& aRuleIDs ) = 0;
       
   436 
       
   437         /**
       
   438         * Unloads the specified rule from the specified grammar
       
   439         * in temporary memory, previously loaded with LoadGrammarL.  
       
   440         * The rule in the permanent storage remains intact.
       
   441         *
       
   442         * @since 3.1
       
   443         * @param aGrammarID grammar Id
       
   444         * @param aRuleID rule Id
       
   445         * @return system wide error codes
       
   446         */
       
   447         virtual TInt UnloadRule( TSIGrammarID aGrammarID, TSIRuleID aRuleID ) = 0;
       
   448 
       
   449         /**
       
   450         * Unloads the specified grammar from the list of grammars
       
   451         * in temporary memory, previously loaded with LoadGrammarL.  
       
   452         * The grammar in the permanent storage remains intact.
       
   453         *
       
   454         * @since 3.1
       
   455         * @param aGrammarID grammar Id
       
   456         * @return system wide error codes
       
   457         */
       
   458         virtual TInt UnloadGrammar( TSIGrammarID aGrammarID ) = 0;
       
   459 
       
   460         /**
       
   461         * Set the event handler for asynchronous events
       
   462         *
       
   463         * @since 3.1
       
   464         * @param aSpeechRecognitionUtilityObserver pointer to observer
       
   465         */
       
   466         virtual void SetEventHandler( MSISpeechRecognitionUtilityObserver*
       
   467                                       aSpeechRecognitionUtilityObserver ) = 0;
       
   468 
       
   469         /**
       
   470         * Returns all pronunciation Ids that exist in the specified lexicon.
       
   471         *
       
   472         * @since 3.1
       
   473         * @param aLexiconID lexicon Id
       
   474         * @param aPronunciationIDs reference where pronunciation Ids are stored
       
   475         * @return system wide error codes
       
   476         */
       
   477         virtual TInt GetAllPronunciationIDs( TSILexiconID aLexiconID, 
       
   478                                              RArray <TSIPronunciationID>& aPronunciationIDs ) = 0;
       
   479 
       
   480         /**
       
   481         * Returns all grammar Ids that belong to the current client.
       
   482         *
       
   483         * @since 3.1
       
   484         * @param aGrammarIDs reference where grammar Ids are stored
       
   485         * @return System-wide errors
       
   486         */
       
   487         virtual TInt GetAllClientGrammarIDs( RArray<TSIGrammarID>& aGrammarIDs ) = 0;
       
   488 
       
   489         /**
       
   490         * Returns all lexicon Ids that belong to the current client.
       
   491         *
       
   492         * @since 3.1
       
   493         * @param aLexiconIDs reference where lexicon Ids are stored
       
   494         * @return System-wide errors
       
   495         */
       
   496         virtual TInt GetAllClientLexiconIDs( RArray<TSILexiconID>& aLexiconIDs ) = 0;
       
   497 
       
   498         /**
       
   499         * Returns all model bank Ids that belong to the current client.
       
   500         *
       
   501         * @since 3.1
       
   502         * @param aModelBankIDs reference where model bank Ids are stored
       
   503         * @return System-wide errors
       
   504         */
       
   505         virtual TInt GetAllClientModelBankIDs( RArray<TSIModelBankID>& aModelBankIDs ) = 0;
       
   506 
       
   507         /**
       
   508         * Returns all grammar Ids that exist (for all clients).
       
   509         *
       
   510         * @since 3.1
       
   511         * @param aGrammarIDs reference where grammar Ids are stored
       
   512         * @return System-wide errors
       
   513         */
       
   514         virtual TInt GetAllGrammarIDs( RArray<TSIGrammarID>& aGrammarIDs ) = 0;
       
   515 
       
   516         /**
       
   517         * Returns all lexicon Ids that exist (for all clients).
       
   518         *
       
   519         * @since 3.1
       
   520         * @param aLexiconIDs reference where lexicon Ids are stored
       
   521         * @return System-wide errors
       
   522         */
       
   523         virtual TInt GetAllLexiconIDs( RArray<TSILexiconID>& aLexiconIDs ) = 0;
       
   524 
       
   525         /**
       
   526         * Returns all model bank Ids that exist (for all clients).
       
   527         *
       
   528         * @since 3.1
       
   529         * @param aModelBankIDs reference where model bank Ids are stored
       
   530         * @return System-wide errors
       
   531         */
       
   532         virtual TInt GetAllModelBankIDs( RArray<TSIModelBankID>& aModelBankIDs ) = 0;
       
   533 
       
   534         /**
       
   535         * Returns all model Ids that exist in the specified model bank.
       
   536         * 
       
   537         * @since 3.1
       
   538         * @param aModelBankID model bank Id
       
   539         * @param aModelIDs reference where model Ids are stored
       
   540         * @return system wide error codes
       
   541         */
       
   542         virtual TInt GetAllModelIDs( TSIModelBankID aModelBankID, 
       
   543                                      RArray <TSIModelID>& aModelIDs ) = 0;
       
   544 
       
   545         /**
       
   546         * Checks if the rule is valid or not.
       
   547         *
       
   548         * @since 3.1
       
   549         * @param aGrammarID grammar Id
       
   550         * @param aRuleID rule Id
       
   551         * @param aValid reference where the validity of the rule is set
       
   552         * @return system wide error codes
       
   553         */
       
   554         virtual TInt GetRuleValidity( TSIGrammarID aGrammarID, TSIRuleID aRuleID,
       
   555                                       TBool& aValid ) = 0; 
       
   556 
       
   557         /**
       
   558         * Returns all rule Ids that exist in the specified grammar.
       
   559         *
       
   560         * @since 3.1
       
   561         * @param aGrammarID grammar Id
       
   562         * @param aRuleIDs reference where rule Ids are stored
       
   563         * @return system wide error codes
       
   564         */
       
   565         virtual TInt GetAllRuleIDs( TSIGrammarID aGrammarID, 
       
   566                                     RArray <TSIRuleID>& aRuleIDs ) = 0;
       
   567 
       
   568         /**
       
   569         * Creates a new model bank.
       
   570         *
       
   571         * @since 3.1
       
   572         * @param aModelBankID reference where a new model bank Id is assigned to
       
   573         * @return system wide error codes
       
   574         */
       
   575         virtual TInt CreateModelBank( TSIModelBankID& aModelBankID ) = 0;
       
   576 
       
   577         /**
       
   578         * Removes the specified model bank from the permanent storage.
       
   579         * Removing a model bank will remove all models within the model bank.
       
   580         *
       
   581         * @since 3.1
       
   582         * @param aModelBankID model bank Id
       
   583         * @return system wide error codes
       
   584         */
       
   585         virtual TInt RemoveModelBank( TSIModelBankID aModelBankID ) = 0;
       
   586 
       
   587         /**
       
   588         * Uploads the specified parameters into the engine.
       
   589         *
       
   590         * @since 3.1
       
   591         * @param aParameterId array of parameter IDs
       
   592         * @param aParameterValue array of parameter values
       
   593         * @return system wide error codes
       
   594         */
       
   595         virtual TInt LoadEngineParameters( const RArray<TInt>& aParameterId, 
       
   596                                            const RArray<TInt>& aParameterValue ) = 0;
       
   597 
       
   598         /**
       
   599         * Set the audio priority and preference recognition
       
   600         * 
       
   601         * @since 3.1
       
   602         * @param aPriority priority for voice recognition
       
   603         * @param aTrainPreference preference for training
       
   604         * @param aPlaybackPreference preference for playback
       
   605         * @param aRecognitionPreference preference for recognition
       
   606         * @return system wide error codes
       
   607         */
       
   608         virtual TInt SetAudioPriority( TInt aPriority, TInt aTrainPreference, 
       
   609                                        TInt aPlaybackPreference, TInt aRecognitionPreference ) = 0;
       
   610 
       
   611     };
       
   612 
       
   613 #endif // NSSSIUTILITYBASE_H
       
   614 
       
   615 // End of file