epoc32/include/mmf/common/speechrecognitiondatadevasr.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@2
     4
// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2
     5
// which accompanies this distribution, and is available
williamr@2
     6
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
//
williamr@2
    15
williamr@2
    16
#ifndef __SPEECHRECOGNITIONDATADEVASR_H__
williamr@2
    17
#define __SPEECHRECOGNITIONDATADEVASR_H__
williamr@2
    18
williamr@2
    19
//  INCLUDES
williamr@2
    20
#include <mmf/common/speechrecognitiondatacommon.h>
williamr@2
    21
williamr@2
    22
williamr@2
    23
// FORWARD DECLARATION
williamr@2
    24
class TDiagnostic;
williamr@2
    25
williamr@2
    26
williamr@2
    27
// CLASS DECLARATION
williamr@2
    28
williamr@2
    29
/**
williamr@2
    30
@publishedAll
williamr@2
    31
@released
williamr@2
    32
williamr@2
    33
Class to encapsulate a Speaker Dependent Rule.
williamr@2
    34
williamr@2
    35
@since 8.0
williamr@2
    36
*/
williamr@2
    37
class CSDRule : public CBase
williamr@2
    38
{
williamr@2
    39
public:// Constructors and destructor
williamr@2
    40
williamr@2
    41
	/**
williamr@2
    42
    Destructor.
williamr@2
    43
    */
williamr@2
    44
	IMPORT_C ~CSDRule();
williamr@2
    45
williamr@2
    46
    /**
williamr@2
    47
    Instantiates an instance of CSDRule.
williamr@2
    48
	
williamr@2
    49
	@param  aRuleID
williamr@2
    50
			The rule identifier.
williamr@2
    51
	@param  aLexiconID
williamr@2
    52
	        The lexicon identifier.
williamr@2
    53
	@param  aPronunciationID
williamr@2
    54
	        The pronunciation identifier.
williamr@2
    55
williamr@2
    56
	@return A pointer to a CSDRule object.
williamr@2
    57
    */
williamr@2
    58
	IMPORT_C static CSDRule* NewL(TRuleID aRuleID, TLexiconID aLexiconID, TPronunciationID aPronunciationID);
williamr@2
    59
williamr@2
    60
	/**
williamr@2
    61
    Instantiates an instance of CSDRule and leaves a pointer on the cleanup stack.
williamr@2
    62
williamr@2
    63
	@param  aRuleID
williamr@2
    64
	        The rule identifier.
williamr@2
    65
	@param  aLexiconID
williamr@2
    66
	        The lexicon identifier.
williamr@2
    67
	@param  aPronunciationID
williamr@2
    68
	        The pronunciation identifier.
williamr@2
    69
williamr@2
    70
	@return A pointer to a CSDRule object.
williamr@2
    71
	*/
williamr@2
    72
	IMPORT_C static CSDRule* NewLC(TRuleID aRuleID, TLexiconID aLexiconID, TPronunciationID aPronunciationID);
williamr@2
    73
williamr@2
    74
williamr@2
    75
	/**
williamr@2
    76
	Returns the rule ID of the result.
williamr@2
    77
williamr@2
    78
	@return The rule identifier.
williamr@2
    79
williamr@2
    80
	@since 8.0
williamr@2
    81
	*/
williamr@2
    82
	IMPORT_C TRuleID RuleID() const;
williamr@2
    83
williamr@2
    84
	/**
williamr@2
    85
	Returns the lexicon ID of the result.
williamr@2
    86
williamr@2
    87
	@return The lexicon identifier.
williamr@2
    88
williamr@2
    89
    @since 8.0
williamr@2
    90
	*/
williamr@2
    91
	IMPORT_C TLexiconID LexiconID() const;
williamr@2
    92
williamr@2
    93
	/**
williamr@2
    94
	Returns the pronunciation ID of the result.
williamr@2
    95
williamr@2
    96
	@return The pronunciation identifier.
williamr@2
    97
williamr@2
    98
	@since 8.0
williamr@2
    99
	*/
williamr@2
   100
	IMPORT_C TPronunciationID PronunciationID() const;
williamr@2
   101
williamr@2
   102
private:
williamr@2
   103
	void ConstructL();
williamr@2
   104
	CSDRule(TRuleID aRuleID, TLexiconID aLexiconID, TPronunciationID aPronunciationID);
williamr@2
   105
williamr@2
   106
private:
williamr@2
   107
	TRuleID iRuleID;
williamr@2
   108
	TLexiconID iLexiconID;
williamr@2
   109
	TPronunciationID iPronunciationID;
williamr@2
   110
};
williamr@2
   111
williamr@2
   112
williamr@2
   113
/**
williamr@2
   114
@publishedAll
williamr@2
   115
@released
williamr@2
   116
williamr@2
   117
Class to encapsulate a Speaker Dependent Grammar.
williamr@2
   118
williamr@2
   119
A grammar consists of a list of rules.
williamr@2
   120
williamr@2
   121
@since  8.0
williamr@2
   122
*/
williamr@2
   123
class CSDGrammar : public CBase
williamr@2
   124
{
williamr@2
   125
public:// Constructors and destructor
williamr@2
   126
williamr@2
   127
	/**
williamr@2
   128
	Destructor.
williamr@2
   129
	*/
williamr@2
   130
	IMPORT_C ~CSDGrammar();
williamr@2
   131
williamr@2
   132
    /**
williamr@2
   133
    Instantiates an instance of CSDGrammar.
williamr@2
   134
williamr@2
   135
	@param  aGrammarID
williamr@2
   136
	        The grammar identifier.
williamr@2
   137
williamr@2
   138
	@return A pointer to a CSDGrammar object.
williamr@2
   139
	*/
williamr@2
   140
	IMPORT_C static CSDGrammar* NewL(TGrammarID aGrammarID);
williamr@2
   141
williamr@2
   142
	/**
williamr@2
   143
	Instantiates an instance of CSDGrammar and leaves a pointer on the cleanup stack.
williamr@2
   144
williamr@2
   145
	@param  aGrammarID
williamr@2
   146
	        The grammar identifier.
williamr@2
   147
williamr@2
   148
	@return A pointer to CSDGrammar object.
williamr@2
   149
	*/
williamr@2
   150
	IMPORT_C static CSDGrammar* NewLC(TGrammarID aGrammarID);
williamr@2
   151
williamr@2
   152
	/**
williamr@2
   153
	Returns the grammar ID of the result.
williamr@2
   154
williamr@2
   155
	@return The grammar identifier.
williamr@2
   156
williamr@2
   157
	@since  8.0
williamr@2
   158
	*/
williamr@2
   159
	IMPORT_C TGrammarID GrammarID() const;
williamr@2
   160
williamr@2
   161
	/**
williamr@2
   162
    Adds a rule to the grammar.
williamr@2
   163
williamr@2
   164
	@param  aRule
williamr@2
   165
	        A reference to a CSDRule object.
williamr@2
   166
williamr@2
   167
	@return An error code indicating if the function call was successful. KErrNone on success, otherwise
williamr@2
   168
	        another of the system-wide error codes.
williamr@2
   169
williamr@2
   170
	@since 8.0
williamr@2
   171
	*/
williamr@2
   172
	IMPORT_C TInt Add(CSDRule& aRule);
williamr@2
   173
williamr@2
   174
	/**
williamr@2
   175
	Deletes a rule from the grammar.
williamr@2
   176
williamr@2
   177
	@param  aRuleID
williamr@2
   178
	        The rule identifier to delete.
williamr@2
   179
williamr@2
   180
	@since  8.0
williamr@2
   181
    */
williamr@2
   182
	IMPORT_C void Delete(TRuleID aRuleID);
williamr@2
   183
williamr@2
   184
	/**
williamr@2
   185
	Returns a rule based at an index.
williamr@2
   186
williamr@2
   187
	@param  aIndex
williamr@2
   188
	        An index value. The value must not be negative and must not be greater than the number 
williamr@2
   189
	        of rules currently in the grammar, otherwise the function will panic.
williamr@2
   190
williamr@2
   191
	@return A reference to a CSDRule object.
williamr@2
   192
williamr@2
   193
	@since  8.0
williamr@2
   194
	*/
williamr@2
   195
	IMPORT_C const CSDRule& At(TInt aIndex) const;
williamr@2
   196
williamr@2
   197
	/**
williamr@2
   198
	Finds a rule in the grammar based on the rule ID.
williamr@2
   199
williamr@2
   200
	@param  aRuleID
williamr@2
   201
	        The rule identifier.
williamr@2
   202
williamr@2
   203
	@return The index of the first matching rule within the grammar. Returns KErrNotFound, if a 
williamr@2
   204
	        matching rule can not be found.
williamr@2
   205
williamr@2
   206
	@since  8.0
williamr@2
   207
	*/
williamr@2
   208
	IMPORT_C TInt FindRule(TRuleID aRuleID) const;
williamr@2
   209
williamr@2
   210
	/**
williamr@2
   211
	Returns the number of rules in the grammar
williamr@2
   212
williamr@2
   213
	@return The number of rules.
williamr@2
   214
williamr@2
   215
	@since  8.0
williamr@2
   216
	*/
williamr@2
   217
	IMPORT_C TInt Count() const;
williamr@2
   218
williamr@2
   219
private:
williamr@2
   220
	void ConstructL();
williamr@2
   221
	CSDGrammar(TGrammarID aGrammarID);
williamr@2
   222
williamr@2
   223
private:
williamr@2
   224
	TGrammarID iGrammarID;
williamr@2
   225
	RPointerArray<CSDRule> iRuleArray;
williamr@2
   226
};
williamr@2
   227
williamr@2
   228
williamr@2
   229
/**
williamr@2
   230
@publishedAll
williamr@2
   231
@released
williamr@2
   232
williamr@2
   233
Class to encapsulate a Speaker Dependent Pronunciation.
williamr@2
   234
williamr@2
   235
@since  8.0
williamr@2
   236
*/
williamr@2
   237
class CSDPronunciation : public CBase
williamr@2
   238
{
williamr@2
   239
public:// Constructors and destructor
williamr@2
   240
williamr@2
   241
	/**
williamr@2
   242
	Destructor.
williamr@2
   243
	*/
williamr@2
   244
	IMPORT_C ~CSDPronunciation();
williamr@2
   245
williamr@2
   246
	/**
williamr@2
   247
    Instantiates an instance of CSDPronunciation.
williamr@2
   248
williamr@2
   249
	@param  aPronunciationID
williamr@2
   250
	        The pronunciation identifier.
williamr@2
   251
	@param  aModelBankID
williamr@2
   252
	        The model bank identifier.
williamr@2
   253
	@param  aPhonemeID
williamr@2
   254
	        The phoneme identifier.
williamr@2
   255
williamr@2
   256
	@return A pointer to a CSDPronunciation object.
williamr@2
   257
	*/
williamr@2
   258
	IMPORT_C static CSDPronunciation* NewL(TPronunciationID aPronunciationID, TModelBankID aModelBankID, TPhonemeID aPhonemeID);
williamr@2
   259
williamr@2
   260
	/**
williamr@2
   261
	Instantiates an instance of CSDPronunciation and leaves a pointer on the cleanup stack.
williamr@2
   262
williamr@2
   263
	@param  aPronunciationID
williamr@2
   264
	        The pronunciation identifier.
williamr@2
   265
	@param  aModelBankID
williamr@2
   266
	        The model bank identifier.
williamr@2
   267
	@param  aPhonemeID
williamr@2
   268
	        The phoneme identifier.
williamr@2
   269
williamr@2
   270
	@return A pointer to a CSDPronunciation object.
williamr@2
   271
	*/
williamr@2
   272
	IMPORT_C static CSDPronunciation* NewLC(TPronunciationID aPronunciationID, TModelBankID aModelBankID, TPhonemeID aPhonemeID);
williamr@2
   273
williamr@2
   274
	/**
williamr@2
   275
	Returns the pronunciation ID of this lexicon entry.
williamr@2
   276
williamr@2
   277
	@return The pronunciation identifier.
williamr@2
   278
williamr@2
   279
	@since  8.0
williamr@2
   280
	*/
williamr@2
   281
	IMPORT_C TPronunciationID PronunciationID() const;
williamr@2
   282
williamr@2
   283
	/**
williamr@2
   284
	Returns the ID of the model bank.
williamr@2
   285
williamr@2
   286
	@return The model bank identifier.
williamr@2
   287
williamr@2
   288
	@since  8.0
williamr@2
   289
	*/
williamr@2
   290
	IMPORT_C TModelBankID ModelBankID() const;
williamr@2
   291
williamr@2
   292
	/**
williamr@2
   293
	Returns the phoneme ID of this lexicon entry.
williamr@2
   294
williamr@2
   295
	@return The phoneme identifier.
williamr@2
   296
williamr@2
   297
	@since 8.0
williamr@2
   298
	*/
williamr@2
   299
	IMPORT_C TPhonemeID PhonemeID() const;
williamr@2
   300
williamr@2
   301
private:
williamr@2
   302
	void ConstructL();
williamr@2
   303
	CSDPronunciation(TPronunciationID aPronunciationID, TModelBankID aModelBankID, TPhonemeID aPhonemeID);
williamr@2
   304
williamr@2
   305
private:
williamr@2
   306
	TPronunciationID iPronunciationID;
williamr@2
   307
	TModelBankID iModelBankID;
williamr@2
   308
	TPhonemeID iPhonemeID;
williamr@2
   309
};
williamr@2
   310
williamr@2
   311
williamr@2
   312
/**
williamr@2
   313
@publishedAll
williamr@2
   314
@released
williamr@2
   315
williamr@2
   316
Class to encapsulate a Speaker Dependent Lexicon.
williamr@2
   317
williamr@2
   318
@since 8.0
williamr@2
   319
*/
williamr@2
   320
class CSDLexicon : public CBase
williamr@2
   321
{
williamr@2
   322
public:// Constructors and destructor
williamr@2
   323
williamr@2
   324
	/**
williamr@2
   325
    Destructor.
williamr@2
   326
	*/
williamr@2
   327
	IMPORT_C ~CSDLexicon();
williamr@2
   328
williamr@2
   329
	/**
williamr@2
   330
	Instantiates an instance of CSDLexicon.
williamr@2
   331
williamr@2
   332
	@param  aLexiconID
williamr@2
   333
	        The lexicon identifier.
williamr@2
   334
williamr@2
   335
	@return A pointer to a CSDLexicon object.
williamr@2
   336
    */
williamr@2
   337
	IMPORT_C static CSDLexicon* NewL(TLexiconID aLexiconID);
williamr@2
   338
williamr@2
   339
	/**
williamr@2
   340
    Instantiates an instance of CSDGrammar and leaves a pointer on the cleanup stack.
williamr@2
   341
williamr@2
   342
	@param  aLexiconID
williamr@2
   343
	        The lexicon identifier.
williamr@2
   344
williamr@2
   345
	@return A pointer to a CSDLexicon object.
williamr@2
   346
	*/
williamr@2
   347
	IMPORT_C static CSDLexicon* NewLC(TLexiconID aLexiconID);
williamr@2
   348
williamr@2
   349
	/**
williamr@2
   350
	Returns the ID of the lexicon.
williamr@2
   351
williamr@2
   352
	@return The lexicon identifier.
williamr@2
   353
williamr@2
   354
	@since 8.0
williamr@2
   355
	*/
williamr@2
   356
	IMPORT_C TLexiconID LexiconID() const;
williamr@2
   357
williamr@2
   358
	/**
williamr@2
   359
	Adds a lexicon entry to the lexicon.
williamr@2
   360
williamr@2
   361
	@param aPronunciation
williamr@2
   362
	       A reference to a CSDPronunciation object.
williamr@2
   363
williamr@2
   364
	@return An error code indicating if the function call was successful. KErrNone on success, otherwise
williamr@2
   365
	        another of the system-wide error codes.
williamr@2
   366
williamr@2
   367
	@since  8.0
williamr@2
   368
	*/
williamr@2
   369
	IMPORT_C TInt Add(CSDPronunciation& aPronunciation);
williamr@2
   370
williamr@2
   371
	/**
williamr@2
   372
	Returns a pronunciation based at an index.
williamr@2
   373
williamr@2
   374
	@param  aIndex
williamr@2
   375
	        The pronunciation index. This value must not be negative and must not be greater than 
williamr@2
   376
	        the number of pronunciations currently in the lexicon, otherwise the function will 
williamr@2
   377
	        panic.
williamr@2
   378
williamr@2
   379
	@return A reference to a CSDPronunciation object.
williamr@2
   380
williamr@2
   381
	@since  8.0
williamr@2
   382
	*/
williamr@2
   383
	IMPORT_C const CSDPronunciation& At(TInt aIndex) const;
williamr@2
   384
williamr@2
   385
	/**
williamr@2
   386
	Finds a pronunciation based on the specified pronunciation ID.
williamr@2
   387
williamr@2
   388
	@param  aPronunciationID
williamr@2
   389
	        The pronunciation identifier.
williamr@2
   390
williamr@2
   391
	@return The index of the first matching pronunciation within the lexicon. Returns KErrNotFound, 
williamr@2
   392
	        if a matching pronunciation can not be found.
williamr@2
   393
    */
williamr@2
   394
	IMPORT_C TInt FindPronunciation(TPronunciationID aPronunciationID) const;
williamr@2
   395
williamr@2
   396
	/**
williamr@2
   397
    Returns the number of lexicon entries in the lexicon.
williamr@2
   398
williamr@2
   399
	@return The number of pronunciations.
williamr@2
   400
williamr@2
   401
	@since  8.0
williamr@2
   402
	*/
williamr@2
   403
	IMPORT_C TInt Count() const;
williamr@2
   404
williamr@2
   405
private:
williamr@2
   406
	void ConstructL();
williamr@2
   407
	CSDLexicon(TLexiconID aLexiconID);
williamr@2
   408
williamr@2
   409
private:
williamr@2
   410
	TLexiconID iLexiconID;
williamr@2
   411
	RPointerArray<CSDPronunciation> iPronunciationArray;
williamr@2
   412
};
williamr@2
   413
williamr@2
   414
williamr@2
   415
/**
williamr@2
   416
@publishedAll
williamr@2
   417
@released
williamr@2
   418
williamr@2
   419
Class to encapsulate a Speaker Dependent Model created during the training process.
williamr@2
   420
williamr@2
   421
@since  8.0
williamr@2
   422
*/
williamr@2
   423
class CSDModel : public CBase
williamr@2
   424
{
williamr@2
   425
public:// Constructors and destructor
williamr@2
   426
williamr@2
   427
	/**
williamr@2
   428
    Destructor.
williamr@2
   429
	*/
williamr@2
   430
	IMPORT_C ~CSDModel();
williamr@2
   431
williamr@2
   432
	/**
williamr@2
   433
    Instantiates an instance of a CSDModel.
williamr@2
   434
williamr@2
   435
	@return A pointer to a CSDModel object.
williamr@2
   436
	*/
williamr@2
   437
	IMPORT_C static CSDModel* NewL();
williamr@2
   438
williamr@2
   439
	/**
williamr@2
   440
    Instantiates an instance of a CSDModel.
williamr@2
   441
williamr@2
   442
	@return A pointer to a CSDModel object.
williamr@2
   443
	*/
williamr@2
   444
	IMPORT_C static CSDModel* NewLC();
williamr@2
   445
williamr@2
   446
	/**
williamr@2
   447
    Instantiates an instance of a CSDModel.
williamr@2
   448
williamr@2
   449
	@param  aPhonemeID
williamr@2
   450
	        The phoneme identifier.
williamr@2
   451
williamr@2
   452
	@return A pointer to a CSDModel object.
williamr@2
   453
	*/
williamr@2
   454
	IMPORT_C static CSDModel* NewL(TPhonemeID aPhonemeID);
williamr@2
   455
williamr@2
   456
	/**
williamr@2
   457
    Instantiates an instance of a CSDModel.
williamr@2
   458
williamr@2
   459
	@param  aPhonemeID
williamr@2
   460
	        The phoneme identifier.
williamr@2
   461
williamr@2
   462
	@return A pointer to a CSDModel object.
williamr@2
   463
	*/
williamr@2
   464
	IMPORT_C static CSDModel* NewLC(TPhonemeID aPhonemeID);
williamr@2
   465
williamr@2
   466
	/**
williamr@2
   467
	Sets the phoneme ID of this model.
williamr@2
   468
williamr@2
   469
	@param aPhonemeID
williamr@2
   470
	       The phoneme identifier.
williamr@2
   471
williamr@2
   472
	@since  8.0
williamr@2
   473
	*/
williamr@2
   474
	IMPORT_C void SetPhonemeID(TPhonemeID aPhonemeID);
williamr@2
   475
williamr@2
   476
	/**
williamr@2
   477
    Returns the phoneme ID of this model.
williamr@2
   478
williamr@2
   479
	@return The phoneme identifier.
williamr@2
   480
williamr@2
   481
	@since  8.0
williamr@2
   482
	*/
williamr@2
   483
	IMPORT_C TPhonemeID PhonemeID() const;
williamr@2
   484
williamr@2
   485
	/**
williamr@2
   486
	Sets the acoustic model of the model.
williamr@2
   487
williamr@2
   488
	@param  aAcousticModel
williamr@2
   489
	        A pointer descriptor containing the acoustic model (binary).
williamr@2
   490
williamr@2
   491
    @since  8.0
williamr@2
   492
	*/
williamr@2
   493
	IMPORT_C void SetAcousticModel(TPtr8& aAcousticModel);
williamr@2
   494
williamr@2
   495
	/**
williamr@2
   496
    Gets a pointer to the acoustic model of this model.
williamr@2
   497
williamr@2
   498
	@return A descriptor to the acoustic model data.
williamr@2
   499
williamr@2
   500
	@since  8.0
williamr@2
   501
	*/
williamr@2
   502
	IMPORT_C const TDesC8& AcousticModel() const;
williamr@2
   503
williamr@2
   504
private:
williamr@2
   505
	void ConstructL();
williamr@2
   506
	CSDModel();
williamr@2
   507
	CSDModel(TPhonemeID aPhonemeID);
williamr@2
   508
williamr@2
   509
private:
williamr@2
   510
	TPhonemeID iPhonemeID;
williamr@2
   511
	TPtr8 iAcousticModelPtr;
williamr@2
   512
};
williamr@2
   513
williamr@2
   514
williamr@2
   515
/**
williamr@2
   516
@publishedAll
williamr@2
   517
@released
williamr@2
   518
williamr@2
   519
Class to encapsulate a Speaker Dependent Model Bank used by the recognizer during the
williamr@2
   520
recognition process.
williamr@2
   521
williamr@2
   522
@since 8.0
williamr@2
   523
*/
williamr@2
   524
class CSDModelBank : public CBase
williamr@2
   525
{
williamr@2
   526
public:// Constructors and destructor
williamr@2
   527
williamr@2
   528
	/**
williamr@2
   529
    Destructor.
williamr@2
   530
	*/
williamr@2
   531
	IMPORT_C ~CSDModelBank();
williamr@2
   532
williamr@2
   533
	/**
williamr@2
   534
	Instantiates an instance of a CSDModelBank.
williamr@2
   535
williamr@2
   536
	@param  aModelBankID
williamr@2
   537
	        The model bank identifier.
williamr@2
   538
williamr@2
   539
	@return A pointer to a CSDModelBank object.
williamr@2
   540
	*/
williamr@2
   541
	IMPORT_C static CSDModelBank* NewL(TModelBankID aModelBankID);
williamr@2
   542
williamr@2
   543
	/**
williamr@2
   544
	Instantiates an instance of a CSDModelBank and leaves a pointer on the cleanup stack.
williamr@2
   545
williamr@2
   546
	@param  aModelBankID
williamr@2
   547
	        The model bank identifier.
williamr@2
   548
williamr@2
   549
	@return A pointer to a CSDModelBank object.
williamr@2
   550
	*/
williamr@2
   551
	IMPORT_C static CSDModelBank* NewLC(TModelBankID aModelBankID);
williamr@2
   552
williamr@2
   553
    /**
williamr@2
   554
	Returns the model bank ID of the model bank.
williamr@2
   555
williamr@2
   556
	@return The model bank identifier.
williamr@2
   557
williamr@2
   558
	@since 8.0
williamr@2
   559
	*/
williamr@2
   560
	IMPORT_C TModelBankID ModelBankID() const;
williamr@2
   561
williamr@2
   562
	/**
williamr@2
   563
	Adds a model to the model bank.
williamr@2
   564
williamr@2
   565
	@param aModel
williamr@2
   566
	       The reference to CSDModel object.
williamr@2
   567
williamr@2
   568
	@return An error code indicating if the function call was successful. KErrNone on success, otherwise
williamr@2
   569
	        another of the system-wide error codes.
williamr@2
   570
williamr@2
   571
	@since 8.0
williamr@2
   572
	*/
williamr@2
   573
	IMPORT_C TInt Add(CSDModel& aModel);
williamr@2
   574
williamr@2
   575
	/**
williamr@2
   576
    Returns a model at the given index.
williamr@2
   577
williamr@2
   578
	@param  aIndex
williamr@2
   579
	        A reference to a CSDModel object.
williamr@2
   580
williamr@2
   581
    @return The index of the first matching model within the model bank. Returns KErrNotFound, if a
williamr@2
   582
	        matching model can not be found.
williamr@2
   583
williamr@2
   584
    @since  8.0
williamr@2
   585
    */
williamr@2
   586
	IMPORT_C const CSDModel& At(TInt aIndex) const;
williamr@2
   587
williamr@2
   588
	/**
williamr@2
   589
	Finds a model based on the specified phoneme ID.
williamr@2
   590
williamr@2
   591
	@param  aPhonemeID
williamr@2
   592
	        The phoneme ID.
williamr@2
   593
williamr@2
   594
	@return The index of the first matching model within the model bank. Returns KErrNotFound, if a
williamr@2
   595
	        matching model can not be found.
williamr@2
   596
williamr@2
   597
	@since  8.0
williamr@2
   598
	*/
williamr@2
   599
	IMPORT_C TInt FindModel(TPhonemeID aPhonemeID) const;
williamr@2
   600
williamr@2
   601
	/**
williamr@2
   602
	Returns the number of models in the model bank.
williamr@2
   603
williamr@2
   604
	@return The number of models in the model bank.
williamr@2
   605
williamr@2
   606
	@since  8.0
williamr@2
   607
	*/
williamr@2
   608
	IMPORT_C TInt Count() const;
williamr@2
   609
williamr@2
   610
private:
williamr@2
   611
	void ConstructL();
williamr@2
   612
	CSDModelBank(TModelBankID aModelBankID);
williamr@2
   613
williamr@2
   614
private:
williamr@2
   615
	TModelBankID iModelBankID;
williamr@2
   616
	RPointerArray<CSDModel> iModelArray;
williamr@2
   617
};
williamr@2
   618
williamr@2
   619
williamr@2
   620
/**
williamr@2
   621
@publishedAll
williamr@2
   622
@released
williamr@2
   623
williamr@2
   624
Class to encapsulate a Recognition Result
williamr@2
   625
williamr@2
   626
@since 8.0
williamr@2
   627
*/
williamr@2
   628
class CSDResult : public CBase
williamr@2
   629
{
williamr@2
   630
public:// Constructors and destructor
williamr@2
   631
williamr@2
   632
	/**
williamr@2
   633
	Destructor.
williamr@2
   634
	*/
williamr@2
   635
	IMPORT_C ~CSDResult();
williamr@2
   636
williamr@2
   637
	/**
williamr@2
   638
	Instantiates an instance of a CSDResult.
williamr@2
   639
williamr@2
   640
	@return A pointer to a CSDResult object.
williamr@2
   641
	*/
williamr@2
   642
	IMPORT_C static CSDResult* NewL();
williamr@2
   643
williamr@2
   644
	/**
williamr@2
   645
	Instantiates an instance of CSDResult and leaves a pointer on the cleanup stack.
williamr@2
   646
williamr@2
   647
	@return A pointer to a CSDResult object.
williamr@2
   648
	*/
williamr@2
   649
	IMPORT_C static CSDResult* NewLC();
williamr@2
   650
williamr@2
   651
	/**
williamr@2
   652
	Instantiates an instance of a CSDResult.
williamr@2
   653
williamr@2
   654
	@param  aGrammarID
williamr@2
   655
	        The grammar identifier.
williamr@2
   656
	@param  aRuleID
williamr@2
   657
	        The rule identifier.
williamr@2
   658
williamr@2
   659
	@return A pointer to a CSDResult object.
williamr@2
   660
	*/
williamr@2
   661
	IMPORT_C static CSDResult* NewL(TGrammarID aGrammarID, TRuleID aRuleID);
williamr@2
   662
williamr@2
   663
	/**
williamr@2
   664
	Instantiates an instance of a CSDResult and leaves a pointer on the cleanup stack.
williamr@2
   665
williamr@2
   666
	@param  aGrammarID
williamr@2
   667
	        The grammar identifier.
williamr@2
   668
	@param  aRuleID
williamr@2
   669
	        The rule identifier.
williamr@2
   670
williamr@2
   671
	@return A pointer to a CSDResult object.
williamr@2
   672
	*/
williamr@2
   673
	IMPORT_C static CSDResult* NewLC(TGrammarID aGrammarID, TRuleID aRuleID);
williamr@2
   674
williamr@2
   675
	/**
williamr@2
   676
	Sets the grammar ID on the result.
williamr@2
   677
williamr@2
   678
	@param  aGrammarID
williamr@2
   679
	        The grammar identifier.
williamr@2
   680
williamr@2
   681
	@since  8.0
williamr@2
   682
	*/
williamr@2
   683
	IMPORT_C void SetGrammarID(TGrammarID aGrammarID);
williamr@2
   684
williamr@2
   685
	/**
williamr@2
   686
    Returns the grammar ID of the result.
williamr@2
   687
williamr@2
   688
	@return The grammar identifier.
williamr@2
   689
williamr@2
   690
	@since 8.0
williamr@2
   691
	*/
williamr@2
   692
	IMPORT_C TGrammarID GrammarID() const;
williamr@2
   693
williamr@2
   694
	/**
williamr@2
   695
    Sets the rule ID of the result.
williamr@2
   696
williamr@2
   697
	@param  aRuleID
williamr@2
   698
	        The rule identifier.
williamr@2
   699
williamr@2
   700
	@since  8.0
williamr@2
   701
	*/
williamr@2
   702
	IMPORT_C void SetRuleID(TRuleID aRuleID);
williamr@2
   703
williamr@2
   704
	/**
williamr@2
   705
    Returns the rule ID of the result.
williamr@2
   706
williamr@2
   707
	@return The rule identifier.
williamr@2
   708
williamr@2
   709
	@since  8.0
williamr@2
   710
	*/
williamr@2
   711
	IMPORT_C TRuleID RuleID() const;
williamr@2
   712
williamr@2
   713
	/**
williamr@2
   714
    Sets the score for this result.
williamr@2
   715
williamr@2
   716
	@param aScore
williamr@2
   717
	       The score of this result.
williamr@2
   718
williamr@2
   719
	@since 8.0
williamr@2
   720
	*/
williamr@2
   721
	IMPORT_C void SetScore(const TInt32 aScore);
williamr@2
   722
williamr@2
   723
	/**
williamr@2
   724
	Returns the score of this result.
williamr@2
   725
williamr@2
   726
	@return The score of this result.
williamr@2
   727
williamr@2
   728
	@since 8.0
williamr@2
   729
	*/
williamr@2
   730
	IMPORT_C TInt32 Score() const;
williamr@2
   731
williamr@2
   732
private:
williamr@2
   733
	void ConstructL();
williamr@2
   734
	CSDResult();
williamr@2
   735
	CSDResult(TGrammarID aGrammarID, TRuleID aRuleID);
williamr@2
   736
williamr@2
   737
private:
williamr@2
   738
	TGrammarID iGrammarID;
williamr@2
   739
	TRuleID iRuleID;
williamr@2
   740
	TInt32 iScore;
williamr@2
   741
};
williamr@2
   742
williamr@2
   743
williamr@2
   744
/**
williamr@2
   745
@publishedAll
williamr@2
   746
@released
williamr@2
   747
williamr@2
   748
CSDResultSet encapsulates a set of result objects returned by the recognizer at the end of the
williamr@2
   749
recognition process. A result set may include additional diagnostic information for error analysis.
williamr@2
   750
williamr@2
   751
@since  8.0
williamr@2
   752
*/
williamr@2
   753
class CSDResultSet : public CBase
williamr@2
   754
{
williamr@2
   755
public:// Constructors and destructor
williamr@2
   756
williamr@2
   757
	/**
williamr@2
   758
    Destructor.
williamr@2
   759
	*/
williamr@2
   760
	IMPORT_C ~CSDResultSet();
williamr@2
   761
williamr@2
   762
	/**
williamr@2
   763
	Instantiates an instance of CSDResultSet.
williamr@2
   764
williamr@2
   765
	@return A pointer to a CSDResultSet object.
williamr@2
   766
	*/
williamr@2
   767
	IMPORT_C static CSDResultSet* NewL();
williamr@2
   768
williamr@2
   769
	/**
williamr@2
   770
	Instantiates an instance of CSDResultSet and leaves a pointer on the cleanup stack.
williamr@2
   771
williamr@2
   772
	@return A pointer to a CSDResultSet object.
williamr@2
   773
	*/
williamr@2
   774
	IMPORT_C static CSDResultSet* NewLC();
williamr@2
   775
williamr@2
   776
	/**
williamr@2
   777
	Adds a result to the rule set.
williamr@2
   778
williamr@2
   779
	@param  aResult
williamr@2
   780
	        A reference to the result object to be added.
williamr@2
   781
williamr@2
   782
	@return An error code indicating if the function call was successful. KErrNone on success, otherwise
williamr@2
   783
	        another of the system-wide error codes.
williamr@2
   784
williamr@2
   785
	@since  8.0
williamr@2
   786
	*/
williamr@2
   787
	IMPORT_C TInt Add(CSDResult& aResult);
williamr@2
   788
williamr@2
   789
	/**
williamr@2
   790
    Returns a result at a given index within the result set.
williamr@2
   791
williamr@2
   792
	@param  aIndex
williamr@2
   793
	        The index in the result set.
williamr@2
   794
williamr@2
   795
	@return  A reference to CSDResult object.
williamr@2
   796
williamr@2
   797
	@since  8.0
williamr@2
   798
	*/
williamr@2
   799
	IMPORT_C const CSDResult& At(TInt aIndex);
williamr@2
   800
williamr@2
   801
	/**
williamr@2
   802
    Returns the number of results in the result set.
williamr@2
   803
williamr@2
   804
	@return The number of results in the result set.
williamr@2
   805
williamr@2
   806
    @since  8.0
williamr@2
   807
	*/
williamr@2
   808
	IMPORT_C TInt Count() const;
williamr@2
   809
williamr@2
   810
	/**
williamr@2
   811
	Sets the diagnostic of this result set.
williamr@2
   812
williamr@2
   813
	@param  aDiagnostic
williamr@2
   814
	        A reference to the diagostic object.
williamr@2
   815
williamr@2
   816
	@since  8.0
williamr@2
   817
	*/
williamr@2
   818
	IMPORT_C void SetDiagnostic(TDiagnostic& aDiagnostic);
williamr@2
   819
williamr@2
   820
	/**
williamr@2
   821
    Gets the diagnostic of this result set.
williamr@2
   822
williamr@2
   823
	@return A reference to A TDiagnostic object.
williamr@2
   824
williamr@2
   825
	@since  8.0
williamr@2
   826
	*/
williamr@2
   827
	IMPORT_C const TDiagnostic& Diagnostic() const;
williamr@2
   828
williamr@2
   829
private:
williamr@2
   830
	void ConstructL();
williamr@2
   831
	CSDResultSet();
williamr@2
   832
williamr@2
   833
private:
williamr@2
   834
	RPointerArray<CSDResult> iResultArray;
williamr@2
   835
	TDiagnostic* iDiagnostic;
williamr@2
   836
};
williamr@2
   837
williamr@2
   838
williamr@2
   839
#endif