diff -r b13cd05eeb2f -r 57b735022c18 srsf/sisrscontrollerplugin/src/sigrammardb.h --- a/srsf/sisrscontrollerplugin/src/sigrammardb.h Mon Jan 18 20:20:30 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,261 +0,0 @@ -/* -* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: This class handles the storage and access of speaker independent -* grammars. It is also responsible for allocating memory when -* loading grammars into the recognizer. -* -*/ - - -#ifndef SIGRAMMARDB_H -#define SIGRAMMARDB_H - -// INCLUDES -#include -#include "sicommondb.h" - -// CLASS DECLARATION -/** -* This class implements Speaker Independent Grammar Database. -* -* @lib SIControllerPlugin.lib -* @since 2.0 -*/ -class CSIGrammarDB : public CSICommonDB - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CSIGrammarDB* NewL( RDbNamedDatabase& aDatabase, - RDbs& aDbSession, - TInt aDrive ); - - /** - * Destructor. - */ - virtual ~CSIGrammarDB(); - - public: // New functions - - /** - * Adds a new rule variant into the specified grammar. - * @since 2.0 - * @param aClientUid client's Uid for data ownership - * @param aGrammarID grammar Id - * @param aLexiconID lexicon Id - * @param aPronunciationID pronunciation Id - * @return - - */ - void AddRuleVariantL(TUid aClientUid, - TSIGrammarID aGrammarID, - TSILexiconID aLexiconID, - const RArray& aPronunciationIDs, - TSIRuleID aRuleID, - TSIRuleVariantID& aRuleVariantID) ; - - /** - * Returns a grammar object containing all speaker independent rules of the specified grammar. - * The grammar is added to iGrammarArray - * @since 2.0 - * @param aGrammarID grammar Id - * @return pointer to a grammar object - */ - const CSICompiledGrammar* LoadGrammarL(TSIGrammarID aGrammarID ); - - /** - * Creates a new rule in the database. - * @since 2.0 - * @param aClientUid client's Uid for data ownership - * @param aGrammarID grammar Id - * @param aRuleID rule Id of the created rule - * @return - - */ - void CreateRuleL(TUid aClientUid,TSIGrammarID aGrammarID, TSIRuleID& aRuleID) ; - - /** - * Creates a new grammar in the database. - * @since 2.0 - * @param aClientUid client's Uid for data ownership - * @return a new grammar Id - */ - TSIGrammarID CreateGrammarL( TUid aClientUid ); - - /** - * Creates a new grammar ID table in the database. - * @since 2.0 - * @param - - * @return - - */ - void CreateIDTableL(); - - /** - * Returns all grammar IDs that belong to the specified client. - * @since 2.0 - * @param aClientUid client's Uid for data ownership - * @param aGrammarIDs reference where grammar Ids are stored - * @return - - */ - void GetAllClientGrammarIDsL( - TUid aClientUid, - RArray& aGrammarIDs ); - /** - * Returns all grammar Ids in the database. - * @since 2.0 - * @param aGrammarIDs reference where grammar Ids are stored - * @return - - */ - void GetAllGrammarIDsL( RArray& aGrammarIDs ); - - - /** - * Returns all rule Ids that exist in the specified grammar. - * @since 2.0 - * @param aGrammarID grammar Id - * @param aRuleIDs reference where rule Ids are stored - * @return - - */ - void GetAllRuleIDsL( TSIGrammarID aGrammarID, RArray& aRuleIDs ); - - /** - * Checks if a valid grammar is loaded. - * @since 2.0 - * @param - - * @return ETrue if a valid grammar is loaded - */ - TBool IsGrammarLoaded(); - - /** - * Checks if the rule is valid or not. - * @since 2.0 - * @param aGrammarID grammar Id - * @param aRuleID rule Id - * @return ETrue if the rule is valid - */ - TBool IsRuleValidL( TSIGrammarID aGrammarID, TSIRuleID aRuleID ); - - /** - * Removes the specified grammar from the database. - * Removing a grammar will remove all rules within the grammar. - * @since 2.0 - * @param aClientUid client's Uid for data ownership - * @param aGrammarID grammar Id - * @return - - */ - void RemoveGrammarL( TUid aClientUid, TSIGrammarID aGrammarID ); - - /** - * Removes the specified rule from the database. - * @since 2.0 - * @param aClientUid client's Uid for data ownership - * @param aGrammarID grammar Id - * @param aRuleID rule Id - * @return - - */ - void RemoveRuleL(TUid aClientUid,TSIGrammarID aGrammarID, TSIRuleID aRuleID ); - - /** - * Deallocates the temporary memory containing the grammar object created with AllRulesL. - * @since 2.0 - * @param - - * @return - - */ - void ResetAndDestroy(); - - /** - * Unloads the specified rule from the specified grammar in temporary memory, previously - * loaded with AllRulesL. The rule in the database remains intact. - * @since 2.0 - * @param aGrammarID grammar Id - * @param aRuleID rule Id - * @return - - */ - void UnloadRuleL( TSIGrammarID aGrammarID, TSIRuleID aRuleID ); - - /** - * Unloads the specified grammar from the temporary memory, previously - * loaded with AllRulesL. The grammar in the database remains intact. - * @since 2.0 - * @param aGrammarID grammar Id - * @return - - */ - void UnloadGrammarL( TSIGrammarID aGrammarID); - - /** - * Update the specified grammar in the database - * @since 2.0 - * @param aClientUid client's Uid for data ownership - * @param aSICompiledGrammar pointer to a updated grammar object - * @return - - */ - void UpdateGrammarL(TUid aClientUid,CSICompiledGrammar* aSICompiledGrammar); - - /** - * Returns a grammar object containing all speaker independent rules of the specified grammar. - * The pointer to the object is not put in the iGrammarArray - * @since 2.0 - * @param aGrammarID grammar Id - * @param - * @return Pointer to a compiled grammar object - */ - const CSICompiledGrammar* GrammarL(TSIGrammarID aGrammarID ); - - /** - * Find a grammar from loaded grammar array - * @since 2.0 - * @param aGrammarID grammar Id - * @param - * @return Pointer to a compiled grammar object - */ - CSICompiledGrammar* FindGrammarL(TSIGrammarID aGrammarID) ; - - - /** - * Get a new uniq ID - * @since 2.0 - * @param Rule ID array - * @param - * @return Created ID - */ - TInt GetNewID( RArray& aMyIds ); - - /** - * Returns the number of rules in the specified grammar. - * @since 2.0 - * @param aGrammarID grammar Id - * @return Number of rules - */ - TInt RuleCountL( TSIGrammarID aGrammarID ); - - private: - - /** - * C++ default constructor. - */ - CSIGrammarDB( RDbNamedDatabase& aDatabase, RDbs& aDbSession, TInt aDrive ); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - private: // Data - // Temporary memory where loaded grammars are held during recognition session - RPointerArray iGrammarArray; - }; - -#endif // SIGRAMMARDB_H - -// End of File