vtengines/videoteleng/Inc/Base/CVtEngSettings.h
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtengines/videoteleng/Inc/Base/CVtEngSettings.h	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,484 +0,0 @@
-/*
-* Copyright (c) 2004-2006 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:  Video call setting data.
-*
-*/
-
-
-
-#ifndef CVTENGSETTINGS_H
-#define CVTENGSETTINGS_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <bautils.h>
-#include "MVtEngCRSettingObserver.h"
-#include "CVtEngCRObserverItem.h"
-#include "CVtEngCRProxy.h"
-#include "MVtEngAudio.h"
-#include "MVtEngMedia.h"
-#include "MVtEngSessionInfo.h"
-
-// CONSTANTS
-// Default routing.
-const MVtEngAudio::TVtEngRoutingSetting
-    KVtEngDefaultAudioRouting = MVtEngAudio::EActivateHandsfree;
-
-// FORWARD DECLARATIONS
-class MVtEngSettingObserver;
-
-// CLASS DECLARATION
-
-/**
-*  Container for video call settings.
-*
-*  @lib videoteleng.lib
-*  @since Series 60 2.6
-*/
-NONSHARABLE_CLASS( CVtEngSettings ) : public CBase
-, public MVtEngCRSettingObserver
-    {
-    public:
-
-        /**
-        * Settings ids
-        */
-        enum TSettingId
-            {
-            EStillImage,
-            EStillImagePath,
-            ECallTimer,
-            EHandsetVolume,
-            EHandsfreeVolume,
-            EBTAudioAccessory,
-            EIhfMode,
-            ESelectVolume, // select Handset / Handsfree volume
-            EDataportInfo
-            };
-
-        /**
-        * Audio configuration
-        */
-        struct TVtEngAudioConfig
-            {
-            // Current volume in use, EFalse: handset,
-            // ETrue: loudspeaker.
-            TBool iCurrentVolume;
-            // Speaker volume
-            MVtEngAudio::TVtEngOutputVolume   iVolume;
-            // Audio routing
-            MVtEngAudio::TVtEngRoutingSetting iRouting;
-            };
-
-        /**
-        * Video configuration
-        */
-        struct TVtEngVideoConfig
-            {
-            // Still image file name
-            TFileName iStillImageFile;
-            // Determines if still image is valid.
-            TBool iImageIsValid;
-            // Determines if video is enabled.
-            TBool iVideoEnabled;
-            };
-
-        /**
-        * Video quality framerates
-        */
-        struct TVtEngVideoQualityFrameRateConfig
-            {
-            // Frame rate for videoquality settings detail
-            TInt    iDetail;
-
-            // Frame rate for videoquality settings normal
-            TInt    iNormal;
-
-            // Frame rate for videoquality settings motion
-            TInt    iMotion;
-            };
-
-        /**
-        * Media configuration
-        */
-        struct TVtEngVideoCallConfig
-            {
-            // @see TVtEngAudioConfig
-            TVtEngAudioConfig iAudio;
-            // @see TVtEngVideoConfig
-            TVtEngVideoConfig iVideo;
-            // defines if call timer is enabled
-            TBool iCallTimerOn;
-            // Engine has green light to make connect on Protocol.
-            TBool iReadyForConnect;
-			// Dataport loaning status
-			TBool iIsDataportLoaned;
-            };
-
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @return instance of CVtEngSettings
-        */
-        static CVtEngSettings* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CVtEngSettings();
-
-    public: // New functions
-
-        /**
-        * Creates stored data observers.
-        * @param aObserver callback interface
-        * @param aUid UID to monitor
-        * @param aKey ID to monitor
-        * @param aType which data type
-        */
-        void CreateDataObserverL(
-            MVtEngCRSettingObserver* aObserver, TUid aUid, TUint32 aKey,
-            CCenRepNotifyHandler::TCenRepKeyType aType );
-
-        /**
-        * Returns configuration.
-        * @return settings data
-        */
-        const CVtEngSettings::TVtEngVideoCallConfig& Config() const;
-
-        /**
-        * Sets current volume.
-        * @param aVolume selected volume,
-        *        EFalse: handset, ETrue: loudspeaker.
-        */
-        void SetCurrentVolume( TBool aVolume );
-
-        /**
-        * Returns current volume.
-        * @return EFalse: handset, ETrue: loudspeaker.
-        */
-        TBool CurrentVolume() const;
-
-        /**
-        * Sets audio output volume levels.
-        * @param aHandsetVolume handset volume level.
-        * @param aHandsfreeVolume handsfree volume level.
-        * @param aInternal not stored to shared data but
-        * internal variable to be used when correct state
-        * is entered.
-        * @return Symbian error code
-        */
-        TInt SetVolume(
-            const TInt aHandsetVolume,
-            const TInt aHandsfreeVolume,
-            const TBool aInternal );
-
-        /**
-        * Gets audio output volume levels from Shared Data.
-        * @param aVolume volume level.
-        * @param aHandsfree if true handsfree volume is read,
-        * otherwise handset.
-        * @param aInternal not read from shared data but
-        * from internal variable
-        * @return error code
-        */
-        TInt GetVolume(
-            TInt& aVolume,
-            const TBool aHandsfree,
-            const TBool aInternal ) const;
-
-        /**
-        * Gets maximum audio output volume level.
-        * @return max volume for device
-        */
-        inline TInt MaxVolume( ) const;
-
-
-        /**
-        * Gets minimum audio output volume level.
-        * @return max volume for device
-        */
-        inline TInt MinVolume( ) const;
-
-        /**
-        * Checks the validity of the volume level.
-        * return either constant minimum, constant maximum
-        * or the passed value level.
-        * @param aVolume the volume level to check
-        * @return suitable volume level
-        */
-        inline TInt ValidVolume( const TInt aVolume ) const;
-
-        /**
-        * Sets audio routing setting.
-        * @param aState audio routing state.
-        */
-        void SetRouting( const MVtEngAudio::TVtEngRoutingSetting& aState );
-
-        /**
-        * Sets output video state setting.
-        * @param aEnabled ETrue if sending is enabled
-        */
-        void SetVideoEnabled( const TBool aEnabled );
-
-        /**
-        * Sets connected state.
-        */
-        void SetConnectReady();
-
-        /**
-        * Reads local variations.
-        */
-        void ReadVariationsL();
-
-        /**
-        * Gets camera orientations for primary and secondary camera.
-        * @see MVtEngMedia::TCameraOrientation
-        * @param aPrimaryCameraOrientation primary camera orientation.
-        * @param aSecondaryCameraOrientation secondary camera orientation.
-        */
-        void GetCameraOrientations(
-            MVtEngMedia::TCameraOrientation& aPrimaryCameraOrientation,
-            MVtEngMedia::TCameraOrientation& aSecondaryCameraOrientation ) const;
-
-        /**
-        * Checks if given bits is turned on in local variation.
-        * @param aBits bits to check
-        * @return ETrue if turned on
-        */
-        TBool CheckBits( const TInt aBits );
-
-        /**
-        * Returns video quality frame rate configuration.
-        * @return Reference to video quality frame rate
-        * configuration.
-        */
-        const TVtEngVideoQualityFrameRateConfig&
-            VideoQualityFrameRateConfig() const;
-
-        /**
-        * Resets settings to default values.
-        */
-        void ResetAll();
-
-        /**
-        * Registers interest on setting change.
-        * @param aId event to observe for
-        * @param aObserver setting observer
-        */
-        void NotifyChangeL(
-            TSettingId aId,
-            MVtEngSettingObserver& aObserver );
-
-        /**
-        * Cancels observering setting changes.
-        * @param aId event to cancel
-        * @param aObserver setting observer
-        */
-        void CancelNotifyChange(
-            TSettingId aId,
-            const MVtEngSettingObserver& aObserver );
-
-		/**
-        * Informs setting is dataport loaned or not yet. 
-        * @param aLoaned TBool value is loaned (ETrue) or not (EFalse)
-        */
-		void SetDataportLoaned( TBool aLoaned );
-		
-		/**
-        * Checks if still image exists. 
-        * @return ETrue if still image exists.
-        */
-		TBool IsDefaultStillImageDefined();
-		
-		
-		
-		/**
-		* Sets CLI. 
-		* @since S60 5.0
-		* @params aCLI call id and address (MSISDN) availability
-		*/
-		void SetCLI( const MVtEngSessionInfo::TCLI& aCLI );
-		
-		/**
-		* Returns CLI
-		* @since S60 5.0
-		* @param aCLI call id and address (MSISDN) availability
-		* @return ETrue if CLI is valid (stored in the first place)
-		*/
-		TBool GetCLI( MVtEngSessionInfo::TCLI& aCLI ) const;
-
-        /**
-		* Sets dataport info
-		* @since S60 5.0
-		* @param aPortInfo port name and number as string
-		*/
-		void SetDataportInfoL( const TDesC& aPortInfo );
-		
-		/**
-		* Returns dataport info or NULL if not available yet
-		* @since S60 5.0
-		* @return dataport info
-		*/
-		const TDesC* DataportInfo() const;
-		
-	public:  // From MVtEngCRSettingObserver.
-
-        /**
-        * Callback to notify changed setting.
-        * @param aUid changed Uid
-        * @param aId changed id
-        * @param aNewValue
-        */
-        void HandleNotifyInt( const TUid aUid, const TUint32 aId,
-            TInt aNewValue );
-
-        /**
-        * Callback to notify changed setting.
-        * @param aUid changed Uid
-        * @param aId changed id
-        * @param aNewValue
-        */
-        void HandleNotifyReal( const TUid aUid, const TUint32 aId,
-            TReal aNewValue );
-
-        /**
-        * Callback to notify changed setting.
-        * @param aUid changed Uid
-        * @param aId changed id
-        * @param aNewValue
-        */
-        void HandleNotifyString( const TUid aUid, const TUint32 aId,
-            const TDesC16& aNewValue );
-
-    private: // New functions.
-        struct TObserverItem
-            {
-            // Callback interface.
-            MVtEngSettingObserver* iObserver;
-            // UID of item.
-            TUid                   iUid;
-            // Key of observer.
-            TPtrC                  iKey;
-            // Integer key, used with CR.
-            TInt                   iIntKey;
-            // Settings internal id.
-            TSettingId             iId;
-            };
-
-        /**
-        * Finds observer item.
-        * @param aUid
-        * @param aKey
-        * @return observer item or NULL
-        */
-        TObserverItem* FindItem( const TUid& aUid, const TDesC& aKey ) const;
-
-        /**
-        * Finds observer item.
-        * @param aUid
-        * @param aKey
-        * @return observer item or NULL
-        */
-        TObserverItem* FindItem( const TUid& aUid, const TInt& aKey ) const;
-
-        /**
-        * Returns value as integer.
-        * @param aValue value to convert
-        * @return value as integer
-        */
-        static TInt SettingAsTInt( const TDesC& aValue );
-
-        /**
-        * Derived class for internal book keeping. Engine knows whether
-        * CLI has been received from call handling
-        */
-        struct TVtEngCLI : public MVtEngSessionInfo::TCLI
-            {
-            // Set to True when CLI received from call handling.
-            TBool iValid;
-            };
-            
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CVtEngSettings();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        /**
-        * Callback function to inform the observer.
-        * @param aAny pointer to instance of this class.
-        * @return KErrNone always.
-        */
-        static TInt DoInformSelectVolumeObserver( TAny* aAny );
-
-
-        /**
-        * Parses VQ frame rates read from cenrep.
-        */
-        void ParseFrameRates( TVtEngVideoQualityFrameRateConfig& aVQFR,
-            const TDesC& aBuffer );
-
-    private:    // Data
-        // Central Repository proxy.
-        CVtEngCRProxy* iCRProxy;
-
-        // Settings data.
-        TVtEngVideoCallConfig iConfig;
-
-        // Setting data observers.
-        CArrayFixFlat<TObserverItem>* iObserverItems;
-
-        // File system handle.
-        RFs iFs;
-
-        // Owned idle callback instance.
-        CIdle* iSelectVolumeIdle;
-
-        // Observer for ESelectVolume.
-        MVtEngSettingObserver* iSelectVolumeObserver;
-        
-        // Observer for EDataportInfo
-        MVtEngSettingObserver* iDataportObserver;
-
-        // Locally variated bits are read to this.
-        TInt iVariantReadOnlyValues;
-
-        // If local variations are read
-        TBool iVariationsRead;
-
-        // Video quality frame rate configuration holder
-        TVtEngVideoQualityFrameRateConfig iVQFRConfig;
-        
-        // If default still image is defined
-        TBool iDefaultStillImageDefined;
-        
-        // CLI information of video call. 
-        TVtEngCLI iCLI;
-        
-        HBufC* iDataportInfo;
-    };
-
-#include    "CVtEngSettings.inl"
-
-#endif      // CVTENGSETTINGS_H
-
-// End of File