voiceui/voiceuivoicerecognition/inc/vuicdatastorage.h
branchRCL_3
changeset 19 e36f3802f733
parent 0 bf1d17376201
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/voiceui/voiceuivoicerecognition/inc/vuicdatastorage.h	Wed Sep 01 12:29:17 2010 +0100
@@ -0,0 +1,340 @@
+/*
+* Copyright (c) 2006-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:  
+*
+*/
+
+
+#ifndef VUICDATASTORAGE_H
+#define VUICDATASTORAGE_H
+
+// INCLUDES
+#include <e32base.h>
+
+#include <nssvasapi.h>
+
+#include <vuivoicerecogdefs.h>
+
+// FORWARD DECLARATIONS
+class CVoiceRecognitionDialogImpl;
+class CNssRecognitionHandlerBuilder;
+class MNssRecognitionHandler;
+class CTonePlayer;
+class CPropertyHandler;
+class CTutorial;
+class CTTSPlayer;
+class MVasBasePbkHandler;
+
+// CONSTANTS
+
+const TInt KResetMode = -1;
+
+// CLASS DECLARATION
+/**
+* COMMENT
+*/
+NONSHARABLE_CLASS( CDataStorage ) : public CBase
+{
+    public:     // Constructors and destructor
+
+        /**
+        * Symbian two-phased constructor.
+        */
+        static CDataStorage* NewL( CVoiceRecognitionDialogImpl* aVoiceRecognitionImpl );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CDataStorage();
+                                
+    public:     // New functions
+        
+        /**
+        * Stores recognition handler builder pointer
+        * @param aRecognitionHandlerBuilder Pointer to be stored
+        */
+        void SetRecognitionHandlerBuilder( CNssRecognitionHandlerBuilder* aRecognitionHandlerBuilder );
+        
+        /**
+        * Stores recognition handler pointer
+        * @param aRecognitionHandler Pointer to be stored
+        */
+        void SetRecognitionHandler( MNssRecognitionHandler* aRecognitionHandler );
+        
+        /**
+        * Stores recognition handler builder pointer
+        * @param aRecognitionHandlerBuilder Pointer to be stored
+        */
+        void SetVerificationRecognitionHandlerBuilder( CNssRecognitionHandlerBuilder* aRecognitionHandlerBuilder );
+        
+        /**
+        * Stores recognition handler pointer
+        * @param aRecognitionHandler Pointer to be stored
+        */
+        void SetVerificationRecognitionHandler( MNssRecognitionHandler* aRecognitionHandler );
+                       
+        /**
+        * Stores additional tag list pointer
+        * @param aAdditionalTagList Pointer to be stored
+        */
+        void SetAdditionalTagList( CArrayPtrFlat<MNssTag>* aAdditionalTagList );
+        
+        /**
+        * Stores tag list pointer
+        * @param aTagList Pointer to be stored
+        */
+        void SetCompleteTagList( CArrayPtrFlat<MNssTag>* aCompleteTagList );
+        
+        /**
+        * Stores tag pointer
+        * @param aTag Pointer to be stored
+        * @param aDestroyIfExists Destroys old tag if one exists
+        */
+        void SetTag( MNssTag* aTag, TBool aDestroyIfExists );
+        
+        /**
+        * Stores context pointer
+        * @param aContext Pointer to be stored
+        */
+        void SetContext( MNssContext* aContext );
+        
+        /**
+        * Stores adaptation state
+        * @param aAdaptationEnabled ETrue to enable adaptation, else EFalse
+        */
+        void SetAdaptationEnabled( const TBool aAdaptationEnabled );
+        
+        /**
+        * Stores play duration
+        * @param aPlayDuration Play duration in milliseconds
+        */
+        void SetPlayDuration( const TTimeIntervalMicroSeconds& aPlayDuration );
+        
+        /**
+        * Stores verification mode
+        * @param aMode One of TVuiVerificationMode values or if not given the
+        * value is reseted
+        */
+        void SetVerificationMode( const TInt aMode = KResetMode );
+        
+        /**
+        * Sets verification try count
+        * @param aCount Number of tries left
+        */
+        void SetVerificationTryCount( const TInt aCount );
+        
+        /**
+        * Sets flag if device lock mode is enabled
+        * @param aDeviceLockMode Flag value
+        */
+        void SetDeviceLockMode( const TBool aDeviceLockMode );
+                
+        /**
+        * Returns RecognitionDialogImpl
+        * @return Pointer to RecognitionDialogImpl object
+        */
+        CVoiceRecognitionDialogImpl* VoiceRecognitionImpl() const;
+        
+        /**
+        * Returns recognition handler builder
+        * @return Pointer to recognition handler builder object
+        */
+        CNssRecognitionHandlerBuilder* RecognitionHandlerBuilder() const;
+        
+        /**
+        * Returns recognition handler
+        * @return Pointer to recognition handler object
+        */
+        MNssRecognitionHandler* RecognitionHandler() const;
+        
+        /**
+        * Returns recognition handler builder
+        * @return Pointer to recognition handler builder object
+        */
+        CNssRecognitionHandlerBuilder* VerificationRecognitionHandlerBuilder() const;
+        
+        /**
+        * Returns recognition handler
+        * @return Pointer to recognition handler object
+        */
+        MNssRecognitionHandler* VerificationRecognitionHandler() const;
+        
+        /**
+        * Returns tone player
+        * @return Pointer to tone player object
+        */
+        CTonePlayer* TonePlayer() const;
+        
+        /**
+        * Returns tts player
+        * @return Pointer to tts player object
+        */
+        CTTSPlayer* TtsPlayer() const;
+        
+        /**
+        * Returns phonebook handler
+        * @return Pointer to phonebook handler object
+        */
+        MVasBasePbkHandler* PbkHandler() const;
+                
+        /**
+        * Returns accessory button monitor
+        * @return Pointer to accessory button monitor object
+        */
+        CPropertyHandler* AccessoryButtonMonitor() const;   
+        
+        /**
+        * Returns tutorial
+        * @return Pointer to tutorial object
+        */
+        CTutorial* Tutorial() const;
+        
+        /**
+        * Returns additional tag list
+        * @return Pointer to tag list object
+        */
+        CArrayPtrFlat<MNssTag>* AdditionalTagList() const;
+        
+        /**
+        * Returns complete tag list
+        * @return Pointer to tag list object
+        */
+        CArrayPtrFlat<MNssTag>* CompleteTagList() const;
+        
+        /**
+        * Returns tag
+        * @return Pointer to tag object
+        */
+        MNssTag* Tag() const;
+        
+        /**
+        * Returns context 
+        * @return Pointer to context object
+        */
+        MNssContext* Context() const;
+        
+        /**
+        * Returns synthesizer mode
+        * @return Current synthesizer mode, either 0 or 1
+        */
+        TInt SynthesizerMode() const;
+        
+        /**
+        * Returns adaptation state
+        * @return Current adaptation state, either ETrue or EFalse
+        */
+        TBool AdaptationEnabled() const;
+        
+        /**
+        * Returns play duration
+        * @return Play duration in microseconds
+        */
+        TTimeIntervalMicroSeconds PlayDuration() const;
+        
+        /**
+        * Returns verification mode
+        * @return One of TVuiVerificationMode values
+        */
+        TInt VerificationMode() const;
+        
+        /**
+        * Returns verification try count
+        * @return Number of verification tries left
+        */
+        TInt VerificationTryCount() const;
+        
+        /**
+        * Returns if device lock mode is enabled
+        * @return ETrue if device lock mode is enabled else EFalse
+        */
+        TBool DeviceLockMode() const;
+         
+    private:    // Functions
+        
+        /**
+        * C++ default constructor.
+        */
+        CDataStorage( CVoiceRecognitionDialogImpl* aVoiceRecognitionImpl );
+        
+        /**
+        * Symbian OS 2nd phase constructor.
+        */
+        virtual void ConstructL();
+                
+    private:    // Data
+
+        // Main storage owner
+        CVoiceRecognitionDialogImpl*        iVoiceRecognitionImpl;
+        
+        // Recognition handler builder
+        CNssRecognitionHandlerBuilder*      iRecognitionHandlerBuilder;
+        
+        // Recognition handler
+        MNssRecognitionHandler*             iRecognitionHandler;
+        
+        // Recognition handler builder
+        CNssRecognitionHandlerBuilder*      iVerificationRecognitionHandlerBuilder;
+        
+        // Recognition handler
+        MNssRecognitionHandler*             iVerificationRecognitionHandler;
+               
+        // For playing tones
+        CTonePlayer*                        iTonePlayer;
+        
+        // For tts playback
+        CTTSPlayer*                         iTtsPlayer;
+        
+        // For phonebook handling
+        MVasBasePbkHandler*                 iPbkHandler;
+        
+        // For handling accessory buttons
+        CPropertyHandler*                   iAccessoryButtonMonitor;
+        
+        // Tutorial
+        CTutorial*                          iTutorial;
+        
+        // Received tag list includes tags for one contact
+        CArrayPtrFlat<MNssTag>*             iAdditionalTagList;
+        
+        // Received tag list includes recognition results
+        CArrayPtrFlat<MNssTag>*             iCompleteTagList;
+        
+        // One tag from tag list
+        MNssTag*                            iTag;
+        
+        // Received context
+        MNssContext*                        iContext;
+        
+        // TTS mode
+        TInt                                iSynthesizerMode;
+        
+        // Adaptation state
+        TBool                               iAdaptationEnabled;
+        
+        // Time of how long playback will take
+        TTimeIntervalMicroSeconds           iPlayDuration;
+        
+        // Automatic/manual/voice confirmation mode
+        TInt                                iVerificationMode;
+        
+        // Number of verification tries left
+        TInt                                iVerificationTryCount;
+        
+        // Device lock mode flag
+        TBool                               iDeviceLockMode;
+};
+
+#endif  // VUICDATASTORAGE_H
+
+// End of File