sl@0: // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __SPEECHRECOGNITIONDATADEVASR_H__ sl@0: #define __SPEECHRECOGNITIONDATADEVASR_H__ sl@0: sl@0: // INCLUDES sl@0: #include sl@0: sl@0: sl@0: // FORWARD DECLARATION sl@0: class TDiagnostic; sl@0: sl@0: sl@0: // CLASS DECLARATION sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Class to encapsulate a Speaker Dependent Rule. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: class CSDRule : public CBase sl@0: { sl@0: public:// Constructors and destructor sl@0: sl@0: /** sl@0: Destructor. sl@0: */ sl@0: IMPORT_C ~CSDRule(); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDRule. sl@0: sl@0: @param aRuleID sl@0: The rule identifier. sl@0: @param aLexiconID sl@0: The lexicon identifier. sl@0: @param aPronunciationID sl@0: The pronunciation identifier. sl@0: sl@0: @return A pointer to a CSDRule object. sl@0: */ sl@0: IMPORT_C static CSDRule* NewL(TRuleID aRuleID, TLexiconID aLexiconID, TPronunciationID aPronunciationID); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDRule and leaves a pointer on the cleanup stack. sl@0: sl@0: @param aRuleID sl@0: The rule identifier. sl@0: @param aLexiconID sl@0: The lexicon identifier. sl@0: @param aPronunciationID sl@0: The pronunciation identifier. sl@0: sl@0: @return A pointer to a CSDRule object. sl@0: */ sl@0: IMPORT_C static CSDRule* NewLC(TRuleID aRuleID, TLexiconID aLexiconID, TPronunciationID aPronunciationID); sl@0: sl@0: sl@0: /** sl@0: Returns the rule ID of the result. sl@0: sl@0: @return The rule identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TRuleID RuleID() const; sl@0: sl@0: /** sl@0: Returns the lexicon ID of the result. sl@0: sl@0: @return The lexicon identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TLexiconID LexiconID() const; sl@0: sl@0: /** sl@0: Returns the pronunciation ID of the result. sl@0: sl@0: @return The pronunciation identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TPronunciationID PronunciationID() const; sl@0: sl@0: private: sl@0: void ConstructL(); sl@0: CSDRule(TRuleID aRuleID, TLexiconID aLexiconID, TPronunciationID aPronunciationID); sl@0: sl@0: private: sl@0: TRuleID iRuleID; sl@0: TLexiconID iLexiconID; sl@0: TPronunciationID iPronunciationID; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Class to encapsulate a Speaker Dependent Grammar. sl@0: sl@0: A grammar consists of a list of rules. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: class CSDGrammar : public CBase sl@0: { sl@0: public:// Constructors and destructor sl@0: sl@0: /** sl@0: Destructor. sl@0: */ sl@0: IMPORT_C ~CSDGrammar(); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDGrammar. sl@0: sl@0: @param aGrammarID sl@0: The grammar identifier. sl@0: sl@0: @return A pointer to a CSDGrammar object. sl@0: */ sl@0: IMPORT_C static CSDGrammar* NewL(TGrammarID aGrammarID); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDGrammar and leaves a pointer on the cleanup stack. sl@0: sl@0: @param aGrammarID sl@0: The grammar identifier. sl@0: sl@0: @return A pointer to CSDGrammar object. sl@0: */ sl@0: IMPORT_C static CSDGrammar* NewLC(TGrammarID aGrammarID); sl@0: sl@0: /** sl@0: Returns the grammar ID of the result. sl@0: sl@0: @return The grammar identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TGrammarID GrammarID() const; sl@0: sl@0: /** sl@0: Adds a rule to the grammar. sl@0: sl@0: @param aRule sl@0: A reference to a CSDRule object. sl@0: sl@0: @return An error code indicating if the function call was successful. KErrNone on success, otherwise sl@0: another of the system-wide error codes. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt Add(CSDRule& aRule); sl@0: sl@0: /** sl@0: Deletes a rule from the grammar. sl@0: sl@0: @param aRuleID sl@0: The rule identifier to delete. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C void Delete(TRuleID aRuleID); sl@0: sl@0: /** sl@0: Returns a rule based at an index. sl@0: sl@0: @param aIndex sl@0: An index value. The value must not be negative and must not be greater than the number sl@0: of rules currently in the grammar, otherwise the function will panic. sl@0: sl@0: @return A reference to a CSDRule object. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C const CSDRule& At(TInt aIndex) const; sl@0: sl@0: /** sl@0: Finds a rule in the grammar based on the rule ID. sl@0: sl@0: @param aRuleID sl@0: The rule identifier. sl@0: sl@0: @return The index of the first matching rule within the grammar. Returns KErrNotFound, if a sl@0: matching rule can not be found. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt FindRule(TRuleID aRuleID) const; sl@0: sl@0: /** sl@0: Returns the number of rules in the grammar sl@0: sl@0: @return The number of rules. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt Count() const; sl@0: sl@0: private: sl@0: void ConstructL(); sl@0: CSDGrammar(TGrammarID aGrammarID); sl@0: sl@0: private: sl@0: TGrammarID iGrammarID; sl@0: RPointerArray iRuleArray; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Class to encapsulate a Speaker Dependent Pronunciation. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: class CSDPronunciation : public CBase sl@0: { sl@0: public:// Constructors and destructor sl@0: sl@0: /** sl@0: Destructor. sl@0: */ sl@0: IMPORT_C ~CSDPronunciation(); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDPronunciation. sl@0: sl@0: @param aPronunciationID sl@0: The pronunciation identifier. sl@0: @param aModelBankID sl@0: The model bank identifier. sl@0: @param aPhonemeID sl@0: The phoneme identifier. sl@0: sl@0: @return A pointer to a CSDPronunciation object. sl@0: */ sl@0: IMPORT_C static CSDPronunciation* NewL(TPronunciationID aPronunciationID, TModelBankID aModelBankID, TPhonemeID aPhonemeID); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDPronunciation and leaves a pointer on the cleanup stack. sl@0: sl@0: @param aPronunciationID sl@0: The pronunciation identifier. sl@0: @param aModelBankID sl@0: The model bank identifier. sl@0: @param aPhonemeID sl@0: The phoneme identifier. sl@0: sl@0: @return A pointer to a CSDPronunciation object. sl@0: */ sl@0: IMPORT_C static CSDPronunciation* NewLC(TPronunciationID aPronunciationID, TModelBankID aModelBankID, TPhonemeID aPhonemeID); sl@0: sl@0: /** sl@0: Returns the pronunciation ID of this lexicon entry. sl@0: sl@0: @return The pronunciation identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TPronunciationID PronunciationID() const; sl@0: sl@0: /** sl@0: Returns the ID of the model bank. sl@0: sl@0: @return The model bank identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TModelBankID ModelBankID() const; sl@0: sl@0: /** sl@0: Returns the phoneme ID of this lexicon entry. sl@0: sl@0: @return The phoneme identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TPhonemeID PhonemeID() const; sl@0: sl@0: private: sl@0: void ConstructL(); sl@0: CSDPronunciation(TPronunciationID aPronunciationID, TModelBankID aModelBankID, TPhonemeID aPhonemeID); sl@0: sl@0: private: sl@0: TPronunciationID iPronunciationID; sl@0: TModelBankID iModelBankID; sl@0: TPhonemeID iPhonemeID; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Class to encapsulate a Speaker Dependent Lexicon. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: class CSDLexicon : public CBase sl@0: { sl@0: public:// Constructors and destructor sl@0: sl@0: /** sl@0: Destructor. sl@0: */ sl@0: IMPORT_C ~CSDLexicon(); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDLexicon. sl@0: sl@0: @param aLexiconID sl@0: The lexicon identifier. sl@0: sl@0: @return A pointer to a CSDLexicon object. sl@0: */ sl@0: IMPORT_C static CSDLexicon* NewL(TLexiconID aLexiconID); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDGrammar and leaves a pointer on the cleanup stack. sl@0: sl@0: @param aLexiconID sl@0: The lexicon identifier. sl@0: sl@0: @return A pointer to a CSDLexicon object. sl@0: */ sl@0: IMPORT_C static CSDLexicon* NewLC(TLexiconID aLexiconID); sl@0: sl@0: /** sl@0: Returns the ID of the lexicon. sl@0: sl@0: @return The lexicon identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TLexiconID LexiconID() const; sl@0: sl@0: /** sl@0: Adds a lexicon entry to the lexicon. sl@0: sl@0: @param aPronunciation sl@0: A reference to a CSDPronunciation object. sl@0: sl@0: @return An error code indicating if the function call was successful. KErrNone on success, otherwise sl@0: another of the system-wide error codes. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt Add(CSDPronunciation& aPronunciation); sl@0: sl@0: /** sl@0: Returns a pronunciation based at an index. sl@0: sl@0: @param aIndex sl@0: The pronunciation index. This value must not be negative and must not be greater than sl@0: the number of pronunciations currently in the lexicon, otherwise the function will sl@0: panic. sl@0: sl@0: @return A reference to a CSDPronunciation object. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C const CSDPronunciation& At(TInt aIndex) const; sl@0: sl@0: /** sl@0: Finds a pronunciation based on the specified pronunciation ID. sl@0: sl@0: @param aPronunciationID sl@0: The pronunciation identifier. sl@0: sl@0: @return The index of the first matching pronunciation within the lexicon. Returns KErrNotFound, sl@0: if a matching pronunciation can not be found. sl@0: */ sl@0: IMPORT_C TInt FindPronunciation(TPronunciationID aPronunciationID) const; sl@0: sl@0: /** sl@0: Returns the number of lexicon entries in the lexicon. sl@0: sl@0: @return The number of pronunciations. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt Count() const; sl@0: sl@0: private: sl@0: void ConstructL(); sl@0: CSDLexicon(TLexiconID aLexiconID); sl@0: sl@0: private: sl@0: TLexiconID iLexiconID; sl@0: RPointerArray iPronunciationArray; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Class to encapsulate a Speaker Dependent Model created during the training process. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: class CSDModel : public CBase sl@0: { sl@0: public:// Constructors and destructor sl@0: sl@0: /** sl@0: Destructor. sl@0: */ sl@0: IMPORT_C ~CSDModel(); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDModel. sl@0: sl@0: @return A pointer to a CSDModel object. sl@0: */ sl@0: IMPORT_C static CSDModel* NewL(); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDModel. sl@0: sl@0: @return A pointer to a CSDModel object. sl@0: */ sl@0: IMPORT_C static CSDModel* NewLC(); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDModel. sl@0: sl@0: @param aPhonemeID sl@0: The phoneme identifier. sl@0: sl@0: @return A pointer to a CSDModel object. sl@0: */ sl@0: IMPORT_C static CSDModel* NewL(TPhonemeID aPhonemeID); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDModel. sl@0: sl@0: @param aPhonemeID sl@0: The phoneme identifier. sl@0: sl@0: @return A pointer to a CSDModel object. sl@0: */ sl@0: IMPORT_C static CSDModel* NewLC(TPhonemeID aPhonemeID); sl@0: sl@0: /** sl@0: Sets the phoneme ID of this model. sl@0: sl@0: @param aPhonemeID sl@0: The phoneme identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C void SetPhonemeID(TPhonemeID aPhonemeID); sl@0: sl@0: /** sl@0: Returns the phoneme ID of this model. sl@0: sl@0: @return The phoneme identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TPhonemeID PhonemeID() const; sl@0: sl@0: /** sl@0: Sets the acoustic model of the model. sl@0: sl@0: @param aAcousticModel sl@0: A pointer descriptor containing the acoustic model (binary). sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C void SetAcousticModel(TPtr8& aAcousticModel); sl@0: sl@0: /** sl@0: Gets a pointer to the acoustic model of this model. sl@0: sl@0: @return A descriptor to the acoustic model data. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C const TDesC8& AcousticModel() const; sl@0: sl@0: private: sl@0: void ConstructL(); sl@0: CSDModel(); sl@0: CSDModel(TPhonemeID aPhonemeID); sl@0: sl@0: private: sl@0: TPhonemeID iPhonemeID; sl@0: TPtr8 iAcousticModelPtr; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Class to encapsulate a Speaker Dependent Model Bank used by the recognizer during the sl@0: recognition process. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: class CSDModelBank : public CBase sl@0: { sl@0: public:// Constructors and destructor sl@0: sl@0: /** sl@0: Destructor. sl@0: */ sl@0: IMPORT_C ~CSDModelBank(); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDModelBank. sl@0: sl@0: @param aModelBankID sl@0: The model bank identifier. sl@0: sl@0: @return A pointer to a CSDModelBank object. sl@0: */ sl@0: IMPORT_C static CSDModelBank* NewL(TModelBankID aModelBankID); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDModelBank and leaves a pointer on the cleanup stack. sl@0: sl@0: @param aModelBankID sl@0: The model bank identifier. sl@0: sl@0: @return A pointer to a CSDModelBank object. sl@0: */ sl@0: IMPORT_C static CSDModelBank* NewLC(TModelBankID aModelBankID); sl@0: sl@0: /** sl@0: Returns the model bank ID of the model bank. sl@0: sl@0: @return The model bank identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TModelBankID ModelBankID() const; sl@0: sl@0: /** sl@0: Adds a model to the model bank. sl@0: sl@0: @param aModel sl@0: The reference to CSDModel object. sl@0: sl@0: @return An error code indicating if the function call was successful. KErrNone on success, otherwise sl@0: another of the system-wide error codes. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt Add(CSDModel& aModel); sl@0: sl@0: /** sl@0: Returns a model at the given index. sl@0: sl@0: @param aIndex sl@0: A reference to a CSDModel object. sl@0: sl@0: @return The index of the first matching model within the model bank. Returns KErrNotFound, if a sl@0: matching model can not be found. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C const CSDModel& At(TInt aIndex) const; sl@0: sl@0: /** sl@0: Finds a model based on the specified phoneme ID. sl@0: sl@0: @param aPhonemeID sl@0: The phoneme ID. sl@0: sl@0: @return The index of the first matching model within the model bank. Returns KErrNotFound, if a sl@0: matching model can not be found. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt FindModel(TPhonemeID aPhonemeID) const; sl@0: sl@0: /** sl@0: Returns the number of models in the model bank. sl@0: sl@0: @return The number of models in the model bank. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt Count() const; sl@0: sl@0: private: sl@0: void ConstructL(); sl@0: CSDModelBank(TModelBankID aModelBankID); sl@0: sl@0: private: sl@0: TModelBankID iModelBankID; sl@0: RPointerArray iModelArray; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Class to encapsulate a Recognition Result sl@0: sl@0: @since 8.0 sl@0: */ sl@0: class CSDResult : public CBase sl@0: { sl@0: public:// Constructors and destructor sl@0: sl@0: /** sl@0: Destructor. sl@0: */ sl@0: IMPORT_C ~CSDResult(); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDResult. sl@0: sl@0: @return A pointer to a CSDResult object. sl@0: */ sl@0: IMPORT_C static CSDResult* NewL(); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDResult and leaves a pointer on the cleanup stack. sl@0: sl@0: @return A pointer to a CSDResult object. sl@0: */ sl@0: IMPORT_C static CSDResult* NewLC(); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDResult. sl@0: sl@0: @param aGrammarID sl@0: The grammar identifier. sl@0: @param aRuleID sl@0: The rule identifier. sl@0: sl@0: @return A pointer to a CSDResult object. sl@0: */ sl@0: IMPORT_C static CSDResult* NewL(TGrammarID aGrammarID, TRuleID aRuleID); sl@0: sl@0: /** sl@0: Instantiates an instance of a CSDResult and leaves a pointer on the cleanup stack. sl@0: sl@0: @param aGrammarID sl@0: The grammar identifier. sl@0: @param aRuleID sl@0: The rule identifier. sl@0: sl@0: @return A pointer to a CSDResult object. sl@0: */ sl@0: IMPORT_C static CSDResult* NewLC(TGrammarID aGrammarID, TRuleID aRuleID); sl@0: sl@0: /** sl@0: Sets the grammar ID on the result. sl@0: sl@0: @param aGrammarID sl@0: The grammar identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C void SetGrammarID(TGrammarID aGrammarID); sl@0: sl@0: /** sl@0: Returns the grammar ID of the result. sl@0: sl@0: @return The grammar identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TGrammarID GrammarID() const; sl@0: sl@0: /** sl@0: Sets the rule ID of the result. sl@0: sl@0: @param aRuleID sl@0: The rule identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C void SetRuleID(TRuleID aRuleID); sl@0: sl@0: /** sl@0: Returns the rule ID of the result. sl@0: sl@0: @return The rule identifier. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TRuleID RuleID() const; sl@0: sl@0: /** sl@0: Sets the score for this result. sl@0: sl@0: @param aScore sl@0: The score of this result. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C void SetScore(const TInt32 aScore); sl@0: sl@0: /** sl@0: Returns the score of this result. sl@0: sl@0: @return The score of this result. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt32 Score() const; sl@0: sl@0: private: sl@0: void ConstructL(); sl@0: CSDResult(); sl@0: CSDResult(TGrammarID aGrammarID, TRuleID aRuleID); sl@0: sl@0: private: sl@0: TGrammarID iGrammarID; sl@0: TRuleID iRuleID; sl@0: TInt32 iScore; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: CSDResultSet encapsulates a set of result objects returned by the recognizer at the end of the sl@0: recognition process. A result set may include additional diagnostic information for error analysis. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: class CSDResultSet : public CBase sl@0: { sl@0: public:// Constructors and destructor sl@0: sl@0: /** sl@0: Destructor. sl@0: */ sl@0: IMPORT_C ~CSDResultSet(); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDResultSet. sl@0: sl@0: @return A pointer to a CSDResultSet object. sl@0: */ sl@0: IMPORT_C static CSDResultSet* NewL(); sl@0: sl@0: /** sl@0: Instantiates an instance of CSDResultSet and leaves a pointer on the cleanup stack. sl@0: sl@0: @return A pointer to a CSDResultSet object. sl@0: */ sl@0: IMPORT_C static CSDResultSet* NewLC(); sl@0: sl@0: /** sl@0: Adds a result to the rule set. sl@0: sl@0: @param aResult sl@0: A reference to the result object to be added. sl@0: sl@0: @return An error code indicating if the function call was successful. KErrNone on success, otherwise sl@0: another of the system-wide error codes. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt Add(CSDResult& aResult); sl@0: sl@0: /** sl@0: Returns a result at a given index within the result set. sl@0: sl@0: @param aIndex sl@0: The index in the result set. sl@0: sl@0: @return A reference to CSDResult object. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C const CSDResult& At(TInt aIndex); sl@0: sl@0: /** sl@0: Returns the number of results in the result set. sl@0: sl@0: @return The number of results in the result set. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C TInt Count() const; sl@0: sl@0: /** sl@0: Sets the diagnostic of this result set. sl@0: sl@0: @param aDiagnostic sl@0: A reference to the diagostic object. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C void SetDiagnostic(TDiagnostic& aDiagnostic); sl@0: sl@0: /** sl@0: Gets the diagnostic of this result set. sl@0: sl@0: @return A reference to A TDiagnostic object. sl@0: sl@0: @since 8.0 sl@0: */ sl@0: IMPORT_C const TDiagnostic& Diagnostic() const; sl@0: sl@0: private: sl@0: void ConstructL(); sl@0: CSDResultSet(); sl@0: sl@0: private: sl@0: RPointerArray iResultArray; sl@0: TDiagnostic* iDiagnostic; sl@0: }; sl@0: sl@0: sl@0: #endif