vtuis/videotelui/inc/CVtUiAppUi.h
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtuis/videotelui/inc/CVtUiAppUi.h	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1469 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Application UI class for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIAPPUI_H
-#define CVTUIAPPUI_H
-
-//  INCLUDES
-#include    <aknappui.h>
-#include    <vtengcommands.h>
-#include    <mvtengmedia.h>
-#include    <tvtengrendering.h>
-#include    <tvtengrenderingdsa.h>
-#include    <tvtengrenderingdp.h>
-#include    <tvtengrenderingnga.h>
-#include    <AknProgressDialog.h>
-#include    <mvtengaudio.h>
-#include    <remconcoreapi.h>
-
-#include    "CVtUiActiveExec.h"
-#include    "tvtuilocalvariation.h"
-#include    "tvtuiappstatebase.h"
-
-
-// FORWARD DECLARATION
-class CVtUiBlankControl;
-class CAknNavigationControlContainer;
-class CAknTitlePane;
-class CVtEngModel;
-class MVtUiVideoWindow;
-class CRepository;
-class CAknQueryDialog;
-class CAknProgressDialog;
-class TVtUiStates;
-class CVtUiCommandManager;
-class CVtUiComponentManager;
-class CVtUiFeatureManager; // TOOLBAR MOD
-class MVtUiNumberSource;
-class CVtUiMainControl;
-class CVtUiContextControl;
-class CVtUiBitmapManager;
-class CVtUiVolumeControl;
-class CAknIncallBubble;
-class CVtUiRemoteVideoControl;
-
-// CLASS DECLARATION
-
-/**
-*  Application UI class for Video Telephone application.
-*
-*  @since Series 60 2.6
-*/
-class CVtUiAppUi
-    : public CAknAppUi,
-      protected MVtUiActiveExec,
-      public MVtUiStateContext,
-      public MProgressDialogCallback
-    {
-    public:
-
-        // Rendering modes
-        enum TRenderingMode
-            {
-            ERenderingModeDefault,
-            ERenderingModeDialer
-            };
-
-    public: // Constructors and destructor
-
-        /**
-        * C++ constructor.
-        */
-        CVtUiAppUi();
-
-        /**
-        * Symbian constructor.
-        */
-        void ConstructL();
-
-        /**
-        * C++ destructor.
-        */
-        ~CVtUiAppUi();
-
-    public: // New functions
-
-        /*
-        *  This function decides possibility of swapimg image places.
-        */
-        TBool CanSwapImagePlaces();
-
-        /*
-        * Switches status pane between flat and normal one.
-        */
-        void SwitchLayoutToFlatStatusPaneL( TBool aSwitch );
-
-        /**
-        * Refreshes all.
-        */
-        void RefreshL();
-
-        /**
-        * Refreshes navi pane.
-        */
-        void RefreshNaviPaneL();
-
-        /**
-        * Refreshes softkeys.
-        */
-        void RefreshSoftkeysL();
-        
-        /**
-        * Refreshes menu.
-        */
-        void RefreshMenuL();
-
-        /**
-        * Refresh zoom popup
-        */
-        void RefreshZoomPopupL();
-        
-        /**
-        * Stop brightness or Contrast
-        */        
-        void StopBrightnessOrContrast();
-        /**
-        * Refreshes blind flags.
-        */
-        void RefreshBlind();
-
-        /**
-        * Refreshes synchronisation.
-        */
-        void RefreshSynchronise();
-
-        /**
-        * Opens number entry.
-        * @return ETrue if number entry opened.
-        */
-        TBool OpenNumberEntryL();
-
-        /**
-        * Handles EKeyPhoneSend presses
-        */
-        TKeyResponse HandlePhoneSendKeyL( const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-
-        /**
-        * Returns pointer to cba.
-        */
-        CEikButtonGroupContainer* GetCba();
-
-        /**
-        * Sets zoom mode.
-        * @param aEnableZoomMode Etrue if zoom mode is on.
-        * EFalse otherwise.
-        * @param aIsPermanent ETrue if zoomindicator's timeout
-        * should be ignored. EFalse otherwise..
-        */
-        void SetZoomModeL( const TBool aEnableZoomMode,
-            const TBool aIsPermanent = EFalse );
-
-        /**
-        * Checks if command is active.
-        * @param aCommand Command id.
-        * @return Etrue if command is active
-        * EFalse otherwise.
-        */
-        TBool IsActiveCommand( TInt aCommand ) const;
-
-        TVtUiAppStateBase& State();
-
-        /**
-        * Returns reference to bitmap manager.
-        */
-        CVtUiBitmapManager& BitmapManager();
-
-        /**
-        * Sets given zoom step, if it allowed.
-        * @param aZoomStep New zoom step to be set.
-        */
-        void SetZoomFactorL( TInt aZoomStep );
-
-    public: // Functions from base classes
-
-        /**
-        * From CAknAppUi, handles window server events.
-        * @param aEvent event.
-        * @param aDestination destination control.
-        */
-        virtual void HandleWsEventL(
-            const TWsEvent& aEvent,
-            CCoeControl* aDestination );
-
-        /**
-        * From CAknAppUi, processes commands.
-        * @param aCommand the identifier of the command to be handled.
-        */
-        virtual void ProcessCommandL(
-            TInt aCommand );
-
-        /**
-        * From CAknAppUi, handles commands.
-        * @param aCommand the identifier of the command to be handled.
-        */
-        virtual void HandleCommandL(
-            TInt aCommand );
-
-        /**
-        * From CAknAppUi, handles dynamic initialisation of menu panes.
-        * @param aResourceId the resource identifier for the pane.
-        * @param aMenuPane the menu pane corresponding to the resource.
-        */
-        virtual void DynInitMenuPaneL(
-            TInt aResourceId,
-            CEikMenuPane* aMenuPane );
-
-        /**
-        * From CAknAppUi, handles key events.
-        * @param aKeyEvent event to be handled.
-        * @param aType type of the key event.
-        * @return response code (EKeyWasConsumed, EKeyWasNotConsumed)
-        */
-        virtual TKeyResponse HandleKeyEventL(
-            const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-
-        /**
-        * From CAknAppUi, handles resouce changes.
-        * @param aType type of resource change.
-        */
-        virtual void HandleResourceChangeL( TInt aType );
-
-        /**
-        * From CAknAppUi, handles foreground status changes.
-        * @param aForeground ETrue if foreground.
-        */
-        virtual void HandleForegroundEventL( TBool aForeground );
-
-        /**
-        * Returns a pointer to CEikonEnv.
-        */
-        CEikonEnv* GetEikonEnv();
-
-    protected: // Functions from base classes
-
-        /**
-        * From CAknAppUi, returns help context.
-        * @return help context.
-        */
-        virtual CArrayFix<TCoeHelpContext>* HelpContextL() const;
-
-        /**
-        * @see MVtUiActiveExec::ActiveExecExecuteL.
-        */
-        virtual TBool ActiveExecExecuteL(
-            CVtUiActiveExec& aActiveExec,
-            const TInt aState,
-            TInt& aNextState,
-            TRequestStatus& aRequest );
-
-        /**
-        * @see MVtUiActiveExec::ActiveExecContinue.
-        */
-        virtual TBool ActiveExecContinue(
-            CVtUiActiveExec& aActiveExec,
-            TInt& aState,
-            const TInt aError );
-
-        /**
-        * @see MVtUiActiveExec::ActiveExecCancel.
-        */
-        virtual void ActiveExecCancel(
-            CVtUiActiveExec& aActiveExec,
-            const TInt aState );
-
-        /**
-        * @see MVtUiActiveExec::ActiveExecDone.
-        */
-        virtual void ActiveExecDone(
-            CVtUiActiveExec& aActiveExec,
-            const TInt aInitialState );
-
-    public: // from MVtUiStateContext
-
-        /** @see MVtUiStateContext::StartupPhase1L */
-        virtual void StartupPhase1L();
-
-        /** @see MVtUiStateContext::ShutdownL */
-        virtual void ShutdownL();
-
-        /** @see MVtUiStateContext::StartupPhase2L */
-        virtual void StartupPhase2L();
-
-        /** @see MVtUiStateContext::ChangeApplicationFocus */
-        virtual void ChangeApplicationFocus( const TBool aForeground );
-
-        /** @see MVtUiStateContext::ChangeState */
-        virtual void ChangeState( TVtUiAppStateBase* aState );
-
-        /** @see MVtUiStateContext::StartTone */
-        virtual void StartDtmfTone( const TChar& aTone );
-
-        /** @see MVtUiStateContext::StopTone */
-        virtual void StopDtmfTone();
-
-        /** @see MVtUiStateContext::Model */
-        virtual CVtEngModel& Model();
-
-        /** @see MVtUiStateContext::VideoTelephonyVariation */
-        virtual const TVtUiVideoTelephonyVariation&
-            VideoTelephonyVariation() const;
-
-        /** @see MVtUiStateContext::NumberSource*/
-        virtual MVtUiNumberSource* NumberSource() const;
-
-        /** @see MVtUiStateContext::RefreshL */
-        virtual void RefreshL( const TInt aRefreshFlags );
-
-        /** @see MVtUiStateContext::DoExecuteCmdL */
-        virtual void DoExecuteCmdL(
-            const TVtEngCommandId aCommand,
-            TDesC8* aParams );
-
-        /** @see MVtUiStateContext::DoHandleLayoutChangedL */
-        virtual void DoHandleLayoutChangedL();
-
-        /** From MVtUiShutterObserver via MVtUiStateContext
-        *  Exits the application.
-        */
-        virtual void HandleShutdownReady();
-
-        /**
-        * Gets reference to context control.
-        * @return reference to context control.
-        */
-        CVtUiContextControl& ContextControl();
-
-        /**
-        * Gets reference to main control.
-        * @return reference to main control.
-        */
-        CVtUiMainControl& MainControl();
-
-        /**
-        * Gets reference to remote video control.
-        * @return reference to remote video control.
-        */        
-        CVtUiRemoteVideoControl& RemoteVideoControl();
-
-        /**
-        * Switches viewfinder to main pane if it is currently in context
-        * pane.
-        */
-        void SwitchViewFinderToMainPaneL( TBool aUpdateState = ETrue );
-
-        /**
-        * Switches viewfinder to context pane if it is currently in main
-        * pane.
-        */
-        void SwitchViewFinderToContextPaneL( TBool aUpdateState = ETrue );
-
-        /**
-        * Restores viewfinder back to pane where it was prior to calling the
-        * switch ViewFinderToMainPane() or ViewFinderToContextPane() methods.
-        */
-        void RestoreViewFinderL();
-
-        /*
-        * Updates volume to the Video Telephone engine.
-        */
-        void CmdUpdateVolumeL( MVtEngAudio::TVtEngOutputVolume aVolume );
-
-        /**
-        * Increases "command activating" ref.count and adds cleanup item
-        * to decrease it. Refreshes commands in case of first increment from
-        * zero. When PopAndDestroy() is called, cleanup decreases reference
-        * count and if it reduces back to zero command refresh is again done.
-        */
-        void EnableCommandActivatingAndCleanupPushL();
-
-    private: // from MProgressDialogCallback
-
-        /**
-        * @see MProgressDialogCallback::DialogDismissedL
-        */
-        void DialogDismissedL( TInt aButtonId );
-
-    private:
-
-        // COMMAND HANDLING
-
-        /**
-        * Checks if command is allowed.
-        * @param aCommand command identifier.
-        * @return ETrue if allowed, EFalse otherwise.
-        */
-        TBool IsCommandAllowedL( const TInt aCommand );
-
-        /**
-        * Refreshes iDisabledFlags.
-        */
-        void RefreshDisabledFlagsL();
-
-        /**
-        * Refreshes camera option availability.
-        * @param aUsePrimaryCameraNotAllowed it will be updated to ETrue if
-        *        it is not allowed to activate primary camera.
-        * @param aUseSecondaryCameraNotAllowed it will be updated to ETrue if
-        *        it is not allowed to activate secondary camera.
-        */
-        void RefreshCameraOptionAvailability(
-            TBool& aUsePrimaryCameraNotAllowed,
-            TBool& aUseSecondaryCameraNotAllowed );
-
-        /**
-        * Enables capture mode.
-        */
-        void CmdSnapshotL();
-
-        /**
-        * Freezes outgoing video image.
-        */
-        void CmdCaptureL();
-
-        /**
-        * Disables capture mode.
-        */
-        void CmdCancelCaptureL();
-
-
-        /**
-        * Enables video.
-        */
-        void CmdEnableVideoL();
-
-        /**
-        * Enables audio (unmute microphone).
-        */
-        void CmdEnableAudioL();
-
-        /**
-        * Disables video.
-        */
-        void CmdDisableVideoL();
-
-        /**
-        * Disables audio (mute microphone).
-        */
-        void CmdDisableAudioL();
-
-        /**
-        * Activates Bluetooth handsfree.
-        */
-        void CmdActivateBtL();
-
-        /**
-        * Deactivates Bluetooth handsfree.
-        */
-        void CmdDeactivateBtL();
-
-        /**
-        * Activates loudspeaker.
-        */
-        void CmdActivateLoudspeakerL();
-
-        /**
-        * Deactivates loudspeaker.
-        */
-        void CmdDeactivateLoudspeakerL();
-
-        /**
-        * Ends active call.
-        */
-        void CmdEndActiveCallL();
-
-        /**
-        * Swaps images places.
-        */
-        void CmdSwapImagesPlacesL();
-
-        /**
-        * Switches used camera.
-        * @param aPrimaryCamera ETrue if primary camera is to be selected,
-        *        EFalse if secondary camera is to be selected.
-        */
-        void CmdUseCameraL( const TBool aPrimaryCamera );
-
-        /**
-        * Launches help application.
-        */
-        void CmdHelpL();
-
-        /**
-        * Prepare exiting the application.
-        */
-        void PrepareExitL();
-
-        /**
-        * Updates zoom step to Video Telephone engine.
-        */
-        void CmdUpdateZoomL();
-
-        /**
-        * Dials emergency call.
-        */
-        void CmdDialEmergencyL();
-
-        /**
-        * Goes to Idle.
-        */
-        void CmdGoToIdleL();
-
-        /**
-        * Initialize image sharing.
-        */
-        void CmdInitializeShareImageL( TBool& aNeedRefresh );
-
-        /**
-        * Start sharing image.
-        */
-        void CmdShareImageL();
-
-        /**
-        * Stops sharing image.
-        */
-        void CmdStopShareImageL( TBool& aNeedRefresh );
-
-		/**
-        * Handles change in call waiting state.
-        * @param aIsWaiting The state of call waiting.
-        */
-	    void HandleWaitingStateChange( TBool aIsWaiting );
-
-        // STATE TRANSITIONS
-
-        /**
-        * @see MVtUiActiveExec::ActiveExecExecuteL.
-        */
-        TBool ActiveExecInitExecuteL(
-            const TInt aState,
-            TInt& aNextState,
-            TRequestStatus& aRequest );
-
-        /**
-        * @see MVtUiActiveExec::ActiveExecContinue.
-        */
-        TBool ActiveExecInitContinue(
-            TInt& aState,
-            const TInt aError );
-
-        /**
-        * @see MVtUiActiveExec::ActiveExecCancel.
-        */
-        void ActiveExecInitCancel(
-            const TInt aState );
-
-        /**
-        * @see MVtUiActiveExec::ActiveExecDone.
-        */
-        void ActiveExecInitDone(
-            const TInt aInitialState );
-
-        /**
-        * Executes command taking no parameters.
-        * @param aCommand command to be performed.
-        * @param aRequest request status.
-        */
-        void ActiveExecInitExecuteCommandL(
-            const TVtEngCommandId aCommand,
-            TRequestStatus& aRequest );
-
-        /**
-        * Executes command taking no parameters.
-        * @param aCommand command to be performed.
-        * @param aParam command parameters.
-        * @param aRequest request status.
-        */
-        template < class T >
-        void ActiveExecInitExecuteCommandL(
-            const TVtEngCommandId aCommand,
-            T& aParam,
-            TRequestStatus& aRequest );
-
-        /**
-        * Executes 'prepare camera' command.
-        * @param aSource source to be prepared.
-        * @param aRequest request status.
-        */
-        void ActiveExecInitPrepareCameraL(
-            const MVtEngMedia::TMediaSource aSource,
-            TRequestStatus& aRequest );
-
-        /**
-        * Executes 'set source' command.
-        * @param aSource source to be selected.
-        * @param aRequest request status.
-        */
-        void ActiveExecInitSetSourceL(
-            const MVtEngMedia::TMediaSource aSource,
-            TRequestStatus& aRequest );
-
-        /**
-        * Executes prepare viewfinder command.
-        * @param aRequest request status to be completed when finished.
-        */
-        void ActiveExecInitPrepareViewFinderL(
-            TRequestStatus& aRequest );
-
-        /**
-        * Executes prepare remote render command.
-        * @param aRequest request status to be completed when finished.
-        */
-        void ActiveExecInitPrepareRemoteRenderL(
-            TRequestStatus& aRequest );
-
-
-        /**
-        * Executes command taking no parameters.
-        * @param aCommand command to be performed.
-        * @param aRequest request status.
-        */
-        void ActiveExecCmdExecuteCommandL(
-            const TVtEngCommandId aCommand,
-            TRequestStatus& aRequest );
-
-        /**
-        * Executes 'set source' command.
-        * @param aSource source to be selected.
-        * @param aRequest request status.
-        */
-        void ActiveExecCmdSetSourceL(
-            const MVtEngMedia::TMediaSource aSource,
-            TRequestStatus& aRequest );
-
-        /**
-        * Executes 'prepare camera' command.
-        * @param aSource source to be selected.
-        * @param aRequest request status.
-        */
-        void ActiveExecCmdPrepareCameraL(
-            const MVtEngMedia::TMediaSource aSource,
-            TRequestStatus& aRequest );
-
-
-        /**
-        * Determines main control options.
-        * @param aRemoteVideo for remote video.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptions
-            DetermineMainControlOptions( TBool aRemoteVideo );
-
-        /**
-        * Determines context control options.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptions DetermineContextControlOptions();
-
-        /**
-        * Determines dialer control options.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptions DetermineDialerControlOptions();
-
-        /**
-        * Determines main control DSA options.
-        * @param aRemoteVideo for remote video.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptionsDSA
-            DetermineMainControlOptionsDSA( TBool aRemoteVideo );
-
-        /**
-        * Determines context control DSA options.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptionsDSA DetermineContextControlOptionsDSA();
-
-        /**
-        * Determines dialer control DSA options.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptionsDSA DetermineDialerControlOptionsDSA();
-
-        /**
-        * Determines main control DP options.
-        * @param aRemoteVideo for remote video.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptionsDP
-            DetermineMainControlOptionsDP( TBool aRemoteVideo );
-
-        /**
-        * Determines context control DP options.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptionsDP DetermineContextControlOptionsDP();
-
-        /**
-        * Determines dialer control DP options.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptionsDP DetermineDialerControlOptionsDP();
-
-        /**
-        * Determines remote video  control options.
-        * @return rendering options.
-        */
-        TVtEngRenderingOptionsNGA
-            DetermineRemoteVideoControlOptionsNGA();
-
-        // SYNCHRONOUS / BLOCKING EXECUTION:
-
-        /**
-        * Performs a command without any parameters.
-        * @param aCommand command to be performed.
-        */
-        void ExecuteCmdL( const TVtEngCommandId aCommand );
-
-        /**
-        * Performs a command with a parameter.
-        * @param aCommmand command to be performed.
-        * @param aParam parameter.
-        */
-        template< class T >
-        void ExecuteCmdL(
-            const TVtEngCommandId aCommand,
-            T& aParam );
-
-        // ASYNCHRONOUS EXECUTION:
-
-        /**
-        * Performs a command without any parameters.
-        * @param aDialogPtr pointer to which returned value is stored.
-        * @param aCommand command to be performed.
-        * @param aStatus request status.
-        * @return dialog.
-        */
-        CEikDialog* ExecuteCmdAsyncL(
-            CEikDialog** aDialogPtr,
-            const TVtEngCommandId aCommand,
-            TRequestStatus& aStatus );
-
-        /**
-        * Performs a command with a parameter.
-        * @param aDialogPtr pointer to which returned value is stored.
-        * @param aCommmand command to be performed.
-        * @param aParam parameter.
-        * @param aStatus request status.
-        * @return dialog.
-        */
-        template< class T >
-        CEikDialog* ExecuteCmdAsyncL(
-            CEikDialog** aDialogPtr,
-            const TVtEngCommandId aCommand,
-            T& aParam,
-            TRequestStatus& aStatus );
-
-        /**
-        * Performs a command.
-        * @param aDialogPtr pointer to which returned value is stored.
-        * @param aCommand command.
-        * @param aParams parameter, optional.
-        * @param aStatus request status.
-        * @return dialog.
-        */
-        CEikDialog* DoExecuteCmdAsyncL(
-            CEikDialog** aDialogPtr,
-            const TVtEngCommandId aCommand,
-            TDesC8* aParams,
-            TRequestStatus& aStatus );
-
-        /**
-        * Executes command in TRAP harnness.
-        * @param aCommand command identifier.
-        * @param aParam optional, parameters.
-        * @return error code.
-        */
-        TInt Execute( const TVtEngCommandId aCommand, TDesC8* aParam );
-
-        // EVENT HANDLING
-
-        /**
-        * Handles foreground changed events.
-        * @param aIsForeground ETrue if foreground, EFalse otherwise.
-        */
-        void HandleForegroundChangedL(
-            TBool aIsForeground );
-
-        /**
-        * Handles engine reset.
-        */
-        void HandleEngineResetL();
-
-        /**
-        * Handles successful answer operation.
-        */
-        void HandleAnswerL();
-
-        /**
-        * Stops waiting image text showing.
-        */
-        void StopWaitingImage();
-
-        /**
-         * Stops white balance showing.
-         */
-        void StopWhiteBalanceOrColortone();
-        
-        /**
-        * Handles layout changes basically calling HandleLayoutChangedL
-        * in trap harness.
-        * @return error code.
-        */
-        TInt HandleLayoutChanged();
-
-        /**
-        * Handles layout changes.
-        */
-        void HandleLayoutChangedL();
-
-        /**
-        * Handles video frame.
-        * @param aLocal local frame if ETrue, EFalse if remote.
-        * @param aBitmap frame, ownership not transferred.
-        */
-        void HandleVideoFrameL(
-            const TBool aLocal,
-            CFbsBitmap* aBitmap );
-
-        void SetVideoFrame(
-            const TBool aLocal,
-            CFbsBitmap* aBitmap );
-
-          /**
-        * Handles video call details.
-        * @param aCallID call id.
-        * @param aCallName call name.
-        * @param aIsPeerAddressAvailable is peer address available.
-        */
-        void HandleVideoCallDetailsL(
-            const TInt aCallId,
-            const TDesC& aCallName,
-            const TBool aIsPeerAddressAvailable );
-
-        /**
-        * Checks if it's time to bring this application
-        * to the foreground.
-        */
-        void CheckBringToForeground();
-
-        /**
-        * Checks if it's time to send this application
-        * to the background.
-        */
-        void CheckSendToBackground();
-
-        /**
-        * Handles remote problem.
-        */
-        void HandleVideoFrameRemoteProblemL();
-
-        /**
-        * Handles local problem.
-        */
-        void HandleVideoFrameLocalProblemL();
-
-        /**
-        * Set a new remote video layout.
-        */
-        void ChangeRemoteVideoLayoutL();
-
-        /**
-        * Show image initialization progress dialog.
-        */
-        void ShowImageInitializeProgressL();
-
-        /**
-        * Hide image initialization progress dialog.
-        */
-        void HideImageInitializeProgressL();
-
-        /**
-        * Sets SQCif usage.
-        * @param aUseSQCif SQCif is used.
-        */
-        void RemoteVideoIsSQCif( TBool aUseSQCif );
-
-        /**
-        * Sets SQCif usage to control.
-        * @param aUseSQCif SQCif is used.
-        */
-        void ControlUsesSQCif( TBool aUseSQCif );
-
-        /**
-        * Checks if beating needs to be started.
-        * @param aCallDurationEnabled call duration enabled status.
-        */
-        void CheckBeatL( const TBool aCallDurationEnabled );
-
-        /**
-        * Handles heart beats.
-        */
-        void HandleBeat();
-
-        // UTILITY METHODS
-
-        /**
-        * Informs the user that camera is reserved by another application.
-        */
-        void ShowCameraInUseNoteL() const;
-
-        /**
-        * Informs the user that the selected operation is not allowed.
-        */
-        void ShowNotAllowedNoteL() const;
-
-        /**
-        * Informs the user that it is not allowed to create normal call.
-        */
-        void ShowCallNotAllowedNoteL() const;
-
-        /**
-        * Informs the user that the other camera is not usable.
-        */
-        void ShowOtherCameraNotUsableNoteL() const;
-
-        /**
-        * Informs the user that image loading failed.
-        */
-        void ShowUnableToOpenNoteL() const;
-
-        /**
-        * Informs the user that error happened during image decoding.
-        * Note: Cannot be constant because DoExecuteL() is used for
-        * calling this method.
-        */
-        void ShowImageDecodingErrorNoteL();
-
-        /**
-        * Informs the user that image is DRM protected and cannot be opened.
-        */
-        void ShowDRMNotAllowedNoteL() const;
-
-        /**
-        * Sets softkeys.
-        * @param aSoftkeyResourceId softkey resource id.
-        */
-        void SetSoftkeysL( const TInt aSoftkeyResourceId );
-
-        /**
-        * Sets application hidden from fast swap window.
-        * @param aHidden ETrue if to be hidden, EFalse if visible.
-        */
-        void SetHiddenL( const TBool aHidden );
-
-        /**
-        * Updates title pane to show call index.
-        * @param aCallId call id.
-        */
-        void SetCallIdL( const TInt aCallId );
-
-        /**
-        * Updates title pane to show name.
-        * @param aName name to be displayed in title pane.
-        * @return ETrue if succeeded, EFalse if not enough memory.
-        */
-        TBool SetCallNameL( const TDesC& aName );
-
-        /**
-        * Brings Telephone application to the foreground.
-        */
-        void BringTelephoneToForeground();
-
-        /**
-        * Returns window group identifier of the principal
-        * telephone application.
-        * @return window group id or 0 if failed.
-        */
-        TInt TelephoneApplicationWgId();
-
-        /**
-        * Returns ETrue if number entry should be shown to the user.
-        * This can be called only after ReadTelephonyVariant has
-        * been called.
-        * @return ETrue if number entry should be shown to the user.
-        */
-        inline TBool ShowNumberEntry() const;
-
-        /**
-        * Checks if active idle is enabled.
-        * @return ETrue if active idle is enabled.
-        */
-        TBool IsActiveIdleEnabledL() const;
-
-        /**
-        * Checks engine functionality.
-        */
-        void CheckEngineFunctionality();
-
-        /**
-        * Returns navi pane.
-        * @return navi pane instance. Ownership not transferred.
-        */
-        inline CAknNavigationControlContainer* NaviPaneL();
-
-        /**
-        * Returns title pane.
-        * @return title pane instance. Ownership not transferred.
-        */
-        inline CAknTitlePane* TitlePaneL();
-
-        /**
-        * Pushes item to cleanup stack to update softkeys.
-        */
-        inline void CleanupPushRefreshL();
-
-        /**
-        * Pushes item to cleanup stack to enable blind status setting.
-        */
-        inline void CleanupPushEnableBlindL();
-
-        /**
-        * Callback function to refresh navi pane and softkeys.
-        * @param aAny pointer to an instance of this class.
-        */
-        static void DoRefresh( TAny* aAny );
-
-        /**
-        * Callback function to enable blind status checking.
-        * @param aAny pointer to an instance of this class.
-        */
-        static void DoEnableBlindSetting( TAny* aAny );
-
-        /**
-        * Callback function to disable command activation
-        * state.
-        * @param aAny pointer to an instance of this class.
-        */
-        static void DoDisableCommandActivating( TAny* aAny );
-
-        /**
-        * Decreases command activation ref.count and refreshes
-        * states if count gets zero.
-        */
-        void HandleCommandDeactivationL();
-
-        /**
-        * Callback function to handle exit timeout.
-        * @param aAny pointer to instance of this class.
-        * @return KErrNone always.
-        */
-        static TInt DoHandleExitTimeout( TAny* aAny );
-
-        /**
-        * Callback function to exit.
-        * @param aAny pointer to instance of this class.
-        * @return KErrNone always.
-        */
-        static TInt DoExit( TAny* aAny );
-
-        /**
-        * Checks whether viewfinder is currently in main pane.
-        * @return ETrue if viewfinder is in main pane.
-        */
-        TBool IsViewFinderInMainPane() const;
-
-public:
-        /**
-        * Checks whether viewfinder is currently in context pane.
-        * @return ETrue if viewfinder is in context pane.
-        */
-        TBool IsViewFinderInContextPane() const;
-private:
-        /**
-        * Updates context pane icon
-        */
-        void UpdateContextPaneIconL();
-
-        /**
-        * Enables or disables the incall bubble.
-        */
-        void SetIncallBubbleAllowedInUsualL( TBool aAllowed );
-
-        /**
-        * Shows progress dialog using given resource.
-        */
-        void ShowProgressDialogL( TInt aResourceId,
-            MProgressDialogCallback* aCallback = NULL );
-
-        /**
-        * Hides (completes) progress dialog.
-        */
-        void HideProgressDialogL();
-
-        /**
-        * Static async callback for switching viewfinder to MainPane, also
-        * starts image sharing.
-        */
-        static TInt AsyncViewFinderToMainPaneAndShare( TAny* aPtr );
-
-        /**
-        * Static async callback for starting image share.
-        */
-        static TInt AsyncShare( TAny* aPtr );
-
-        /**
-        * Static async callback for showing error note and resharing image.
-        */
-        static TInt AsyncShowErrorAndRestartShare( TAny* aPtr );
-
-        /**
-        * Static async callback for handling layout change.
-        */
-        static TInt DelayedHandleLayoutChanged( TAny* aPtr );
-
-        /**
-        * Gets current camera orientations for primary and secondary camera.
-        */
-        void GetCameraOrientations();
-
-        /**
-        * Sets initial camera orientation.
-        */
-        void SetInitialCameraOrientationL();
-
-        /**
-        * Sets current camera orientation.
-        */
-        void SetCameraOrientationL();
-
-        /**
-        * Updates engine states.
-        */
-        void RefreshStatesL();
-
-        /**
-        * Starts video preference feature specified by command id.
-        */
-        void CmdAdjustVideoL( TInt aCommand );
-
-        /**
-        * AppUi has been initialized and its current state is EVtUiAppUiAnswered.
-        * Do any other needed initilization here e.g. start features.
-        */
-        void AppUiInitDoneDoPostInitL();
-
-        /*
-        *  This function decides how the wsevent should be handled
-        * if zoom mode is on.
-        * @param  aEvent window server event.
-        * @return ETrue if caller function should return, EFalse otherwise.
-        */
-        TBool ProcessWsEventIfZoomModeIsActiveL( const TWsEvent& aEvent );
-
-        /*
-        *  This function hides the brightness, contrast, volume slider if their mode is on.
-        */
-        void StopSliders();
-
-        /**
-        * Does pre handling to key events, especially for Zoom in and Zoom out
-        * HW keys.
-        * @param aEvent event.
-        */
-        TBool PreHandleKeyEventL( const TWsEvent& aEvent );
-
-        /**
-        * Calls SimulateKeyEventL() for stored zoom key event.
-        */
-        void SimulateStoredKeyEventL( const TEventCode aEventCode );
-
-        /**
-        * Stores zoom key event. If there is different zoom key event
-        * already stored, keyup event is sent for that event before
-        * new event is stored.
-        */
-        void StoreKeyEventL( const TKeyEvent& aKeyEvent );
-
-        /**
-        * Callback function that calls TryToStartTb function
-        */
-        static TInt DoTryToStartTbL( TAny* aAny );
-
-        /*
-        * Tries to start toolbar. Toolbar is started if
-        * option menus is not visible.
-        */
-        void TryToStartTbL();
-
-        /*
-        * Update video prefrence
-        */
-        void UpdateVBSettingL();
-
-
-        /**
-        * Sets current rendering mode (i.e. default or dialer)
-        */
-        void SetRenderingModeL( const TRenderingMode aMode,
-            MVtUiVideoWindow* aDownlink );
-
-        /**
-        * Updates rendering parameters.
-        */
-        void UpdateRenderingParametersL();
-
-        /*
-        * Media state has been changed
-        */
-        void MediaStateChangedL();
-
-        /*
-        * Updates volume slider
-        */
-        void RefreshVolumeL();
-
-        /*
-        * Adjusts volume up or down one step.
-        */
-        void AdjustVolumeL( TRemConCoreApiOperationId aOperationId );
-
-    private:
-
-        // Pointer to stored downlink window.
-        MVtUiVideoWindow* iStoredDownlinkWindow;
-
-        // Current rendering mode
-        TRenderingMode iRenderingMode;
-
-        // Command framework instance
-        CVtUiCommandManager* iCommandManager;
-
-        // Inner class.
-        class CInstance;
-
-        // Model instance. Exists only while there is a video call.
-        CInstance* iInstance;
-
-        // Inner class to observe all events.
-        class CEventObserver;
-
-        // Inner class for verifying media gallery objects
-        class CVtUiAppUiMGVerifier;
-
-        // Owned event observer.
-        CEventObserver* iEventObserver;
-
-        // Owned blank control for reset & shutdown.
-        CVtUiBlankControl* iBlankControl;
-
-        /**
-        * Enumerates disabled flags:
-        * EDisabledVideo - video disabled,
-        * EDisabledAudio - audio disabled,
-        * EVideoOptionsDisabled - video options disabled.
-        */
-        enum TDisabledFlags
-            {
-            EDisabledVideo = 1,
-            EDisabledAudio = 2,
-            EVideoOptionsDisabled = 4
-            };
-
-		// The Ihf Note id.
-		TInt iIhfNoteId;
-
-        // Flags for disabled. Sum of subset of TDisabledFlags.
-        TInt iDisabledFlags;
-
-        // Current softkey resource id.
-        TInt iCurrentSoftkeys;
-
-        // Telephony variant.
-        TVtUiVideoTelephonyVariation iVTVariation;
-
-        // Window group id of this application.
-        TInt iThisApplicationWgId;
-
-        // Window group id of eikon server.
-        TInt iEikonServerWgId;
-
-        // Window group id for AknCapServer
-        TInt iAknCapServerWgId;
-
-        // Window group id for Akn Notifier Server
-        TInt iAknNfyServerWgId;
-
-        // Owned active executor for initialisation / uninitialisation.
-        CVtUiActiveExec* iActiveExec;
-
-        // Owned current dialog on execution.
-        CEikDialog* iExecDialog;
-
-        // Owned blank dialog.
-        CEikDialog* iExecBlankDialog;
-
-        // Reference to request status.
-        TRequestStatus* iShutdownRequest;
-
-        // Owned active executor for command execution.
-        CVtUiActiveExec* iCmdActiveExec;
-
-        // Owned current dialog on command execution.
-        CEikDialog* iCmdExecDialog;
-
-        // Owned blank dialog on command execution.
-        CEikDialog* iCmdExecBlankDialog;
-
-
-        // Owned timer for making sure that
-        // the application is terminated in time.
-        CPeriodic* iExitTimer;
-
-        // DTMF tone, used as parameter to KVtEngStartDtmfTone.
-        TPckgBuf< TChar > iDtmfTone;
-
-        // Pointer to uplink window.
-        MVtUiVideoWindow* iUplinkWindow;
-
-        // Pointer to downlink window.
-        MVtUiVideoWindow* iDownlinkWindow;
-
-        // Query dialog for switching to voice call
-        CAknQueryDialog* iCreateVoiceCallDlg;
-
-        // Progress dialog shown when initializing
-        CAknProgressDialog* iProgressDlg;
-
-        // ASync callback.
-        CAsyncCallBack* iAsyncCallback;
-
-        // Async callback for layout change
-        CAsyncCallBack* iLayoutChangeCallback;
-
-        // Camera orientation for primary camera
-        MVtEngMedia::TCameraOrientation iPrimaryCameraOrientation;
-
-        // Camera orientation for secondary camera
-        MVtEngMedia::TCameraOrientation iSecondaryCameraOrientation;
-
-        // Currently used camera orientation
-        MVtEngMedia::TCameraOrientation iCurrentCameraOrientation;
-
-        // Current loudspeaker volume
-        TInt iLoudspeakerVolume;
-
-        // Current handset volume
-        TInt iHandsetVolume;
-
-        // Ui states (media, audio, boolean variables)
-        TVtUiStates* iUiStates;
-
-        // Component manager instance
-        CVtUiComponentManager* iComponentManager;
-
-        // Feature manager instance
-        CVtUiFeatureManager* iFeatureManager;
-
-        // Pointer to cba
-        CEikButtonGroupContainer* iCba;
-
-        // Active number source
-        MVtUiNumberSource* iNumberSource;
-
-        TVtUiAppStateBase*  iState;
-
-        // Stored zoom key event
-        TKeyEvent iStoredKeyEvent;
-
-        // ETrue if incoming call is waiting call
-        TBool iIsWaitingCallState;
-
-        // ETrue if key event has been stored
-        TBool iIsStoredKeyEvent;
-
-        // Timer for starting the toolbar
-        CPeriodic* iTbPeriodic;
-
-        // Owned volume control class for adjusting
-        // engine side volume
-        CVtUiVolumeControl* iVolCtrl;
-
-    private: // Friend classes
-
-        // Inner class.
-        friend class CInstance;
-
-        // Inner class.
-        friend class CEventObserver;
-
-    private:
-
-        // Class for active command handling
-        class TActiveCommand
-            {
-
-        public:
-
-            /**
-            * Constructor.
-            * @param aActiveCommands array of command ids.
-            * @param aCommand command id.
-            */
-            TActiveCommand( RArray< TInt >& aActiveCommands, TInt aCommandId );
-
-            /**
-            * Destructor
-            */
-            ~TActiveCommand();
-
-            /**
-            * Adds command to active commands
-            */
-            void OpenL();
-
-        private:
-
-            /**
-            * Removes command from active commands
-            */
-            void Close();
-
-        private:
-
-            // Reference to array of active command ids.
-            RArray< TInt >& iActiveCommands;
-
-            // Command id.
-            const TInt iCommandId;
-
-            };
-
-
-    private:
-        // Active command ids.
-        RArray< TInt > iActiveCommands;
-        // The last time swap image operation occured.
-        TTime iLastSwapTime;
-        // Incall bubble.
-        CAknIncallBubble* iIncallBubble;
-        //This flag is used to check if orientation changed before some action
-        //Currently is only used for prepare remote render and start remote render
-        TBool iIsLandScapeOrientation;
-        //flag indicates layoutchang session
-        TBool iLayoutChg;
-        //save cmd for later use 
-        TInt iDelayedCmd;
-    };
-
-#endif      // CVTUIAPPUI_H
-
-// End of File