vtuis/lcvtplugin/inc/common/tlcvtstates.h
branchRCL_3
changeset 24 f15ac8e65a02
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vtuis/lcvtplugin/inc/common/tlcvtstates.h	Tue Aug 31 15:16:10 2010 +0300
@@ -0,0 +1,333 @@
+/*
+* Copyright (c) 2008 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:  LC VT states class definition.
+*
+*/
+
+
+#ifndef T_LCVTSTATES_H
+#define T_LCVTSTATES_H
+
+#include <e32base.h>
+
+#include "tlcvtmediastate.h"
+#include "tlcvtaudiostate.h"
+
+class CVtEngModel;
+class MVtEngCameraPreferences;
+
+/**
+ *  TLcVtStates
+ *
+ *  Contains information about Application UI's current status.
+ *
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( TLcVtStates ) : public TLcVtFlagContainer
+    {
+
+public: // enumerations
+
+    /**
+    * Lc VT plugin execution state (will be set by the plugin state classes)
+    */
+    enum TLcVtExecState
+        {
+        EExecStateStarting,
+        EExecStateRunning,
+        EExecStateResetting,
+        EExecStateFinalized
+        };
+
+public:
+
+    /**
+     * Constructor.
+     */
+    TLcVtStates( CVtEngModel& aModel );
+
+    /**
+     * Updates UI states.
+     */
+    void Update();
+
+    /**
+     * Return whether or not ColorToneSetting
+     * is supported by current camera.
+     *
+     * @return ETrue if at least one color tone setting is available,
+     * EFalse otherwise.
+     */
+    TBool IsColorToneSettingAvailable() const;
+
+    /**
+     * Return whether or not WhiteBalanceSetting
+     * is supported by current camera.
+     *
+     * @return ETrue if at least one white balance setting is available,
+     * EFalse otherwise.
+     */
+    TBool IsWhiteBalanceSettingAvailable() const;
+
+    /**
+     * Return whether or not ontrast setting
+     * is supported by current camera.
+     *
+     * @return ETrue if at contrast setting is available,
+     * EFalse otherwise.
+     */
+    TBool IsContrastSettingAvailable() const;
+
+    /**
+     * Return whether or not brightness setting
+     * is supported by current camera.
+     *
+     * @return ETrue if brightness setting is available,
+     * EFalse otherwise.
+     */
+    TBool IsBrightnessSettingAvailable() const;
+
+    /**
+     * Returns reference to media state object
+     *
+     * @return Reference to media state object.
+     */
+    inline const TLcVtMediaState& MediaState() const;
+
+    /**
+     * Returns reference to audio state object
+     *
+     * @return Reference to audio state object.
+     */
+    inline const TLcVtAudioState& AudioState() const;
+
+    /**
+     * Sets or clears EIsCLIReceived
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetCLIReceived( TBool aSet );
+
+    /**
+     * Check if EIsCLIReceived is set
+     *
+     * @return ETrue if EIsCLIReceived is set EFalse otherwise
+     */
+    inline TBool IsCLIReceived() const;
+
+    /**
+     * Sets or clears EIsLayoutChangeNeeded
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetLayoutChangeNeeded( TBool aSet );
+
+    /**
+     * Check if EIsLayoutChangeNeeded is set
+     *
+     * @return ETrue if EIsLayoutChangeNeeded is set EFalse otherwise
+     */
+    inline TBool IsLayoutChangeNeeded() const;
+    
+    /**
+     * Sets or clears EIsDeviceLockOn
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetDeviceLockOn( TBool aSet );
+
+    /**
+     * Check if EIsDeviceLockOn is set
+     *
+     * @return ETrue if EIsDeviceLockOn is set EFalse otherwise
+     */
+    inline TBool IsDeviceLockOn() const;
+
+    /**
+     * Sets or clears EDetailsReceived
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetDetailsReceived( TBool aSet );
+
+    /**
+     * Check if EDetailsReceived is set
+     *
+     * @return ETrue if EDetailsReceived is set EFalse otherwise
+     */
+    inline TBool IsDetailsReceived() const;
+
+    /**
+     * Sets or clears EWaitingForFirstFrame
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetWaitingForFirstFrame( TBool aSet );
+
+    /**
+     * Check if EWaitingForFirstFrame is set
+     *
+     * @return ETrue if EWaitingForFirstFrame is set EFalse otherwise
+     */
+    inline TBool IsWaitingForFirstFrame() const;
+
+    /**
+     * Sets or clears EUseSQCif
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetUseSQCif( TBool aSet );
+
+    /**
+     * Check if EUseSQCif is set
+     *
+     * @return ETrue if EUseSQCif is set EFalse otherwise
+     */
+    inline TBool IsUseSQCif() const;
+
+    /**
+     * Sets or clears EIsThisApplicationForeground
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetThisApplicationForeground( TBool aSet );
+
+    /**
+     * Check if EIsThisApplicationForeground is set
+     *
+     * @return ETrue if EIsThisApplicationForeground is set EFalse otherwise
+     */
+    inline TBool IsThisApplicationForeground() const;
+
+    /**
+     * Sets or clears EIsDisableBlindSetting
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetDisableBlindSetting( TBool aSet );
+
+    /**
+     * Check if EIsDisableBlindSetting is set
+     *
+     * @return ETrue if EIsDisableBlindSetting is set EFalse otherwise
+     */
+    inline TBool IsDisableBlindSetting() const;
+
+    /**
+     * Sets or clears EExecShowCameraInUse
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetExecShowCameraInUse( TBool aSet );
+
+    /**
+     * Check if EExecShowCameraInUse is set
+     *
+     * @return ETrue if EExecShowCameraInUse is set EFalse otherwise
+     */
+    inline TBool IsExecShowCameraInUse() const;
+
+    /**
+     * Sets or clears EIsWaitingCall
+     *
+     * @param aSet ETrue if setting will be set, EFalse otherwise.
+     */
+    inline void SetWaitingCall( TBool aSet );
+
+    /**
+     * Check if there is waiting video/voice call.
+     *
+     * @return ETrue if waiting call is ongoing, EFalse otherwise
+     */
+    inline TBool IsWaitingCall() const;
+
+    /**
+    * Returns application's execution state.
+    * @return Application's current execution state.
+    */
+    inline TLcVtExecState ExecState() const;
+    
+    /**
+    * Sets application's execution state.
+    * @param aState Application's new execution state.
+    */
+    inline void SetExecState( const TLcVtExecState aState );
+    
+private: // methods to be accessed only by certain classes (see friends)
+
+    
+
+private:
+
+    // Enumeration for ui state flags.
+    enum TFlags
+        {
+        /** Set if CLI is received */
+        EIsCLIReceived = ( 1<<0 ),
+
+        /** Set if layout change is needed */
+        EIsLayoutChangeNeeded = ( 1<<1 ),
+
+        /** Set if device lock is on */
+        EIsDeviceLockOn = ( 1<<2 ),
+
+        /** Set if details have been received */
+        EDetailsReceived = ( 1<<3 ),
+
+        /** Set if waiting for first frame */
+        EWaitingForFirstFrame = ( 1<<4 ),
+
+        /** Set if SQCIF is being used */
+        EUseSQCif = ( 1 << 5 ),
+
+        /** Set if application on foreground */
+        EIsThisApplicationForeground = ( 1<<6 ),
+
+        /** Set if blind setting should be temporarily disabled.
+            This is used in preventing blind bitmap from flashing
+            while operations involving multiple engine commands/events
+            take place (e.g. 'Swap image places' and layout switch). */
+        EIsDisableBlindSetting = ( 1<<7 ),
+
+        /** Set if camera in use note should be shown. */
+        EExecShowCameraInUse = ( 1<<8 ),
+
+        /** Set if waiting call exists */
+        EIsWaitingCall = ( 1<<9 ),
+        };
+
+    // Engine media state
+    TLcVtMediaState iMediaState;
+
+    // Engine audio state
+    TLcVtAudioState iAudioState;
+
+    // Refrence to engine
+    CVtEngModel& iModel;
+
+    // Refrence to camera prefrences
+    MVtEngCameraPreferences* iCameraPref;
+
+    // Application execution state
+    TLcVtExecState iExecState;    
+
+private: // friends
+
+    //friend class TLcVtStateBase;
+
+    };
+
+#include "tlcvtstates.inl"
+
+#endif // T_LCVTSTATES_H