srsf/devasr/src/devasrvmalgorithmmanager.h
branchRCL_3
changeset 18 cad71a31b7fc
parent 17 8ce15fced3a6
child 19 e36f3802f733
--- a/srsf/devasr/src/devasrvmalgorithmmanager.h	Thu Aug 19 09:56:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/*
-* Copyright (c) 2004 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:  Algorithm manager for grammar handling algorihtms.
-*
-*/
-
-
-#ifndef DEVASRVMALGORITHMMANAGER_H
-#define DEVASRVMALGORITHMMANAGER_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <nsssispeechrecognitiondatadevasr.h>
-#include <asrsgrcompilerhwdevice.h>
-#include <asrsvocmanhwdevice.h>
-#include <asrsttphwdevice.h>
-
-//#include "DevASRSrsAlgorithmManager.h"
-
-// DATA TYPES
-enum TTtpHwState
-    {
-    ETtpStateUninitialized = 0,
-    ETtpStateIdle,
-    ETtpStateBusy
-    };
-
-enum TGrCompilerState
-    {
-    EGrStateUninitialized = 0,
-    EGrStateIdle,
-    EGrStateBusyCompiling,
-    EGrStateBusyCombining
-    };
-
-
-// FORWARD DECLARATIONS
-class MDevASRObserver;
-class MSDGrammarCompiler;
-//class CASRGrCompilerHwDevice;
-//class CASRSVocManHwDevice;
-//class CASRSTtpHwDevice;
-
-// CLASS DECLARATIONS
-
-/**
-* Observer mixin.
-*
-* @lib NssDevAsr.lib
-* @since 2.8
-*/
-class MVmAlgMgrObserver
-    {
-    public:
-        /**
-        * Called when grammars have been combined.
-        */
-        virtual void CombineComplete( HBufC8* aResult, TInt aError ) = 0;
-
-        /**
-        * Called by CVMAlgorithmManager when it needs a grammar object.
-        * 
-        * @param "TSIGrammarID aGrammarID" Grammar identifier which is needed.
-        * @param "CSICompiledGrammar** aSIActiveGrammar" Output parameter which will
-        *        contain the grammar object pointer if grammar is currently active.
-        * @param "CSICompiledGrammar** aSIDeActivatedGrammar" Output parameter which will
-        *        contain the grammar object pointer if grammar is currently not active.
-        */
-        virtual void GetGrammarL( const TSIGrammarID aGrammarID, 
-                                  CSICompiledGrammar** aSIActiveGrammar,
-                                  CSICompiledGrammar** aSIDeActivatedGrammar ) = 0;
-    };
-
-/**
-* Algorithm manager to handle VocMan, Ttp and Grammar Compiler
-*
-* @lib NssDevAsr.lib
-* @since 2.8
-*/
-class CVMAlgorithmManager : public CBase, public MASRSTtpHwDeviceObserver, public MASRSGrCompilerHwDeviceObserver
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CVMAlgorithmManager* NewL( MDevASRObserver& aObserver, MVmAlgMgrObserver& aVmObserver );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CVMAlgorithmManager();
-        
-    public: // New functions
-        
-
-        /**
-        * Use to adapt rule after recognition.
-        *
-        * @since 2.8
-        * @param "CSIResultSet& aResultSet" Result set.
-        * @param "TInt aResultIndex" Index of correct result.
-        */
-        void AdaptVocabL( const CSIResultSet& aResultSet, 
-                          TInt aResultIndex );
-
-        /**
-        * Cancels training.
-        *
-        * @since 2.8
-        */
-        void Cancel();
-        
-        /**
-        * Computes number of rule variants for grammar.
-        *
-        * @since 2.8
-        * @param "CSIGrammar& aGrammar" A grammar where to add new rules.
-        * @param "TUint32 aTargetNRuleVariants" Preferable target number of 
-        *        all rule variants after adding new rule variants
-        * @param "TUint32 aMaxNRuleVariants" Maximum number of all rule variants.
-        * @param "RArray<TUint>& aNewRuleScores" Scores for each new rule. The 
-        *         size of array tells also how many	new rules will be added. 
-        *         Based on the scores some rules can get more rule variants 
-        *         than others. If there is no scores available, the array 
-        *         should initialize with constant values.
-        * @param "RArray<TUint>& aNNeNRuleVariants" Array where to add number 
-        *         of new rule variants for new rules. The order is equivalent 
-        *         to aNewRuleScores.
-        * @param "TUint32& aNPrune" Number of rule variants which should be 
-        *         pruned before adding new rule variants.
-        */
-        void ComputeNewGrammarSizeL( const CSIGrammar& aGrammar, 
-                                     const TUint32 aTargetNRuleVariants, 
-                                     const TUint32 aMaxNRuleVariants, 
-                                     const RArray<TUint>& aNewRuleScores, 
-                                     RArray<TUint>& aNNeNRuleVariants, 
-                                     TUint32& aNPrune );
-        
-
-        /**
-        * Compiles SI or SD grammar to internal format.
-        *
-        * @since 2.8
-        * @param "aGrammar" Reference to grammar object.
-        * @param "aModelBank" Reference to model bank.
-        */
-        void CompileGrammarL( CSICompiledGrammar& aGrammar );
-
-        /**
-        * Invoked when grammar combining is needed
-        *
-        * @since 2.8
-        * @param "RPointerArray<CSICompiledGrammar>& aCompiledGrammars" 
-        *        Array of previously compiled grammar
-        * @param "const RPointerArray<TSIRuleVariantInfo>& aExcludedRules" 
-        *        Rules to be blacklisted.
-        */
-        void CombineGrammarL( const RPointerArray<CSICompiledGrammar>& aCompiledGrammars,
-                              const RPointerArray<TSIRuleVariantInfo>& aExcludedRules );
-
-
-        /**
-        * Determines which rule variants can be removed.
-        *
-        * @since 2.8
-        * @param "CSIGrammar& aGrammar" A grammar to be pruned.
-        * @param "TUint32 aMinNumber" Minimum number of pruned items
-        * @param "RArray<TSIRuleVariantInfo> aPrunedRuleVariants" A array where 
-        *         to put information which variants can be pruned.
-        */
-        TBool PruneGrammar( const CSIGrammar& aGrammar, 
-                            const TUint32 aMinNumber, 
-                            RArray<TSIRuleVariantInfo>& aPrunedRuleVariants );
-        
-        /**
-        * Resolves result using Grammar Compiler.
-        *
-        * @since 2.8
-        * @param "RArray<TUint>& aNBestIDs" List of N-best results
-        * @param "
-        */
-        void ResolveResult( const RArray<TUint>& aNBestIDs,
-                            CSIResultSet& aSIResultSet,
-                            const RPointerArray<CSICompiledGrammar>& aSICompiledGrammar,
-                            const TDesC8& aCombinedData );
-
-        /**
-        * Starts training from text.
-        *
-        * @since 2.8
-        * @param "CSITtpWordList& aWordList" Text for training.
-        * @param "RArray<TLanguage>& aDefaultLanguage" Default language for 
-        *        pronunciations.
-        * @param "RArray<TUint32>& aMaxNPronunsForWord" Maximum number of 
-        *        pronunciation per word.
-        */
-        void TrainFromTextL( CSITtpWordList& aWordList, 
-                             const RArray<TLanguage>& aDefaultLanguage, 
-                             const RArray<TUint32>& aMaxNPronunsForWord );
-
-		/**
-        * Retreive the properties of the engines.
-        *
-        * @since 2.0
-        * @param "RArray<TInt>& aPropertyId" An array of identifiers being querried.
-        * @param "RArray<TInt>& aPropertyValue" An array of values corresponding
-        *        to the querried identifiers.
-        */
-        void GetEnginePropertiesL( const RArray<TInt>& aPropertyId, 
-                                   RArray<TInt>& aPropertyValue );
-
-        /**
-        * Load the specified parameter(s) to the engines. 
-        *
-        * @param "RArray<TInt>& aParameterId" An array of parameter identifiers.
-        * @param "RArray<TInt>& aParameterValue" An array of parameter values.
-        */
-        void LoadEnginePropertiesL( const RArray<TInt>& aParameterId,
-                                    const RArray<TInt>& aParameterValue );
-
-        
-    public: // From MASRTtpHwDeviceObserver
-        
-        /**
-        * Callback function to load configuration data.
-        *
-        * @param "TUint32 aPackageType" Type identifier.
-        * @param "TUint32 aPackageID" Package identifier.
-        * @param "TUint32 aStartPosition" First byte.
-        * @param "TUint32 aEndPosition" Last byte. If greater than the size of 
-        *                               the data, rest of the data is given.
-        * @return Pointer to the data buffer, TTP HW Device takes ownership.
-        */	
-        HBufC8* MathdoConfigurationData( TUint32 aPackageType, TUint32 aPackageID,
-                                         TUint32 aStartPosition = 0,
-                                         TUint32 aEndPosition = KMaxTUint32 );
-
-		/**
-        * Callback function to notify that word list is converted.
-        *
-        * @param "TInt aError" Error code, KErrNone if successful.
-        */	
-		void MathdoWordListReady( const TInt aError );
-
-    public: // From MASRSGrCompilerObserver
-
-        /**
-        * Grammar has been compiled.
-        *
-        * @param "TInt aError" An error code.
-        */
-        void MghdoGrammarCompilerComplete( TInt aError );
-
-        /**
-        * Grammars have been combined.
-        *
-        * @param "HBufC8* aResult" Contains the compiled grammar, NULL if error
-        *         happened.
-        * @param "TInt aError" KErrNone if successful.
-        */
-        void MghdoGrammarCombinerComplete( HBufC8* aResult, TInt aError );
-
-        /**
-        * Called when GrCompilerHwDevice needs an SI lexicon.
-        *
-        * @param "TSILexiconID anID" Requested lexicon id.
-        * @return Pointer to created lexicon.
-        */
-        CSILexicon* MghdoSILexiconL( TSILexiconID anID );
-
-        /**
-        * Called when GrCompiler needs configuration data package
-        */
-        HBufC8* MghdoConfigurationData( TUint32 aPackageType,
-                                        TUint32 aPackageID,
-                                        TUint32 aStartPosition = 0,
-                                        TUint32 aEndPosition = KMaxTUint32 );
-             
-    private:
-        
-/*        void DeleteData( TPtrC8& aData );*/
-        
-        /**
-        * C++ default constructor.
-        */
-        CVMAlgorithmManager( MDevASRObserver& aObserver, MVmAlgMgrObserver& aVmObserver );
-        
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-        
-        // Prohibit copy constructor
-        CVMAlgorithmManager( const CVMAlgorithmManager& );
-        // Prohibit assigment operator
-        CVMAlgorithmManager& operator=( const CVMAlgorithmManager& );
-        
-    private: // Data
-        // Grammar compiler HW device
-        CASRSGrCompilerHwDevice* iGrCompiler;
-        
-        // Vocabulary management HW device
-        CASRSVocManHwDevice* iVocMan;
-        
-        // TTP HW device
-        CASRSTtpHwDevice* iTtp;
-        
-        // Observer
-        MDevASRObserver& iObserver;
-        
-        // Array for data pointers
-//        RPointerArray<HBufC8> iDataArray;
-        
-        // TtpHwDevice state
-        TTtpHwState iTtpState;
-
-        // GrCompilerHwDeviceState
-        TGrCompilerState iGrState;
-
-        // Our own observer
-        MVmAlgMgrObserver& iVmAlgObserver;
-       
-    };
-    
-#endif // DEVASRVMALGORITHMMANAGER_H
-    
-// End of File