vtuis/videotelui/inc/mvtuistatecontext.h
branchRCL_3
changeset 25 779871d1e4f4
parent 0 ed9695c8bcbe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vtuis/videotelui/inc/mvtuistatecontext.h	Wed Sep 01 12:29:12 2010 +0100
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 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:  Interface for state objects to request application services.
+*
+*/
+
+
+#ifndef M_MVTUISTATECONTEXT_H
+#define M_MVTUISTATECONTEXT_H
+
+#include <e32def.h> 
+#include <vtengcommands.h>
+#include "mvtuishutterobserver.h"
+
+class TVtUiAppStateBase;
+class CVtEngModel;
+class MVtUiNumberSource;
+class TVtUiVideoTelephonyVariation;
+
+/**
+* Provides service interface for application state objects.
+*
+* @since S60 v3.2
+*/
+class MVtUiStateContext : public MVtUiShutterObserver
+    {
+    public:
+                
+        /**
+        * Starts first phase of startup when prepare is received.
+        */
+        virtual void StartupPhase1L() = 0;
+        
+        /**
+        * Starts application shutdown.
+        */
+        virtual void ShutdownL() = 0;
+        
+        /**
+        * Starts second phase of startup.
+        */
+        virtual void StartupPhase2L() = 0;
+        
+        /**
+        * Sets application to foreground and background.            
+        * @param aForeground ETrue => foreground, EFalse => background
+        */
+        virtual void ChangeApplicationFocus( const TBool aForeground ) = 0;
+        
+        /**
+        * Changes current application state.
+        * @param aState new state
+        */
+        virtual void ChangeState( TVtUiAppStateBase* aState ) = 0;
+        
+        /**
+        * Starts DTMF tone.
+        * @param aTone DTMF tone.
+        */
+        virtual void StartDtmfTone( const TChar& aTone ) = 0;
+        
+        /**
+        * Stops tarts DTMF tone.
+        */
+        virtual void StopDtmfTone() = 0;
+        
+        /**
+        * Returns model.
+        * @return model
+        */
+        virtual CVtEngModel& Model() = 0;
+                        
+        /**
+        * Returns video telephony variation.
+        * @return variation
+        */
+        virtual const TVtUiVideoTelephonyVariation& 
+            VideoTelephonyVariation() const = 0;
+        /**
+        * Returns source containing numbers typed by the user.
+        * @return number soure
+        */
+        virtual MVtUiNumberSource* NumberSource() const = 0;
+        
+        /**
+        * Executes engine command.
+        * @param aCommand command id
+        * @param aParams command params
+        */
+        virtual void DoExecuteCmdL( const TVtEngCommandId aCommand,
+                TDesC8* aParams ) = 0;
+        
+        /**
+        * Refreshes application UI.
+        * @param aRefreshFlags identifies what to refresh
+        */
+        virtual void RefreshL( const TInt aRefreshFlags ) = 0;          
+        
+        /**
+        * Updates engine states.
+        */
+        virtual void  RefreshStatesL() = 0;
+
+        /**
+        * Handles layout change.
+        */
+        virtual void DoHandleLayoutChangedL() = 0;
+
+        /**
+        * Sets call id.
+        */
+        virtual void SetCallIdL( const TInt aCallId ) = 0;
+        
+        /**
+        * Sets display text of remote end.
+        */
+        virtual TBool SetCallNameL( const TDesC& aName ) = 0;
+        
+        /**
+
+        
+        /**
+        * Refresh flags
+        */        
+        enum TRefreshFlags
+            {
+            /** Navipane is refreshed */
+            ENaviPane       = 0x01,
+            /** Softkeys are refreshed */
+            ESoftkeys       = 0x02,
+            /** Refreshes blind (video availability) status */
+            EBlind          = 0x04,
+            /** Refreshes state sync with call handling */
+            ESynchronise    = 0x08,
+            /** Refreshes internal states (media etc) */
+            EUiStates       = 0x10,
+            /** Refreshes everything */
+            EAll            = ENaviPane | 
+                              ESoftkeys | 
+                              EBlind | 
+                              ESynchronise | 
+                              EUiStates
+            };
+    };
+
+    
+#endif // M_MVTUISTATECONTEXT_H