--- a/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 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: Telephony / videotelephony
-*
-*/
-
-
-
-#include "../vtprotocolplugins/group/bld.inf"
-#include "../vtengines/group/bld.inf"
-#include "../vtuis/group/bld.inf"
-#include "../videotelephony_plat/group/bld.inf"
-
-// End of File
\ No newline at end of file
--- a/layers.sysdef.xml Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
- <!ENTITY layer_real_source_path "sf/app/videotelephony" >
-]>
-
-<SystemDefinition name="videotelephony" schema="1.4.0">
- <systemModel>
- <layer name="app_layer">
- <module name="videotelephony">
- <unit name="videotelephony_plat" unitID="tedo.videotelephony_plat" bldFile="&layer_real_source_path;/videotelephony_plat/group" mrp="" />
- <unit name="PacketVideoEngineBinaries" unitID="tedo.PacketVideoEngineBinaries" bldFile="&layer_real_source_path;/packetvideoengine/PacketVideoEngineBinaries/group" mrp="" filter="!sf_build" />
- <unit name="vtprotocolsstub" unitID="tedo.vtprotocolsstub" bldFile="&layer_real_source_path;/vtprotocolsstub/group" mrp="" filter="sf_build" />
- <unit name="vtprotocols" unitID="tedo.vtprotocols" bldFile="&layer_real_source_path;/vtprotocols/group" mrp="" filter="!sf_build" />
- <unit name="DisplaySink" unitID="tedo.DisplaySink" bldFile="&layer_real_source_path;/vtprotocolplugins/DisplaySink/group" mrp="" />
- <unit name="VideoSource" unitID="tedo.VideoSource" bldFile="&layer_real_source_path;/vtprotocolplugins/VideoSource/group" mrp="" />
- <unit name="videoteleng" unitID="tedo.videoteleng" bldFile="&layer_real_source_path;/vtengines/videoteleng/Group" mrp="" />
- <unit name="videotelui" unitID="tedo.videotelui" bldFile="&layer_real_source_path;/vtuis/videotelui/group" mrp="" />
- <unit name="vtmediatorplugin" unitID="tedo.vtmediatorplugin" bldFile="&layer_real_source_path;/vtengines/vtmediatorplugin/group" mrp="" />
- </module>
- </layer>
- </systemModel>
-</SystemDefinition>
\ No newline at end of file
--- a/package_definition.xml Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
- <package id="videotelephony" name="Video Telephony Apps" levels="engine plugin prot ui">
- <collection id="vtengines" name="Video Telephony Engines" level="engine">
- <component id="videoteleng" filter="s60" name="Video Telephony Engine">
- <unit bldFile="vtengines/videoteleng/group"/>
- <!-- should these be #included? -->
- <!-- <unit bldFile="vtengines/videoteleng/logger/group"/> -->
- <!-- <unit bldFile="vtengines/videoteleng/callctrl/group"/> -->
- </component>
- <component id="vtmediatorplugin" filter="s60" name="VT Mediator Plugin" class="plugin">
- <unit bldFile="vtengines/vtmediatorplugin/group"/>
- </component>
- </collection>
- <collection id="vtuis" name="Video Telephony UIs" level="ui">
- <component id="videotelui" filter="s60" name="Video Telephony UI">
- <unit bldFile="vtuis/videotelui/group"/>
- </component>
- </collection>
- <collection id="vtprotocolplugins" name="VT Protocol Plugins" level="plugin">
- <component id="displaysink" filter="s60" name="Display Sink" introduced="^2">
- <unit bldFile="vtprotocolplugins/displaysink/group"/>
- </component>
- <component id="videosource" filter="s60" name="Video Source" introduced="^2">
- <unit bldFile="vtprotocolplugins/videosource/group"/>
- </component>
- </collection>
- <collection id="vtprotocolsstub" name="VT Protocols Stub" level="prot">
- <component id="videotelproto" filter="s60" name="Video Telephony Protocol">
- <unit bldFile="vtprotocolsstub/group"/>
- </component>
- </collection>
- <collection id="videotelephony_info" name="VT Apps Info" level="ui">
- <component id="videotelephony_plat" filter="s60" name="VT Apps Platform Interfaces" class="api">
- <unit bldFile="videotelephony_plat/group"/>
- </component>
- </collection>
- </package>
-</SystemDefinition>
--- a/sysdef_1_4_0.dtd Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
- name CDATA #REQUIRED
- schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
- name CDATA #REQUIRED
- levels CDATA #IMPLIED
- span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
- name CDATA #REQUIRED
- level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
- unitID ID #REQUIRED
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- bldFile CDATA #REQUIRED
- priority CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
- name CDATA #REQUIRED
- version CDATA #REQUIRED
- late (Y|N) #IMPLIED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
- name ID #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
- name ID #REQUIRED
- description CDATA #REQUIRED
- target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
- name ID #REQUIRED
- abldTarget CDATA #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
- name ID #REQUIRED
- abldOption CDATA #REQUIRED
- description CDATA #REQUIRED
- enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
- name ID #REQUIRED
- description CDATA #REQUIRED
- filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
- command CDATA #REQUIRED
- targetList IDREFS #IMPLIED
- unitParallel (Y | N | y | n) #REQUIRED
- targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
- name CDATA #REQUIRED
- cwd CDATA #REQUIRED
- command CDATA #REQUIRED>
--- a/videotelephony_plat/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
-* Copyright (c) 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: Includes all the Domain API specific bld.inf files, which
-* export files.
-*
-*/
-
-
-
-#include "../video_telephony_control_mediator_api/group/bld.inf"
-#include "../video_telephony_media_configuration_api/group/bld.inf"
--- a/videotelephony_plat/video_telephony_control_mediator_api/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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: File that exports the files belonging to
-: Video Telephony Control Mediator API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/videotelcontrolmediatorapi.h APP_LAYER_PLATFORM_EXPORT_PATH( videotelcontrolmediatorapi.h)
--- a/videotelephony_plat/video_telephony_control_mediator_api/inc/videotelcontrolmediatorapi.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* 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: Video Telephony specific message services sent from Phone
-* Application to Video Telephony.
-*
-*/
-
-
-#ifndef VIDEOTELCONTROLMEDIATORAPI_H
-#define VIDEOTELCONTROLMEDIATORAPI_H
-
-// INCLUDES
-#include <e32base.h>
-
-/** The category UID for the messages in this header file. */
-const TUid KCatPhoneToVideotelCommands = { 0x200159A1 };
-
-/** Version number of this API */
-const TInt KPhoneToVideotelCmdVersionMajor( 1 );
-const TInt KPhoneToVideotelCmdVersionMinor( 0 );
-const TInt KPhoneToVideotelCmdVersionBuild( 0 );
-
-/** package for passing dataport name to Video Telephony */
-typedef TPckgBuf<TName> TDataPortPackage;
-
-/** Video Telephony related commands. */
-enum TPhoneToVideotelCommands
- {
- /**
- * Commands Video Telephony to enable microphone.
- */
- EVtCmdUnmute = 0,
-
- /**
- * Commands Video Telephony to disable microphone.
- */
- EVtCmdMute,
-
- /**
- * Commands Video Telephony to use dataport. Command paramemeter is
- * TDataPortPackage. This should be called when dataport is loaned.
- * When this is sent, dataport recovery is allowed only after
- * 1) later issued EVtCmdShutdown response is received.
- * 2) call is ended by network/peer (i.e. local phone doesn't do hangup)
- * 3) EPhoneCmdEndActiveCall command is received (see Mediator Commands To
- * Telephony API)
- * Otherwise H.245 (VT) signalling may fail if call is released in two
- * stage.
- */
- EVtCmdUseDataport,
-
- EVtCmdReleaseDataport
- };
-
-#endif // VIDEOTELCONTROLMEDIATORAPI_H
-
--- a/videotelephony_plat/video_telephony_control_mediator_api/video_telephony_control_mediator_api.metaxml Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="216d6a20aad391ac9077f1a2e8d8477d" dataversion="2.0">
- <name>Video Telephony Control Mediator API</name>
- <description>An interface for exchanging video telephony related commands (e.g. call initiation and termination) and providing data synchronization (e.g. contact data and audio mute state) between Phone and Video Telephone applications.</description>
- <type>c++</type>
- <collection>vtengines</collection>
- <libs>
- </libs>
- <release category="platform"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>no</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- a/videotelephony_plat/video_telephony_media_configuration_api/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 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: File that exports the files belonging to
-: Video Telephony Media Configuration API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/VideoTelephonyDomainPSKeys.h APP_LAYER_PLATFORM_EXPORT_PATH(videotelephonydomainpskeys.h)
--- a/videotelephony_plat/video_telephony_media_configuration_api/inc/VideoTelephonyDomainPSKeys.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* 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: Video Telephony Domain Publish and Subscribe keys.
-*
-*/
-
-
-#ifndef VIDEOTELEPHONYDOMAINPSKEYS_H
-#define VIDEOTELEPHONYDOMAINPSKEYS_H
-
-#include <e32std.h>
-
-
-// CONSTANTS
-
-/**
-* Media Configuration API for video telephony.
-*/
-const TUid KPSUidVTMediaConfiguration = {0x1020736A};
-
-/**
-* Preferred camera that the application should use as source.
-* @type RProperty::EInt
-*/
-const TUint32 KPSPreferredCamera = 0x00000000;
-enum EPSPreferredCamera
- {
- EPSPreferredCameraUnknown,
- EPSPreferredCameraInwards,
- EPSPreferredCameraOutwards
- };
-
-
-#endif // VIDEOTELEPHONYDOMAINPSKEYS_H
-
-// End of file
\ No newline at end of file
--- a/videotelephony_plat/video_telephony_media_configuration_api/video_telephony_media_configuration_api.metaxml Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="427f4a40c8f79845b018f1dccadea15f" dataversion="2.0">
- <name>Video Telephony Media Configuration API</name>
- <description>An interface to access transient (run-time) media configuration related to video telephony, e.g. preferred camera in VT.</description>
- <type>c++</type>
- <collection>vtengines</collection>
- <libs>
- </libs>
- <release category="platform"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>no</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- a/vtengines/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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: Build information for Vtengines subsystem.
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-// Include components' bld.inf files
-#include "../videoteleng/Group/bld.inf"
-#include "../vtmediatorplugin/group/bld.inf"
-
-
-// End of File
--- a/vtengines/videoteleng/Bmarm/VIDEOTELENGU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
- Audio__C11CVtEngModel @ 1 NONAME R3UNUSED ; CVtEngModel::Audio(void) const
- CommandHandler__C11CVtEngModel @ 2 NONAME R3UNUSED ; CVtEngModel::CommandHandler(void) const
- Extension__FRC4TUid @ 3 NONAME R3UNUSED ; Extension(TUid const &)
- Media__C11CVtEngModel @ 4 NONAME R3UNUSED ; CVtEngModel::Media(void) const
- NewL__11CVtEngModelR19MVtEngEventObserverR21MVtEngCommandObserver @ 5 NONAME R3UNUSED ; CVtEngModel::NewL(MVtEngEventObserver &, MVtEngCommandObserver &)
- Session__C11CVtEngModel @ 6 NONAME R3UNUSED ; CVtEngModel::Session(void) const
-
--- a/vtengines/videoteleng/CallCtrl/Bmarm/CSCALLCTRLU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- CreateFactory__Fv @ 1 NONAME R3UNUSED ; CreateFactory(void)
-
--- a/vtengines/videoteleng/CallCtrl/Bwins/CSCALLCTRLU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?CreateFactory@@YAPAVCVtCtlFactory@@XZ @ 1 NONAME ; class CVtCtlFactory * __cdecl CreateFactory(void)
-
--- a/vtengines/videoteleng/CallCtrl/EABI/CSCallCtrlU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- _Z13CreateFactoryv @ 1 NONAME
-
--- a/vtengines/videoteleng/CallCtrl/Group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2004 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: videocallctrl build information file.
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-../Group/videocallctrl.mmp
-
-//PRJ_TESTMMPFILES
-// CsCallCtrl CVT case.
-//../tsrc/group/CsCallCtrl_CVT_Test.mmp
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Group/videocallctrl.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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: This is project specification file for the Video Call Control.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../Inc/VtCtlConfig.hrh"
-
-// default vendor id
-VENDORID VID_DEFAULT
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-TARGET cscallctrl.dll
-TARGETTYPE dll
-UID 0x1000008d 0x101F867F
-
-SOURCEPATH ../Src
-SOURCE CVtCtlFactory.cpp
-#if defined VTCALLCONTROLSTUB
-// call state connected, previous state alerting
-SOURCE CVtCtlCallControlStub.cpp
-DOCUMENT CVtCtlCallControl.cpp
-#else
-SOURCE CVtCtlCallControl.cpp
-DOCUMENT CVtCtlCallControlStub.cpp
-#endif
-SOURCE CVtCtlSessionContainer.cpp
-SOURCE CVtCtlCallStatusMonitor.cpp
-SOURCE CVtCtlLineMonitor.cpp
-SOURCE CVtCtlVideoCall.cpp
-SOURCE VtCtlPanic.cpp
-
-DOCUMENT ../Group/bld.inf
-
-USERINCLUDE ../Inc
-SYSTEMINCLUDE ../../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY etel.lib
-LIBRARY etelmm.lib
-DEBUGLIBRARY vtlogger.lib
-
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/CVtCtlCallControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: Call control
-*
-*/
-
-
-
-#ifndef CVTCTLCALLCONTROL_H
-#define CVTCTLCALLCONTROL_H
-
-// INCLUDES
-#include <e32base.h>
-#include "MVtCtlCallControl.h"
-#include "MVtCtlCallStatusObserver.h"
-#include <etelmm.h>
-
-// FORWARD DECLARATIONS
-class MVtCtlEventObserver;
-class CVtCtlSessionContainer;
-
-// CLASS DECLARATION
-
-/**
-* Call control implementation.
-*
-* @lib CSCallCtrl.lib
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtCtlCallControl ) :
- public CBase,
- public MVtCtlCallControl,
- public MVtCtlCallStatusObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aEventObserver reference to event observer
- * @param aCommandObserver reference to command observer
- * @return call control
- */
- static CVtCtlCallControl* NewL(
- MVtCtlEventObserver& aEventObserver );
-
- /**
- * Destructor.
- */
- virtual ~CVtCtlCallControl();
-
- public: // From MVtCtlCallControl
-
- /**
- * @see MVtCtlCallControl::GetDuration
- */
- virtual TInt GetDuration(
- TVtCtlSessionId aId,
- TVtCtlDuration& aDuration );
-
-
- /**
- * @see MVtCtlCallControl::GetSessionInfoL
- */
- virtual void GetSessionInfoL(
- TVtCtlSessionId aId,
- TDes8& aInfo );
-
- /**
- * @see MVtCtlCallControl::GetSessionState
- */
- virtual TVtCtlState GetSessionState(
- TVtCtlSessionId aId ) const;
-
- /**
- * @see MVtCtlCallControl::GetPreviousPreviousState
- */
- virtual TVtCtlState GetPreviousPreviousState(
- TVtCtlSessionId aId ) const;
-
- public: // from MVtCtlCallStatusObserver
-
- /**
- * @see MVtCtlCallStatusObserver::HandleCallStatusChangeL
- */
- virtual void HandleCallStatusChangeL(
- TVtCtlSessionId aId,
- MVtCtlCallControl::TVtCtlState aStatus,
- MVtCtlCallControl::TVtCtlState aPreviousStatus );
-
- private:
-
- /**
- * C++ constructor.
- */
- CVtCtlCallControl(
- MVtCtlEventObserver& aEventObserver );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private:
-
- /**
- * Validates that data passed as descriptor is of
- * correct type. If not leaves KErrNotSupported.
- * @param aData TVtCtlType derived class represented as descriptor
- * @param aExtension expected type
- */
- static void ValidateDataExtensionL(
- TDesC8& aData,
- TInt aExtension );
-
- private: // Data
-
- // Event observer
- MVtCtlEventObserver& iEventObserver;
-
- // Container for ETel sessions
- CVtCtlSessionContainer* iContainer;
- };
-
-#endif // CVTCTLCALLCONTROL_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/CVtCtlCallStatusMonitor.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2004 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: Monitors call status.
-*
-*/
-
-
-
-#ifndef CVTCTLCALLSTATUSMONITOR_H
-#define CVTCTLCALLSTATUSMONITOR_H
-
-// INCLUDES
-
-#include "MVtCtlCallControl.h"
-#include <e32base.h>
-#include <etelmm.h>
-
-/**
-* Array for resolving call status (TMobileCallStatus) transition validity.
-* Transition to lower value is not possible with exception to 0 priority
-* (always possible to go to idle state). Initial state is EStatusUnknown.
-*/
-static const TInt KVtCtlStatusTransitionPriorities[] =
- {
- 1, // EStatusUnknown
- 0, // EStatusIdle, possible from any
- 2, // EStatusDialling
- 2, // EStatusRinging
- 3, // EStatusAnswering
- 3, // EStatusConnecting
- 4, // EStatusConnected
- 5, // EStatusDisconnecting
- // Status values below are not valid in video calls => should not happen.
- 5, // EStatusDisconnectingWithInband
- 0, // EStatusReconnectPending
- 0, // EStatusHold
- 0, // EStatusWaitingAlternatingCallSwitch
- 0, // EStatusTransferring
- 0 // EStatusTransferAlerting
- };
-
-// FORWARD DECLARATIONS
-class MVtCtlCallStatusObserver;
-
-// CLASS DECLARATION
-
-/**
-* Monitor for call status
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtCtlCallStatusMonitor ) : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aCall call subsession
- * @param aObserver call status observer
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- CVtCtlCallStatusMonitor(
- RMobileCall& aCall,
- MVtCtlCallStatusObserver& aObserver );
-
- /**
- * Destructor.
- */
- virtual ~CVtCtlCallStatusMonitor();
-
- public: // New functions
-
- /**
- * Starts monitoring
- */
- void Start();
-
- private: // From CActive
-
- /**
- * Cancel monitoring.
- */
- virtual void DoCancel();
-
- /**
- * Handles call status change.
- */
- virtual void RunL();
-
- /**
- * Handles leave in RunL.
- * @param aError error code
- * @return KErrNone
- */
- virtual TInt RunError( TInt aError );
-
- public: // New functions
-
- /**
- * Maps Etel status to internal state
- * @param aStatus mobile call status
- * @return session state, see TVtCtlState
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- static MVtCtlCallControl::TVtCtlState MapState(
- const RMobileCall::TMobileCallStatus aStatus );
-
- /**
- * Checks if call state transition specified by arguments is legal.
- * @param aNewState proposed new call state
- * @param aCurrentState current call state
- * @return ETrue if transition is valid
- */
- static TBool IsLegalNewState(
- const RMobileCall::TMobileCallStatus aNewState,
- const RMobileCall::TMobileCallStatus aCurrentState );
-
- private: // Data
-
- // Data call
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobileCall& iCall;
-
- // Observer for call status changes
- MVtCtlCallStatusObserver& iObserver;
-
- // Call status and previous status
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobileCall::TMobileCallStatus iCallStatus;
- RMobileCall::TMobileCallStatus iPreviousStatus;
- };
-
-#endif // CVTCTLCALLSTATUSMONITOR_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/CVtCtlFactory.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: Factory for creating call control
-*
-*/
-
-
-
-#ifndef CVTCTLFACTORY_H
-#define CVTCTLFACTORY_H
-
-// INCLUDES
-#include <e32base.h>
-#include "VtCtlDefs.h"
-
-// CONSTANTS
-_LIT( KVtCtlLibraryName, "CSCallCtrl" );
-
-// FORWARD DECLARATIONS
-class MVtCtlEventObserver;
-class MVtCtlCommandObserver;
-class MVtCtlCallControl;
-
-/**
-* Factory class for instantiating call control.
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtCtlFactory ) : public CBase
- {
- public:
-
- /**
- * Instantiates call control
- * @param aEventObserver
- * @param aCommandObserver
- * @return call control
- */
- virtual MVtCtlCallControl* CreateCallControlL(
- MVtCtlEventObserver& aEventObserver );
-
- /**
- * Destructs call control created with CreateCallControlL.
- * @param aCallControl pointer to call control instance
- */
- virtual void Delete( MVtCtlCallControl* aCallControl );
- };
-
-/**
-* Creates call control factory
-* @return factory
-*/
-IMPORT_C CVtCtlFactory* CreateVtCtlFactory();
-
-#endif // CVTCTLFACTORY_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/CVtCtlLineMonitor.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2004 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: Monitors new calls on data line.
-*
-*/
-
-
-
-#ifndef CVTCTLLINEMONITOR_H
-#define CVTCTLLINEMONITOR_H
-
-// INCLUDES
-#include <e32base.h>
-#include <etelmm.h>
-
-// FORWARD DECLARATIONS
-
-class MVtCtlLineEventObserver;
-
-// CLASS DECLARATION
-
-/**
-* Monitor for new calls
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtCtlLineMonitor ) : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aLine line subsession
- * @param aObserver line event observer
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- CVtCtlLineMonitor(
- RMobileLine& aLine,
- MVtCtlLineEventObserver& aObserver);
-
- /**
- * Destructor.
- */
- virtual ~CVtCtlLineMonitor();
-
- public: // New functions
-
- /**
- * Starts monitoring
- */
- void Start();
-
- private: // Functions from CActive
-
- /**
- * Cancel monitoring.
- */
- virtual void DoCancel();
-
- /**
- * Handles new call on line.
- */
- virtual void RunL();
-
- /**
- * Error handler for leave in RunL
- * @param aError error code
- * @return KErrNone
- */
- virtual TInt RunError( TInt aError );
-
- private: // Data
-
- // Data line
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobileLine& iLine;
-
- // Observer for new calls on line
- MVtCtlLineEventObserver& iObserver;
-
- // Call name
- TName iName;
-
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobileCall::TMobileCallStatus iLastLineStatus;
- RMobileCall::TMobileCallStatus iLineStatus;
- };
-
-#endif // CVTCTLLINEMONITOR_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/CVtCtlSessionContainer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
-* Copyright (c) 2004 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: Container for ETel session and subsessions
-*
-*/
-
-
-
-#ifndef CVTCTLSESSIONCONTAINER_H
-#define CVTCTLSESSIONCONTAINER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <etelmm.h>
-#include "MVtCtlLineEventObserver.h"
-#include "MVtCtlCallStatusObserver.h"
-#include "MVtCtlCallControl.h"
-
-// FORWARD DECLARATIONS
-class CVtCtlLineMonitor;
-class CVtCtlCallMonitor;
-class CVtCtlVideoCall;
-
-// CLASS DECLARATION
-
-/**
-* Container for ETel (sub)session(s).
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtCtlSessionContainer ) :
- public CBase,
- public MVtCtlLineEventObserver,
- public MVtCtlCallStatusObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aObserver call status observer
- */
- static CVtCtlSessionContainer* NewL(
- MVtCtlCallStatusObserver& aObserver );
-
- /**
- * Destructor.
- */
- virtual ~CVtCtlSessionContainer();
-
- public: // MVtCtlLineEventObserver
-
- /**
- * @see MVtCtlLineEventObserver::HandleLineEventL
- */
- virtual void HandleLineEventL(
- const TLineEvent aEvent,
- TDesC& aCallName );
-
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- virtual void HandleLineEventL(
- const TLineEvent aEvent,
- const RMobileCall::TMobileCallStatus aStatus );
-
- public: // MVtCtlCallStatusObserver
-
- /**
- * @see MVtCtlLineEventObserver::HandleCallStatusChangeL
- */
- virtual void HandleCallStatusChangeL(
- TVtCtlSessionId aId,
- MVtCtlCallControl::TVtCtlState aStatus,
- MVtCtlCallControl::TVtCtlState aPreviousStatus );
-
- public: // New functions
-
- /**
- * Finds call by name.
- * @param aCallName search key
- * @return call or NULL if not found
- */
- CVtCtlVideoCall* FindCall( TDesC& aCallName ) const;
-
- /**
- * Finds call by session id.
- * @param aId search key
- * @return call or NULL if not found
- */
- CVtCtlVideoCall* FindCall( TVtCtlSessionId aId ) const;
-
- /**
- * Gets sessions.
- * @param aArray sessions are returned in this
- * @return number of sessions in aArray
- */
- TInt GetSessions( RVtCtlSessionIdArray& aArray ) const;
-
- private:
-
- /**
- * Removes call from array and deletes it.
- * @param aId session id
- */
- void DestructCall( TVtCtlSessionId aId );
-
- /**
- * Checks that call is of correct type (multimedia)
- * @param aName call object
- * @param aName call name
- * @return ETrue if call is multimedia call
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- TBool CheckCallTypeL(
- RMobileCall& aCall,
- const TName& aName );
-
- /**
- * Initializes video call object
- * @param aCallName call name
- * @return ETrue if call was initialized
- */
- TBool InitCallL( const TName& aCallName );
-
- private:
-
- /**
- * C++ constructor.
- * @param aObserver call status observer
- */
- CVtCtlSessionContainer( MVtCtlCallStatusObserver& aObserver );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private:
-
- /**
- * Class for maintaining session identities
- */
- class TVtCtlSessionIdentities
- {
- public:
- // c++ default constructor
- TVtCtlSessionIdentities();
-
- /**
- * Create new session id
- * @return session id
- */
- TVtCtlSessionId Create();
-
- /**
- * Returns current session id
- * @return session id
- */
- TVtCtlSessionId Current() const;
-
- private:
- // Last session id
- TVtCtlSessionId iCurrentId;
- };
-
- private: // Data
-
- // ETel session
- RTelServer iServer;
-
- // Phone session
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobilePhone iPhone;
-
- // Data line
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobileLine iLine;
-
- // Monitors new calls on line.
- CVtCtlLineMonitor* iLineMonitor;
-
- // Array of ongoing video calls
- RPointerArray<CVtCtlVideoCall> iCalls;
-
- // Session id management
- TVtCtlSessionIdentities iSessionIds;
-
- // Call status observer
- MVtCtlCallStatusObserver& iObserver;
- };
-
-#endif // CVTCTLSESSIONCONTAINER_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/CVtCtlVideoCall.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
-* Copyright (c) 2004 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 abstraction
-*
-*/
-
-
-
-#ifndef CVTCTLVIDEOCALL_H
-#define CVTCTLVIDEOCALL_H
-
-// INCLUDES
-#include <etelmm.h>
-#include "MVtCtlCallControl.h"
-#include "MVtCtlCallStatusObserver.h"
-
-
-// FORWARD DECLARATIONS
-class CVtCtlCallStatusMonitor;
-
-// CLASS DECLARATION
-
-/**
-* Video call abstraction
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtCtlVideoCall ) :
- public CBase,
- public MVtCtlCallStatusObserver
- {
- public:
-
- /**
- * Call information
- */
- struct TVtCtlCallInfo
- {
- // Session state
- MVtCtlCallControl::TVtCtlState iStatus;
- // Previous session state
- MVtCtlCallControl::TVtCtlState iPreviousStatus;
- // Session id
- TVtCtlSessionId iId;
- // Session direction
- MVtCtlCallControl::TVtCtlDirection iDirection;
- };
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aDataLine line subsession
- * @param aId session id
- * @param aObserver call status observer
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- static CVtCtlVideoCall* NewL(
- RMobileLine& aDataLine,
- TVtCtlSessionId aId,
- MVtCtlCallStatusObserver& aObserver
- );
-
- /**
- * Destructor.
- */
- virtual ~CVtCtlVideoCall();
-
- public: // New functions
-
- /**
- * Returns call info
- * @return reference to call info
- */
- const CVtCtlVideoCall::TVtCtlCallInfo& CallInfo() const;
-
- /**
- * Returns Etel call info
- * @return call info
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- const RMobileCall::TMobileCallInfoV1& MobileInfo() const;
-
- /**
- * Opens call subsession and starts monitoring call status.
- * @param aCallName call name
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- void InitializeCallL( RMobileCall& aCall );
-
- /**
- * Updates call information from ETel
- * @return Symbian OS error code
- */
- TInt UpdateCallInfo();
-
- /**
- * Returns call duration from Etel
- * @param aDuration duration
- * @return Symbian OS error code
- */
- TInt GetDuration( TVtCtlDuration& aDuration );
-
- /**
- * Obtains video call state from the server and returns it.
- * @param aState updated call state
- * @return Symbian OS error code
- * @since S60 3.1
- */
- TInt GetCallState( MVtCtlCallControl::TVtCtlState& aState );
-
- protected: // From MVtCtlCallStatusObserver
-
- /**
- * @see MVtCtlCallStatusObserver::HandleCallStatusChangeL
- */
- virtual void HandleCallStatusChangeL(
- TVtCtlSessionId aId,
- MVtCtlCallControl::TVtCtlState aStatus,
- MVtCtlCallControl::TVtCtlState aPreviousStatus );
-
- private:
-
- /**
- * C++ constructor.
- * @param aDataLine data line
- * @param aId session id
- * @param aObserver observer
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- CVtCtlVideoCall(
- RMobileLine& aDataLine,
- TVtCtlSessionId aId,
- MVtCtlCallStatusObserver& aObserver );
-
- private: // Data
-
- // Call information
- TVtCtlCallInfo iCallInfo;
-
- // Etel call
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobileCall* iCall;
-
- // Data line
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobileLine& iLine;
-
- // Etel call information
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- RMobileCall::TMobileCallInfoV1 iMobileCallInfo;
-
- // Call status monitor
- CVtCtlCallStatusMonitor* iStatusMonitor;
-
- // Call status observer
- MVtCtlCallStatusObserver& iObserver;
- };
-
-#endif // CVTCTLVIDEOCALL_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/MVtCtlCallControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: Call control interface
-*
-*/
-
-
-
-#ifndef MVTCTLCALLCONTROL_H
-#define MVTCTLCALLCONTROL_H
-
-// INCLUDES
-#include "VtCtlDefs.h"
-#include "TVtCtlType.h"
-
-// CLASS DECLARATION
-
-/**
-* Call control class
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-class MVtCtlCallControl
- {
- public: // new functions
-
- /**
- * Session state
- * EIdle idle, no connection
- * EInitializing initializing MO session
- * EAlerting alerting at remote end
- * ERinging incoming session ringing
- * EConnected session is established
- * EDisconnecting disconnecting session
- */
- enum TVtCtlState {
- EUnknown, // 0
- EIdle, // 1
- EInitializing, // 2
- EAlerting, // 3
- ERinging, // 4
- EConnected, // 5
- EDisconnecting // 6
- };
-
- /**
- * Session direction
- * EDirectionUnknown unknown direction
- * EDirectionMobileOriginated MO session
- * DirectionMobileTerminated MT session
- */
- enum TVtCtlDirection
- {
- EDirectionUnknown,
- EDirectionMobileOriginated,
- DirectionMobileTerminated
- };
-
- /**
- * Gets session duration
- * @param aId session id
- * @param aDuration session duration
- * @return Symbian OS error code
- */
- virtual TInt GetDuration(
- TVtCtlSessionId aId,
- TVtCtlDuration& aDuration ) = 0;
-
- /**
- * Gets information on a session.
- * @param aId session id
- * @param aInfo packetized object derived from TVtCtlType
- */
- virtual void GetSessionInfoL(
- TVtCtlSessionId aId,
- TDes8& aInfo ) = 0;
-
- /**
- * Returns session state
- * @param aId session id
- * @return session state
- */
- virtual TVtCtlState GetSessionState(
- TVtCtlSessionId aId ) const = 0;
-
- /**
- * Returns previous session state
- * @param aId session id
- * @return session state
- */
- virtual TVtCtlState GetPreviousPreviousState(
- TVtCtlSessionId aId ) const = 0;
-
- };
-
-#endif // MVTCTLCALLCONTROL_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/MVtCtlCallStatusObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2004 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: Call status observer interface
-*
-*/
-
-
-
-#ifndef MVTCTLCALLSTATUSOBSERVER_H
-#define MVTCTLCALLSTATUSOBSERVER_H
-
-// INCLUDES
-#include "MVtCtlCallControl.h"
-
-// CLASS DECLARATION
-
-/**
-* Call status observer interface
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-class MVtCtlCallStatusObserver
- {
- public: // new functions
-
- /**
- * Handles call status change.
- * @param aId session id
- * @param aStatus new session status
- * @param aPreviousStatus previous session status
- */
- virtual void HandleCallStatusChangeL(
- TVtCtlSessionId aId,
- MVtCtlCallControl::TVtCtlState aStatus,
- MVtCtlCallControl::TVtCtlState aPreviousStatus ) = 0;
- };
-
-#endif // MVTCTLCALLSTATUSOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/MVtCtlCommandObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2004 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: Session command observer interface
-*
-*/
-
-
-
-#ifndef MVTCTLCOMMANDOBSERVER_H
-#define MVTCTLCOMMANDOBSERVER_H
-
-// INCLUDES
-#include "MVtCtlCallControl.h"
-
-// CLASS DECLARATION
-
-/**
-* Session command observer interface
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-class MVtCtlCommandObserver
- {
- public: // new functions
-
- /**
- * Handles command completion in session control.
- * @param aCmd command
- * @param aResult completion result
- */
- virtual void HandleVtSessionCommandL(
- MVtCtlCallControl::TVtCtlCmd aCmd,
- TInt aResult ) = 0;
- };
-
-#endif // MVTCTLCOMMANDOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/MVtCtlEventObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2004 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: Session event observer interface.
-*
-*/
-
-
-
-#ifndef MVTCTLEVENTOBSERVER_H
-#define MVTCTLEVENTOBSERVER_H
-
-// INCLUDES
-#include "VtCtlEvents.h"
-
-/**
-* Session event observer interface
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-class MVtCtlEventObserver
- {
- public: // new functions
-
- /**
- * Handles event from session control.
- * @param aEvent session event
- * @param aParams parameters related to event.
- * Actual type depends on event.
- */
- virtual void HandleVtSessionEventL(
- TInt aEvent,
- TAny* aParams ) = 0;
- };
-
-#endif // MVTCTLEVENTOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/MVtCtlLineEventObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2004 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: Observer interface for line events.
-*
-*/
-
-
-
-#ifndef MVTCTLLINEEVENTOBSERVER_H
-#define MVTCTLLINEEVENTOBSERVER_H
-
-// INCLUDES
-#include <e32def.h>
-
-// CLASS DECLARATION
-
-/**
-* Observer interface for line events
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-class MVtCtlLineEventObserver
- {
- public: // new functions
-
- /**
- * ELineEventCallAdded call added to line
- * ELineEventIncomingCall incoming call
- * ELineEventStatusChange line status changed
- */
- enum TLineEvent {
- ELineEventCallAdded,
- ELineEventIncomingCall,
- ELineEventStatusChange
- };
-
- /**
- * Event handler for line events.
- * @param aEvent line event
- * @param aCallName call name
- */
- virtual void HandleLineEventL(
- const TLineEvent aEvent,
- TDesC& aCallName ) = 0;
-
- /**
- * Event handler for line events.
- * @param aEvent line event
- * @param aCallName call name
- * @param aStatus call status
- */
- /*****************************************************
- * Series 60 Customer / ETel
- * Series 60 ETel API
- *****************************************************/
- virtual void HandleLineEventL(
- const TLineEvent aEvent,
- const RMobileCall::TMobileCallStatus aStatus ) = 0;
- };
-
-#endif // MVTCTLLINEEVENTOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/TVtCtlType.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2004 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: Session type base class.
-*
-*/
-
-
-
-#ifndef MVTCTLSESSIONINFO_H
-#define MVTCTLSESSIONINFO_H
-
-// INCLUDES
-#include <e32def.h>
-
-// CLASS DECLARATION
-
-/**
-* Base class data types.
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-class TVtCtlType
- {
- public:
-
- /**
- * Returns extension id
- * @return extension id
- */
- inline TInt Extension() const;
-
- protected:
- // Extension id to be used in defining actual data type.
- TInt iExtension;
- };
-
-#include "TVtCtlType.inl"
-
-#endif // MVTCTLSESSIONINFO_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/TVtCtlType.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2004 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: Inline methods of class TVtCtlType.
-*
-*/
-
-
-
-// -----------------------------------------------------------------------------
-// TVtCtlType::Extension
-// Returns extension id.
-// -----------------------------------------------------------------------------
-//
-inline TInt TVtCtlType::Extension() const { return iExtension; }
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/VtCtlConfig.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2004 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: Project configuration file.
-*
-*/
-
-
-#ifndef VTCTLCONFIG_HRH
-#define VTCTLCONFIG_HRH
-
-// INCLUDES
-
-/**
-* Macro that chooses stub implementation for CsCallCtrl.
-* In stub following attributes are effective
-* - duration = 5
-* - session info returns :
-* direction = MO
-* state = connected
-* previous state = alerting
-* tel number = 0501234567
-* duration = 5
-*/
-//#define VTCALLCONTROLSTUB
-
-#endif // VTCTLCONFIG_HRH
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/VtCtlDefs.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2004 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: General definitions for Video telephony call control
-*
-*/
-
-
-
-#ifndef VTCTLDEFS_H
-#define VTCTLDEFS_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-
-// Null session id
-const TInt KNullSessionId = -1;
-
-// Session id for active session
-const TInt KActiveSessionId = -2;
-
-/**
-* Active object priorities
-*/
-const TInt KVtCtlCallAdditionMonitorPriority = CActive::EPriorityStandard;
-const TInt KVtCtlCallStatusMonitorPriority = CActive::EPriorityStandard;
-
-/**
-* Maximum length for telephone number
-*/
-const TInt KVtCtlTelNumberLength = 100;
-
-
-// DATA TYPES
-
-/**
-* Remote end address
-*/
-typedef TBuf<KVtCtlTelNumberLength> TVtCtlTelNumber;
-
-/**
-* Session duration
-*/
-typedef TTimeIntervalSeconds TVtCtlDuration;
-
-/**
-* Session array
-*/
-typedef RArray<TInt> RVtCtlSessionIdArray;
-
-/**
-* Session id
-*/
-typedef TInt TVtCtlSessionId;
-
-/**
-* Session command
-*/
-typedef TInt TVtCtlCmd;
-
-/**
-* Extension ids
-*/
-enum {
- EVtCtlCSSessionInfoExtensionId = 1
- };
-
-#endif // VTCTLDEFS_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/VtCtlEvents.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2004 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: Call control events
-*
-*/
-
-
-
-#ifndef VTCLTDEFS_H
-#define VTCLTDEFS_H
-
-// INCLUDES
-#include <e32base.h>
-
-// DATA TYPES
-typedef TInt TVtCtlEvent;
-
-// CONSTANTS
-
-/**
-* Session status is changed. aParams in
-* MVtCtlEventObserver::HandleVtSessionEventL is of
-* type MVtCtlCallControl::TVtCtlState
-*/
-const TVtCtlEvent KVtCtlEventSessionStatusChanged = 1;
-
-/**
-* Session duration is changed. aParams
-* MVtCtlEventObserver::HandleVtSessionEventL is of
-* type TVtCtlDuration
-*/
-const TVtCtlEvent KVtCtlEventDurationChanged = 2;
-
-#endif // VTCLTDEFS_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/VtCtlPanic.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2004 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: Data types for call control
-*
-*/
-
-
-
-#ifndef VTCTLPANIC_H
-#define VTCTLPANIC_H
-
-// INCLUDES
-
-#include <e32std.h>
-
-// CONSTANTS
-
-/**
-* Panic text
-*/
-_LIT( KVtCtlPanicCategory, "VtCSCall" );
-
-// DATA TYPES
-
-/**
-* Panic values
-*/
-enum TVtCtlPanic {
- //** Line subsession handle is null */
- EVtCtlPanicLineHandleNull,
- /** Call subsession handle is null */
- EVtCtlPanicCallHandleNull
- };
-
-// FUNCTION PROTOTYPES
-
-/**
-* Call control panic.
-* @param aPanic panic value
-*/
-void Panic( TVtCtlPanic aPanic );
-
-#endif // VTCTLPANIC_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/VtCtlTypes.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2004 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: Data types for call control
-*
-*/
-
-
-#ifndef VTCTLTYPES_H
-#define VTCTLTYPES_H
-
-// INCLUDES
-#include "VtCtlDefs.h"
-#include "TVtCtlType.h"
-
-/**
-* CS Session information.
-*
-* @lib CSCallCtrl
-* @since 2.6
-*/
-class TVtCtlCSSessionInfoV1 : public TVtCtlType
- {
- public: // constructors
- /**
- * C++ default contructor.
- */
- inline TVtCtlCSSessionInfoV1();
-
- public: // data members
-
- // Session duration
- TVtCtlDuration iDuration;
-
- // Address
- TVtCtlTelNumber iTelNumber;
-
- // Session state
- MVtCtlCallControl::TVtCtlState iState;
-
- // Previous session state
- MVtCtlCallControl::TVtCtlState iPreviousState;
-
- // Session direction MO/MT
- MVtCtlCallControl::TVtCtlDirection iDirection;
- };
-
-/**
-* Data passed in MVtCtlEventObserver::HandleVtSessionEventL
-* when event is KVtCtlEventSessionStatusChanged.
-*/
-struct TVtCtlSessionStateEvent
- {
- /**
- * Session state
- */
- MVtCtlCallControl::TVtCtlState iState;
-
- /**
- * Previous session state
- */
- MVtCtlCallControl::TVtCtlState iPreviousState;
-
- /**
- * Session id
- */
- TVtCtlSessionId iSessionId;
- };
-
-#include "VtCtlTypes.inl"
-
-#endif // VTCTLTYPES_H
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Inc/VtCtlTypes.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2004 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: Data types for call control
-*
-*/
-
-
-
-// -----------------------------------------------------------------------------
-// TVtCtlCSSessionInfoV1::TVtCtlSessionInfoV1
-// c++ default constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtCtlCSSessionInfoV1::TVtCtlCSSessionInfoV1()
- : iDuration( 0 ),
- iState( MVtCtlCallControl::EUnknown ),
- iPreviousState( MVtCtlCallControl::EUnknown ),
- iDirection( MVtCtlCallControl::EDirectionUnknown )
- {
- iExtension = EVtCtlCSSessionInfoExtensionId;
- }
-
-// End of File
--- a/vtengines/videoteleng/CallCtrl/Src/CVtCtlCallControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-/*
-* 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: CVtCtlCallControl class implementation.
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include <cvtlogger.h>
-#include "CVtCtlCallControl.h"
-#include "MVtCtlEventObserver.h"
-#include "CVtCtlSessionContainer.h"
-#include "CVtCtlVideoCall.h"
-#include "VtCtlTypes.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::NewL
-// two-phase constructor
-// -----------------------------------------------------------------------------
-//
-CVtCtlCallControl* CVtCtlCallControl::NewL(
- MVtCtlEventObserver& aEventObserver )
- {
- __VTPRINTENTER( "CVtCtlCallControl.NewL" )
- CVtCtlCallControl* self = new ( ELeave )
- CVtCtlCallControl( aEventObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtCtlCallControl.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::~CVtCtlCallControl
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVtCtlCallControl::~CVtCtlCallControl()
- {
- __VTPRINTENTER( "CVtCtlCallControl.~" )
- delete iContainer;
- // uninitialize logging (if enabled)
- VTLOGUNINIT
- __VTPRINTEXIT( "CVtCtlCallControl.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::CVtCtlCallControl
-// c++ constructor
-// -----------------------------------------------------------------------------
-//
-CVtCtlCallControl::CVtCtlCallControl(
- MVtCtlEventObserver& aEventObserver ) :
- iEventObserver( aEventObserver )
- {
- __VTPRINTENTER( "CVtCtlCallControl.CVtCtlCallControl" )
- __VTPRINTEXIT( "CVtCtlCallControl.CVtCtlCallControl" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::ConstructL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtCtlCallControl::ConstructL()
- {
- __VTPRINTENTER( "CVtCtlCallControl.ConstructL" )
- // initialize logging (if enabled)
- VTLOGINIT
- iContainer = CVtCtlSessionContainer::NewL( *this );
- __VTPRINTEXIT( "CVtCtlCallControl.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::GetDuration
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlCallControl::GetDuration(
- TVtCtlSessionId aId,
- TVtCtlDuration& aDuration )
- {
- __VTPRINTENTER( "CVtCtlCallControl.GetDuration" )
- CVtCtlVideoCall* call = iContainer->FindCall( aId );
- TInt err( KErrNotFound );
- if ( call )
- {
- err = call->GetDuration( aDuration );
- }
- __VTPRINTEXIT( "CVtCtlCallControl.GetDuration" )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::GetSessionInfoL
-//
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-void CVtCtlCallControl::GetSessionInfoL(
- TVtCtlSessionId aId,
- TDes8& aInfo )
- {
- __VTPRINTENTER( "CVtCtlCallControl.GetSessionInfoL" )
- ValidateDataExtensionL( aInfo, EVtCtlCSSessionInfoExtensionId );
- CVtCtlVideoCall* call = iContainer->FindCall( aId );
- if ( call )
- {
- TPckg<TVtCtlCSSessionInfoV1>& pckg =
- reinterpret_cast<TPckg<TVtCtlCSSessionInfoV1>&>( aInfo );
- TVtCtlCSSessionInfoV1& info = pckg();
- TInt err( call->UpdateCallInfo() );
- if ( err == KErrNone )
- {
- const RMobileCall::TMobileCallInfoV1& mobileInfo = call->MobileInfo();
- info.iDuration = mobileInfo.iDuration;
- info.iTelNumber = mobileInfo.iRemoteParty.iRemoteNumber.iTelNumber;
- __VTPRINT2( DEBUG_SESSION, "VtCtl: mobile dir=%d",
- mobileInfo.iRemoteParty.iDirection )
- switch ( mobileInfo.iRemoteParty.iDirection )
- {
- case RMobileCall::EMobileOriginated:
- info.iDirection = EDirectionMobileOriginated;
- break;
- case RMobileCall::EMobileTerminated:
- info.iDirection = DirectionMobileTerminated;
- break;
- case RMobileCall::EDirectionUnknown:
- default:
- info.iDirection = EDirectionUnknown;
- break;
- }
- }
- }
- else
- {
- __VTPRINT( DEBUG_SESSION, "CallCtrl.GetSessionInfoL not found" )
- User::Leave( KErrNotFound );
- }
- __VTPRINTEXIT( "CVtCtlCallControl.GetSessionInfoL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::GetState
-//
-// -----------------------------------------------------------------------------
-//
-MVtCtlCallControl::TVtCtlState CVtCtlCallControl::GetSessionState(
- TVtCtlSessionId aId ) const
- {
- __VTPRINTENTER( "CVtCtlCallControl.GetSessionState" )
- __VTPRINT2( DEBUG_SESSION, "CallCtrl.GetSessionState for id:%d",aId )
- MVtCtlCallControl::TVtCtlState state = EUnknown;
- CVtCtlVideoCall* call = iContainer->FindCall( aId );
- if ( call )
- {
- call->GetCallState( state );
- }
- __VTPRINT3( DEBUG_SESSION, " callPtr=%d state=%d", (TInt) call, state )
- __VTPRINTEXIT( "CVtCtlCallControl.GetSessionState" )
- return state;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::GetPreviousState
-//
-// -----------------------------------------------------------------------------
-//
-MVtCtlCallControl::TVtCtlState CVtCtlCallControl::GetPreviousPreviousState(
- TVtCtlSessionId aId ) const
- {
- __VTPRINTENTER( "CVtCtlCallControl.GetPreviousPreviousState" )
- MVtCtlCallControl::TVtCtlState state = EUnknown;
- const CVtCtlVideoCall* call = iContainer->FindCall( aId );
- if ( call )
- {
- state = call->CallInfo().iPreviousStatus;
- }
- __VTPRINTEXIT( "CVtCtlCallControl.GetPreviousPreviousState" )
- return state;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::HandleCallStatusChangeL
-// Notifies observer about call status change.
-// -----------------------------------------------------------------------------
-//
-void CVtCtlCallControl::HandleCallStatusChangeL(
- TVtCtlSessionId aId,
- MVtCtlCallControl::TVtCtlState aStatus,
- MVtCtlCallControl::TVtCtlState aPreviousStatus )
- {
- __VTPRINTENTER( "CVtCtlCallControl.HandleCallStatusChangeL" )
- __VTPRINT2( DEBUG_SESSION, " status=%d", (TInt) aStatus )
-
- TVtCtlSessionStateEvent event;
- event.iPreviousState = aPreviousStatus;
- event.iState = aStatus;
- event.iSessionId = aId;
-
- TAny* parameter = &event;
- iEventObserver.HandleVtSessionEventL(
- KVtCtlEventSessionStatusChanged,
- parameter );
- __VTPRINTEXIT( "CVtCtlCallControl.HandleCallStatusChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::ValidateDataExtensionL
-// Validates extension id of descriptor representation of data type.
-// -----------------------------------------------------------------------------
-//
-void CVtCtlCallControl::ValidateDataExtensionL(
- TDesC8& aData,
- TInt aExtension )
- {
- __VTPRINTENTER( "CVtCtlCallControl.ValidateDataExtensionL" )
- TVtCtlType type;
- TPckg<TVtCtlType> pckg(type);
- TPtrC8 ptr( aData.Ptr(), sizeof( TVtCtlType ) );
- pckg.Copy( ptr );
- if ( type.Extension() != aExtension )
- {
- __VTPRINT( DEBUG_SESSION, "CallCtrl.Validate not supported" )
- User::Leave( KErrNotSupported );
- }
- __VTPRINTEXIT( "CVtCtlCallControl.ValidateDataExtensionL" )
- }
-#pragma CTC ENDSKIP
-// End of File
-
--- a/vtengines/videoteleng/CallCtrl/Src/CVtCtlCallControlStub.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-/*
-* 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: Stub version of call control.
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include "CVtCtlCallControl.h"
-#include "MVtCtlEventObserver.h"
-#include "CVtCtlSessionContainer.h"
-#include "CVtCtlVideoCall.h"
-#include "VtCtlTypes.h"
-#include <CVtLogger.h>
-
-// CONSTANTS
-_LIT( KVtCtlStubTelNumber, "0501234567" );
-
-// Duration
-const TInt KVtCtlStubDuration = 5;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::NewL
-// Two-phase constructor.
-// -----------------------------------------------------------------------------
-//
-CVtCtlCallControl* CVtCtlCallControl::NewL(
- MVtCtlEventObserver& aEventObserver )
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.NewL" )
- CVtCtlCallControl* self = new ( ELeave )
- CVtCtlCallControl( aEventObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtCtlCallControlStub.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::~CVtCtlCallControl
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVtCtlCallControl::~CVtCtlCallControl()
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.~" )
- delete iContainer;
- // uninitialize logging
- VTLOGUNINIT
- __VTPRINTEXIT( "CVtCtlCallControlStub.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::CVtCtlCallControl
-// c++ constructor
-// -----------------------------------------------------------------------------
-//
-CVtCtlCallControl::CVtCtlCallControl(
- MVtCtlEventObserver& aEventObserver) :
- iEventObserver( aEventObserver )
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.CVtCtlCallControl" )
- __VTPRINTEXIT( "CVtCtlCallControlStub.CVtCtlCallControl" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::ConstructL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtCtlCallControl::ConstructL()
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.ConstructL" )
- // initialize logging
- VTLOGINIT
- iContainer = CVtCtlSessionContainer::NewL( *this );
- __VTPRINTEXIT( "CVtCtlCallControlStub.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::GetDuration
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlCallControl::GetDuration(
- TVtCtlSessionId ,
- TVtCtlDuration& aDuration )
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.GetDuration" )
- aDuration = 5;
- __VTPRINTEXIT( "CVtCtlCallControlStub.GetDuration" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::GetSessionInfoL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtCtlCallControl::GetSessionInfoL(
- TVtCtlSessionId ,
- TDes8& aInfo )
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.GetSessionInfoL" )
-
- TPckg<TVtCtlCSSessionInfoV1>& pckg =
- reinterpret_cast<TPckg<TVtCtlCSSessionInfoV1>&>( aInfo );
- __VTPRINT( DEBUG_SESSION, "VtCtl:CallCtrl. 1" )
- TVtCtlCSSessionInfoV1& info = pckg();
- __VTPRINT( DEBUG_SESSION, "VtCtl:CallCtrl. 2" )
- info.iDirection = MVtCtlCallControl::EDirectionMobileOriginated;
- info.iDuration = KVtCtlStubDuration;
- info.iState = MVtCtlCallControl::EConnected;
- info.iPreviousState = MVtCtlCallControl::EAlerting;
- info.iTelNumber = KVtCtlStubTelNumber;
- __VTPRINTEXIT( "CVtCtlCallControlStub.GetSessionInfoL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::GetState
-//
-// -----------------------------------------------------------------------------
-//
-MVtCtlCallControl::TVtCtlState CVtCtlCallControl::GetSessionState(
- TVtCtlSessionId ) const
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.GetSessionState" )
- MVtCtlCallControl::TVtCtlState state = MVtCtlCallControl::EConnected;
- __VTPRINTEXIT( "CVtCtlCallControlStub.GetSessionState" )
- return state;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::GetPreviousState
-//
-// -----------------------------------------------------------------------------
-//
-MVtCtlCallControl::TVtCtlState CVtCtlCallControl::GetPreviousPreviousState(
- TVtCtlSessionId ) const
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.GetPreviousPreviousState" )
- MVtCtlCallControl::TVtCtlState state = EAlerting;
- __VTPRINTEXIT( "CVtCtlCallControlStub.GetPreviousPreviousState" )
- return state;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::HandleCallStatusChangeL
-// Notifies
-// -----------------------------------------------------------------------------
-//
-void CVtCtlCallControl::HandleCallStatusChangeL(
- TVtCtlSessionId ,
- MVtCtlCallControl::TVtCtlState ,
- MVtCtlCallControl::TVtCtlState )
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.HandleCallStatusChangeL" )
- __VTPRINTEXIT( "CVtCtlCallControlStub.HandleCallStatusChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallControl::ValidateDataExtensionL
-// Validates extension id of descriptor representation of data type.
-// -----------------------------------------------------------------------------
-//
-void CVtCtlCallControl::ValidateDataExtensionL(
- TDesC8& ,
- TInt )
- {
- __VTPRINTENTER( "CVtCtlCallControlStub.ValidateDataExtensionL" )
- __VTPRINTEXIT( "CVtCtlCallControlStub.ValidateDataExtensionL" )
- }
-#pragma CTC ENDSKIP
-// End of File
-
--- a/vtengines/videoteleng/CallCtrl/Src/CVtCtlCallStatusMonitor.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* 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: Monitors call status.
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include "CVtCtlCallStatusMonitor.h"
-#include "MVtCtlCallStatusObserver.h"
-#include "VtCtlDefs.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallStatusMonitor::CVtCtlCallStatusMonitor
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-CVtCtlCallStatusMonitor::CVtCtlCallStatusMonitor(
- RMobileCall& aCall,
- MVtCtlCallStatusObserver& aObserver ) :
- CActive( KVtCtlCallStatusMonitorPriority ),
- iCall( aCall ),
- iObserver( aObserver ),
- iCallStatus( RMobileCall::EStatusUnknown ),
- iPreviousStatus( RMobileCall::EStatusUnknown )
- {
- __VTPRINTENTER( "CVtCtlCallStatusMonitor.CVtCtlCallStatusMonitor" )
- CActiveScheduler::Add( this );
- __VTPRINTEXIT( "CVtCtlCallStatusMonitor.CVtCtlCallStatusMonitor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallStatusMonitor::~CVtCtlCallStatusMonitor
-// destructor
-// -----------------------------------------------------------------------------
-//
-CVtCtlCallStatusMonitor::~CVtCtlCallStatusMonitor()
- {
- __VTPRINTENTER( "CVtCtlCallStatusMonitor.~" )
- Cancel();
- __VTPRINTEXIT( "CVtCtlCallStatusMonitor.~" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallStatusMonitor::Start
-// Starts monitoring
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-void CVtCtlCallStatusMonitor::Start()
- {
- __VTPRINTENTER( "CVtCtlCallStatusMonitor.Start" )
- if ( iPreviousStatus == RMobileCall::EStatusUnknown )
- {
- RMobileCall::TMobileCallStatus status( RMobileCall::EStatusUnknown );
- if ( iCall.GetMobileCallStatus( status ) == KErrNone )
- {
- iPreviousStatus = status;
- }
- }
- if ( !IsActive() )
- {
- iCall.NotifyMobileCallStatusChange( iStatus, iCallStatus );
- SetActive();
- }
- __VTPRINTEXIT( "CVtCtlCallStatusMonitor.Start" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallStatusMonitor::DoCancel
-// Cancels monitoring
-// -----------------------------------------------------------------------------
-//
-void CVtCtlCallStatusMonitor::DoCancel()
- {
- __VTPRINTENTER( "CVtCtlCallStatusMonitor.DoCancel" )
- iCall.CancelAsyncRequest( EMobileCallNotifyMobileCallStatusChange );
- __VTPRINTEXIT( "CVtCtlCallStatusMonitor.DoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallStatusMonitor::RunL
-// Receives call status change and notifies observer
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-void CVtCtlCallStatusMonitor::RunL()
- {
- __VTPRINTENTER( "CVtCtlCallStatusMonitor.RunL" )
- __VTPRINT2( DEBUG_SESSION , "CallStatMon.RunL err=%d",iStatus.Int() )
- __VTPRINT2( DEBUG_SESSION , "CallStatMon.RunL sta=%d",
- (TInt)iCallStatus )
- if ( iStatus == KErrNone )
- {
- const RMobileCall::TMobileCallStatus cache( iCallStatus );
- Start();
- MVtCtlCallControl::TVtCtlState state = MapState( cache );
- if ( CVtCtlCallStatusMonitor::IsLegalNewState(
- cache, iPreviousStatus ) )
- {
- iPreviousStatus = cache;
- if ( state != MVtCtlCallControl::EUnknown )
- {
- iObserver.HandleCallStatusChangeL(
- KNullSessionId, // unknown by this
- state,
- MapState( iPreviousStatus ) );
- }
- }
- }
- __VTPRINTEXIT( "CVtCtlCallStatusMonitor.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallStatusMonitor::RunError
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlCallStatusMonitor::RunError(
-#ifdef VTDEBUG
- TInt aError )
-#else
- TInt /*aError*/ )
-#endif
- {
- __VTPRINTENTER( "CVtCtlCallStatusMonitor.RunError" )
- __VTPRINTEXITR( "CVtCtlCallStatusMonitor.RunError err=%d", aError )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallStatusMonitor::MapState
-// Maps Etel call status to internal type
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-MVtCtlCallControl::TVtCtlState CVtCtlCallStatusMonitor::MapState(
- const RMobileCall::TMobileCallStatus aStatus )
- {
- __VTPRINTENTER( "CVtCtlCallStatusMonitor.MapState" )
- MVtCtlCallControl::TVtCtlState state( MVtCtlCallControl::EUnknown );
- switch ( aStatus )
- {
- case RMobileCall::EStatusIdle:
- state = MVtCtlCallControl::EIdle;
- break;
- case RMobileCall::EStatusDialling:
- state = MVtCtlCallControl::EInitializing;
- break;
- case RMobileCall::EStatusRinging:
- state = MVtCtlCallControl::ERinging;
- break;
- case RMobileCall::EStatusAnswering:
- state = MVtCtlCallControl::ERinging;
- break;
- case RMobileCall::EStatusConnecting:
- state = MVtCtlCallControl::EInitializing;
- break;
- case RMobileCall::EStatusConnected:
- state = MVtCtlCallControl::EConnected;
- break;
- case RMobileCall::EStatusDisconnecting:
- case RMobileCall::EStatusDisconnectingWithInband:
- state = MVtCtlCallControl::EDisconnecting;
- break;
- case RMobileCall::EStatusUnknown:
- state = MVtCtlCallControl::EUnknown;
- break;
- default:
- break;
- }
- __VTPRINTEXIT( "CVtCtlCallStatusMonitor.MapState state" )
- return state;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlCallStatusMonitor::IsLegalNewState
-// Checks if call state transition specified by arguments is legal.
-// -----------------------------------------------------------------------------
-//
-TBool CVtCtlCallStatusMonitor::IsLegalNewState(
- const RMobileCall::TMobileCallStatus aNewState,
- const RMobileCall::TMobileCallStatus aCurrentState )
- {
- // check state transition priority
- const TInt newPrio = KVtCtlStatusTransitionPriorities[ aNewState ];
- const TInt prevPrio = KVtCtlStatusTransitionPriorities[ aCurrentState ];
-
- /**
- * Legal transition if new state is logically consecutive compared to old
- * state. Exception: transition to idle always possible ( !newPrio )
- */
- const TBool isLegal = ( newPrio > prevPrio || !newPrio );
- return isLegal;
- }
-#pragma CTC ENDSKIP
-// End of File
-
--- a/vtengines/videoteleng/CallCtrl/Src/CVtCtlFactory.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* 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: CVtCtlFactory class implementation.
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include "CVtCtlFactory.h"
-#include "CVtCtlCallControl.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// MVtCtlCallControl::CreateCallControlL
-// Creates call control.
-// -----------------------------------------------------------------------------
-//
-MVtCtlCallControl* CVtCtlFactory::CreateCallControlL(
- MVtCtlEventObserver& aEventObserver )
- {
- __VTPRINTENTER( "CVtCtlCallStatusMonitor.IsLegalNewState" )
- MVtCtlCallControl* control = CVtCtlCallControl::NewL(
- aEventObserver );
- __VTPRINTEXIT( "CVtCtlCallStatusMonitor.IsLegalNewState" )
- return control;
- }
-
-// -----------------------------------------------------------------------------
-// MVtCtlCallControl::Delete
-// Destructs call control object.
-// -----------------------------------------------------------------------------
-//
-void CVtCtlFactory::Delete( MVtCtlCallControl* aCallControl )
- {
- __VTPRINTENTER( "CVtCtlFactory.Delete" )
- CVtCtlCallControl* callControl =
- static_cast<CVtCtlCallControl*>( aCallControl );
- delete callControl;
- __VTPRINTEXIT( "CVtCtlFactory.Delete" )
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// CreateFactory
-// Returns: Factory for creating and destructing call control.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVtCtlFactory* CreateFactory()
- {
- CVtCtlFactory* factory = new CVtCtlFactory;
- return factory;
- }
-#pragma CTC ENDSKIP
-// End of File
-
--- a/vtengines/videoteleng/CallCtrl/Src/CVtCtlLineMonitor.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* 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: Monitors new calls on data line
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include "CVtCtlLineMonitor.h"
-#include "MVtCtlLineEventObserver.h"
-#include "VtCtlDefs.h"
-#include <cvtlogger.h>
-#include <etelmm.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtCtlLineMonitor::CVtCtlLineMonitor
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-CVtCtlLineMonitor::CVtCtlLineMonitor(
- RMobileLine& aLine,
- MVtCtlLineEventObserver& aObserver) :
- CActive( KVtCtlCallAdditionMonitorPriority ),
- iLine ( aLine ),
- iObserver( aObserver ),
- iLastLineStatus( RMobileCall::EStatusIdle ),
- iLineStatus( RMobileCall::EStatusIdle )
- {
- __VTPRINTENTER( "CVtCtlLineMonitor.CVtCtlLineMonitor" )
- CActiveScheduler::Add( this );
- __VTPRINTEXIT( "CVtCtlLineMonitor.CVtCtlLineMonitor" )
- }
-
-// Destructor
-CVtCtlLineMonitor::~CVtCtlLineMonitor()
- {
- __VTPRINTENTER( "CVtCtlLineMonitor.~" )
- Cancel();
- __VTPRINTEXIT( "CVtCtlLineMonitor.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlLineMonitor::Start
-// Start monitoring
-// -----------------------------------------------------------------------------
-//
-void CVtCtlLineMonitor::Start()
- {
- __VTPRINTENTER( "CVtCtlLineMonitor.Start" )
- if ( !IsActive() )
- {
- iLine.NotifyMobileLineStatusChange( iStatus, iLineStatus );
- SetActive();
- }
- __VTPRINTEXIT( "CVtCtlLineMonitor.Start" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlLineMonitor::DoCancel
-// Stop monitoring
-// -----------------------------------------------------------------------------
-//
-void CVtCtlLineMonitor::DoCancel()
- {
- __VTPRINTENTER( "CVtCtlLineMonitor.DoCancel" )
- iLine.CancelAsyncRequest( EMobileLineNotifyMobileLineStatusChange );
- __VTPRINTEXIT( "CVtCtlLineMonitor.DoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlLineMonitor::RunL
-// Notifies observer on the event.
-// -----------------------------------------------------------------------------
-//
-void CVtCtlLineMonitor::RunL()
- {
- __VTPRINTENTER( "CVtCtlLineMonitor.RunL" )
- __VTPRINT2( DEBUG_SESSION , "VtCtl:LineMon.RunL %d", iStatus.Int() )
- if ( iStatus == KErrNone )
- {
- if ( iLineStatus != iLastLineStatus )
- {
- iObserver.HandleLineEventL(
- MVtCtlLineEventObserver::ELineEventStatusChange, iLineStatus );
- iLastLineStatus = iLineStatus;
- }
- Start();
- }
- __VTPRINTEXIT( "CVtCtlLineMonitor.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlLineMonitor::RunError
-// Starts monitoring after error
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlLineMonitor::RunError(
-#ifdef VTDEBUG
- TInt aError )
-#else
- TInt )
-#endif
- {
- __VTPRINTENTER( "CVtCtlLineMonitor.RunError" )
- Start();
- __VTPRINTEXITR( "CVtCtlLineMonitor.RunError err=%d", aError )
- return KErrNone;
- }
-#pragma CTC ENDSKIP
-// End of File
-
--- a/vtengines/videoteleng/CallCtrl/Src/CVtCtlSessionContainer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,457 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: Container for ETel session and subsessions.
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include "CVtCtlSessionContainer.h"
-#include "CVtCtlLineMonitor.h"
-#include "CVtCtlVideoCall.h"
-#include <mmtsy_names.h>
-#include <cvtlogger.h>
-
-// CONSTANTS
-
-// Retrials for connecting to ETel server
-const TInt KVtCtlETelConnectRetrials = 5;
-
-// Granularity
-const TInt KVtCtlMaxCalls = 5;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::CVtCtlSessionContainer
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtCtlSessionContainer::CVtCtlSessionContainer(
- MVtCtlCallStatusObserver& aObserver ) :
- iCalls( KVtCtlMaxCalls ),
- iObserver( aObserver )
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.CVtCtlSessionContainer" )
- __VTPRINTEXIT( "CVtCtlSessionContainer.CVtCtlSessionContainer" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-void CVtCtlSessionContainer::ConstructL()
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.ConstructL" )
- TInt retries( KVtCtlETelConnectRetrials );
- TInt err( KErrNone );
- while ( retries-- &&
- iServer.Handle() == KNullHandle )
- {
- err = iServer.Connect();
- }
- User::LeaveIfError( err );
- User::LeaveIfError( iServer.LoadPhoneModule( KMmTsyModuleName() ) );
- User::LeaveIfError( iPhone.Open( iServer, KMmTsyPhoneName() ) );
- User::LeaveIfError( iLine.Open( iPhone, KMmTsyDataLineName() ) );
-
- iLineMonitor = new ( ELeave ) CVtCtlLineMonitor( iLine, *this );
- iLineMonitor->Start();
-
- RMobileCall::TMobileCallStatus lineStatus;
- User::LeaveIfError( iLine.GetMobileLineStatus( lineStatus ) );
- if ( lineStatus != RMobileCall::EStatusIdle )
- {
- __VTPRINT( DEBUG_SESSION | DEBUG_CONSTRUCT,
- "VtCtl:SesConL line active" )
- TInt calls( 0 );
- User::LeaveIfError( iLine.EnumerateCall( calls ) );
- while ( calls-- )
- {
- RLine::TCallInfo callInfo;
- iLine.GetCallInfo( calls, callInfo );
- if ( InitCallL( callInfo.iCallName ) )
- {
- __VTPRINT( DEBUG_SESSION | DEBUG_CONSTRUCT,
- "VtCtl:SesConL call found and created" )
- calls = 0;
- }
- }
- }
-
- __VTPRINTEXIT( "CVtCtlSessionContainer.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtCtlSessionContainer* CVtCtlSessionContainer::NewL(
- MVtCtlCallStatusObserver& aObserver )
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.NewL" )
- CVtCtlSessionContainer* self =
- new ( ELeave ) CVtCtlSessionContainer( aObserver );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- __VTPRINTEXIT( "CVtCtlSessionContainer.NewL" )
- return self;
- }
-
-
-// Destructor
-CVtCtlSessionContainer::~CVtCtlSessionContainer()
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.~" )
-
- TInt count( iCalls.Count() );
- CVtCtlVideoCall* call = NULL;
- while ( count-- )
- {
- call = iCalls[count];
- delete call;
- }
- iCalls.Close();
- delete iLineMonitor;
- iLine.Close();
- iPhone.Close();
- iServer.UnloadPhoneModule( KMmTsyModuleName() );
- iServer.Close();
- __VTPRINTEXIT( "CVtCtlSessionContainer.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::HandleLineEventL
-// Handle new call on data line
-// -----------------------------------------------------------------------------
-//
-void CVtCtlSessionContainer::HandleLineEventL(
- const TLineEvent aEvent,
- TDesC& aCallName )
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.HandleLineEventL" )
- if ( aEvent == ELineEventCallAdded )
- {
- CVtCtlVideoCall* call = FindCall( aCallName );
- if ( call == NULL )
- {
- InitCallL( aCallName );
- }
- }
- __VTPRINTEXITR( "CVtCtlSessionContainer.HandleLineEventL event=%d",
- aEvent )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::HandleLineEventL
-//
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-void CVtCtlSessionContainer::HandleLineEventL(
- const TLineEvent aEvent,
- const RMobileCall::TMobileCallStatus aStatus )
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.HandleLineEventL" )
- __VTPRINT3( DEBUG_SESSION, "SesCont.LineEvent2 event=%d,status=%d",
- (TInt) aEvent,
- (TInt) aStatus )
- if ( aEvent == ELineEventStatusChange &&
- ( aStatus == RMobileCall::EStatusRinging ||
- aStatus == RMobileCall::EStatusDialling ) )
- {
- TInt calls( 0 );
- iLine.EnumerateCall( calls );
- while ( calls-- )
- {
- RLine::TCallInfo callInfo;
- TInt err( iLine.GetCallInfo( calls, callInfo ) );
- // ensure we're opening correct call
- if ( err == KErrNone &&
- ( callInfo.iStatus == RCall::EStatusDialling ||
- callInfo.iStatus == RCall::EStatusRinging ) )
- {
- calls = 0; // break
- CVtCtlVideoCall* call = FindCall( callInfo.iCallName );
- if ( call == NULL )
- {
- InitCallL( callInfo.iCallName );
- }
- }
- }
- }
- __VTPRINTEXIT( "CVtCtlSessionContainer.HandleLineEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::HandleCallStatusChangeL
-// passes call status change event to observer
-// -----------------------------------------------------------------------------
-//
-void CVtCtlSessionContainer::HandleCallStatusChangeL(
- TVtCtlSessionId aId,
- MVtCtlCallControl::TVtCtlState aStatus,
- MVtCtlCallControl::TVtCtlState aPreviousStatus )
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.HandleCallStatusChangeL" )
- iObserver.HandleCallStatusChangeL( aId, aStatus, aPreviousStatus );
- if ( aStatus == MVtCtlCallControl::EIdle )
- {
- DestructCall( aId );
- }
- __VTPRINTEXIT( "CVtCtlSessionContainer.HandleCallStatusChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::FindCall
-// Finds call by name
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-CVtCtlVideoCall* CVtCtlSessionContainer::FindCall( TDesC& aCallName ) const
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.FindCall" )
- TInt count( iCalls.Count() );
- CVtCtlVideoCall* call = NULL;
- while ( count-- )
- {
- call = iCalls[count];
- const RMobileCall::TMobileCallInfoV1& mobileInfo = call->MobileInfo();
- if ( aCallName == mobileInfo.iCallName )
- {
- count = 0; // break
- }
- else
- {
- call = NULL;
- }
- }
- __VTPRINT2( DEBUG_SESSION | DEBUG_DETAIL,
- "SesCont.FindCall by name --> %d",(TInt)call )
- __VTPRINTEXIT( "CVtCtlSessionContainer.FindCall" )
- return call;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::FindCall
-// Finds call by id.
-// -----------------------------------------------------------------------------
-//
-CVtCtlVideoCall* CVtCtlSessionContainer::FindCall( TVtCtlSessionId aId ) const
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.FindCall" )
- TInt count( iCalls.Count() );
- CVtCtlVideoCall* call = NULL;
- if ( aId == KActiveSessionId && count == 1 )
- {
- call = iCalls[0];
- count = 0;
- }
- while ( count-- )
- {
- call = iCalls[count];
- const CVtCtlVideoCall::TVtCtlCallInfo& info =
- call->CallInfo();
- if ( aId == info.iId )
- {
- count = 0; // break
- }
- else
- {
- call = NULL;
- }
- }
- __VTPRINT2( DEBUG_SESSION | DEBUG_DETAIL,
- "SesCont.FindCall by id --> %d",(TInt)call )
- __VTPRINTEXIT( "CVtCtlSessionContainer.FindCall" )
- return call;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::Sessions
-// Returns sessions.
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlSessionContainer::GetSessions( RVtCtlSessionIdArray& aArray ) const
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.GetSessions" )
- const TInt count( iCalls.Count() );
- for ( TInt ii = 0; ii < count; ii++ )
- {
- TInt err( aArray.Append( iCalls[ii]->CallInfo().iId ) );
- if ( err != KErrNone )
- {
- __VTPRINTEXIT( "CVtCtlSessionContainer.GetSessions" )
- return err;
- }
- }
- __VTPRINTEXIT( "CVtCtlSessionContainer.GetSessions" )
- return count;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::DestructCall
-// Destructs call
-// -----------------------------------------------------------------------------
-//
-void CVtCtlSessionContainer::DestructCall( TVtCtlSessionId aId )
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.DestructCall" )
- TInt count( iCalls.Count() );
- CVtCtlVideoCall* call = NULL;
- while ( count-- )
- {
- call = iCalls[count];
- const CVtCtlVideoCall::TVtCtlCallInfo& info =
- call->CallInfo();
- if ( aId == info.iId )
- {
- delete call;
- iCalls.Remove( count );
- count = 0; // break
- }
- }
- __VTPRINTEXIT( "CVtCtlSessionContainer.DestructCall" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::CheckCallTypeL
-// Checks call type
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-TBool CVtCtlSessionContainer::CheckCallTypeL(
- RMobileCall& aCall,
- const TName& aName )
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.CheckCallTypeL" )
- User::LeaveIfError( aCall.OpenExistingCall( iLine, aName ) );
- TBool typeOk( EFalse );
- RMobileCall::TMobileCallDataCapsV1 caps;
- RMobileCall::TMobileCallDataCapsV1Pckg pckg( caps );
- User::LeaveIfError( aCall.GetMobileDataCallCaps( pckg ) );
- __VTPRINT3( DEBUG_SESSION | DEBUG_DETAIL,
- "SesCont.ChkCall speedCaps=%d,protCaps=%d",
- caps.iSpeedCaps, caps.iProtocolCaps )
- if ( caps.iProtocolCaps & RMobileCall::KCapsIsdnMultimedia )
- {
- typeOk = ETrue;
- }
- else
- {
- aCall.Close();
- }
- __VTPRINTEXIT( "CVtCtlSessionContainer.CheckCallTypeL" )
- return typeOk;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::InitCallL
-// Initializes call if it is video call.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-TBool CVtCtlSessionContainer::InitCallL( const TName& aCallName )
- {
- __VTPRINTENTER( "CVtCtlSessionContainer.InitCallL" )
- RMobileCall* mobilecall = new ( ELeave ) RMobileCall;
- CleanupStack::PushL( mobilecall );
-
- // check that type is multimedia call
- const TBool callTypeOk = CheckCallTypeL( *mobilecall, aCallName );
- if ( callTypeOk )
- {
- __VTPRINT( DEBUG_SESSION | DEBUG_DETAIL,
- "SesCont.InitCall ok" )
- TVtCtlSessionId id = iSessionIds.Create();
- CVtCtlVideoCall* call = CVtCtlVideoCall::NewL(
- iLine, id, *this );
- CleanupStack::PushL( call );
- User::LeaveIfError( iCalls.Append( call ) );
- call->InitializeCallL( *mobilecall ); // takes ownership
- const CVtCtlVideoCall::TVtCtlCallInfo& callInfo = call->CallInfo();
- iObserver.HandleCallStatusChangeL(
- id, callInfo.iStatus, callInfo.iPreviousStatus );
- CleanupStack::Pop(2); // mobilecall, call
- }
- else
- {
- CleanupStack::PopAndDestroy(); // mobilecall
- }
- __VTPRINTEXIT( "CVtCtlSessionContainer.InitCallL" )
- return callTypeOk;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::TVtCtlSessionIdentities::TVtCtlSessionIdentities
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-CVtCtlSessionContainer::TVtCtlSessionIdentities::TVtCtlSessionIdentities()
- : iCurrentId( 0 )
- {
- __VTPRINTENTER( "TVtCtlSessionIdentities.TVtCtlSessionIdentities" )
- __VTPRINTEXIT( "TVtCtlSessionIdentities.TVtCtlSessionIdentities" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::TVtCtlSessionIdentities::Create
-// Increment session id.
-// -----------------------------------------------------------------------------
-//
-TVtCtlSessionId CVtCtlSessionContainer::TVtCtlSessionIdentities::Create()
- {
- __VTPRINTENTER( "TVtCtlSessionIdentities.Create" )
- __VTPRINTEXIT( "TVtCtlSessionIdentities.Create" )
- return ++iCurrentId;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlSessionContainer::TVtCtlSessionIdentities::Current
-// Return current session id.
-// -----------------------------------------------------------------------------
-//
-TVtCtlSessionId CVtCtlSessionContainer::TVtCtlSessionIdentities::Current() const
- {
- __VTPRINTENTER( "TVtCtlSessionIdentities.Current" )
- __VTPRINTEXIT( "TVtCtlSessionIdentities.Current" )
- return iCurrentId;
- }
-#pragma CTC ENDSKIP
-// End of File
-
--- a/vtengines/videoteleng/CallCtrl/Src/CVtCtlVideoCall.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* 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: Video call abstraction implementation.
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include "CVtCtlVideoCall.h"
-#include "CVtCtlCallStatusMonitor.h"
-#include "VtCtlPanic.h"
-#include "cvtlogger.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::CVtCtlVideoCall
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-CVtCtlVideoCall::CVtCtlVideoCall(
- RMobileLine& aDataLine,
- TVtCtlSessionId aId,
- MVtCtlCallStatusObserver& aObserver )
- : iLine( aDataLine ), iObserver( aObserver )
- {
- __VTPRINTENTER( "CVtCtlVideoCall.CVtCtlVideoCall" )
- iCallInfo.iId = aId;
- __VTPRINTEXIT( "CVtCtlVideoCall.CVtCtlVideoCall" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-CVtCtlVideoCall* CVtCtlVideoCall::NewL(
- RMobileLine& aDataLine,
- TVtCtlSessionId aId,
- MVtCtlCallStatusObserver& aObserver )
- {
- __VTPRINTENTER( "CVtCtlVideoCall.NewL" )
- CVtCtlVideoCall* self = new( ELeave )
- CVtCtlVideoCall( aDataLine, aId, aObserver );
- __VTPRINTEXIT( "CVtCtlVideoCall.NewL" )
- return self;
- }
-
-
-// Destructor
-CVtCtlVideoCall::~CVtCtlVideoCall()
- {
- __VTPRINTENTER( "CVtCtlVideoCall.~" )
- __VTPRINT( DEBUG_SESSION | DEBUG_DESTRUCT, "VtCtl:Call~")
- delete iStatusMonitor;
- if ( iCall )
- {
- iCall->Close();
- delete iCall;
- }
- __VTPRINTEXIT( "CVtCtlVideoCall.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::CallInfo
-// Returns call information containing information not associated to ETel
-// -----------------------------------------------------------------------------
-//
-const CVtCtlVideoCall::TVtCtlCallInfo& CVtCtlVideoCall::CallInfo() const
- {
- return iCallInfo;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::MobileInfo
-// Returns ETel call information.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-const RMobileCall::TMobileCallInfoV1& CVtCtlVideoCall::MobileInfo() const
- {
- return iMobileCallInfo;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::InitializeCallL
-// Opens call subsession and starts status monitor.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-void CVtCtlVideoCall::InitializeCallL(
- RMobileCall& aCall )
- {
- __VTPRINTENTER( "CVtCtlVideoCall.InitializeCallL" )
- __ASSERT_ALWAYS( iLine.SubSessionHandle(),
- Panic( EVtCtlPanicLineHandleNull ) );
- iCall = &aCall;
- iStatusMonitor = new ( ELeave ) CVtCtlCallStatusMonitor( *iCall, *this );
- iStatusMonitor->Start();
- UpdateCallInfo();
- iCallInfo.iPreviousStatus = MVtCtlCallControl::EIdle;
- iCallInfo.iStatus =
- CVtCtlCallStatusMonitor::MapState( iMobileCallInfo.iStatus );
-
- __VTPRINTEXIT( "CVtCtlVideoCall.InitializeCallL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::UpdateCallInfo
-// Updates call information from ETel
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-* Series 60 Customer / ETel
-* Series 60 ETel API
-*****************************************************/
-TInt CVtCtlVideoCall::UpdateCallInfo()
- {
- __VTPRINTENTER( "CVtCtlVideoCall.UpdateCallInfo" )
- __ASSERT_ALWAYS( iCall->SubSessionHandle(),
- Panic( EVtCtlPanicCallHandleNull ) );
-
- RMobileCall::TMobileCallInfoV1Pckg pckg( iMobileCallInfo );
- const TInt err( iCall->GetMobileCallInfo( pckg ) );
- __VTPRINT2( DEBUG_SESSION, "VtCtl:Call. dir %d",
- iMobileCallInfo.iRemoteParty.iDirection )
- __VTPRINT2( DEBUG_SESSION, "VtCtl:Call. status %d",
- iMobileCallInfo.iStatus )
-#ifdef VTDEBUG
- RDebug::Print(_L(" VtCtl.RemoteNumber=%S"),
- &iMobileCallInfo.iRemoteParty.iRemoteNumber.iTelNumber );
-#endif
- __VTPRINTEXITR( "CVtCtlVideoCall.UpdateCallInfo err=%d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::GetDuration
-// Returns call duration
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlVideoCall::GetDuration( TVtCtlDuration& aDuration )
- {
- __VTPRINTENTER( "CVtCtlVideoCall.GetDuration" )
- const TInt res( UpdateCallInfo() );
- if ( res == KErrNone )
- {
- aDuration = iMobileCallInfo.iDuration;
- }
- __VTPRINTEXITR( "CVtCtlVideoCall.GetDuration err=%d", res )
- return res;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::GetCallState
-// Gets call state
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlVideoCall::GetCallState(
- MVtCtlCallControl::TVtCtlState& aState )
- {
- __VTPRINTENTER( "CVtCtlVideoCall.GetCallState" )
- RMobileCall::TMobileCallStatus status;
- aState = iCallInfo.iStatus;
- const TInt res( iCall->GetMobileCallStatus( status ) );
-
- // update internal state only if differs from previous state
- if ( res == KErrNone &&
- CVtCtlCallStatusMonitor::IsLegalNewState(
- status, iMobileCallInfo.iStatus ) )
- {
- // update 1) internal values, and
- iMobileCallInfo.iStatus = status;
- iCallInfo.iPreviousStatus = iCallInfo.iStatus;
- iCallInfo.iStatus = CVtCtlCallStatusMonitor::MapState( status );
-
- // 2) return value
- aState = iCallInfo.iStatus;
- }
- __VTPRINTEXITR( "CVtCtlVideoCall.GetCallState err=%d", res )
- return res;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::HandleCallStatusChangeL
-// Handles status change
-// -----------------------------------------------------------------------------
-//
-void CVtCtlVideoCall::HandleCallStatusChangeL(
- TVtCtlSessionId ,
- MVtCtlCallControl::TVtCtlState aStatus,
- MVtCtlCallControl::TVtCtlState aPreviousStatus )
- {
- __VTPRINTENTER( "CVtCtlVideoCall.HandleCallStatusChangeL" )
- // If monitor has received outdated notification ignore the event.
- // This may happen if call status has asked from ETel and there
- // are still old completed status notifications that are not handled.
- // => contradition between internal status in this object and one
- // received from ststus monitor. Ignore it.
- if ( aStatus > iCallInfo.iStatus || aStatus == MVtCtlCallControl::EIdle )
- {
- iCallInfo.iPreviousStatus = iCallInfo.iStatus;
- iCallInfo.iStatus = aStatus;
-
- iObserver.HandleCallStatusChangeL(
- iCallInfo.iId,
- aStatus,
- aPreviousStatus );
- }
- __VTPRINTEXIT( "CVtCtlVideoCall.HandleCallStatusChangeL" )
- }
-#pragma CTC ENDSKIP
-// End of File
-
--- a/vtengines/videoteleng/CallCtrl/Src/VtCtlPanic.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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: Call control panic
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include "VtCtlPanic.h"
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Panic
-//
-// -----------------------------------------------------------------------------
-//
-void Panic( TVtCtlPanic aPanic )
- {
- User::Panic( KVtCtlPanicCategory(), aPanic );
- }
-#pragma CTC ENDSKIP
-// End of File
-
--- a/vtengines/videoteleng/EABI/videotelengU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
- _ZN11CVtEngModel4NewLER19MVtEngEventObserverR21MVtEngCommandObserver @ 1 NONAME
- _ZN11CVtEngModel9ExtensionERK4TUid @ 2 NONAME
- _ZNK11CVtEngModel14CommandHandlerEv @ 3 NONAME
- _ZNK11CVtEngModel5AudioEv @ 4 NONAME
- _ZNK11CVtEngModel5MediaEv @ 5 NONAME
- _ZNK11CVtEngModel7SessionEv @ 6 NONAME
-
--- a/vtengines/videoteleng/Group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: videoteleng build information file.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTEXPORTS
-
-PRJ_EXPORTS
-
-
-../Inc/Base/VtEngEvents.h |../../../inc/vtengevents.h
-../Inc/Base/CVtEngModel.h |../../../inc/cvtengmodel.h
-../Inc/Base/MVtEngEventObserver.h |../../../inc/mvtengeventobserver.h
-../Inc/Commands/vtengcommands.h |../../../inc/vtengcommands.h
-../Inc/Commands/MVtEngCommandHandler.h |../../../inc/mvtengcommandhandler.h
-../Inc/Commands/MVtEngCommandObserver.h |../../../inc/mvtengcommandobserver.h
-../Inc/Session/MVtEngSessionInfo.h |../../../inc/mvtengsessioninfo.h
-../Inc/Audio/MVtEngAudio.h |../../../inc/mvtengaudio.h
-../Inc/Media/MVtEngMedia.h |../../../inc/mvtengmedia.h
-../Inc/Media/MVtEngFrameObserver.h |../../../inc/mvtengframeobserver.h
-../Inc/Media/TVtEngRendering.h |../../../inc/tvtengrendering.h
-../Inc/Media/TVtEngRendering.inl |../../../inc/tvtengrendering.inl
-../Inc/Media/TVtEngRenderingDSA.h |../../../inc/tvtengrenderingdsa.h
-../Inc/Media/TVtEngRenderingDSA.inl |../../../inc/tvtengrenderingdsa.inl
-../Inc/Media/TVtEngRenderingDP.h |../../../inc/tvtengrenderingdp.h
-../Inc/Media/TVtEngRenderingDP.inl |../../../inc/tvtengrenderingdp.inl
-../Inc/Media/TVtEngRenderingNGA.h |../../../inc/tvtengrenderingnga.h
-../Inc/Media/TVtEngRenderingNGA.inl |../../../inc/tvtengrenderingnga.inl
-../Inc/Extensions/MVtEngCameraPreferences.h |../../../inc/mvtengcamerapreferences.h
-../Inc/Extensions/mvtengrecord2file.h |../../../inc/mvtengrecord2file.h
-
-
-../data/videoteleng_stub.SIS /epoc32/data/z/system/install/videoteleng_stub.sis
-
-../Logger/Inc/cvtlogger.h |../../../inc/cvtlogger.h
-../Logger/Inc/vtlogger.hrh |../../../inc/vtlogger.hrh
-
-// Export IBY file
-../Rom/videoteleng.iby CORE_APP_LAYER_IBY_EXPORT_PATH(videoteleng.iby)
-
-PRJ_MMPFILES
-
-../Logger/Group/vtlogger.mmp
-../CallCtrl/Group/videocallctrl.mmp
-../Group/videoteleng.mmp
-
-
-
-// End of File
--- a/vtengines/videoteleng/Group/videoteleng.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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: This is project specification file for the Videoteleng.
-*
-*/
-
-#include <platform_paths.hrh>
-#include "../Inc/Base/VtEngDefs.hrh"
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-// default vendor id
-VENDORID VID_DEFAULT
-
-TARGET videoteleng.dll
-TARGETTYPE dll
-UID 0x1000008d 0x101F867F
-
-SOURCEPATH ../Src/Audio
-SOURCE CVtEngAudioHandler.cpp
-
-SOURCEPATH ../Src/Base
-SOURCE CVtEngModel.cpp
-SOURCE CVtEngEventManager.cpp
-SOURCE CVtEngHandlerContainer.cpp
-SOURCE CVtEngSettings.cpp
-SOURCE CVtEngPubSubsListener.cpp
-SOURCE cvtengincomingcallmonitor.cpp
-
-SOURCE cvtengmdtrcommandsender.cpp
-SOURCE cvtengmdtrmessagelistener.cpp
-SOURCE cvtengmediatorservice.cpp
-SOURCE CVtEngAccessoryHandler.cpp
-
-SOURCE CVtEngCRProxy.cpp
-SOURCE CVtEngCRObserverItem.cpp
-SOURCE CVtEngInitializer.cpp
-SOURCE CVtEngSATClient.cpp
-SOURCE CVtEngDeviceLockMonitor.cpp
-SOURCE VtEngUtils.cpp
-
-SOURCEPATH ../Src/Commands
-SOURCE CVtEngCommandHandler.cpp
-SOURCE CVtEngOperation.cpp
-SOURCE cvtenginternaloperation.cpp
-SOURCE TVtEngOperationUtils.cpp
-
-SOURCEPATH ../Src/Extensions
-SOURCE CVtEngExtensions.cpp
-SOURCE CVtEngExtensionBase.cpp
-SOURCE CVtEngCameraPreferences.cpp
-#if defined (RD_VT_RTF)
-SOURCE cvtengrecord2file.cpp
-SOURCE cvtengr2ftoneplayer.cpp
-#endif // RD_VT_RTF
-
-
-SOURCEPATH ../Src/Media
-SOURCE CVtEngMediaHandler.cpp
-SOURCE CVtEngDrawDP.cpp
-SOURCE CVtEngDrawDSA.cpp
-SOURCE CVtEngDrawNGA.cpp
-SOURCE CVtEngDtmfHandler.cpp
-SOURCE CVtEngLocalVideo.cpp
-SOURCE CVtEngRemoteVideo.cpp
-SOURCE CVtEngImageScaler.cpp
-
-SOURCEPATH ../Src/Session
-SOURCE CVtEngSessionHandler.cpp
-
-SOURCEPATH ../Src/State
-SOURCE CVtEngStateManager.cpp
-SOURCE CVtEngStateAlerting.cpp
-SOURCE CVtEngStateBase.cpp
-SOURCE CVtEngStateClearing.cpp
-SOURCE CVtEngStateConnected.cpp
-SOURCE CVtEngStateIdle.cpp
-SOURCE CVtEngStateInitializing.cpp
-SOURCE CVtEngStateNegotiating.cpp
-SOURCE CVtEngStateOpen.cpp
-SOURCE CVtEngStateRinging.cpp
-SOURCE CVtEngDtmfState.cpp
-SOURCE CVtEngDtmfIdle.cpp
-SOURCE CVtEngDtmfSending.cpp
-SOURCE CVtEngDtmfBuffered.cpp
-
-DOCUMENT ../../Group/bld.inf
-
-USERINCLUDE ../Inc/Base
-USERINCLUDE ../Inc/Audio
-USERINCLUDE ../Inc/Commands
-USERINCLUDE ../Inc/Session
-USERINCLUDE ../Inc/Media
-USERINCLUDE ../Inc/State
-USERINCLUDE ../Inc/Extensions
-USERINCLUDE ../CallCtrl/Inc
-
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../../inc
-SYSTEMINCLUDE /epoc32/include/mmf/common
-SYSTEMINCLUDE /epoc32/include/mmf/server
-
-LIBRARY euser.lib
-LIBRARY fbscli.lib
-LIBRARY ws32.lib
-LIBRARY videosource.lib
-LIBRARY bitgdi.lib
-LIBRARY displaysink.lib
-LIBRARY featmgr.lib
-LIBRARY phoneclient.lib
-LIBRARY dsclient.lib
-LIBRARY efsrv.lib
-LIBRARY bafl.lib
-LIBRARY sysutil.lib
-LIBRARY centralrepository.lib
-LIBRARY cenrepnotifhandler.lib
-
-LIBRARY commonengine.lib
-LIBRARY mediaclientaudio.lib
-
-LIBRARY accclient.lib
-LIBRARY telephonyaudiorouting.lib
-
-LIBRARY vtimagetransforms.lib
-
-DEBUGLIBRARY vtlogger.lib
-
-
-LIBRARY satclient.lib
-
-LIBRARY esock.lib // BigEndian
-
-LIBRARY mmfdevsound.lib
-
-LIBRARY gdi.lib
-
-LIBRARY mediatorclient.lib
-LIBRARY videotelproto.lib
-LIBRARY surfaceupdateclient.lib
-LIBRARY surfacemanager.lib
-// End of File
--- a/vtengines/videoteleng/Inc/Audio/CVtEngAudioHandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +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: Audio handler class.
-*
-*/
-
-
-
-#ifndef CVTENGAUDIOHANDLER_H
-#define CVTENGAUDIOHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "MVtEngAudio.h"
-#include "CVtEngOperation.h"
-#include "MVtEngSettingPSObserver.h"
-#include "CVTEngPubSubsListener.h"
-#include "CVtEngAccessoryHandler.h"
-#include "MVtEngAccessoryObserver.h"
-// new audio routing
-#include "telephonyaudiorouting.h"
-#include "mtelephonyaudioroutingobserver.h"
-#include <rphcltserver.h>
-#include <mmf/server/sounddevice.h>
-
-// FORWARD DECLARATIONS
-class CVtEngStateManager;
-class CRoutingEnabler;
-
-/**
-* Class for audio handling.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.6
-*/
-NONSHARABLE_CLASS( CVtEngAudioHandler )
- : public CBase,
- public MVtEngAudio,
- private MVtEngAccessoryObserver,
- private MTelephonyAudioRoutingObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CVtEngAudioHandler* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CVtEngAudioHandler();
-
- public: // New functions.
-
- /**
- * Performs on operation in the handler.
- * @param operation to be performed on the handler
- */
- void HandleL( CVtEngOperation& aOperation );
-
- /**
- * Creates/releases temporary DevSound instance.
- * @param aEnable
- * ETrue creates devSound
- * EFalse destructs devSound
- */
- void SetRoutingEnablerL( const TBool aEnable );
-
- /**
- * Increases audio volume
- */
- TBool IncreaseVolume();
-
- /**
- * Decreases audio volume
- */
- TBool DecreaseVolume();
-
- private: // Functions from base classes.
-
- // from MVtEngAccessoryObserver
-
- /** @see MVtEngAccessoryObserver */
- virtual void AccessoryModeChanged( const TAccMode& aMode,
- const TBool aActivated );
-
- // from MTelephonyAudioRoutingObserver
-
- /** @see MTelephonyAudioRoutingObserver::AvailableOutputsChanged */
- virtual void AvailableOutputsChanged( CTelephonyAudioRouting& aTelephonyAudioRouting );
-
- /** @see MTelephonyAudioRoutingObserver::OutputChanged */
- virtual void OutputChanged( CTelephonyAudioRouting& aTelephonyAudioRouting );
-
- /** @see MTelephonyAudioRoutingObserver::SetOutputComplete */
- virtual void SetOutputComplete( CTelephonyAudioRouting& aTelephonyAudioRouting,
- TInt aError );
-
- public: // Functions from base classes.
-
- /** @see MVtEngAudio::GetRoutingState. */
- virtual TInt GetRoutingState( TAudioRoutingState& aAudioRoutingState );
-
- /** @see MVtEngAudio::GetRoutingAvailability. */
- virtual TInt GetRoutingAvailability(
- const TAudioRoutingState aAudioRoutingState,
- TBool& aAvailable );
-
- /** @see MVtEngAudio::GetHeadsetType. */
- virtual TInt GetHeadsetType( TWiredHeadsetType& aHeadsetType );
-
- /** @see MVtEngAudio::OutputVolume. */
- virtual TInt OutputVolume( const TBool aHandsetVolume ) const;
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngAudioHandler();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- /**
- * Completes operation.
- * @param aResult error code
- */
- void CompleteOperation( TInt aResult );
-
- /**
- * Sets loudspeaker on / off.
- * @param aTurnOn ETrue if on, EFalse if off
- * @param aShowNote ETrue if note is allowed to be shown, EFalse if not
- */
- void SetLoudspeakerL( TBool aTurnOn, TBool aShowNote );
-
- /**
- * Sets Bluetooth on / off.
- * @param aTurnOn ETrue if on, EFalse if off
- */
- void SetBluetoothL( TBool aTurnOn );
-
- /**
- * Updates current volume that should be used.
- */
- void UpdateCurrentVolume();
-
- /**
- * Checks if given audio output route is available.
- * @return ETrue if given audio output route is available
- */
- TBool IsOutputAvailable( const CTelephonyAudioRouting::TAudioOutput aOutput );
-
- /**
- * Modifies the volume by aDelta.
- */
- TBool AdjustVolume( const TInt aDelta );
-
- private: // Data
-
- // Enumeration flags used in the implementation.
- enum
- {
- // Handset
- EFlagHandset = 1,
- // Loudspeaker
- EFlagLoudspeaker = 2,
- // Bluetooth handsfree
- EFlagBT = 4,
- // Wired headset
- EFlagWiredHeadset = 8
- };
-
- // Accessory mode listener class.
- CVtEngAccessoryHandler* iAccHandler;
-
- // Contains the current accessory and it's audio mode.
- TAccPolAccessoryMode iAccMode;
-
- // Pointer to telephony audio routing instance
- CTelephonyAudioRouting* iTelephonyAudioRouting;
-
- // Current audio routing state
- CTelephonyAudioRouting::TAudioOutput iCurrentAudioOutput;
-
- // Holds old routing state.
- TAudioRoutingState iOldAudioRoutingState;
-
- // Pointer to an operation.
- CVtEngOperation* iOperation;
-
- /**
- * For enabling audio routing before actual
- * DevSound for play is created.
- */
- CRoutingEnabler* iRoutingEnabler;
- };
-
-/**
-* Class for handling dummy DevSound. It enables audio routing
-* before video call is connected. Proper devSound instance
-* must exist in order to control audio routing. Actual instance
-* is created in protocol in later phase of the stack
-* initialization and one in here is deleted.
-*/
-NONSHARABLE_CLASS( CRoutingEnabler ) :
- public CBase,
- private MDevSoundObserver
- {
- public: // constructor and destructor
-
- // Constructor
- static CRoutingEnabler* NewL();
-
- // Destructor
- ~CRoutingEnabler();
-
- private: // constructors
-
- // c++ constructor
- CRoutingEnabler();
-
- /**
- * Creates and starts devSound.
- */
- void StartL();
-
- public: // new functions
-
- public: // from MDevSoundObserver
-
- /**
- * @see MDevSoundObserver
- */
- virtual void InitializeComplete( TInt aError );
-
- /**
- * @see MDevSoundObserver
- */
- virtual void ToneFinished( TInt aError );
-
- /**
- * @see MDevSoundObserver
- */
- virtual void BufferToBeFilled( CMMFBuffer* aBuffer );
-
- /**
- * @see MDevSoundObserver
- */
- virtual void PlayError( TInt aError );
-
- /**
- * @see MDevSoundObserver
- */
- virtual void BufferToBeEmptied( CMMFBuffer* aBuffer );
-
- /**
- * @see MDevSoundObserver
- */
- virtual void RecordError( TInt aError );
-
- /**
- * @see MDevSoundObserver
- */
- virtual void ConvertError( TInt aError );
-
- /**
- * @see MDevSoundObserver
- */
- virtual void DeviceMessage(
- TUid aMessageType,
- const TDesC8& aMsg );
-
- private:
- // Temporary DevSound instance to enable audio routing
- // before actual instance in protocol is ready.
- // Routing can be changed already when MO call is alerting.
- CMMFDevSound* iDevSound;
-
- // Variable to detect failure in Devsound initialization or PlayInitL().
- // If failure happens, Devsound instance is deleted outside callback
- // in desctructor. ETrue; failure happened, EFalse; all OK
- TBool iDevsoundInitializeFailure;
- };
-
-
-#endif // CVTENGAUDIOHANDLER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Audio/MVtEngAudio.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 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: Audio volume and routing interface
-*
-*/
-
-
-
-#ifndef MVTENGAUDIO_H
-#define MVTENGAUDIO_H
-
-// INCLUDES
-#include <e32def.h>
-
-/**
-* Interface for audio related information.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class MVtEngAudio
- {
- public:
-
- /**
- * Current routing state
- */
- enum TAudioRoutingState
- {
- EAudioHandset,
- EAudioLoudspeaker,
- EAudioBT,
- EAudioWiredHeadset
- };
-
- /**
- * Wired headset type
- */
- enum TWiredHeadsetType
- {
- EWiredHeadset,
- EWiredLoopset,
- EWiredTty,
- EWiredNone
- };
-
- /**
- * Audio routing setting to be used when changing
- * audio routing from client.
- */
- enum TVtEngRoutingSetting
- {
- EActivateHandsfree,
- EDeactivateHansfree,
- EActivateBT,
- EDeactivateBT
- };
-
- /**
- * Speaker volume levels for Handset and Handsfree.
- */
- struct TVtEngOutputVolume
- {
- TInt iHandsetVolume;
- TInt iHandsfreeVolume;
- };
-
- /**
- * Returns target where audio is currently routed to.
- * @param aAudioRoutingState routing target
- * @return Symbian OS error code
- */
- virtual TInt GetRoutingState(
- TAudioRoutingState& aAudioRoutingState ) = 0;
-
- /**
- * Returns if routing to specified target can be
- * done.
- * @param aAudioRoutingState routing target
- * @param aAvailable ETrue if possible to do
- * @return Symbian OS error code
- */
- virtual TInt GetRoutingAvailability(
- const TAudioRoutingState aAudioRoutingState,
- TBool& aAvailable ) = 0;
-
- /**
- * Returns type of wired headset
- * @return Symbian OS error code.
- */
- virtual TInt GetHeadsetType(
- TWiredHeadsetType& aHeadsetType ) = 0;
-
- /**
- * Returns speaker volume
- * @param aHandsetVolume if ETrue returns handset volume,
- * otherwise loudspeaker volume.
- * @return output volume ranging from 1 to 10 or Symbian OS error code.
- */
- virtual TInt OutputVolume(
- const TBool aHandsetVolume ) const = 0;
-
-
- };
-
-#endif // MVTENGAUDIO_H
--- a/vtengines/videoteleng/Inc/Base/CVTEngPubSubsListener.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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: Listener for Publish and subscribe data.
-*
-*/
-
-
-#ifndef CVTENGPUBSUBSGSETTINGS_H
-#define CVTENGPUBSUBSGSETTINGS_H
-
-// INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include <e32property.h>
-
-// FORWARD DECLARATIONS
-class MVtEngSettingPSObserver;
-
-// CLASS DECLARATION
-
-/**
-* RProperty poller.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.8
-*/
-NONSHARABLE_CLASS( CVtEngPubSubsListener ) : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aUid the Uid to use
- * @param aKey item's key
- * @param aObserver callback interface for notification
- * @return instance of CVtEngPubSubsListener
- */
- static CVtEngPubSubsListener* NewL( const TUid aUid, const TInt aKey,
- MVtEngSettingPSObserver* aObserver );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngPubSubsListener();
-
- public: // New functions.
-
- /**
- * Gets integer value from P & S.
- * @param aVal a value in return
- * @return error code
- */
- TInt Get( TInt& aVal );
-
- /**
- * Gets 8 bit string value from P&S.
- * @param aVal a value in return
- * @return error code
- */
- TInt Get( TDes8& aVal );
-
- /**
- * Gets 16 bit descriptor value from P&S.
- * @param aVal a value in return
- * @return error code
- */
- TInt Get( TDes16& aVal );
-
- private: // New functions.
-
- /**
- * Starts the listening (RunL).
- */
- void StartListening();
-
- private: // From CActive.
-
- /** @see CActive::RunL */
- virtual void RunL();
-
- /** @see CActive::Cancel */
- virtual void DoCancel();
-
- /** @see CActive::RunError */
- virtual TInt RunError( TInt aError );
-
- private:
-
- /**
- * C++ default constructor.
- * @param aUid the Uid to use
- * @param aKey item's key
- * @param aObserver callback interface for notification
- */
- CVtEngPubSubsListener( const TUid aUid, TInt aKey,
- MVtEngSettingPSObserver* aObserver );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- // UID of the monitored item.
- TUid iUid;
-
- // ID of the monitored item.
- TInt iId;
-
- // Property to subscribe to.
- RProperty iProperty;
-
- // The notification interface.
- MVtEngSettingPSObserver* iCallback;
- };
-
-#endif // CVTENGPUBSUBSGSETTINGS_H
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngAccessoryHandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2004-2005 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: Accessory handler.
-*
-*/
-
-
-
-#ifndef CVTENGACCHANDLER_H
-#define CVTENGACCHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <AccPolAccessoryMode.h>
-#include <accessoryserver.h>
-#include <accessorymode.h>
-
-// FORWARD DECLARATIONS
-class MVtEngAccessoryObserver;
-
-// CLASS DECLARATION
-
-/**
-* Accessory mode listener for video telephony.
-*
-* @lib videoteleng
-* @since 3.0
-*/
-NONSHARABLE_CLASS( CVtEngAccessoryHandler ) : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- ¨* @return instance of CVtEngAccessoryHandler
- */
- static CVtEngAccessoryHandler* NewL( );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngAccessoryHandler();
-
- public: // From base classes.
-
- /**
- * Handles accessory mode changes.
- */
- void RunL();
-
- /**
- * Cancels accessory mode monitoring.
- */
- void DoCancel();
-
- /**
- * Handles exceptions in RunL.
- * @param aError error code.
- * @return error code.
- */
- TInt RunError( TInt aError );
-
- public: // New functions
-
- /**
- * Sets a new listener interested in accessory changes.
- * @param aObserver call back interface for notifications.
- */
- void RegisterObserverL( MVtEngAccessoryObserver* aObserver );
-
- /**
- * Unregisters a listener.
- * NOTE, do not call this from NotifyObserversL!
- * @param aObserver call back interface for notifications.
- */
- void RemoveObserver( MVtEngAccessoryObserver* aObserver );
-
- /**
- * Returns current accessory mode.
- * @param aAccessoryMode accessory mode in return
- * @return Symbian error code
- */
- TInt AccessoryMode( TAccPolAccessoryMode& aAccessoryMode ) const;
-
- private: // New functions.
-
- /**
- * Removes all observers
- */
- void RemoveAllObservers();
-
- /**
- * Sets object active and renews subscription.
- */
- void StartListening();
-
- /**
- * Notifies all registered listeners.
- */
- void NotifyObserversL();
-
- private: // Constructors.
-
- /**
- * C++ default constructor.
- */
- CVtEngAccessoryHandler();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( );
-
- private: // Data
- // Current accessory mode.
- TAccPolAccessoryMode iCurrentAccessoryMode;
-
- // Owned array of accessory mode observers.
- RPointerArray< MVtEngAccessoryObserver > iAccessoryObservers;
-
- // Owned accessory server session.
- RAccessoryServer iAccessoryServer;
-
- // Owned accessory mode subsession.
- RAccessoryMode iAccessoryMode;
-
- // Accessory mode structure.
- TAccPolAccessoryMode iMode;
-
- };
-
-#endif // CVTENGACCHANDLER_H
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngCRObserverItem.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +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: Central repository observer class.
-*
-*/
-
-
-#ifndef CVTENGCROBSITEM_H
-#define CVTENGCROBSITEM_H
-
-// INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include "cenrepnotifyhandler.h"
-
-// FORWARD DECLARATIONS
-class MVtEngCRSettingObserver;
-
-// CLASS DECLARATION
-
-/**
-* Central repository listener for video telephony.
-*
-* @lib videoteleng.lib
-* @since Series 60 3.0
-*/
-NONSHARABLE_CLASS( CVtEngCRObserverItem ) : public CBase,
- public MCenRepNotifyHandlerCallback
- {
- public: // Constructors and destructor.
-
- /**
- * Two-phased constructor.
- * @param aObserver the real observer to notify
- * @param aUid UID for this listener
- * @param aKey ID for this listener
- * @param aType type of information interested in
- * @return this CR observer
- */
- static CVtEngCRObserverItem* NewL(
- MVtEngCRSettingObserver* aObserver,
- TUid aUid, TUint32 aKey,
- CCenRepNotifyHandler::TCenRepKeyType aType );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngCRObserverItem();
-
- public: // From MCenRepNotifyHandlerCallback.
-
- /**
- * Callback to notify changed integer setting.
- * @param aId changed id
- * @param aNewValue
- */
- void HandleNotifyInt( TUint32 aId, TInt aNewValue );
-
- /**
- * Callback to notify changed real setting.
- * @param aId changed id
- * @param aNewValue
- */
- void HandleNotifyReal( TUint32 aId, TReal aNewValue );
-
- /**
- * Callback to notify changed string setting.
- * @param aId changed id
- * @param aNewValue
- */
- void HandleNotifyString( TUint32 aId, const TDesC16& aNewValue );
-
- /**
- * Callback to notify changed binary setting.
- * @param aId changed id
- * @param aNewValue
- */
- void HandleNotifyBinary( TUint32 aId, const TDesC8& aNewValue );
-
- /**
- * Callback to notify changed setting.
- * @param aId changed id
- */
- void HandleNotifyGeneric( TUint32 aId);
-
- /**
- * Callback to notify of an occurred error.
- * @param aId changed id
- * @param aError
- * @param aHandler which handler
- */
- void HandleNotifyError( TUint32 aId, TInt aError,
- CCenRepNotifyHandler* aHandler );
-
- public: // New functions.
-
- /**
- * Checks if this one matches given UID and key.
- * @param aUID UID to use in comparison
- * @param aKey key to use in comparison
- * @return ETrue if match
- */
- TBool Offer( const TUid aUid, const TUint32 aKey ) const;
-
- /**
- * Checks if this one matches given UID.
- * @param aUID UID to use in comparison
- * @return ETrue if match
- */
- TBool Offer( const TUid aUid ) const;
-
- /**
- * Checks if this one matches given key.
- * @param aKey key to use in comparison
- * @return ETrue if match
- */
- TBool Offer( const TUint32 aKey ) const;
-
- /**
- * Returns UID of this handler.
- * @return UID
- */
- TUid Uid() const;
-
- /**
- * Returns key of this handler.
- * @return key
- */
- TUint32 Key() const;
-
- /**
- * Returns notifier of this handler.
- * @return notifier
- */
- CCenRepNotifyHandler* Notifier() const;
-
- /**
- * Returns type of this handler.
- * @return type
- */
- CCenRepNotifyHandler::TCenRepKeyType Type() const;
-
- /**
- * Returns observer of this handler.
- * @return observer
- */
- MVtEngCRSettingObserver* Observer() const;
-
- /**
- * Sets CenRep notifier
- * @param notifier to set.
- */
- void SetCenRepNotifier( CCenRepNotifyHandler* aNotifier );
-
-
- private: // Constructor.
-
- /**
- * C++ default constructor.
- * @param aObserver the real observer to notify
- * @param aUid UID for this listener
- * @param aKey ID for this listener
- * @param aType type of information interested in
- */
- CVtEngCRObserverItem( MVtEngCRSettingObserver* Observer,
- TUid aUid, TUint32 aKey,
- CCenRepNotifyHandler::TCenRepKeyType aType );
-
- private: // Data
-
- // Callback for notifications.
- MVtEngCRSettingObserver* iObserver;
-
- // UID for this item.
- TUid iUid;
-
- // Key for this item.
- TUint32 iKey;
-
- // Type of listener.
- CCenRepNotifyHandler::TCenRepKeyType iType;
-
- // Central repository notifier.
- CCenRepNotifyHandler* iNotifier;
-};
-#endif // CVTENGCROBSITEM_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngCRProxy.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,237 +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: Central repository proxy, which is used by all CR dependent.
-*
-*/
-
-
-
-#ifndef CVTENGCRPROXY_H
-#define CVTENGCRPROXY_H
-
-// INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include <centralrepository.h>
-
-// FORWARD DECLARATIONS
-class CVtEngCRObserverItem;
-class CRepository;
-class MVtEngCRSettingObserver;
-
-// CLASS DECLARATION
-
-/**
-* Central repository interface for video telephony.
-*
-* @lib videoteleng.lib
-* @since Series 60 3.0
-*/
-NONSHARABLE_CLASS( CVtEngCRProxy ) : public CBase
- {
- public: // Data structures.
-
- // Internal data structure for storing CR sessions.
- NONSHARABLE_CLASS( CCRSession ) : public CBase
- {
- public:
- /**
- * Destructor needed.
- */
- ~CCRSession();
-
- // CenRep session.
- CRepository* iSession;
- // Uid attached to CenRep session.
- TUid iUid;
- };
-
- public: // Constructors and destructor.
-
- /**
- * Two-phased constructor.
- * @return instance of CVtEngCRProxy
- */
- static CVtEngCRProxy* NewL( );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngCRProxy();
-
- public: // New functions
-
- /**
- * Sets integer value to Central Repository.
- * @param aUid used UID
- * @param aId which key to use
- * @param aVal a value to set
- * @return error code
- */
- TInt Set( const TUid aUid, const TUint32 aId, TInt aVal );
-
- /**
- * Sets real value to Central Repository.
- * @param aUid used UID
- * @param aId which key to use
- * @param aVal a value to set
- * @return error code
- */
- TInt Set( const TUid aUid, const TUint32 aId, const TReal& aVal );
-
- /**
- * Sets binary value to Central Repository.
- * @param aUid used UID
- * @param aId which key to use
- * @param aVal a value to set
- * @return error code
- */
- TInt Set( const TUid aUid, const TUint32 aId, const TDesC8& aVal );
-
- /**
- * Sets string value to Central Repository.
- * @param aUid used UID
- * @param aId which key to use
- * @param aVal a value to set
- * @return error code
- */
- TInt Set( const TUid aUid, const TUint32 aId, const TDesC16& aVal );
-
- /**
- * Gets integer value from Central Repository.
- * @param aUid used UID
- * @param aId which key to use
- * @param aVal a value in return
- * @return error code
- */
- TInt Get( const TUid aUid, const TUint32 aId, TInt& aVal );
-
- /**
- * Gets real value from Central Repository.
- * @param aUid used UID
- * @param aId which key to use
- * @param aVal a value in return
- * @return error code
- */
- TInt Get( const TUid aUid, const TUint32 aId, TReal& aVal );
-
- /**
- * Gets binary value from Central Repository
- * @param aUid used UID
- * @param aId which key to use
- * @param aVal a value in return
- * @return error code
- */
- TInt Get( const TUid aUid, const TUint32 aId, TDes8& aVal );
-
- /**
- * Gets string value from Central Repository.
- * @param aUid used UID
- * @param aId which key to use
- * @param aVal a value in return
- * @return error code
- */
- TInt Get( const TUid aUid, const TUint32 aId, TDes16& aVal );
-
- /**
- * Add a new Cen Rep interested object.
- * @param aObserver callback interface
- */
- void RegisterInterestedL( CVtEngCRObserverItem* aObserver );
-
- /**
- * Removes an observer.
- * @param aObserver to be removed
- */
- void RemoveInterested( CVtEngCRObserverItem& aObserver );
-
- private: // New functions
-
- /**
- * Gets a Cen Rep session matching UID.
- * @param aUid UID to use in search
- * @param aCRSession found session or a new session
- * @return error code
- */
- TInt GetSessionL( const TUid aUid, CRepository*& aCRSession );
-
- /**
- * Creates an id-CenRep paired session.
- * @param aUid the UID to use
- * @return new session or NULL
- */
- CCRSession* NewCRSessionL( TUid aUid );
-
- /**
- * Finds observer item.
- * @param aKey
- * @param aIndex
- * @return observer item or NULL
- */
- CVtEngCRObserverItem* FindItem(
- const TUint32 aKey, TInt& aIndex ) const;
-
- /**
- * Removes all observers
- *
- */
- void RemoveAllObservers();
-
- /**
- * Removes all Central repository instances
- *
- */
- void RemoveSessions();
-
- /**
- * Maps a given UID to a certain central repository instance
- * @param aUid the UID to map
- * @return found CRepository item or NULL
- */
- CRepository* MapUidToCR( const TUid aUid );
-
- /**
- * Finds observer item.
- * @param aUid
- * @param aKey
- * @param aIndex
- * @return observer item or NULL
- */
- CVtEngCRObserverItem* FindItem( const TUid& aUid, const TUint32 aKey,
- TInt& aIndex ) const;
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngCRProxy();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( );
-
- private: // Data
-
- // Storage for data observers.
- RPointerArray<CVtEngCRObserverItem> iObserverItems;
-
- // Array for central repository sessions.
- RPointerArray<CVtEngCRProxy::CCRSession> iCRSessions;
- };
-
-#endif // CVTENGCRPROXY_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngDeviceLockMonitor.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 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: Monitor for device lock (autolock)
-*
-*/
-
-
-
-#ifndef CVTENGDEVICELOCKMONITOR_H
-#define CVTENGDEVICELOCKMONITOR_H
-
-// INCLUDES
-#include <e32base.h>
-#include "MVtEngSettingPSObserver.h"
-
-// FORWARD DECLARATIONS
-class CVtEngPubSubsListener;
-
-// CLASS DECLARATION
-
-/**
-* Monitor for autolock state.
-*
-* @lib videoteleng
-* @since 3.1
-*/
-NONSHARABLE_CLASS( CVtEngDeviceLockMonitor ) : public CBase, public MVtEngSettingPSObserver
- {
- public: // Constructors and destructor
-
- static CVtEngDeviceLockMonitor* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CVtEngDeviceLockMonitor();
-
- public: // New functions
-
- /**
- * Sends event to UI of current autolock state
- */
- void NotifyState() const;
-
- public: // From MVtEngSettingPSObserver
-
- /**
- * @see MVtEngSettingPSObserver::HandleNotifyPSL
- */
- void HandleNotifyPSL( const TUid aUid, const TInt& aKey,
- const TRequestStatus& aStatus );
-
- private:
- /**
- * C++ constructor.
- */
- CVtEngDeviceLockMonitor();
-
- /**
- * 2nd phase constructor
- */
- void ConstructL();
-
- private:
-
- // Listener for autolock state
- CVtEngPubSubsListener* iAutolockListener;
- };
-
-#endif // CVTENGDEVICELOCKMONITOR_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngEventManager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 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: Event manager
-*
-*/
-
-
-
-#ifndef CVTENGEVENTMANAGER_H
-#define CVTENGEVENTMANAGER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "VtEngEvents.h"
-
-// FORWARD DECLARATIONS
-class MVtEngEventObserver;
-
-// CLASS DECLARATION
-
-/**
-* This class is responsible for notifying client
-* on engine events.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngEventManager ) : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CVtEngEventManager* NewL(
- MVtEngEventObserver& aEventObserver );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngEventManager();
-
- public: // New functions
-
- /**
- * Notifies client on session state change.
- */
- void SessionStateChanged();
-
- /**
- * Notifies event to observer.
- * @param aEvent event
- */
- static void NotifyEvent( const TInt aEvent );
-
- void AddObserverL( MVtEngEventObserver* aObserver );
-
- void RemoveObserver( const MVtEngEventObserver* aObserver );
-
- private: // from CActive
-
- void RunL();
-
- void DoCancel();
-
- private:
-
- /**
- * Notifies event to observer
- */
- void DoNotifyEvent( const TInt aEvent );
-
- TBool QueueAsyncEvent( const TInt aEvent );
-
- /**
- * Queue event and signal AO.
- * @param aEvent Asynchronous event to be signalled.
- */
- void QueueAndSignal( const TInt aEvent );
-
- /**
- * Signals AO.
- */
- void Signal();
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngEventManager();
-
- // 2nd phase constructor
- void ConstructL( MVtEngEventObserver& aEventObserver );
-
- private: // Data
-
- RPointerArray<MVtEngEventObserver> iObservers;
-
- // Asynchronous events are stored in this array and
- // executed in order
- CArrayFixFlat< TInt >* iEventQueue;
-
- };
-
-#endif // CVTENGEVENTMANAGER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngHandlerContainer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 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: Handler container
-*
-*/
-
-
-
-#ifndef CVTENGHANDLERCONTAINER_H
-#define CVTENGHANDLERCONTAINER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "CVtEngMediaHandler.h"
-#include "CVtEngSessionHandler.h"
-#include "CVtEngAudioHandler.h"
-#include "CVtEngDtmfHandler.h"
-
-// FORWARD DECLARATIONS
-class MVtEngSessionInfo;
-class MVtEngMedia;
-class MVtEngAudio;
-
-// CLASS DECLARATION
-
-/**
-* Container for media, audio and session handlers.
-*
-* @lib videoteleng
-* @since Series60 2.6
-*/
-NONSHARABLE_CLASS( CVtEngHandlerContainer ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CVtEngHandlerContainer* NewL( );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngHandlerContainer();
-
- public: // New functions
-
-
- /**
- * Returns session handler.
- * @return session handler
- */
- inline MVtEngSessionInfo& Session() const;
-
- /**
- * Returns media handler.
- * @return media handler
- */
- inline MVtEngMedia& Media() const;
-
- /**
- * Returns audio handler.
- * @return audio handler
- */
- inline MVtEngAudio& Audio() const;
-
-
- /**
- * Returns DTMF handler.
- * @return DTMF handler
- */
- inline CVtEngDtmfHandler& Dtmf() const;
-
- /*
- * Uninitializes audio and session handlers.
- * Media handler uninitialization is done
- * asynchronously using directly the handler.
- */
- void Uninitialize();
-
- /**
- * Creates DTMF handler
- * @param aH324Config H324 configure interface
- */
- void CreateDtmfHandlerL( MVtH324ConfigCommand* aH324Config );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngHandlerContainer();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // member data
-
- // media handler
- CVtEngMediaHandler* iMedia;
-
- // session handler
- CVtEngSessionHandler* iSession;
-
- // audio handler
- CVtEngAudioHandler* iAudio;
-
-
- // DTMF handler
- CVtEngDtmfHandler* iDtmf;
-
- };
-
-#include "CVtEngHandlerContainer.inl"
-
-#endif // CVTENGHANDLERCONTAINER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngHandlerContainer.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 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: handler container
-*
-*/
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngHandlerContainer::Session
-// Returns specific handler
-//
-// -----------------------------------------------------------------------------
-//
-inline MVtEngSessionInfo& CVtEngHandlerContainer::Session() const
- {
- return *iSession;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngHandlerContainer::Media
-// Returns specific handler
-//
-// -----------------------------------------------------------------------------
-//
-inline MVtEngMedia& CVtEngHandlerContainer::Media() const { return *iMedia; }
-
-// -----------------------------------------------------------------------------
-// CVtEngHandlerContainer::Audio
-// Returns specific handler
-//
-// -----------------------------------------------------------------------------
-//
-inline MVtEngAudio& CVtEngHandlerContainer::Audio() const { return *iAudio; }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngHandlerContainer::Dtmf
-// Returns specific handler
-//
-// -----------------------------------------------------------------------------
-//
-inline CVtEngDtmfHandler& CVtEngHandlerContainer::Dtmf() const { return *iDtmf; }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngInitializer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +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: Class for initializing the engine gradually.
-* Active object initializes one "subsystem" on each
-* round. In case of failure timer is started and
-* retrial is done after time-out. Uninitialization
-* is done is one shot.
-*
-*/
-
-
-
-#ifndef CVTENGINITIALIZER_H
-#define CVTENGINITIALIZER_H
-
-// INCLUDES
-#include "MVtEngSettingObserver.h"
-#include <e32base.h>
-#include <mvtprotocolhandler.h>
-
-// FORWARD DECLARATIONS
-class CVtEngHandlerContainer;
-class CVtEngOperation;
-
-
-/**
-* Engine initializer.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngInitializer ) :
- public CActive,
- public MVtEngSettingObserver
- {
- public: // Constructors and destructor
-
- static CVtEngInitializer* NewL( CVtEngHandlerContainer& aHandlers );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngInitializer();
-
- public: // new functions
-
- /**
- * Starts initialization process.
- */
- void InitializeL( CVtEngOperation& aCallback );
-
- /**
- * Cancels initialiation
- * @return ETrue if CActive::Cancel was called
- */
- TBool CancelInit();
-
- /**
- * Uninitializes engine.
- */
- void Uninitialize( CVtEngOperation& aCallback );
-
- /**
- * Gets GetSessionCommand ownership after initialization.
- * @return CSessionCommand interface.
- */
- MVtSessionCommand* GetSessionCommand();
-
- /**
- * Returns if engine is initialized.
- * @return ETrue if initialized
- */
- TBool Initialized() const;
-
- /**
- * Creates handler for DTMF sending.
- * @param aH324Config H324 configure interface
- */
- void CreateDtmfHandlerL( MVtH324ConfigCommand* aH324Config );
-
- /**
- * Gets pointer to comms. Still owns the comms.
- * @return Pointer to comms.
- */
- MCommServer* GetVtComms();
-
- private: // from CActive
-
- /**
- * performs one initialization step.
- */
- void RunL();
-
- /**
- * Cancels initialization process.
- */
- void DoCancel();
-
- /**
- * Handles error in the process.
- * @return always returns KErrNone
- */
- TInt RunError( TInt aError );
-
- public: // from MVtEngSettingObserver
- virtual void HandleSettingChangedL(
- CVtEngSettings::TSettingId aId,
- const TDesC& aValue );
-
-
- private: // Constructors
-
- /**
- * c++ constructor
- */
- CVtEngInitializer( CVtEngHandlerContainer& aHandlers );
-
- /**
- *
- */
- void ConstructL();
-
- private:
-
- enum TProcess
- {
- // Go to next step
- EContinue,
- // Reset engine
- EReset,
- // Retry current step when failed.
- ERetry
- };
-
- private: // new functions
-
- /**
- * Reads bit reversal information from locally variated flags.
- * @return ETrue if reversed.
- */
- TBool BitReversalUsed();
-
- /**
- * Proceeds to next step or starts retrial of
- * previously failed step.
- */
- void ContinueOrRetry( const TProcess aOperation );
-
- /**
- * Notifies observer on initialization completion.
- */
- void Notify( const TInt aResult );
-
- /**
- * Callback for retrial timer.
- */
- static TInt HandleTimer( TAny* aAny );
-
- /**
- * Handles retrial timer expiration.
- */
- void DoHandleTimer();
-
- TBool ActivateAndSignal( TInt aSignalValue );
-
- private:
-
-
- /**
- * Initialization steps
- */
- enum TVtEngInitializationSteps
- {
- EInitNone,
- EInitSession,
- EInitMedia,
- EInitProto,
- EInitDataportCompleted,
- EInitComplete,
- EResetMedia,
- EResetMediaPhase2
- };
-
- /**
- * Dataport information handling flags.
- */
- enum TVtEngDataportInformationFlags
- {
- EDataportListened = 0x01,
- EDataportReceived = 0x02
- };
-
- private:
-
- // handler container
- CVtEngHandlerContainer& iHandlers;
-
- // Current (un)initialization step
- TInt iStep;
-
- // Operation to be notified on completion
- CVtEngOperation* iCallback;
-
- // Retrial count
- TInt iRetrials;
-
- // Retrial timer
- CPeriodic* iTimer;
-
- // Protocol Session Engine
- MVtSessionCommand* iSessionCommand;
-
- // Protocol Comms Server
- MCommServer* iComms;
-
- // Has subscription been made for dataport name.
- TInt iDataportHandled;
-
- // If MediaHandler has taken ownership of 2-way, this is true,
- // otherwise false.
- TBool iOwnershipInMH;
-
- };
-
-
-#endif // CVTENGINITIALIZER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngModel.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 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 telephony engine class
-*
-*/
-
-
-
-#ifndef CVTENGMODEL_H
-#define CVTENGMODEL_H
-
-// INCLUDES
-#include <e32base.h>
-//#include <MVtEngEngine.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class MVtEngEventObserver;
-class MVtEngCommandObserver;
-class CVtEngEventManager;
-class CVtEngHandlerContainer;
-class MVtEngCommandHandler;
-class CVtEngCommandHandler;
-class MVtEngSessionInfo;
-class MVtEngMedia;
-class MVtEngAudio;
-class CVtEngStateManager;
-class CVtEngUtility;
-class CVtEngExtensions;
-
-// CLASS DECLARATION
-
-/**
-* Model for video telephony engine.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngModel ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aEventObserver event observer
- * @param aCommandObserver command observer
- */
- IMPORT_C static CVtEngModel* NewL(
- MVtEngEventObserver& aEventObserver,
- MVtEngCommandObserver& aCommandObserver );
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CVtEngModel();
-
- public: // New functions
-
- IMPORT_C MVtEngCommandHandler& CommandHandler() const;
-
- IMPORT_C MVtEngSessionInfo& Session() const;
-
- IMPORT_C MVtEngMedia& Media() const;
-
- IMPORT_C MVtEngAudio& Audio() const;
-
- /**
- * Returns extension or NULL if extension cannot be found.
- * @param aExtensionUid extension uid
- * @return pointer to extension
- */
- IMPORT_C TAny* Extension( const TUid& aExtensionUid );
-
-
-
- protected: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
-
- protected: // Functions from base classes
-
- /**
- * From ?base_class ?member_description
- */
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngModel();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( MVtEngEventObserver& aEventObserver,
- MVtEngCommandObserver& aCommandObserver );
-
- private: // Data
-
- // Event manager acting as event mediator.
- CVtEngEventManager* iEventManager;
-
- // Container for functional units.
- CVtEngHandlerContainer* iHandlers;
-
- // Handler for UI commands
- CVtEngCommandHandler* iCommandHandler;
-
- // Manager for engine states
- CVtEngStateManager* iStateManager;
-
- // Utility for TLS access
- CVtEngUtility* iUtils;
-
- // Container for engine extensions
- CVtEngExtensions* iExtensions;
-
- };
-
-#endif // CVTENGMODEL_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/CVtEngSATClient.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2005 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: SAT listener.
-*
-*/
-
-
-
-#ifndef CVTENGSATCLIENT_H
-#define CVTENGSATCLIENT_H
-
-// INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include <RSatRefresh.h>
-#include <rsatsession.h>
-
-
-// CLASS DECLARATION
-
-/**
-* SAT listener.
-*
-* @lib videoteleng.lib
-* @since Series 60 3.0
-*/
-NONSHARABLE_CLASS( CVtEngSATClient ) : public CBase, MSatRefreshObserver
- {
- public: // Constructors and destructor.
-
- /**
- * Two-phased constructor.
- * @return instance of CVtEngSATClient
- */
- static CVtEngSATClient* NewL( );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngSATClient();
-
- public: // Functions from base classes
-
- /**
- * From MSatRefreshObserver
- */
- TBool AllowRefresh(
- TSatRefreshType aType, const TSatRefreshFiles& aFiles );
- /**
- * From MSatRefreshObserver.
- */
- void Refresh( TSatRefreshType aType, const TSatRefreshFiles& aFiles );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngSATClient();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( );
-
- private: // Data
-
- // Session & Refresh for SAT listening.
- RSatSession iSatSession;
- RSatRefresh iSatRefresh;
-
- };
-
-#endif // CVTENGSATCLIENT_H
-
-// End of File
--- 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
--- a/vtengines/videoteleng/Inc/Base/CVtEngSettings.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 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: Settings inline methods
-*
-*/
-
-
-//Constants
-const TInt8 KVTEngMaxVolume = 10;
-const TInt8 KVTEngMinVolume = 0;
-
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::GetMinVolume
-// Return device min volume.
-//
-// -----------------------------------------------------------------------------
-//
-inline TInt CVtEngSettings::MinVolume() const
- { return KVTEngMinVolume; }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::GetMaxVolume
-// Return event manager.
-//
-// -----------------------------------------------------------------------------
-//
-inline TInt CVtEngSettings::MaxVolume() const
- { return KVTEngMaxVolume; }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::ValidVolume
-// Checks if the volume is within allowed limits
-//
-// -----------------------------------------------------------------------------
-//
-inline TInt CVtEngSettings::ValidVolume( const TInt aVolume ) const
- {
- if ( aVolume < KVTEngMinVolume )
- {
- return KVTEngMinVolume;
- }
- else if ( aVolume > KVTEngMaxVolume )
- {
- return KVTEngMaxVolume;
- }
- else
- {
- return aVolume;
- }
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/MVtEngAccessoryObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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: Observer interface for indicating changes in accessories.
-*
-*/
-
-#ifndef MVTENGACCESSORYOBSERVER_H
-#define MVTENGACCESSORYOBSERVER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <accpolaccessorymode.h>
-
-// CLASS DECLARATION
-
-/**
-* Interface to indicate changes in accessories.
-*
-* @lib videoteleng
-* @since 3.0
-*/
-class MVtEngAccessoryObserver
- {
- public: // New functions
-
- /**
- * Callback to notify mode change in accessories.
- * @param aMode new mode
- * @param aActivated audio is on
- */
- virtual void AccessoryModeChanged( const TAccMode& aMode,
- const TBool aActivated ) = 0;
- };
-
-#endif // MVTENGACCESSORYOBSERVER_H
-// End of File
--- a/vtengines/videoteleng/Inc/Base/MVtEngCRSettingObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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: Observer interface for indicating setting changes in Cent Rep
-*
-*/
-
-
-#ifndef MVTENGSETTINCRGOBSERVER_H
-#define MVTENGSETTINGCROBSERVER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// CLASS DECLARATION
-
-/**
-* Observer interface for indicating setting changes
-*
-* @lib videoteleng.lib
-* @since Series 60 3.0
-*/
-class MVtEngCRSettingObserver
- {
- public: // New functions
-
- /**
- * Callback to notify changed setting
- * @param aUid changed Uid
- * @param aId changed id
- * @param aNewValue new value
- */
- virtual void HandleNotifyInt( const TUid aUid, const TUint32 aId,
- TInt aNewValue ) = 0;
-
- /**
- * Callback to notify changed setting
- * @param aUid changed Uid
- * @param aId changed id
- * @param aNewValue new value
- */
- virtual void HandleNotifyReal( const TUid aUid, const TUint32 aId,
- TReal aNewValue ) = 0;
-
- /**
- * Callback to notify changed setting
- * @param aUid changed Uid
- * @param aId changed id
- * @param aNewValue new value
- */
- virtual void HandleNotifyString( const TUid aUid, const TUint32 aId,
- const TDesC16& aNewValue ) = 0;
- };
-
-#endif // MVTENGCRSETTINGOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/MVtEngEventObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 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: Observer interface for video telephony events.
-*
-*/
-
-
-
-#ifndef MVTENGEVENTOBSERVER_H
-#define MVTENGEVENTOBSERVER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Video telephony event observer interface.
-*
-* @lib videlteleng
-* @since 2.6
-*/
-class MVtEngEventObserver
- {
- public: // New functions
-
- /**
- * Handler method for events
- * @param aEvent events defined in VtEngEvents.h
- */
- virtual void HandleVtEventL(
- TInt aEvent ) = 0;
-
- };
-
-#endif // MVTENGEVENTOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/MVtEngSettingObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 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: Observer interface for indicating setting changes
-*
-*/
-
-
-
-#ifndef MVTENGSETTINGOBSERVER_H
-#define MVTENGSETTINGOBSERVER_H
-
-// INCLUDES
-#include "CVtEngSettings.h"
-
-// CLASS DECLARATION
-
-/**
-* Observer interface for indicating setting changes
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class MVtEngSettingObserver
- {
- public: // New functions
-
- /**
- * Handler for setting changed event
- * @param aId id of setting
- * @param aValue new value for the setting
- */
- virtual void HandleSettingChangedL(
- CVtEngSettings::TSettingId aId,
- const TDesC& aValue ) = 0;
- };
-
-#endif // MVTENGSETTINGOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/MVtEngSettingPSObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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: Observer interface for indicating publish and subscribe
-* changes
-*
-*/
-
-
-
-#ifndef MVTENGSETTINGPSOBSERVER_H
-#define MVTENGSETTINGPSOBSERVER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// CLASS DECLARATION
-
-/**
-* Observer interface for indicating P&S changes
-*
-* @lib videoteleng.lib
-* @since Series 60 2.8
-*/
-class MVtEngSettingPSObserver
- {
- public: // New functions
-
- /**
- * Handler for changed event.
- * @param aUid uid of setting
- * @param aKey id of setting
- * @param aStatus status of completed AO operation
- */
- virtual void HandleNotifyPSL( const TUid aUid, const TInt& aKey,
- const TRequestStatus& aStatus ) = 0;
- };
-
-#endif // MVTENGSETTINGPSOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/TVtEngType.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 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: Base class for data types that can be identified by an
-* identifier (extension id).
-*
-*/
-
-
-
-#ifndef TVTENGTTYPE_H
-#define TVTENGTTYPE_H
-
-// INCLUDES
-#include <e32std.h>
-
-// DATA TYPES
-
-enum TVtEngTypeId
- {
- EVtEngTypeV1 = 0,
- EVtEngTypeDtmf
- };
-
-// CLASS DECLARATION
-
-/**
-* Base class for data types
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngtType
- {
- public: // constructor
-
- inline TInt TypeId() const;
-
- protected: // constructors
- /**
- * C++ constructor that only for descendant classes may call.
- */
- inline TVtEngtType( TVtEngTypeId aTypeId );
-
- /**
- * copy constructor
- */
- inline TVtEngtType( const TVtEngtType& aType );
-
- protected: // operators
-
- inline TVtEngtType& operator=( const TVtEngtType& aType );
-
- protected:
- // Extension id
- TInt iTypeId;
- };
-
-#include "TVtEngType.inl"
-
-#endif // TVTENGTTYPE_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/TVtEngType.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 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: Inline methods for TVtEngtType.
-*
-*/
-
-
-inline TVtEngtType::TVtEngtType( TVtEngTypeId aTypeId )
- : iTypeId( aTypeId ) {}
-
-inline TInt TVtEngtType::TypeId() const { return iTypeId; }
-
-inline TVtEngtType::TVtEngtType( const TVtEngtType& aType )
- : iTypeId( aType.iTypeId ) {}
-
-inline TVtEngtType& TVtEngtType::operator=( const TVtEngtType& aType )
- { iTypeId = aType.iTypeId;
- return *this; }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/VtEngConstants.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 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: Constants for video telephony
-*
-*/
-
-
-
-#ifndef VTENGCONSTANTS_H
-#define VTENGCONSTANTS_H
-
-// INCLUDES
-#include <e32std.h>
-#include <gdi.h>
-// CONSTANTS
-
-/**
-* Remote video default size.
-* QCIF where one pixel removed from left, top and right side.
-*/
-//const TSize KVtEngRemoteVideoDefaultSize( 174, 143 );
-
-/**
-* View finder default size.
-*/
-//const TSize KVtEngLocalVideoDefaultSize( 44, 36 );
-
-/**
-* Display mode
-*/
-//const TDisplayMode KVtEngDisplayMode( EColor64K );
-
-// MACROS
-
-
-#endif // VTENGCONSTANTS_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/VtEngDefs.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 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: engine macro define
-*
-*/
-
-
-#ifndef VTDEFS_HRH
-#define VTDEFS_HRH
-
-
-// DATA TYPES
-// MACROS
-
-
-#if defined(_DEBUG) || defined(WINS)
-/**
-* Debugging enabled always in debug builds
-*/
-#define VTDEBUG
-#else
-/**
-* Define here for release builds (disabled by default)
-* Uncomment VTDEBUG below if you want to enable logging in UREL.
-*/
-//#define VTDEBUG
-#endif
-
-#ifdef VTDEBUG
-/**
-* 0 = No logging
-* 1 = File logging
-* 2 = RDebug
-*/
-#if defined(__WINSCW) || defined(__WINS__) || defined (WINS)
-// In emulator log to output window
-#define VTLOGGING 1
-#else
-/**
-* In HW to which ever is desired (File (1) by default)
-* Change VTLOGGING to 1 (file) or 2 (RDebug) as desired.
-*/
-#define VTLOGGING 1
-#endif
-
-#else // !VTDEBUG
-
-// no logging
-#define VTLOGGING 0
-
-#endif //VTDEBUG
-
-#if VTLOGGING == 1
-#define VTFILELOGGING 1
-#else
-#define VTFILELOGGING 0
-#endif
-
-#endif // VTDEFS_HRH
-// End of File
--- a/vtengines/videoteleng/Inc/Base/VtEngEvents.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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 telephony engine events
-*
-*/
-
-
-
-#ifndef VTENGEVENTS_H
-#define VTENGEVENTS_H
-
-// INCLUDES
-#include <e32def.h>
-
-// CONSTANTS
-
-const TInt KVtEngEventNone = -1;
-
-const TInt KVtEngEventBase = 0;
-
-/**
-* Engine configuration events
-*/
-const TInt KVtEngConfigureEventBase = KVtEngEventBase + 100; // 100
-const TInt KVtEngDurationSettingChanged = KVtEngConfigureEventBase + 1;
-const TInt KVtEngInitializationProblem = KVtEngConfigureEventBase + 2;
-
-/**
-* Engine media events
-*/
-const TInt KVtEngMediaEventBase = KVtEngConfigureEventBase + 100; // 200
-const TInt KVtEngCameraChanged = KVtEngMediaEventBase + 1;
-const TInt KVtEngSourceChanged = KVtEngMediaEventBase + 2;
-const TInt KVtEngRemoteVideoPaused = KVtEngMediaEventBase + 3;
-const TInt KVtEngRemoteVideoResumed = KVtEngMediaEventBase + 4;
-const TInt KVtEngRemoteAudioPaused = KVtEngMediaEventBase + 5;
-const TInt KVtEngRemoteAudioResumed = KVtEngMediaEventBase + 6;
-const TInt KVtEngAudioMuted = KVtEngMediaEventBase + 7;
-const TInt KVtEngAudioUnmuted = KVtEngMediaEventBase + 8;
-const TInt KVtEngRemoteVideoStarted = KVtEngMediaEventBase + 10;
-const TInt KVtEngRemoteVideoStopped = KVtEngMediaEventBase + 11;
-const TInt KVtEngRemoteAudioStarted = KVtEngMediaEventBase + 12;
-const TInt KVtEngRemoteRenderingProblem = KVtEngMediaEventBase + 14;
-const TInt KVtEngLocalRenderingProblem = KVtEngMediaEventBase + 15;
-const TInt KVtEngSourceCapsChanged = KVtEngMediaEventBase + 16;
-const TInt KVtEngRemoteRenderStopped = KVtEngMediaEventBase + 17;
-const TInt KVtEngViewFinderStopped = KVtEngMediaEventBase + 18;
-const TInt KVtEngResolutionToSQCIF = KVtEngMediaEventBase + 19;
-const TInt KVtEngResolutionToQCIF = KVtEngMediaEventBase + 20;
-
-// Problems in starting negotiation with remote end
-const TInt KVtEngNegotiationProblem = KVtEngMediaEventBase + 21;
-
-// Initializing media component failed
-const TInt KVtEngMediaInitFailure = KVtEngMediaEventBase + 22;
-
-// Begin initialization of image sharing (convert, scale, etc.)
-const TInt KVtEngShareImageInitializeBegin = KVtEngMediaEventBase + 23;
-
-// End initialization of image sharing (convert, scale, etc.)
-const TInt KVtEngShareImageInitializeEnd = KVtEngMediaEventBase + 24;
-
-// Informs status change in outgoing video channel.
-const TInt KVtEngMediaOutgoingVideoChannelStatusChanged =
- KVtEngMediaEventBase + 25;
-
-// Informs status change in outgoing audio channel.
-const TInt KVtEngMediaOutgoingAudioChannelStatusChanged =
- KVtEngMediaEventBase + 26;
-
-// Informs UI that decoding error happened during image share
-const TInt KVtEngShareImageDecodingError = KVtEngMediaEventBase + 27;
-
-// Informs UI that volume is already maximum
-const TInt KVtEngAudioVolumeMax = KVtEngMediaEventBase + 28;
-
-// Informs UI that volume is already minimum
-const TInt KVtEngAudioVolumeMin = KVtEngMediaEventBase + 29;
-
-// Informs UI that Locvid layoutchange has been done
-const TInt KVtEngLCHProviderSwitchDone = KVtEngMediaEventBase + 30;
-
-/**
-* Engine audio events
-*/
-const TInt KVtEngAudioEventBase = KVtEngMediaEventBase + 100; // 300
-const TInt KVtEngAudioOutputVolumeChanged = KVtEngAudioEventBase + 1;
-const TInt KVtEngAudioRoutingChanged = KVtEngAudioEventBase + 2;
-const TInt KVtEngAudioRoutingAvailabilityChanged = KVtEngAudioEventBase + 3;
-const TInt KVtEngAudioRoutingIHFActivated = KVtEngAudioEventBase + 4;
-const TInt KVtEngAudioRoutingIHFDeactivated = KVtEngAudioEventBase + 5;
-
-/**
-* Engine session events
-*/
-const TInt KVtEngSessionEventBase = KVtEngAudioEventBase + 100; // 400
-const TInt KVtEngSessionStateChanged = KVtEngSessionEventBase + 1;
-const TInt KVtEngSessionAnswerPossible = KVtEngSessionEventBase + 2;
-const TInt KVtEngSessionWaitingCallActive = KVtEngSessionEventBase + 3;
-const TInt KVtEngSessionWaitingCallInactive = KVtEngSessionEventBase + 4;
-const TInt KVtEngCLIAvailable = KVtEngSessionEventBase + 5;
-
-/**
-* General events
-*/
-const TInt KVtEngGeneralEventBase = KVtEngSessionEventBase + 100; // 500
-const TInt KVtEngResourceMemAllocFailure = KVtEngGeneralEventBase + 1;
-const TInt KVtEngDtmfFailure = KVtEngGeneralEventBase + 2;
-/**
-* Remote supports UII DTMF.
-*/
-const TInt KVtEngRemoteUIIDtmfSupport = KVtEngGeneralEventBase + 13;
-/**
-* Remote supports UII basic string.
-*/
-const TInt KVtEngRemoteUIIBasicStringSupport = KVtEngGeneralEventBase + 14;
-/**
-* Remote supports UII IA5 string.
-*/
-const TInt KVtEngRemoteUIIIA5StringSupport = KVtEngGeneralEventBase + 15;
-/**
-* Remote supports UII general string.
-*/
-const TInt KVtEngRemoteUIIGeneralStringSupport = KVtEngGeneralEventBase + 6;
-
-
-// Device is locked or unlocked (autolock feature)
-const TInt KVtEngDeviceLockOn = KVtEngGeneralEventBase + 3;
-const TInt KVtEngDeviceLockOff = KVtEngGeneralEventBase + 4;
-
-// Remote disconnected
-const TInt KVtEngRemoteDisconnect = KVtEngGeneralEventBase + 5;
-
-#endif // VTENGEVENTS_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/VtEngPanic.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 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: Panic definitions for video telephone engine.
-*
-*/
-
-
-
-#ifndef CVTENGPANIC_H
-#define CVTENGPANIC_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-_LIT( KVtEngPanicCategory, "VTENG" );
-
-// DATA TYPES
-enum TVtEngPanic
- {
- EVtEngPanicInvalidInitializationEntry, /** 0 */
- EVtEngPanicInvalidInitializationState, /** 1 */
- EVtEngPanicIncorrectUtility, /** 2 */
- EVtEngPanicTlsPanic, /** 3 */
- EVtEngPanicNoVideoProvider, /** 4 */
- EVtEngPanicInvalidSessionState, /** 5 */
- EVtEngPanicMediaHandlerOpStateFailure, /** 6 */
- EVtEngPanicInvalidFlag, /** 7 */
- EVtEngPanicInvalidPointer, /** 8 */
- EVtEngPanicInvalidAudioPointer, /** 9 */
- EVtEngPanicCommsDestructOnInvalidState, /** 10 */
- EVtEngPanicUnInitIncorrectOperation, /** 11 */
- EVtEngPanicDisconnectTimerExpired, /** 12 */
- EVtEngPanicInvalidDtmfState, /** 13 */
- EVtEngPanicInvalidBitmapHandle, /** 14 */
- EVtEngPanicInvalidPortRead, /** 15 */
- /** Too many asynchronous events pending in queue */
- EVtEngPanicInvalidTooManyPendingEvents, /** 16 */
- /** VT variation cenrep file is missing or corrupt */
- EVtEngPanicVtCenrepVariation, /** 17 */
- /** VT configuration cenrep file is missing or corrupt */
- EVtEngPanicVtCenrepConfiguration, /** 18 */
- EVtEngPanicInvalidVideoQualityValue, /** 19 */
- EVtEngPanicWrongMediatorSenderState /** 20 */
- };
-
-// FUNCTION PROTOTYPES
-void Panic( TVtEngPanic aPanic );
-
-#endif // CVTENGPANIC_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/VtEngUtils.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +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 telephony engine TLS container.
-*
-*/
-
-
-
-#ifndef VTENGUTILS_H
-#define VTENGUTILS_H
-
-// INCLUDES
-#include <e32base.h>
-
-
-// FORWARD DECLARATIONS
-class CVtEngInitializer;
-class CVtEngHandlerContainer;
-class CVtEngDebug;
-class CVtEngStateManager;
-class CVtEngSettings;
-class CVtEngEventManager;
-class CVtEngCRProxy;
-class CVtEngAccessoryHandler;
-class CVtEngSATClient;
-class CVtEngDeviceLockMonitor;
-class CVtEngExtensions;
-class CVtEngMdtrMessageListener;
-class CVtEngMdtrCommandSender;
-
-// CLASS DECLARATION
-
-/**
-* TLS container for pointers to essential objects.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.6
-*/
-NONSHARABLE_CLASS( CVtEngUtility ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CVtEngUtility* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CVtEngUtility();
-
- public: // New functions
-
- /**
- * Creates SAT listener for updates.
- */
- void StartSATListenL();
-
- /**
- * Returns engine initializer.
- * @return initializer
- */
- inline CVtEngInitializer& Initializer() const;
-
- /**
- * Returns engine utility.
- * @return utility
- */
- static CVtEngUtility* EngineUtils();
-
- /**
- * Returns state manager.
- * @return state manager
- */
- static CVtEngStateManager* StateManager();
-
- /**
- * Returns event manager.
- * @return event manager
- */
- static CVtEngEventManager& EventManager();
-
- /**
- * Returns Central repository proxy.
- * @return ref to CR proxy
- */
- static CVtEngCRProxy& CRProxy();
-
- /**
- * Returns accessory listener.
- * @return accessory handler
- */
- static CVtEngAccessoryHandler& AccessoryHandler();
-
- /**
- * Returns settings.
- * @return ref to settings
- */
- static CVtEngSettings& Settings();
-
- /**
- * Returns mediator command sender.
- * @return ref to command sender
- */
- static CVtEngMdtrCommandSender& MediatorCommands();
-
- /**
- * Prepares the utility
- * @param aHandlers handler container
- * @param aStateManagerPtr state manager pointer ref
- * @param aEventManagerPtr event manager pointer ref
- * @param aExtensionPtr extension container pointer
- */
- void PrepareL(
- CVtEngHandlerContainer& aHandlers,
- CVtEngStateManager*& aStateManagerPtr,
- CVtEngEventManager*& aEventManagerPtr,
- CVtEngExtensions* aExtensionPtr );
-
- /**
- * Notifies device lock to UI.
- */
- void NotifyLockState();
-
- /**
- * Returns Extension container.
- * @since S60 v3.2
- * @return pointer to extensions
- */
- static CVtEngExtensions* Extensions();
- /**
- * Starts listening mediator messages.
- */
- void StartMediatorListenerL();
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngUtility();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- // Initializater for the engine
- CVtEngInitializer* iEngineInit;
-
- // State manager pointer
- CVtEngStateManager** iStateManager;
-
- // Settigs
- CVtEngSettings* iSettings;
-
- // Event manager pointer
- CVtEngEventManager** iEventManager;
-
- // Central repository interface
- CVtEngCRProxy* iCRProxy;
-
- // Accessory handler
- CVtEngAccessoryHandler* iAccessoryHandler;
-
- // SAT refresh listener
- CVtEngSATClient* iSATClient;
-
- // Monitor for device lock state
- CVtEngDeviceLockMonitor* iLockMonitor;
-
- // Extension pointer
- CVtEngExtensions* iExtensions;
- // For receiving Mediator commands and events
- CVtEngMdtrMessageListener* iMdtrMessageListener;
-
- // For sending Mediator commands
- CVtEngMdtrCommandSender* iMdtrCommandSender;
-
- };
-
-#include "VtEngUtils.inl"
-
-#endif // VTENGUTILS_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/VtEngUtils.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 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 telephony engine TLS container.
-*
-*/
-
-
-// MEMBER FUNCTIONS
-
-inline CVtEngInitializer& CVtEngUtility::Initializer() const
- {
- return *iEngineInit;
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/cvtengincomingcallmonitor.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 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: Monitor for incoming call
-*
-*/
-
-
-
-#ifndef C_VTENGINCOMINGCALLMONITOR_H
-#define C_VTENGINCOMINGCALLMONITOR_H
-
-// INCLUDES
-#include <e32base.h>
-#include "MVtEngSettingPSObserver.h"
-
-// FORWARD DECLARATIONS
-class CVtEngPubSubsListener;
-
-// CLASS DECLARATION
-/**
-* Monitor for incoming call state.
-*
-* @lib videoteleng
-* @since S60 v3.2
-*/
-NONSHARABLE_CLASS( CVtEngIncomingCallMonitor ) : public CBase, public MVtEngSettingPSObserver
- {
-public: // Constructors and destructor
-
- static CVtEngIncomingCallMonitor* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CVtEngIncomingCallMonitor();
-
-public: // New functions
-
- /**
- * Sends event to UI of current incoming call state
- */
- void NotifyState() const;
-
-public: // From MVtEngSettingPSObserver
-
- /**
- * @see MVtEngSettingPSObserver::HandleNotifyPSL
- */
- void HandleNotifyPSL( const TUid aUid, const TInt& aKey,
- const TRequestStatus& aStatus );
-
-private:
- /**
- * C++ constructor.
- */
- CVtEngIncomingCallMonitor();
-
- /**
- * 2nd phase constructor
- */
- void ConstructL();
-
-private:
-
- // Listener for incoming call state
- CVtEngPubSubsListener* iIncomingCallListener;
- };
-
-#endif // C_VTENGINCOMINGCALLMONITOR_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/cvtengmdtrcommandsender.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* 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: Sender class for mediator commands
-*
-*/
-
-
-#ifndef C_VTENGMDTRCOMMANDSENDER_H
-#define C_VTENGMDTRCOMMANDSENDER_H
-
-// INCLUDES
-
-#include <e32cmn.h>
-#include <MediatorCommandInitiator.h>
-#include "MVtEngEventObserver.h"
-
-// FORWARD DECLARATIONS
-class CVtEngUtility;
-class CVtEngOperation;
-class CVtEngMdtrCommandSender;
-class TVtMdtrStateIdle;
-// CLASS DECLARATION
-
-/**
-* Mediator command sender
-*
-* @lib videoteleng
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CVtEngMdtrCommandSender ) :
- public CBase,
- public MMediatorCommandResponseObserver,
- public MVtEngEventObserver
- {
-public: // constructor and destructors
-
- /**
- * two-phase constructor
- */
- static CVtEngMdtrCommandSender* NewL( CVtEngUtility& aUtils );
-
- // Destructor
- ~CVtEngMdtrCommandSender();
-
-public: // new methods
-
- /**
- * Requests telephony to end video call
- */
- void EndCall();
-
- /**
- * Requests telephony to fallback to voice call
- */
- void VoiceFallback();
-
- /**
- * Requests telephony to make voice call
- */
- void SwitchToVoiceL( CVtEngOperation& aOperation );
-
- /**
- * Notifies telephony about outgoing audio state change
- */
- void NotifyOutgoingAudioState( const TBool aMicEnabled );
-
- void SetSenderState( TVtMdtrStateIdle& aNewState );
-
-
-public: // from MMediatorCommandResponseObserver
-
- // responses are not handled but required by mediator api
- virtual void CommandResponseL( TUid aDomain,
- TUid aCategory,
- TInt aCommandId,
- TInt aStatus,
- const TDesC8& aData );
-
-public: // from MVtEngEventObserver
-
- // handles event accordint to ongoing operation
- virtual void HandleVtEventL( TInt aEvent );
-
-private: // constructors
-
- CVtEngMdtrCommandSender( CVtEngUtility& aUtils );
-
- void ConstructL();
-
-private:
- // for switch to voice operation, signaled when mediator command is issued.
- CVtEngOperation* iOperation;
-
- // for mediator command reception
- CMediatorCommandInitiator* iMediatorInitiator;
-
- CVtEngUtility& iUtils;
-
- TVtMdtrStateIdle* iSenderState;
- };
-
-#endif // C_VTENGMDTRCOMMANDSENDER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/cvtengmdtrmessagelistener.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* 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: Listener class for mediator commands
-*
-*/
-
-
-#ifndef C_VTENGMDTRMESSAGELISTENER_H
-#define C_VTENGMDTRMESSAGELISTENER_H
-
-// INCLUDES
-
-//#include <e32cmn.h>
-#include <MediatorCommandResponder.h>
-#include <mediatoreventconsumer.h>
-#include "MVtEngEventObserver.h"
-#include "CVtEngStateManager.h"
-#include "MVtEngSessionInfo.h"
-
-// FORWARD DECLARATIONS
-class CMediatorCommandResponder;
-class CVtEngUtility;
-
-// CLASS DECLARATION
-
-/**
-* Mediator command and event listener
-*
-* @lib videoteleng
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CVtEngMdtrMessageListener ) :
- public CBase,
- private MMediatorCommandObserver,
- private MMediatorEventObserver,
- private MVtEngEventObserver
-
- {
-public: // constructor and destructors
-
- /**
- * two-phase constructor
- */
- static CVtEngMdtrMessageListener* NewL( CVtEngUtility& aUtils );
-
- // Destructor
- ~CVtEngMdtrMessageListener();
-
-public: // from MMediatorCommandObserver
-
- virtual void MediatorCommandL( TUid aDomain,
- TUid aCategory,
- TInt aCommandId,
- TVersion aVersion,
- const TDesC8& aData );
-
- virtual void CancelMediatorCommand( TUid aDomain,
- TUid aCategory,
- TInt aCommandId );
-
-public: // from MMediatorEventObserver
-
- virtual void MediatorEventL( TUid aDomain,
- TUid aCategory,
- TInt aEventId,
- const TDesC8& aData );
-
-public: // from MVtEngEventObserver
-
- // handles deferred CLI event dispatching
- virtual void HandleVtEventL( TInt aEvent );
-
-private: // constructors
-
- CVtEngMdtrMessageListener( CVtEngUtility& aUtils );
-
- void ConstructL();
-
-private: // new functions
-
- void HandleCLIEventL( const TDesC8& aData );
-
- TBool IsReadyForCLIEvent() const;
-
-private:
- CVtEngUtility& iUtils;
-
- // for mediator command reception
- CMediatorCommandResponder* iMediatorResponder;
-
- CMediatorEventConsumer* iMediatorEvents;
-
- // supported mediator commands
- MediatorService::RCommandList iCommandList;
- };
-
-#endif // C_VTENGMDTRMESSAGELISTENER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Base/cvtengmediatorservice.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* 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: Handles commands received via Mediator
-*
-*/
-
-
-#ifndef C_VTENGMEDIATORSERVICE_H
-#define C_VTENGMEDIATORSERVICE_H
-
-// INCLUDES
-#include <e32base.h>
-#include "mvtengoperationobserver.h"
-#include "MVtEngEventObserver.h"
-#include "vtengcommands.h"
-
-// FORWARD DECLARATIONS
-class CMediatorCommandResponder;
-class CVtEngOperation;
-class CVtEngInternalOperation;
-class CVtEngUtility;
-
-// CLASS DECLARATION
-
-/**
-* Handles shutdown and audio commands from mediator. Deletes itself
-* after service is completed.
-*
-* @lib videoteleng
-* @since 5.0
-*/
-NONSHARABLE_CLASS( CVtEngMediatorService ) :
- public CBase,
- private MVtEngOperationObserver,
- private MVtEngEventObserver
- {
-public: // constructor and destructors
-
- /**
- * Starts requested service.
- * @param aResponder target for mediator response
- * @param aUtils engine internal utility
- * @param aCommandId service to start
- */
- static void StartLD(
- CMediatorCommandResponder& aResponder,
- CVtEngUtility& aUtils,
- const TUid aCategory,
- const TInt aCommandId );
-
- ~CVtEngMediatorService();
-
-public: // from MVtEngOperationObserver
-
- /**
- * @see MVtEngOperationObserver
- */
- virtual void SetOperation( CVtEngOperation* aActiveOp );
-
- /**
- * @see MVtEngOperationObserver
- */
- virtual void CommandCompleteL(
- const TVtEngCommandId aCommand,
- const TInt aResult );
-
-public: // from MVtEngEventObserver
-
- // handles event according to ongoing operation
- virtual void HandleVtEventL( TInt aEvent );
-
-private: // c++ constructor
-
- CVtEngMediatorService(
- CMediatorCommandResponder& aResponder,
- CVtEngUtility& aUtils,
- const TUid aCategory,
- const TInt aCommandId );
-
-private:
-
- // prepares and starts requested operation
- void ConstructAndDoServiceL();
-
- // sends response to shutdown command if shutdown already ongoing
- TBool IsShuttingDown() const;
-
- void StartOperationL( const TVtEngCommandId aCommand );
-
- // Sends mediator response for shutdown or audio mute/unmute commands.
- // deletes itself if not waiting internal command response.
- void SendMediatorResponseD( const TBool aDeleteThis );
-
-private:
- CMediatorCommandResponder& iResponder;
-
- CVtEngInternalOperation* iOperation;
-
- CVtEngUtility& iUtils;
-
- // mediator Category [KCatVideotelInternalCommands, KCatPhoneToVideotelCommands]
- TUid iCategory;
-
- // mediator command [shutdown, mute mic, unmute mic]
- TInt iCommandId;
-
- // this is used for controlling
- TInt iServiceStatus;
- };
-
-#endif // T_VTENGMEDIATORSERVICE_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/CVtEngCommandHandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
-* Copyright (c) 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: Command handler of the engine.
-*
-*/
-
-
-
-#ifndef CVTENGCOMMANDHANDLER_H
-#define CVTENGCOMMANDHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "MVtEngCommandHandler.h"
-#include "mvtengoperationobserver.h"
-
-// FORWARD DECLARATIONS
-class CVtEngHandlerContainer;
-class CVtEngOperation;
-
-// CLASS DECLARATION
-
-/**
-* Handler for commands from client.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngCommandHandler ) : public CBase,
- public MVtEngCommandHandler,
- public MVtEngOperationObserver
- {
- public: // constructor and destructors
-
- static CVtEngCommandHandler* NewL(
- CVtEngHandlerContainer& aHandlers );
-
- virtual ~CVtEngCommandHandler();
-
- public: // from MVtEngCommandHandler
-
- /**
- * @see MVtEngCommandHandler
- */
- virtual void ExecuteL(
- const TVtEngCommandId aCommand,
- TDesC8* aParams );
-
- /**
- * @see MVtEngCommandHandler
- */
- virtual TInt CancelCommand( const TVtEngCommandId aCommandId );
-
- /**
- * @see MVtEngCommandHandler
- */
- virtual TInt GetCommandCaps(
- const TVtEngCommandId aCommand );
-
- /**
- * @see MVtEngCommandHandler
- */
- virtual TVtEngCommandId PendingCommand();
-
- /**
- * @see MVtEngCommandHandler
- */
- virtual void AddObserverL( MVtEngCommandObserver& aObserver );
-
- /**
- * @see MVtEngCommandHandler
- */
- virtual void RemoveObserver( MVtEngCommandObserver& aObserver );
-
- public: // from MVtEngOperationObserver
-
- /**
- * Handles command completion.
- * @param aCommand command id
- * @param aResult Symbian OS error code.
- */
- virtual void CommandCompleteL(
- const TVtEngCommandId aCommand,
- const TInt aResult );
-
- /**
- * Sets pending asynch operation
- * @param aActiveOp pending operation or NULL.
- */
- virtual void SetOperation( CVtEngOperation* aActiveOp );
-
- private: // constructors
-
- /**
- * Second phase constructor
- */
- void ConstructL();
-
- /**
- * c++ constructor
- */
- CVtEngCommandHandler( CVtEngHandlerContainer& aHandlers );
-
- private:
-
- void AddToPoolL( TVtEngCommandId aCommand );
-
- /**
- * Validates command
- */
- void ValidateL(
- const TVtEngCommandId aCommandId,
- TDesC8* aParams );
-
- /**
- * Check if command is async.
- */
- void CheckAsynchronity(
- const TVtEngCommandId aCommandId,
- TInt& aCaps );
-
- /**
- * Check if command is supported.
- */
- void CheckSupport(
- const TVtEngCommandId aCommandId,
- TInt& aCaps );
-
- /**
- * Check if command is applicable in current state.
- */
- void CheckState(
- const TVtEngCommandId aCommandId,
- TInt& aCaps );
-
- private: // command pool
-
- struct TVtOpItem
- {
- TVtEngCommandId iId;
- CVtEngOperation* iOperation;
- };
- /**
- * Command pool for commands instantiated at construction
- * time to guarantee certain operations.
- */
- NONSHARABLE_CLASS( CVtEngCmdPool ): public CArrayPtrFlat<CVtEngOperation>
- {
- public: // constructor and destructor
-
- // Constructor
- CVtEngCmdPool( TInt aGranularity );
-
- // Destructor
- ~CVtEngCmdPool();
-
- public: // data structures
-
-
- public: // new methods
-
- /**
- * Returns operation stored in the pool.
- * @param aId command id
- * @return operation or NULL if not found.
- */
- CVtEngOperation* Get( const TVtEngCommandId aId );
-
- };
-
- private: // Data members
-
- RPointerArray<MVtEngCommandObserver> iObservers;
- CVtEngHandlerContainer& iHandlers;
- CVtEngOperation* iActiveOp;
- CVtEngCmdPool* iCommandPool;
-
- };
-
-#endif //CVTENGCOMMANDHANDLER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/CVtEngOperation.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 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: Operation base class.
-*
-*/
-
-
-
-#ifndef CVTENGOPERATION_H
-#define CVTENGOPERATION_H
-
-// INCLUDES
-#include <e32base.h>
-#include "vtengcommands.h"
-
-// FORWARD DECLARATIONS
-class CVtEngCommandHandler;
-class CVtEngHandlerContainer;
-class MVtEngOperationObserver;
-
-/**
-* Operation base class.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngOperation ) : public CBase
- {
- public: // constructor and destructors
-
- /**
- * two-phase constructor
- * @param aCommandId command id
- * @param aHandlers handler container
- * @param aObserver observer called back when operation is completed
- * @param aDelete if ETrue command deletes itself after completion
- */
- static CVtEngOperation* NewL(
- TVtEngCommandId aCommandId,
- CVtEngHandlerContainer& aHandlers,
- MVtEngOperationObserver& aObserver,
- TBool aDelete = ETrue );
-
- /**
- * Destructor
- */
- ~CVtEngOperation( );
-
- public: // new functions
-
- /**
- * Performs operations.
- * @return ETrue is operation is complete (i.e. sync).
- */
- virtual TBool ExecuteL( TDesC8* aParams );
-
- /**
- * Cancels pending command.
- * @return ETrue if cancelled was succesfull or there
- * is nothing to cancel.
- */
- TBool Cancel();
-
- /**
- * Returns command identifier.
- * @return command identifier
- */
- inline TVtEngCommandId Command() const;
-
- /**
- * Returns command parameter buffer.
- * @return parameter buffer
- */
- inline const TDesC8* Parameters() const;
-
- /**
- * Notifies observer on completion.
- * @param aResult Symbian OS error code
- */
- virtual void HandleOpComplete( const TInt aResult );
-
- protected: // new functions
-
- /**
- *
- */
- TBool OfferExecuteSyncL( TDesC8* aParams );
-
- protected:
- /**
- * c++ constructor
- */
- CVtEngOperation(
- TVtEngCommandId aCommandId,
- CVtEngHandlerContainer& aHandlers,
- MVtEngOperationObserver& aCommandHandler,
- TBool aDelete );
-
- /**
- * Handles asynchronous operation complete
- */
- static TInt ASyncHandleOpComplete( TAny* aPtr );
-
- protected:
-
- // Command identifier
- const TVtEngCommandId iCommand;
-
- // Handler container
- CVtEngHandlerContainer& iHandlers;
-
- // observer for command response
- MVtEngOperationObserver& iObserver;
-
- // Parameter
- TDesC8* iParams;
-
- // Delete command when complete
- TBool iDelete;
-
- // Pointer to asynchronous callback
- CAsyncCallBack* iAsyncCallback;
-
- // Asynchronous callback error identifier
- TInt iAsyncErr;
- };
-
-/**
-* Utility class for unpacking data type with descriptor data.
-* @lib videoteleng
-* @since 2.6
-*/
-template <class T>
-class TVtEngOpParamUtil
- {
- public:
- /**
- * Sets parameter in aDes to aRef.
- */
- inline void static Set( T& aRef , const CVtEngOperation& aOp );
- };
-
-#include "CVtEngOperation.inl"
-
-#endif // CVTENGOPERATION_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/CVtEngOperation.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 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: Operation inline methods
-*
-*/
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::Command
-// -----------------------------------------------------------------------------
-inline TVtEngCommandId CVtEngOperation::Command() const { return iCommand; }
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::Parameters
-// -----------------------------------------------------------------------------
-inline const TDesC8* CVtEngOperation::Parameters() const { return iParams; }
-
-// -----------------------------------------------------------------------------
-// TVtEngOpParamUtil::Set
-// -----------------------------------------------------------------------------
-template <class T>
-inline void TVtEngOpParamUtil<T>::Set(
- T& aRef,
- const CVtEngOperation& aOp )
- {
- TPckgC<T> pckg( aRef );
- pckg.Set( *aOp.Parameters() );
- aRef = pckg();
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/MVtEngCommandHandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* Copyright (c) 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: Command handler interface of the engine.
-*
-*/
-
-
-
-#ifndef MVTENGCOMMANDHANDLER_H
-#define MVTENGCOMMANDHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "vtengcommands.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-class MVtEngCommandObserver;
-
-// CLASS DECLARATION
-
-/**
-* Handler for commands from client.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class MVtEngCommandHandler
- {
- public:
-
- /**
- * EAttribAsync
- * command is asynchronous.
- * EAttribEnabled
- * Command can be executed at the moment.
- * EAttribSupported
- * Command is supported by the engine.
- */
- enum TCommandCaps
- {
- EAttribAsync = 0x00000001,
- EAttribEnabled = 0x00000002,
- EAttribSupported = 0x00000004
- };
-
- /**
- * Excecutes a command. This function leaves KErrNotReady
- * if engine is in such a state that command cannot be
- * executed.
- *
- * @param aCommandId command to be executed.
- * @param aParams command parameters, NULL if command
- * does not require any.
- */
- virtual void ExecuteL(
- const TVtEngCommandId aCommandId,
- TDesC8* aParams ) = 0;
-
- /**
- * Cancels a command.
- * @param aCommandId command to cancel.
- * @return KErrNotFound if command is not pending.
- */
- virtual TInt CancelCommand( const TVtEngCommandId aCommandId ) = 0;
-
- /**
- * Returns capabilities of a command.
- * @return command caps
- */
- virtual TInt GetCommandCaps(
- const TVtEngCommandId aCommand ) = 0;
-
- /**
- * Returns pending command.
- * @return pending command
- */
- virtual TVtEngCommandId PendingCommand() = 0;
-
- /**
- * Sets command observer. First call on this is guaranteed
- * to succeed.
- * @param aObserver command observer.
- */
- virtual void AddObserverL( MVtEngCommandObserver& aObserver ) = 0;
-
- /**
- * Removes a command observer or if non-op if specified observer
- * is not found.
- * @param aObserver command observer to be removed.
- */
- virtual void RemoveObserver( MVtEngCommandObserver& aObserver ) = 0;
- };
-
-#endif //MVTENGCOMMANDHANDLER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/MVtEngCommandObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 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: Observer for asynchronous commands.
-*
-*/
-
-
-
-#ifndef MVTENGCOMMANDOBSERVER_H
-#define MVTENGCOMMANDOBSERVER_H
-
-// INCLUDES
-#include <vtengcommands.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-
-/**
-* Observer for asynchronous commands.
-*
-* @since 2.6
-*/
-class MVtEngCommandObserver
- {
- public: // new functions
-
- /**
- * Callback for command completion.
- * @param aCommand completed command. This is
- * same instance as passed in MVtEngCommandHandler::ExecuteL.
- * Client may delete the command.
- * @param aError Symbian OS error code.
- */
- virtual void HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError ) = 0;
- };
-
-#endif // MVTENGCOMMANDOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/TVtEngOperationUtils.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 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: Handler utili
-*
-*
-*/
-
-
-
-#ifndef TVTENGOPERATIONUTILS
-#define TVTENGOPERATIONUTILS
-
-// INCLUDES
-#include <e32std.h>
-#include "vtengcommands.h"
-
-
-// FORWARD DECLARATIONS
-class CVtEngHandlerContainer;
-class CVtEngOperation;
-// CLASS DECLARATION
-
-/**
-* Handles rendering operation
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngRenderUtil
- {
- public:
-
- static void HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers );
-
- static void Cancel(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers );
- };
-
-/**
-* Handles audio routing operation.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngAudioRoutingUtil
- {
- public:
-
- /**
- *
- * @param aOperation operation
- */
- static void HandleL(
- CVtEngOperation& aOperation );
- };
-
-
-/**
-* Handles audio playback operation.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngAudioPlaybackUtil
- {
- public:
-
- static void HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers );
- };
-
-/**
-* Handles media transport operation like pausing/resuming.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngMediaTransportUtil
- {
- public:
-
- static void HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers );
- };
-
-/**
-*
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngViewFinderConfigureUtil
- {
- public:
-
- static void HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers );
- };
-
-/**
-*
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngCameraConfigUtil
- {
- public:
-
- static void HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers );
- };
-
-/**
-* Handles engine initialization.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngEngineInitUtil
- {
- public:
-
- static void HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers );
-
- static void Cancel( CVtEngOperation& aOperation );
- };
-
-
-/**
-* Handles extension operations.
-*
-* @lib videoteleng
-* @since S60 v3.2
-*/
-class TVtEngExtensionUtil
- {
- public:
-
- /**
- * Handles extension operations
- * @param aOperation operation
- */
- static void HandleL(
- CVtEngOperation& aOperation );
- };
-#endif // TVTENGOPERATIONUTILS
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/cvtenginternaloperation.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* 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: Operation class for commands not originated by UI but
-* engine itself.
-*
-*/
-
-
-#ifndef C_VTENGINTERNALOPERATION_H
-#define C_VTENGINTERNALOPERATION_H
-
-// INCLUDES
-#include <e32base.h>
-#include "CVtEngOperation.h"
-
-// FORWARD DECLARATIONS
-class CVtEngCommandHandler;
-class CVtEngHandlerContainer;
-
-/**
-* Class for handling operation (command) originated engine itself.
-* Deviation from base class behavior: does not set itself as "active
-* operation" in command handler (observer of the operation). Also
-* response is given in synchronous manner.
-*
-* @lib videoteleng
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CVtEngInternalOperation ) : public CVtEngOperation
- {
-public: // constructor and destructors
-
- /**
- * two-phase constructor
- * @param aCommandId command id
- * @param aHandlers handler container
- * @param aCommandHandler command handler
- * @param aDelete if ETrue command deletes itself after completion
- * @return internal operation
- */
- static CVtEngInternalOperation* NewL(
- TVtEngCommandId aCommandId,
- CVtEngHandlerContainer& aHandlers,
- MVtEngOperationObserver& aObserver,
- TBool aDelete = ETrue );
-
- /**
- * Destructor
- */
- ~CVtEngInternalOperation( );
-
-public: // from CVtEngOperation
-
- /**
- * @see CVtEngOperation
- */
- virtual TBool ExecuteL();
-
- /**
- * @see CVtEngOperation
- */
- virtual void HandleOpComplete( const TInt aResult );
-
-private:
- /**
- * c++ constructor
- */
- CVtEngInternalOperation(
- TVtEngCommandId aCommandId,
- CVtEngHandlerContainer& aHandlers,
- MVtEngOperationObserver& aObserver,
- TBool aDelete );
- };
-
-#endif // C_VTENGINTERNALOPERATION_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/mvtengoperationobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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: Observer interface for engine operations
-*
-*/
-
-
-#ifndef M_VTENGOPERATIONOBSERVER_H
-#define M_VTENGOPERATIONOBSERVER_H
-
-// INCLUDES
-#include <e32def.h>
-#include "vtengcommands.h"
-
-// FORWARD DECLARATIONS
-class CVtEngOperation;
-
-// CLASS DECLARATION
-
-/**
-* Interface for setting active operation and responding to commands
-*
-* @lib videoteleng
-* @since 5.0
-*/
-class MVtEngOperationObserver
- {
-public:
-
- virtual void SetOperation( CVtEngOperation* aActiveOp ) = 0;
-
- virtual void CommandCompleteL(
- const TVtEngCommandId aCommand,
- const TInt aResult ) = 0;
- };
-
-#endif // M_VTENGOPERATIONOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Commands/vtengcommands.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,300 +0,0 @@
-/*
-* Copyright (c) 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 telephony engine command identifiers.
-*
-*/
-
-
-
-#ifndef CVTENGCOMMANDS_H
-#define CVTENGCOMMANDS_H
-
-// INCLUDES
-#include <e32def.h>
-
-// DATA TYPES
-typedef TInt TVtEngCommandId;
-
-// CONSTANTS
-
-
-const TInt KVtEngCommandNone = -1;
-
-const TInt KVtEngCommandBase = 0;
-
-/**
-* Configuration commands
-*/
-const TInt KVtEngConfigureCommandBase = KVtEngCommandBase + 100;
-
-// Allocates essential resources when application starts up
-const TInt KVtEngInitializeEngine = KVtEngConfigureCommandBase + 1;
-
-// Resets engine. Use when all video calls are ended.
-const TInt KVtEngResetEngine = KVtEngConfigureCommandBase + 2;
-
-/**
-* Makes voice call to existing peer.
-*/
-const TInt KVtEngSwitchToVoice = KVtEngConfigureCommandBase + 4;
-
-// Allocates essential resources when application starts up - TEST MODE
-const TInt KVtEngInitializeEngineDiag = KVtEngConfigureCommandBase + 50;
-
-// Allocates essential resources when application starts up - TEST MODE
-const TInt KVtEngInitializeEngineTest = KVtEngConfigureCommandBase + 51;
-//
-
-/**
-* Media commands for controlling local display and sending
-* of media (audio/video) to the peer.
-*/
-const TInt KVtEngMediaCommandBase = KVtEngConfigureCommandBase + 100; // 200
-
-// Actual commands
-
-/**
-* Selects source,
-* @see MVtEngMedia::TMediaSource for command parameters.
-*/
-const TInt KVtEngSetSource = KVtEngMediaCommandBase + 1;
-
-/**
-* Async
-* Initializes default or selected camera.
-* Does not take parameters. See KVtEngSetSource command parameters.
-*/
-const TInt KVtEngPrepareCamera = KVtEngMediaCommandBase + 2;
-
-/**
-* prepares engine to pass view finder frames to UI
-* @see MVtEngMedia::TVtEngViewFinderConfig for command parameters.
-*/
-const TInt KVtEngPrepareViewFinder = KVtEngMediaCommandBase + 3;
-
-/**
-* Sync
-* prepares engine to render view finder frames using DSA
-* @see MVtEngMedia::TRenderingOptionsDSA for command parameters.
-*/
-const TInt KVtEngPrepareViewFinderDSA = KVtEngMediaCommandBase + 4;
-
-/**
-* Async
-* Starts view finder
-* @see MVtEngMedia::TRenderingOptionsDSA for command parameters.
-*/
-const TInt KVtEngStartViewFinder = KVtEngMediaCommandBase + 5;
-
-/**
-* Async
-* View finder control commands, do not take parameters.
-*/
-const TInt KVtEngPauseViewFinder = KVtEngMediaCommandBase + 6;
-const TInt KVtEngStopViewFinder = KVtEngMediaCommandBase + 7;
-
-/**
-* Prepares engine for rendering video (with DSA) from peer
-* @see MVtEngMedia::TRenderingOptionsDSA for command parameters.
-*/
-const TInt KVtEngPrepareRemoteRenderDSA = KVtEngMediaCommandBase + 8;
-
-/**
-* Prepares engine for rendering video from peer
-* @see MVtEngMedia::TVtEngViewFinderConfig for command parameters.
-*/
-const TInt KVtEngPrepareRemoteRender = KVtEngMediaCommandBase + 9;
-
-/**
-* Remote video rendering commands, do not take parameters.
-*/
-const TInt KVtEngStartRenderRemote = KVtEngMediaCommandBase + 10;
-const TInt KVtEngPauseRenderRemote = KVtEngMediaCommandBase + 11;
-const TInt KVtEngStopRenderRemote = KVtEngMediaCommandBase + 12;
-
-/**
-* Media transport control commands, do not take parameters.
-*/
-// Audio
-const TInt KVtEngMuteOutgoingAudio = KVtEngMediaCommandBase + 13;
-const TInt KVtEngUnmuteOutgoingAudio = KVtEngMediaCommandBase + 14;
-const TInt KVtEngPauseIncomigAudio = KVtEngMediaCommandBase + 15;
-const TInt KVtEngResumeIncomigAudio = KVtEngMediaCommandBase + 16;
-
-/**
-* Sync.
-* Sets video source provider zoom step.
-* Parameter is TInt from zero to maximum zoom step.
-* @see MVtEngMedia::GetMaxZoomStep.
-*/
-const TInt KVtEngSetZoomStep = KVtEngMediaCommandBase + 17;
-
-/**
-* Sync
-* Sets size of remote video, parameter is of type TSize
-*/
-const TInt KVtEngSetRemoteVideoSize = KVtEngMediaCommandBase + 18;
-
-/**
-* Sets UI foreground state (ETrue or EFalse)
-*/
-const TInt KVtEngSetUIForeground = KVtEngMediaCommandBase + 19;
-
-/**
-* Freeze provider video.
-*/
-const TInt KVtEngFreeze = KVtEngMediaCommandBase + 20;
-
-/**
-* Unfreeze provider video.
-*/
-const TInt KVtEngUnfreeze = KVtEngMediaCommandBase + 21;
-
-/**
-* Adjusts video quality.
-*/
-const TInt KVtEngSetVideoQuality = KVtEngMediaCommandBase + 22;
-
-/**
-* Initialize image sharing.
-*/
-const TInt KVtEngInitializeShareImage = KVtEngMediaCommandBase + 23;
-
-/**
-* Start image sharing (must be initialized first).
-*/
-const TInt KVtEngStartShareImage = KVtEngMediaCommandBase + 24;
-
-/**
-* Stop image sharing.
-*/
-const TInt KVtEngStopShareImage = KVtEngMediaCommandBase + 25;
-
-/**
-* Sync
-* prepares engine to render view finder frames using DP
-* @see MVtEngMedia::TRenderingOptionsDP for command parameters.
-*/
-const TInt KVtEngPrepareViewFinderDP = KVtEngMediaCommandBase + 26;
-
-/**
-* Prepares engine for rendering video (with DP) from peer
-* @see MVtEngMedia::TRenderingOptionsDP for command parameters.
-*/
-const TInt KVtEngPrepareRemoteRenderDP = KVtEngMediaCommandBase + 27;
-
-/**
-* Engine reintializes camera instance when layout change happens and active
-* provider is onboard camera. If anyother provider is selected, then nothing
-* will be done by the engine.
-*/
-const TInt KVtEngHandleLayoutChange = KVtEngMediaCommandBase + 28;
-
-/**
- * Sync
- * Request update last remote video frame through MVtEngFrameObserver::vtSetFrame
- */
-const TInt KVtEngRequestLastRemoteFrame = KVtEngMediaCommandBase + 29;
-
-
-const TInt KVtEngPrepareRemoteRenderNGA = KVtEngMediaCommandBase + 30;
-
-/**
-* Audio control
-*/
-const TInt KVtEngAudioCommandBase = KVtEngMediaCommandBase + 100; // 300
-
-// Actual commands
-
-/**
-* Sets output volume level [1..10] for active audio device
-*/
-const TInt KVtEngSetAudioVolume = KVtEngAudioCommandBase + 1;
-
-/**
-* Audiorouting command
-*/
-const TInt KVtEngSetAudioRouting = KVtEngAudioCommandBase + 2;
-
-/**
-* Increase volume by one step.
-*/
-const TInt KVtEngIncreaseAudioVolume = KVtEngAudioCommandBase + 3;
-
-/**
-* Decrease volume by one step.
-*/
-const TInt KVtEngDecreaseAudioVolume = KVtEngAudioCommandBase + 4;
-
-/**
-* Session commands
-*/
-const TInt KVtEngSessionCommandBase = KVtEngAudioCommandBase + 100;
-
-// Actual commands
-
-/**
-* Terminates session and tears down connection
-*/
-const TInt KVtEngTerminateSession = KVtEngSessionCommandBase + 1;
-
-const TInt KVtEngSendDtmf = KVtEngSessionCommandBase + 2;
-
-/**
-* Starts sending a DTMF tone. Takes TChar parameter. Sync
-*/
-const TInt KVtEngStartDtmfTone = KVtEngSessionCommandBase + 3;
-
-/**
-* Stops previously started tone. Does not take parametners. Sync
-*/
-const TInt KVtEngStopDtmfTone = KVtEngSessionCommandBase + 4;
-
-/**
-* Remote supports UII DTMF.
-*/
-const TInt KVtEngSetUIIDtmfSupport = KVtEngSessionCommandBase + 5;
-
-/**
-* Remote supports UII basic string.
-*/
-const TInt KVtEngSetUIIBasicStringSupport = KVtEngSessionCommandBase + 6;
-
-/**
-* Remote supports UII IA5 string.
-*/
-const TInt KVtEngSetUIIIA5StringSupport = KVtEngSessionCommandBase + 7;
-
-/**
-* Remote supports UII general string.
-*/
-const TInt KVtEngSetUIIGeneralStringSupport = KVtEngSessionCommandBase + 8;
-
-
-/**
-* Extension commands.
-*/
-const TInt KVtEngExtensionCommandBase = KVtEngSessionCommandBase + 100; //500
-const TInt KVtEngSetContrast = KVtEngExtensionCommandBase + 1;
-const TInt KVtEngSetBrightness = KVtEngExtensionCommandBase + 2;
-const TInt KVtEngSetWhiteBalance = KVtEngExtensionCommandBase + 3;
-const TInt KVtEngSetColorTone = KVtEngExtensionCommandBase + 4;
-#if defined ( RD_VT_RTF )
-const TInt KVtEngStartRecord = KVtEngExtensionCommandBase + 5;
-const TInt KVtEngStopRecord = KVtEngExtensionCommandBase + 6;
-#endif // RD_VT_RTF
-
-#endif // CVTENGCOMMANDS_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Extensions/CVtEngCameraPreferences.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng Camera Preferences extension
-*
-*/
-
-
-#ifndef CVTENGCAMERAPREFERENCES_H
-#define CVTENGCAMERAPREFERENCES_H
-
-// INCLUDES
-#include "VtEngPanic.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "CVtEngOperation.h"
-
-#include <cvtlogger.h>
-#include <e32base.h>
-
-#include <mvtengcamerapreferences.h>
-#include "CVtEngExtensionBase.h"
-
-// FORWARD DECLARATIONS
-class CVSDataProvider;
-class MVtEngCameraPreferencesObserver;
-
-// CLASS DECLARATION
-
-/**
-* Videoteleng extension base class.
-*
-* @lib videoteleng.lib
-* @since S60 v3.2
-*/
-NONSHARABLE_CLASS ( CVtEngCameraPreferences ): public CVtEngExtensionBase,
- public MVtEngCameraPreferences
- {
- public: //Constructor and destructor.
-
- /**
- * Symbian two-phase constructor.
- * @return engine extension instance
- */
- static CVtEngCameraPreferences* NewL();
-
- /**
- * Destructor.
- */
- ~CVtEngCameraPreferences();
-
- public: // from base class CVtEngExtensionBase
-
- /**
- * @see CVtEngExtensionBase::GetInterface
- */
- virtual TAny* GetInterface();
-
- /**
- * @see CVtEngExtensionBase::HandleL
- */
- virtual TBool HandleL( CVtEngOperation* aOp );
-
- /**
- * @see CVtEngExtensionBase::ValidateCommand
- */
- virtual TBool ValidateCommand( const TVtEngCommandId aCommandId );
-
- public: // from base class MVtEngCameraPreferences
-
- /**
- * @see MVtEngCameraPreferences::GetColorTone
- */
- virtual TInt GetColorTone(
- MVtEngCameraPreferences::TColorTone& aColortone ) const;
-
- /**
- * @see MVtEngCameraPreferences::GetSupportedColorTones
- */
- virtual TInt GetSupportedColorTones(
- TUint32& aSupportedColorTones ) const;
-
- /**
- * @see MVtEngCameraPreferences::GetWhiteBalance
- */
- virtual TInt GetWhiteBalance(
- MVtEngCameraPreferences::TWhiteBalance& aWhiteBalance ) const;
-
- /**
- * @see MVtEngCameraPreferences::GetSupportedWhiteBalanceModes
- */
- virtual TInt GetSupportedWhiteBalanceModes(
- TUint32& aWhiteBalance ) const;
-
- /**
- * @see MVtEngCameraPreferences::GetBrightness
- */
- virtual TInt GetBrightness( TInt& aBrightness) const;
-
- /**
- * @see MVtEngCameraPreferences::GetContrast
- */
- virtual TInt GetContrast( TInt& aContrast ) const;
-
- public:
-
- /**
- * Sets data provider to camera prefefrences
- * @param aProvider pointer to current active data provider
- * @param aObserver reference to observer
- */
- virtual void SetProvider( CVSDataProvider* aProvider,
- MVtEngCameraPreferencesObserver& aObserver );
-
- /**
- * Detaches observer from preference instance.
- * @param aObserver reference to observer
- */
- void Detach( MVtEngCameraPreferencesObserver& aObserver );
-
- private:
-
- /*
- * C++ default constructor.
- */
- CVtEngCameraPreferences();
-
- /**
- * Symbian two-phase constructor.
- */
- void ConstructL();
-
- private:
-
- // Video source data provider pointer
- CVSDataProvider* iProvider;
-
- // Preference observer pointer
- MVtEngCameraPreferencesObserver* iObserver;
-
- };
-
-#endif //CVTENGCAMERAPREFERENCES_H
\ No newline at end of file
--- a/vtengines/videoteleng/Inc/Extensions/CVtEngExtensionBase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng extension base class
-*
-*/
-
-
-#ifndef CVTENGEXTENSIONSBASE_H
-#define CVTENGEXTENSIONSBASE_H
-
-// INCLUDES
-#include <e32base.h>
-#include "vtengcommands.h"
-
-// FORWARD DECLARATIONS
-class CVtEngOperation;
-
-// CLASS DECLARATION
-
-/**
-* Videoteleng extension base class.
-*
-* @lib videoteleng.lib
-* @since S60 v3.2
-*/
-NONSHARABLE_CLASS ( CVtEngExtensionBase ): public CBase
-
- {
- public: // pure virtuals.
-
- /**
- * Returns extension API interface
- * @return API IF as TAny pointer
- */
- virtual TAny* GetInterface() = 0;
-
- /**
- * Handles requested extension operation
- * @param aOp requested operation pointer
- * @return TBool if operation succeed or not
- */
- virtual TBool HandleL( CVtEngOperation* aOp ) = 0;
-
- /**
- * Validates requested extension command
- * @param aCommandId requested command identifier (TInt)
- * @return TBool if command is valid or not
- */
- virtual TBool ValidateCommand( const TVtEngCommandId aCommandId ) = 0;
-
- /**
- * Gets extension UID
- * @return extension UID
- */
- const TUid& Uid() const;
-
- protected:// Constructor.
- /*
- * C++ default constructor.
- */
- CVtEngExtensionBase( TUid aExtensionUid );
-
- private:
-
- // Extension UID
- const TUid iExtensionUid;
- };
-
-#endif //CVTENGEXTENSIONSBASE_H
--- a/vtengines/videoteleng/Inc/Extensions/CVtEngExtensions.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng API extension configuration
-*
-*/
-
-
-#ifndef CVTENGEXTENSIONS_H
-#define CVTENGEXTENSIONS_H
-
-// INCLUDES
-#include <e32base.h>
-#include "vtengcommands.h"
-
-// CONSTANTS AND MACROS
-const TInt KExtensionGranularity = 1;
-
-// FORWARD DECLARATIONS
-class CVtEngExtensionBase;
-class CVtEngCameraPreferences;
-class CVtEngOperation;
-class CVtEngMediaHandler;
-
-// CLASS DECLARATION
-
-/**
-* Video telephony extension handling.
-*
-* @lib videoteleng.lib
-* @since S60 v3.2
-*/
-NONSHARABLE_CLASS(CVtEngExtensions): public CBase
-
- {
- public: // Constructor and destructor.
-
- /**
- * Symbian two-phase constructor.
- * @return engine extension instance
- */
- static CVtEngExtensions* NewL();
-
- /**
- * Destructor.
- */
- ~CVtEngExtensions();
-
- public:
-
- /**
- * Gets client interface from certain extension
- * @param aInterfacePtr a pointer to client IF pointer
- * @param aUid requested client IF extension UID
- * @param aHandler a handle to media handler
- */
- TInt GetClientInterface( TAny** aInterfacePtr,
- const TUid& aUid , CVtEngMediaHandler& aHandler );
-
- /**
- * Offers operation for extensions
- * @param aOp operation pointer
- * @return TBool value indicating if any of exsisting extension
- * was able to handle operation
- */
- TBool OfferOperationL( CVtEngOperation* aOp );
-
- /**
- * Validates extension command
- * @param aCommandId command ID (TInt)
- * @return TBool value indicating if any of exsisting extension
- * was able to validate operation
- */
- TBool ValidateCommand( const TVtEngCommandId aCommandId );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngExtensions();
-
- /**
- * Symbian constructor that may leave.
- */
- void ConstructL();
-
- /**
- * Creates certain extension
- */
- CVtEngExtensionBase* CreateExtensionsL( const TUid& aUid,
- CVtEngMediaHandler& aHandler );
-
- /**
- * Search extensions using UID
- */
- TInt LookupExtensions( const TUid& aUid) const;
-
- private:
-
- // Extension handle container
- RPointerArray <CVtEngExtensionBase> iExtensionArray;
-
- };
-
-#endif //CVTENGEXTENSIONS_H
--- a/vtengines/videoteleng/Inc/Extensions/MVtEngCameraPreferences.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng Camera Preferences extension API
-*
-*/
-
-
-#ifndef MVTENGCAMERAPREFERENCES_H
-#define MVTENGCAMERAPREFERENCES_H
-
-// INCLUDES
-#include <ecam.h>
-#include <ecamimageprocessing.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-// CONSTANTS
-const TUid KVtEngExtensionCameraPreferences = {0x10282814};
-
-/**
-* Camera preferences extension API class.
-*
-* @lib videoteleng.lib
-* @since S60 v3.2
-*/
-
-class MVtEngCameraPreferences
- {
- public:
-
- enum TColorTone
- {
- /** Normal colors. */
- ENormal = CCamera::CCameraImageProcessing::EEffectNone,
- /** Sepial. */
- ESepia = CCamera::CCameraImageProcessing::EEffectSepia,
- /** Black and White. */
- EGrayscale = CCamera::CCameraImageProcessing::EEffectMonochrome,
- /** Inverted colors. */
- ENegative = CCamera::CCameraImageProcessing::EEffectNegative
- };
-
- enum TWhiteBalance
- {
- /** Automatically adjusted. */
- EAuto = CCamera::EWBAuto,
- /** Normal daylight. */
- EDaylight = CCamera::EWBDaylight,
- /** Overcast daylight. */
- ECloudy = CCamera::EWBCloudy,
- /** Tungsten filament lighting. */
- ETungsten = CCamera::EWBTungsten,
- /** Fluorescent bulb lighting. */
- EFluorescent = CCamera::EWBFluorescent,
- /** Flash lighting. */
- EFlash = CCamera::EWBFlash,
- /** High contrast daylight primarily snowy. */
- ESnow = CCamera::EWBSnow,
- /** High contrast daylight primarily near the sea. */
- EBeach = CCamera::EWBBeach,
- /** User configurable mode. */
- EManual = CCamera::EWBManual,
- /** Shade. */
- EShade = CCamera::EWBShade
- };
-
- enum TBrightness
- {
- /** Automatically set brightness value*/
- EAutomaticBrightness = KMinTInt
- };
-
- enum TContrasts
- {
- /** Automatically set contrast value*/
- EAutomaticContrast = KMinTInt
- };
-
- /**
- * Gets current color tone value from camera
- * @param aColortone reference value for current color tone
- * @return Symbian error code
- */
- virtual TInt GetColorTone( TColorTone& aColortone ) const = 0;
-
- /**
- * Gets all suported color tone values from camera
- * @param aSupportedColorTones reference value for supported colortone
- * values (a bit field)
- * @return Symbian error code
- */
- virtual TInt GetSupportedColorTones(
- TUint32& aSupportedColorTones ) const = 0;
-
- /**
- * Gets current whitebalance value from camera
- * @param aWhiteBalance reference value for current whitebalance
- * @return Symbian error code
- */
- virtual TInt GetWhiteBalance(
- TWhiteBalance& aWhiteBalance ) const = 0;
-
- /**
- * Gets all suported whitebalance values from camera
- * @param aWhiteBalance reference value for supported whitebalance
- * values (a bit field)
- * @return Symbian error code
- */
- virtual TInt GetSupportedWhiteBalanceModes(
- TUint32& aWhiteBalance ) const = 0;
-
- /**
- * Gets current brightness value from camera
- * @param aBrightness reference value for current brightness
- * @return Symbian error code
- */
- virtual TInt GetBrightness( TInt& aBrightness) const = 0;
-
- /**
- * Gets current contrast value from camera
- * @param aContrast reference value for current brightness
- * @return Symbian error code
- */
- virtual TInt GetContrast( TInt& aContrast ) const = 0;
-
- };
-
-#endif //MVTENGCAMERAPREFERENCES_H
-
--- a/vtengines/videoteleng/Inc/Extensions/cvtengr2ftoneplayer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 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: Plays video start/stop sounds.
-*
-*/
-
-
-#ifndef CVTENGR2FTONEPLAYER_H
-#define CVTENGR2FTONEPLAYER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <mdaaudiosampleplayer.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Plays video start/stop sounds.
-* @since s60 v5.0
-*/
-NONSHARABLE_CLASS ( CVtEngR2FTonePlayer ) : public CBase,
- public MMdaAudioPlayerCallback
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CVtEngR2FTonePlayer* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CVtEngR2FTonePlayer();
-
- public: // New functions
- /**
- * Play a sound with given id.
- * @param aSound identifies which sound to play
- * (see r_ccor_sound_list in resources).
- * @return Symbian error code.
- */
- TInt PlaySound( TInt aSound );
-
- /**
- * Stop any ongoing sound.
- */
- void StopSound();
-
- private: // Functions from base classes
- /**
- * From MMdaAudioPlayerCallback.
- */
- void MapcInitComplete( TInt aError,
- const TTimeIntervalMicroSeconds& aDuration );
-
- /**
- * From MMdaAudioPlayerCallback.
- */
- void MapcPlayComplete( TInt aError );
-
- private: // New functions
- /**
- * C++ constructor.
- */
- CVtEngR2FTonePlayer();
-
- /**
- * Symbian OS 2nd phase constructor.
- */
- void ConstructL();
-
- private: // Data
-
- TBool iOpenFileInProgress;
- TBool iSoundInProgress;
- CMdaAudioPlayerUtility* iAudioPlayer; // owned
-
- HBufC* iVideoStartSound; // owned
- HBufC* iVideoStopSound; // owned
-
- public:
-
- /**
- * Enum for tone player sound ID's
- */
- enum TVtR2FSoundId
- {
- /** Video record start sound*/
- EVtR2FVideoStartSoundId = 1,
- /** Video record stopt sound*/
- EVtR2FVideoStopSoundId
- };
- };
-
-#endif //CVTENGR2FTONEPLAYER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Extensions/cvtengrecord2file.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng Camera Preferences extension
-*
-*/
-
-
-#ifndef CVTENGRECORD2FILE_H
-#define CVTENGRECORD2FILE_H
-
-// INCLUDES
-#include "VtEngPanic.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "CVtEngOperation.h"
-
-#include "cvtengr2ftoneplayer.h"
-
-#include <cvtlogger.h>
-#include <e32base.h>
-
-#include <mvtengrecord2file.h>
-#include "CVtEngExtensionBase.h"
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class CVtEngR2FTonePlayer;
-/**
-* Videoteleng extension base class.
-*
-* @lib videoteleng.lib
-* @since S60 v3.2
-*/
-NONSHARABLE_CLASS ( CVtEngRecord2File ): public CVtEngExtensionBase,
- public MVtEngRecord2File
- {
- public: //Constructor and destructor.
-
- /**
- * Symbian two-phase constructor.
- * @return engine extension instance
- */
- static CVtEngRecord2File* NewL();
-
- /**
- * Destructor.
- */
- ~CVtEngRecord2File();
-
- public: // from base class CVtEngExtensionBase
-
- /**
- * @see CVtEngExtensionBase::GetInterface
- */
- virtual TAny* GetInterface();
-
- /**
- * @see CVtEngExtensionBase::HandleL
- */
- virtual TBool HandleL( CVtEngOperation* aOp );
-
- /**
- * @see CVtEngExtensionBase::ValidateCommand
- */
- virtual TBool ValidateCommand( const TVtEngCommandId aCommandId );
-
- public: // from base class MVtEngRecord2File
-
- /**
- * For testin puposes only
- * @see MVtEngRecord2File::IsTonePlaySupported
- */
- virtual TInt IsTonePlaySupported( TBool& aSupported) const;
-
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtEngRecord2File();
-
- /**
- * Symbian two-phase constructor.
- */
- void ConstructL();
-
- public: // data
-
- private: // data
- CVtEngR2FTonePlayer* iTonePlayer;
- };
-
-#endif //CVTENGRECORD2FILE_H
\ No newline at end of file
--- a/vtengines/videoteleng/Inc/Extensions/mvtengcamerapreferencesobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* 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: Videoteleng Camera Preferences extension Observer
-*
-*/
-
-
-#ifndef MVTENGCAMERAPREFERENCESOBSERVER_H
-#define MVTENGCAMERAPREFERENCESOBSERVER_H
-
-// INCLUDES
-#include <mvtengcamerapreferences.h>
-
-/**
-* Camera preferences extension observer.
-*
-* @lib videoteleng.lib
-* @since S60 v5.0
-*/
-class MVtEngCameraPreferencesObserver
- {
-
-public:
-
- /**
- * Called when observer is attached to camera preferences instance.
- * @param aCamPrefs Reference to camera preferences instance this observer
- * was attached to.
- */
- virtual void Attach( MVtEngCameraPreferences& aCamPrefs ) = 0;
-
- /**
- * Called when color tone is updated.
- * @param aColorTone New color tone value.
- */
- virtual void ColorToneUpdated(
- MVtEngCameraPreferences::TColorTone aColorTone ) = 0;
-
- /**
- * Called when white balance is updated.
- * @param aWhiteBalance New white balance value.
- */
- virtual void WhiteBalanceUpdated(
- MVtEngCameraPreferences::TWhiteBalance aWhiteBalance ) = 0;
-
- /**
- * Called when brightness is updated.
- * @param aBrightness New brightness value set.
- */
- virtual void BrightnessUpdated( TInt aBrightness ) = 0;
-
- /**
- * Called when contrast is updated.
- * @param aContrast New contrast value set.
- */
- virtual void ContrastUpdated( TInt aContrast ) = 0;
-
- /**
- * Called when observer is detached from camera preferences instance.
- * @param aCamPrefs Reference to camera preferences instance this observer
- * was detached from.
- */
- virtual void Detach( MVtEngCameraPreferences& aCamPrefs ) = 0;
-
- };
-
-#endif // MVTENGCAMERAPREFERENCESOBSERVER_H
-
--- a/vtengines/videoteleng/Inc/Extensions/mvtengrecord2file.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng Record to file extension API
-*
-*/
-
-
-#ifndef MVTENGRECORD2FILE_H
-#define MVTENGRECORD2FILE_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-// CONSTANTS
-const TUid KVtEngExtensionRecord2File = {0x10283156};
-
-/**
-* Record to file extension API class.
-*
-* @lib videoteleng.lib
-* @since S60 v5.0
-*/
-
-class MVtEngRecord2File
- {
- public:
-
- /**
- * For testin puposes only REMOVE
- * @param aSupported boolean for tone play support
- * @return Symbian error code
- */
- virtual TInt IsTonePlaySupported( TBool& aSupported) const = 0;
- };
-#endif //MVTENGRECORD2FILE_H
-
--- a/vtengines/videoteleng/Inc/Media/CVtEngDrawDP.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,509 +0,0 @@
-/*
-* Copyright (c) 2004-2005 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: Remote video handling class.
-*
-*/
-
-
-
-#ifndef CVTENGDRAWDP_H
-#define CVTENGDRAWDP_H
-
-// INCLUDES
-
-#include "CVtEngRemoteVideo.h"
-#include "TVtEngRenderConfigDP.h"
-
-#include <cvtimagescaler.h>
-
-// FORWARDS
-
-class TDisplaySinkParamsDP;
-class CVtImageBitmap;
-class CVtImageScaler;
-
-// CONSTANTS AND MACROS
-
-const TInt KVtEngMaxBuffers = 2;
-
-// CLASSES
-
-/**
-* Buffer waiter observer API
-*
-* @lib videoteleng.lib
-* @since Series 60 3.2
-*/
-NONSHARABLE_CLASS( MVtEngBufferWaiterObserver )
- {
- public: // New methods
-
- /**
- * Buffer fetched without errors.
- * @param aBuffer Pointer to fetched buffer.
- */
- virtual void BufferReady(
- CPostingSurface::TPostingBuff* aBuffer ) = 0;
-
- /**
- * Buffer fetch error.
- * @param aError Error code.
- */
- virtual void FetchError( TInt aError ) = 0;
- };
-
-/**
-* Display Posting drawer
-*
-* @lib videoteleng.lib
-* @since Series 60 3.2
-*/
-NONSHARABLE_CLASS( CVtEngDrawDP ) : public CVtEngRemoteVideo::CVtEngDraw,
- public MVtEngBufferWaiterObserver,
- public MVtImageScalerObserver
-
- {
- public: // constructor and destructor
-
- /**
- * Two-phased constructor.
- * @param aObserver call back interface to Display Sink
- * @return instance of CVtEngDrawDP
- */
- static CVtEngDrawDP* NewL( MDisplaySinkObserver* aObserver );
-
- // Destructor
- ~CVtEngDrawDP();
-
- private:
-
- /**
- * C++ constructor as private.
- * @param aObserver callback interface for Display Sink
- */
- CVtEngDrawDP( MDisplaySinkObserver* aObserver );
-
- private: // from MVtEngDraw
-
- /**
- * @see CVtEngDraw::BaseConstructL
- */
- void BaseConstructL();
-
- /**
- * @see CVtEngDraw::CreateSinkL
- */
- MDisplaySink* CreateSinkL();
-
- /**
- * @see CVtEngDraw::BaseRefreshL
- */
- void BaseRefreshL();
-
- /**
- * @see CVtEngDraw::BaseRefreshBitmapsL
- */
- void BaseRefreshBitmapsL();
-
- /**
- * @see CVtEngDraw::BaseDoCancel
- */
- void BaseDoCancel();
-
- /**
- * @see CVtEngDraw::BaseVerifyConfigL
- */
- void BaseVerifyConfigL();
-
- /**
- * @see CVtEngDraw::BaseRestartL
- */
- void BaseRestartL();
-
- /**
- * @see CVtEngDraw::BaseAbortNow
- */
- void BaseAbortNow();
-
- /**
- * @see CVtEngDraw::BaseStartDrawL
- */
- void BaseStartDrawL();
-
- /**
- * @see CVtEngDraw::BaseStopDraw
- */
- void BaseStopDraw();
-
- /**
- * @see CVtEngDraw::BaseSetConfigL
- */
- void BaseSetConfigL( const TVtEngRenderConfig& aConfig );
-
- /**
- * @see CVtEngDraw::BaseSetUIForegroundL
- */
- void BaseSetUIForegroundL( TBool aForeground );
-
- /**
- * @see CVtEngDraw::BaseVideoFrameSizeChangedL
- */
- void BaseVideoFrameSizeChangedL( const TSize& aTo );
-
- /**
- * @see CVtEngDraw::BaseRequestLastFrame
- */
- void BaseRequestLastFrame();
-
- /**
- * @see CVtEngDraw::Config
- */
- TVtEngRenderConfig& Config();
-
- private: // new methods
-
- /**
- * Handles all delayed calls.
- */
- void HandleDelayedCallsL();
-
- /**
- * Base construct implementation
- */
- void DoBaseConstructL();
-
- /**
- * Base start drawing implementation
- */
- void DoBaseStartDrawL();
-
- /**
- * Initialize posting surface implementation
- */
- void DoInitializePostingSurfaceL();
-
- /**
- * Update sink params implementation.
- */
- void DoUpdateSinkParamsL();
-
- /**
- * Updates sink params.
- */
- void UpdateSinkParamsL();
-
- /**
- * Checks if the alpha has been trashed on screen buffer (ETrue if it
- * has been trashed, EFalse otherwise).
- */
- TBool IsAlphaTrashed() const;
-
- /**
- * Sets clipping region (read from DSA).
- */
- void SetClipRegionL();
-
- /**
- * Initializes DP.
- */
- void InitializePostingSurfaceL();
-
- /**
- * Fills posting source params structure.
- */
- void GetPostingSourceParams(
- CPostingSurface::TPostingSourceParams& aParams ) const;
-
- /**
- * Fills posting params structure.
- */
- void GetPostingParams(
- CPostingSurface::TPostingParams& aParams ) const;
-
- /**
- * Returns ETrue if given format is supported, EFalse otherwise.
- */
- TBool SupportsFormat(
- const CPostingSurface::TPostingFormat& aFormat ) const;
-
- /**
- * Returns ETrue if given size is supported, EFalse otherwise.
- */
- TBool SupportsSize( const TSize& aSize ) const;
-
- /**
- * Returns ETrue if given rotation is supported,
- * EFalse otherwise.
- */
- TBool SupportsRotation(
- CPostingSurface::TRotationType aRotation ) const;
-
- /**
- * Returns ETrue if mirroring is supported, EFalse otherwise.
- */
- TBool SupportsMirroring() const;
-
- /**
- * Returns ETrue if scaling is supported, EFalse otherwise.
- */
- TBool SupportsScaling() const;
-
- /**
- * Returns ETrue if brightness controlling is supported,
- * EFalse otherwise.
- */
- TBool SupportsBrightness() const;
-
- /**
- * Returns ETrue if contrast controlling is supported,
- * EFalse otherwise.
- */
- TBool SupportsContrast() const;
-
- /**
- * Returns buffer size in bytes for given size and current posting
- * format.
- */
- TInt GetFrameBufferSize( const TSize& aTo ) const;
-
- /**
- * Recreates clipregion. May leave with KErrNoMemory.
- */
- void RecalculateClipRegionL();
-
- /**
- * Fixes rect for DP.
- */
- void FixRectForDP( TRect& aRect ) const;
-
- /**
- * Fills sink parameters.
- */
- void GetSinkParams( TDisplaySinkParamsDP& aSinkParams );
-
- /**
- * Returns reference to sink.
- */
- MDisplaySink& DisplaySink();
-
- /**
- * Stores given frame buffer.
- */
- void StoreFrameBuffer( CPostingSurface::TPostingBuff* aPostingBuffer );
-
- /**
- * Creates frame buffer.
- */
- void CreateFrameBufferL( const TSize& aSize );
-
- /**
- * Async draw callback.
- */
- static TInt CallBack( TAny* aPtr );
-
- /**
- * Sets given buffer available to display sink.
- */
- void SetAvailableToSink( CPostingSurface::TPostingBuff* aBuffer );
-
- /**
- * Creates instance of posting surface.
- */
- CPostingSurface* CreatePostingSurfaceL();
-
- /**
- * Close the DP API library and free the allocated instance.
- */
- void CloseDPLibrary();
-
- /**
- * Loads DP API library.
- */
- void LoadDPLibraryL();
-
- /**
- * Converts YUV420 image to bitmap.
- */
- void Convert420ToVtImg( HBufC8* aSource, CVtImageBitmap& aTarget );
-
- /**
- * Converts YUV422 image to bitmap.
- */
- void Convert422ToVtImg( HBufC8* aSource, CVtImageBitmap& aTarget );
-
- /**
- * Updates Vt frame to frame observer.
- */
- void UpdateVtFrame();
-
- public: // From MVtImageScalerObserver.
-
- /**
- * @ see MVtImageScalerObserver.
- */
- virtual void ScalingFinished( TInt aError );
-
-
- private: // from CActive
-
- /**
- * Handles prepared bitmap from display sink.
- * @see CActive::RunL
- */
- void RunL();
-
- private: // from MVtEngBufferWaiterObserver
-
- /**
- * @see MVtEngBufferWaiterObserver::BufferReady
- */
- void BufferReady( CPostingSurface::TPostingBuff* aBuffer );
-
- /**
- * @see MVtEngBufferWaiterObserver::FetchError
- */
- void FetchError( TInt aError );
-
- private: // inner classes
-
- // Buffer class for storing buffer.
- NONSHARABLE_CLASS( TVtEngBuffer )
- {
- public:
-
- /**
- * C++ constructor
- */
- TVtEngBuffer();
-
- /**
- * Sets buffer
- */
- void Set( CPostingSurface::TPostingBuff* aBuffer );
-
- /**
- * Unsets buffer
- */
- void UnSet();
-
- /**
- * Returns ETrue if buffer is set
- */
- TBool IsSet() const;
-
- /**
- * Returns pointer reference to stored buffer.
- */
- CPostingSurface::TPostingBuff*& Buffer();
-
- private:
-
- // Pointer's pointer to buffer
- CPostingSurface::TPostingBuff* iBuffer;
- };
-
- // Waiter class for asynchronous events.
- NONSHARABLE_CLASS( CVtEngBufferWaiter ) : public CActive
- {
- public:
-
- /**
- * C++ constructor.
- */
- CVtEngBufferWaiter( CPostingSurface& aPostingSurface,
- MVtEngBufferWaiterObserver& aObserver );
-
- /**
- * Destructor, frees all resources allocated by this instance.
- */
- ~CVtEngBufferWaiter();
-
- /**
- * Fetch new buffer (also activates listening).
- */
- TInt FetchBuffer();
-
- private: // new methods
-
- /**
- * Activate buffer listening (also calls CActive::SetActive()).
- */
- void Activate();
-
- private: // from CActive
-
- /**
- * @see CActive::RunL()
- */
- void RunL();
-
- /**
- * @see CActive::DoCancel()
- */
- void DoCancel();
-
- private: // data
-
- // Posting surface instance (not owned)
- CPostingSurface* iPostingSurface;
-
- // BufferWaiter observer who gets informed about buffers
- MVtEngBufferWaiterObserver* iObserver;
- };
-
- private: // data
-
- // Posting surface instance
- CPostingSurface* iPostingSurface;
-
- // Posting capabilities
- CPostingSurface::TPostingCapab iPostingCaps;
-
- // Posting buffers
- TVtEngBuffer
- iBuffers[ MDisplaySink::EFirstBitmap + KVtEngMaxBuffers ];
-
- // Buffer waiter instance
- CVtEngBufferWaiter* iBufferWaiter;
-
- // Rendering configuration
- TVtEngRenderConfigDP iConfig;
-
- // Clipping region
- RRegion iClipRegion;
-
- // Frame buffer
- HBufC8* iFrameBuffer;
-
- // Selected posting format
- CPostingSurface::TPostingFormat iPostingFormat;
-
- // DP API DLL
- RLibrary* iDPLib;
-
- // Source image contains converted YUV frame
- CVtImageBitmap* iSource;
-
- // Target image contains scaled bitmap
- CVtImageBitmap* iTarget;
-
- // Image scaler instance
- CVtImageScaler* iImageScaler;
-
- // Clip region updated
- TBool iClipRegionUpdated;
-
- };
-
-#endif // CVTENGDRAWDP_H
\ No newline at end of file
--- a/vtengines/videoteleng/Inc/Media/CVtEngDrawDSA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +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: Remote video handling class.
-*
-*/
-
-
-
-#ifndef CVTENGDRAWDSA_H
-#define CVTENGDRAWDSA_H
-
-// INCLUDES
-
-#include "CVtEngRemoteVideo.h"
-#include "TVtEngRenderConfigDSA.h"
-
-// FORWARDS
-
-class TDisplaySinkParamsDSA;
-
-/**
-* Direct Screen Access drawer
-*
-* @lib videoteleng.lib
-* @since Series 60 3.2
-*/
-NONSHARABLE_CLASS( CVtEngDrawDSA ) : public CVtEngRemoteVideo::CVtEngDraw,
- public MVtEngScalerObserver
- {
- public: // constructor and destructor
-
- /**
- * Two-phased constructor.
- * @param aObserver call back interface to Display Sink
- * @return instance of CVtEngDrawDSA
- */
- static CVtEngDrawDSA* NewL( MDisplaySinkObserver* aObserver );
-
- // Destructor
- ~CVtEngDrawDSA();
-
- private: // construction
-
- /**
- * C++ constructor as private.
- * @param aObserver callback interface for Display Sink
- */
- CVtEngDrawDSA( MDisplaySinkObserver* aObserver );
-
- private: // from CVtEngDraw
-
- /**
- * @see CVtEngDraw::BaseConstructL
- */
- void BaseConstructL();
-
- /**
- * @see CVtEngDraw::CreateSinkL
- */
- MDisplaySink* CreateSinkL();
-
- /**
- * @see CVtEngDraw::BaseRefreshL
- */
- void BaseRefreshL();
-
- /**
- * @see CVtEngDraw::BaseRefreshBitmapsL
- */
- void BaseRefreshBitmapsL();
-
- /**
- * @see CVtEngDraw::BaseDoCancel
- */
- void BaseDoCancel();
-
- /**
- * @see CVtEngDraw::BaseVerifyConfigL
- */
- void BaseVerifyConfigL();
-
- /**
- * @see CVtEngDraw::BaseRestartL
- */
- void BaseRestartL();
-
- /**
- * @see CVtEngDraw::BaseAbortNow
- */
- void BaseAbortNow();
-
- /**
- * @see CVtEngDraw::BaseStartDrawL
- */
- void BaseStartDrawL();
-
- /**
- * @see CVtEngDraw::BaseStopDraw
- */
- void BaseStopDraw();
-
- /**
- * @see CVtEngDraw::BaseSetConfigL
- */
- void BaseSetConfigL( const TVtEngRenderConfig& aConfig );
-
- /**
- * @see CVtEngDraw::BaseSetUIForegroundL
- */
- void BaseSetUIForegroundL( TBool aForeground );
-
- /**
- * @see CVtEngDraw::BaseVideoFrameSizeChangedL
- */
- void BaseVideoFrameSizeChangedL( const TSize& );
-
- /**
- * @see CVtEngDraw::BaseRequestLastFrame
- */
- void BaseRequestLastFrame();
-
- /**
- * @see CVtEngDraw::Config
- */
- TVtEngRenderConfig& Config();
-
- private: // from CActive
-
- /**
- * Handles prepared bitmap from display sink.
- * @see CActive::RunL
- */
- void RunL();
-
- public: // from MVtEngScalerObserver
-
- /**
- * From MVtEngScalerObserver, this method is called when
- * scaling is finished.
- * @see MVtEngScalerObserver::ScalingCompleted
- */
- virtual void ScalingCompleted(
- CFbsBitmap* aBitmap, TInt aError );
-
- private: // New functions
-
- /**
- * Does the drawing.
- * @param aBitmap a bitmap to draw
- */
- void DrawBitmap( CFbsBitmap& aBitmap );
-
- /**
- * Fills TDisplaySinkParamsDSA struct
- */
- void GetSinkParams( TDisplaySinkParamsDSA& aSinkParams );
-
- private: // data
-
- // Bitmapts for remote video (double buffering).
- CFbsBitmap* iBitmap1;
- CFbsBitmap* iBitmap2;
-
- // Bitmap indexes indicating which.
- // bitmap was provided.
- MDisplaySink::TBitmapNo iBitmapNo;
-
- // If a bitmap has been set available.
- TBool iBitmapSetAvail;
-
- // VT image scaler
- MVtEngImageScaler* iImageScaler;
-
- // DSA configuration
- TVtEngRenderConfigDSA iConfig;
- };
-
-#endif // CVTENGDRAWDSA_H
\ No newline at end of file
--- a/vtengines/videoteleng/Inc/Media/CVtEngDrawNGA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,455 +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: Class for NGA Drawer.
-*
-*/
-
-
-#ifndef CVTENGDRAWNGA_H
-#define CVTENGDRAWNGA_H
-
-// INCLUDES
-//#include <videorenderer.h>
-#include <Posting_Surface.h>
-#include <posting_surface_factory.h>
-#include <pixelformats.h>
-//#include <videoframebuffer.h>
-// GCE Surface
-#include "graphics/surfacemanager.h"
-#include "graphics/surface.h"
-#include "graphics/surfaceupdateclient.h"
-
-#include "CVtEngRemoteVideo.h"
-#include "TVtEngRenderConfigNGA.h"
-
-// FORWARDS
-
-class TDisplaySinkParamsNGA;
-
-// CONSTANTS AND MACROS
-const TInt KVtEngMaxSurfaceBuffers = 2;
-
-NONSHARABLE_CLASS( TVTSurfaceBuffer )
- {
- public:
-
- /**
- * C++ constructor
- */
- TVTSurfaceBuffer( TUint8* aBuffer = NULL, TInt aSurfaceNo = KErrNotFound );
-
- /**
- * Returns pointer reference to stored buffer.
- */
- TUint8* &Buffer();
-
- /**
- * Returns surface no..
- */
- TInt SurfaceNo();
-
- void Set( TUint8* aBuffer, TInt aSurfaceNo );
-
- void UnSet();
-
- private:
-
- // Pointer's pointer to buffer
- TUint8* iBuffer;
- TInt iSurfaceBufferNo;
- };
-
-/**
-* Buffer waiter observer API
-*
-* @lib videoteleng.lib
-* @since Series 60 MCL
-*/
-NONSHARABLE_CLASS( MVtEngNGABufferWaiterObserver )
- {
- public: // New methods
-
- /**
- * Buffer fetched without errors.
- * @param aBuffer Pointer to fetched buffer.
- */
- virtual void BufferReadyL(
- TVTSurfaceBuffer* aBuffer ) = 0;
-
- /**
- * Buffer fetch error.
- * @param aError Error code.
- */
- virtual void FetchError( TInt aError ) = 0;
- };
-
-
-/**
-* DNGA drawer
-*
-* @lib videoteleng.lib
-* @since Series 60 MCL
-*/
-NONSHARABLE_CLASS( CVtEngDrawNGA ) :
- public CVtEngRemoteVideo::CVtEngDraw,
- public MVtEngNGABufferWaiterObserver
- {
-
- public: // constructor and destructor
-
- /**
- * Two-phased constructor.
- * @param aObserver call back interface to Display Sink
- * @return instance of CVtEngDrawDSA
- */
- static CVtEngDrawNGA* NewL( MDisplaySinkObserver* aObserver );
-
- // Destructor
- ~CVtEngDrawNGA();
-
- private: // construction
-
- /**
- * C++ constructor as private.
- * @param aObserver callback interface for Display Sink
- */
- CVtEngDrawNGA( MDisplaySinkObserver* aObserver );
-
- private: // from CVtEngDraw
-
- /**
- * @see CVtEngDraw::BaseConstructL
- */
- void BaseConstructL();
-
- /**
- * @see CVtEngDraw::CreateSinkL
- */
- MDisplaySink* CreateSinkL();
-
- /**
- * @see CVtEngDraw::BaseRefreshL
- */
- void BaseRefreshL();
-
- /**
- * @see CVtEngDraw::BaseRefreshBitmapsL
- */
- void BaseRefreshBitmapsL();
-
- /**
- * @see CVtEngDraw::BaseDoCancel
- */
- void BaseDoCancel();
-
- /**
- * @see CVtEngDraw::BaseVerifyConfigL
- */
- void BaseVerifyConfigL();
-
- /**
- * @see CVtEngDraw::BaseRestartL
- */
- void BaseRestartL();
-
- /**
- * @see CVtEngDraw::BaseAbortNow
- */
- void BaseAbortNow();
-
- /**
- * @see CVtEngDraw::BaseStartDrawL
- */
- void BaseStartDrawL();
-
- /**
- * @see CVtEngDraw::BaseStopDraw
- */
- void BaseStopDraw();
-
- /**
- * @see CVtEngDraw::BaseSetConfigL
- */
- void BaseSetConfigL( const TVtEngRenderConfig& aConfig );
-
- /**
- * @see CVtEngDraw::BaseSetUIForegroundL
- */
- void BaseSetUIForegroundL( TBool aForeground );
-
- /**
- * @see CVtEngDraw::BaseVideoFrameSizeChangedL
- */
- void BaseVideoFrameSizeChangedL( const TSize& );
-
- /**
- * @see CVtEngDraw::BaseRequestLastFrame
- */
- void BaseRequestLastFrame();
-
- /**
- * @see CVtEngDraw::Config
- */
- TVtEngRenderConfig& Config();
-
- private: // New mothod
-
- /**
- * Returns reference to sink.
- */
- MDisplaySink& DisplaySink();
-
- /**
- * Base construct implementation
- */
- void DoBaseConstructL();
-
- /**
- * Base start drawing implementation
- */
- void DoBaseStartDrawL();
-
- /**
- * Sets given buffer available to display sink.
- */
- void SetAvailableToSink( TVTSurfaceBuffer* aBuffer );
-
- /**
- * Update sink params implementation.
- */
- void DoUpdateSinkParamsL();
-
- /**
- * Updates sink params.
- */
- void UpdateSinkParamsL();
-
- /**
- * Create surface
- */
- void CreateSurfaceL();
-
- /**
- * Create surface implementation
- */
- void DoCreateSurfaceL();
-
- static TInt SurfaceBuffer0Ready(TAny* aAny);
-
- static TInt SurfaceBuffer1Ready(TAny* aAny);
-
- TBool DoSurfaceBuffer0Ready();
-
- TBool DoSurfaceBuffer1Ready();
-
- public: //from MVtEngNGABufferWaiterObserver
-
- /**
- * @see MVtEngNGABufferWaiterObserver::BufferReadyL
- */
- void BufferReadyL( TVTSurfaceBuffer* aBuffer );
-
- /**
- * @see MVtEngNGABufferWaiterObserver::FetchError
- */
- void FetchError( TInt aError );
-
-
- private:
- /**
- * @see CActive::RunL
- */
- void RunL();
-
- private: // New functions
- /**
- * Fills TDisplaySinkParamsNGA struct
- */
- void GetSinkParams( TDisplaySinkParamsNGA& aSinkParams );
-
- private: //inner class
-
- // Buffer class for storing buffer.
- NONSHARABLE_CLASS( TVtEngBuffer )
- {
- public:
-
- /**
- * C++ constructor
- */
- TVtEngBuffer();
-
- /**
- * Sets buffer
- */
- void Set( TVTSurfaceBuffer* aBuffer );
-
- /**
- * Unsets buffer
- */
- void UnSet();
-
- /**
- * Returns ETrue if buffer is set
- */
- TBool IsSet() const;
-
- /**
- * Returns pointer reference to stored buffer.
- */
- TVTSurfaceBuffer* &SurfaceBuffer();
-
- /**
- * Returns pointer reference to stored buffer.
- */
- TUint8* &Buffer();
-
- private:
-
- // Pointer's pointer to buffer
- TUint8* iBuffer;
- TVTSurfaceBuffer* iSurfaceBuffer;
- };
-
- // Waiter class for asynchronous events.
- NONSHARABLE_CLASS( CVtEngBufferWaiter ) : public CActive
- {
- public:
-
- /**
- * C++ constructor.
- */
- CVtEngBufferWaiter( //CVideoRenderer& aVideoRenderer,
- MVtEngNGABufferWaiterObserver& aObserver );
-
- /**
- * Destructor, frees all resources allocated by this instance.
- */
- ~CVtEngBufferWaiter();
-
- /**
- * Fetch new buffer (also activates listening).
- */
- TInt FetchBuffer();
-
- /**
- * One SurfaceBuffer is available
- */
- void BufferAvailable(TVTSurfaceBuffer& aBuffer);
-
- private: // new methods
-
- /**
- * Activate buffer listening (also calls CActive::SetActive()).
- */
- void Activate();
-
- private: // from CActive
-
- /**
- * @see CActive::RunL()
- */
- void RunL();
-
- /**
- * @see CActive::DoCancel()
- */
- void DoCancel();
-
- private: // data
-
- // Video frame renderer (not owned)
- //CVideoRenderer* iVideoRenderer;
-
- // BufferWaiter observer who gets informed about buffers
- MVtEngNGABufferWaiterObserver* iObserver;
-
- //Avaiable surface buffers
- TVTSurfaceBuffer* iBuffers[KVtEngMaxSurfaceBuffers];
-
- };
-
- // Surface Buffer Active Call back.
- NONSHARABLE_CLASS( CActiveCallBack ) : public CActive
- {
- public:
- CActiveCallBack( TCallBack aCallBack, TInt aPriority): CActive(aPriority), iCallBack(aCallBack)
- {};
- CActiveCallBack();
-
- public: // Functions from base classes
- void SetActive()
- {
- CActive::SetActive();
- };
- void RunL()
- {
- iCallBack.CallBack();
- };
- void DoCancel()
- {};
-
- private: // Data
- TCallBack iCallBack;
- };
-
- private: // data
-
- //Video frame renderer
- //CVideoRenderer *iVideoRenderer;
- RSurfaceManager* iSurfaceManager;
- RSurfaceUpdateSession iSurfaceUpdateSession;
- //Surface pixel format
- TUidPixelFormat iSurfaceFormat;
-
- RChunk* iSurfaceChunk;
-
- TInt8* iChunkBuffer0;
-
- TInt8* iChunkBuffer1;
-
- TVTSurfaceBuffer iSurfaceBuffer0;
-
- TVTSurfaceBuffer iSurfaceBuffer1;
-
- //CActiveCallBack* iSurfaceBufferAo0;
-
- //CActiveCallBack* iSurfaceBufferAo1;
-
- CActiveCallBack* iCallBackTable[KVtEngMaxSurfaceBuffers];
-
- //NGA surface id
- TSurfaceId iSurfaceId;
-
- //NGA surface has created
- TBool iSurfaceCreated;
-
- // Buffer waiter instance
- CVtEngBufferWaiter* iBufferWaiter;
-
- // Surface buffers
- TVtEngBuffer
- iSurfaceBuffers[ MDisplaySink::EFirstBitmap + KVtEngMaxSurfaceBuffers ];
-
- TSglQue<TVtEngBuffer> iWaitingBuffers; // buffers waiting to be submitted
- TBool iSubmitPending;
-
- // Configuration
- TVtEngRenderConfigNGA iConfig;
-
- // Time stamp for surface update
- TTimeStamp iTimeStamp;
- };
-
-#endif // CVTENGDRAWDSA_H
--- a/vtengines/videoteleng/Inc/Media/CVtEngDtmfHandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 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: DTMF handler
-*
-*/
-
-
-
-#ifndef CVTENGDTMFHANDLER_H
-#define CVTENGDTMFHANDLER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <mvtprotocolhandler.h>
-#include "CVtEngDtmfState.h"
-#include "CVtEngOperation.h"
-#include "MVtEngDtmfHandler.h"
-
-// FORWARD DECLARATIONS
-class MVTUserInput;
-
-// CLASS DECLARATION
-
-/**
-* Base class for data types
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngDtmfHandler ) : public CBase, public MVtEngDtmfHandler
- {
- public: // Data structures
- enum TUIISupport
- {
- EBasicString = 2,
- EIA5String = 4,
- EGeneralString = 8,
- EDTMFString = 16
- };
-
- public: // constructor and destructor
-
- /**
- * Two-phased constructor.
- * @param aH324Config H324 configure interface
- * @return dtmf handler
- */
- static CVtEngDtmfHandler* NewL(
- MVtH324ConfigCommand& aH324Config );
-
- /**
- * Destructor
- */
- ~CVtEngDtmfHandler();
-
- public: // from MVtEngDtmfHandler
-
- /**
- * @see MVtEngDtmfHandler
- */
- virtual void HandleL( CVtEngOperation& aOp );
-
- /**
- * @see MVtEngDtmfHandler
- */
- virtual CVtEngDtmfState& ActivateState(
- MVtEngDtmfHandler::TVtEngDtmfState aNewState );
-
- /**
- * @see MVtEngDtmfHandler
- */
- virtual void SendComplete( TInt aError );
-
- /**
- * @see MVtEngDtmfHandler
- */
- virtual MVTUserInput& ReserveProtoDtmfL(
- const TVtEngDtmfTone& aTone );
-
- /**
- * @see MVtEngDtmfHandler
- */
- virtual void ReleaseProtoDtmf();
-
- /**
- * @see MVtEngDtmfHandler
- */
- virtual TBool CheckCommandId( TInt aCheckCommandId ) const;
-
- /**
- * @see MVtEngDtmfHandler
- */
- virtual void StoreCommandId( TInt aStoreCommandId );
-
-
- public: // Protocol DTMF Support
-
- /**
- * Specifies the UII support
- * @param aValue the support to be used
- */
- void SetUIISupport( TUIISupport aValue );
-
- /**
- * Gets the current UII support
- * @return UII support
- */
- TUIISupport GetUIISupport() const;
-
- private: // constructors
-
- /**
- * C++ constructor
- */
- CVtEngDtmfHandler( MVtH324ConfigCommand& aH324Config );
-
- /**
- * 2nd phase constructor
- */
- void ConstructL();
-
- private: // new functions
-
- /**
- * Handles completion of DTMF sending, leavable method.
- */
- void HandleSendCompleteL( TInt aError );
-
- /**
- * Creates a state instance
- * @param EVtDtmfStateIdle, EVtDtmfStateSending or EVtDtmfStateBuffered
- */
- void CreateStateL( TInt aState );
-
- private: // member data
-
- // DTMF states
- CArrayPtrFlat<CVtEngDtmfState>* iDtmfStates;
-
- // current state index
- TVtEngDtmfState iCurrentState;
-
- // protocol tone
- MVTUserInput* iProtoDtmf;
-
- // H324 interface
- MVtH324ConfigCommand& iH324Config;
-
- // Indicates supported UII type:
- // 16 DTMF
- // 8 General String
- // 4 IA5 String
- // 2 Basic string
- TUIISupport iUIISupport;
-
- // DTMF command ID returned by H324 interface for last tone
- TInt iIssuedDtmfCommandId;
- };
-
-
-#endif CVTENGDTMFHANDLER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/CVtEngImageScaler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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: Scaler for bitmaps.
-*
-*/
-
-
-
-#ifndef CVTENGIMAGESCALER_H
-#define CVTENGIMAGESCALER_H
-
-// INCLUDES
-#include "MVtEngImageScaler.h"
-#include <cvtimagescaler.h>
-
-// FORWARD DECLARATIONS
-class MVtEngScalerObserver;
-class CVtImageScaler;
-class CVtImageBitmap;
-
-/**
-* Image scaler implementation class.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.8
-*/
-NONSHARABLE_CLASS( CVtEngImageScaler ) : public CBase,
- public MVtImageScalerObserver,
- public MVtEngImageScaler
- {
- public: // constructor and destructor
-
- /**
- * Two-phased constructor.
- * @param aObserver scaling finished callback.
- * @return scaler
- */
- static MVtEngImageScaler* NewL(
- MVtEngScalerObserver& aObserver );
-
- /**
- * Destructor
- */
- virtual ~CVtEngImageScaler();
-
- private: // constructor
-
- /**
- * C++ constructor.
- * @param aObserver scaling finished callback.
- */
- CVtEngImageScaler(
- MVtEngScalerObserver& aObserver );
-
-
- /**
- * Symbian constructor that may leave.
- */
- void ConstructL();
-
- public: // From MVtEngImageScaler.
-
- /**
- * @see MVtEngImageScaler.
- */
- virtual void ScaleL(
- TInt aSourceIndex );
-
- /**
- * @see MVtEngImageScaler
- */
- virtual TBool ConfigureL(
- TDisplayMode aDisplayMode,
- TSize aSize,
- TInt aSourceHandle1,
- TInt aSourceHandle2 );
-
- /**
- * @see MVtEngImageScaler.
- */
- virtual void Release();
-
- /**
- * @see MVtEngImageScaler.
- */
- virtual TInt Cancel();
-
- public: // From MVtImageScalerObserver.
-
- /**
- * @ see MVtImageScalerObserver.
- */
- virtual void ScalingFinished( TInt aError );
-
- private:
- /**
- * EFirstBitmap
- * Use the first bitmap.
- * ESecondBitmap
- * Use the second bitmap.
- */
- enum
- {
- EFirstBitmap = 0,
- ESecondBitmap = 1
- };
-
- /**
- * Fetches the used scaling method from locally.
- * variated properties, and stores it into iScalingMethod.
- */
- void GetScalingMethodL();
-
- private:
-
- // Observer receiving scaled bitmaps.
- MVtEngScalerObserver& iObserver;
-
- // Actual component doing the scaling.
- CVtImageScaler* iVtScaler;
-
- // Target bitmaps.
- RPointerArray<CVtImageBitmap> iTargets;
-
- // Source bitmaps.
- RPointerArray<CVtImageBitmap> iSources;
-
- // Bitmap index in targets.
- TInt iTargetBitmapInUse;
-
- // Display mode.
- TDisplayMode iMode;
-
- // Scaled size.
- TSize iSize;
-
- // Method of scaling
- CVtImageScaler::TQuality iScalingMethod;
- };
-
-#endif // CVTENGIMAGESCALER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/CVtEngLocalVideo.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1475 +0,0 @@
-/*
-* Copyright (c) 2004-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: Local video handler.
-*
-*/
-
-
-#ifndef CVTENGLOCALVIDEO_H
-#define CVTENGLOCALVIDEO_H
-
-// INCLUDES
-#include <e32base.h>
-#include <capivideosource.h>
-#include "TVtEngRendering.h"
-#include "TVtEngRenderingDSA.h"
-#include "TVtEngRenderingDP.h"
-#include "TVtEngRenderingNGA.h"
-#include "VtEngEvents.h"
-#include "MVtEngMedia.h" //TMediaSource
-#include "MVtEngSettingPSObserver.h"
-#include "CVTEngPubSubsListener.h"
-#include "mvtengcamerapreferencesobserver.h"
-
-// FORWARD DECLARATIONS
-class CVSDataProvider;
-class CVtEngMediaHandler;
-class CVtEngCameraPreferences;
-
-// CLASS DECLARATION
-
-/**
-* Local (uplink) video handling.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.6
-*/
-NONSHARABLE_CLASS( CVtEngLocalVideo ) :
- public CActive,
- public MVSDataProviderObserver,
- public MVSDataSourceObserver,
- public MVSControllerObserver,
- public MVtEngSettingPSObserver
- {
- public: // Constructors and destructor
-
- /**
- * Symbian two-phase constructor.
- * @param aObserver callback interface to Media Handler
- * @return local video instance
- */
- static CVtEngLocalVideo* NewL(
- CVtEngMediaHandler& aObserver );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngLocalVideo();
-
- public: // Public data structures
- enum TVtEngProviderType
- {
- KVtEngProviderUndefined = -1,
- /** Blank imnage provider */
- KVtEngProviderNone = 0,
- /** Primary camera provider */
- KVtEngProviderCam1,
- /** Secondary camera provider */
- KVtEngProviderCam2,
- /** GS image provider */
- KVtEngProviderImage,
- /** ? */
- KVtEngProviderTempImage,
- /** Still share provider */
- KVtEngProviderShareImage,
- /** Video share provider */
- KVtEngProviderShareVideoClip,
- /** Default image provider */
- KVtEngProviderDefaultStillImage
- };
-
- public: // from MVSDataProviderObserver
-
- /**
- * @see MVSDataProviderObserver::vsProviderError
- */
- virtual void vsProviderError( TInt aError );
-
- /**
- * @see MVSDataProviderObserver::vsProviderReady
- */
- virtual void vsProviderReady();
-
- /**
- * @see MVSDataProviderObserver::vsViewFinderFrameReady
- */
- virtual void vsViewFinderFrameReady( CFbsBitmap& aFrame );
-
- public: // from MVSDataSourceObserver
-
- /**
- * @see MVSDataSourceObserver::vsProviderSwitchDone
- */
- virtual void vsProviderSwitchDone( CVSDataProvider* aOldProvider );
-
- public: // from MVSControllerObserver
-
- /**
- * @see MVSControllerObserver::vsProvidersChanged
- */
- void vsProvidersChanged( TBool aAttached );
-
- public: // From MVtEngSettingPSObserver.
-
- /** @see MVtEngSettingPSObserver */
- virtual void HandleNotifyPSL( const TUid aUid,
- const TInt& aKey, const TRequestStatus& aStatus );
-
- public: // New functions
-
- /**
- * Pauses frame sending from video source (this method is called when
- * VT is initializing and video source has not yet been added to stack)
- *
- */
- void PauseVideoSending();
-
- /**
- * Resumes frame sending from video source.
- *
- */
- void ResumeVideoSending();
-
- /**
- * Tells if the provider has started viewfinder.
- * @return ETrue if started
- */
- TBool ViewFinderStarted() const;
-
- /**
- * Tells if the provider has been frozen.
- * @return ETrue if frozen
- */
- TBool IsFrozen() const;
-
- /**
- * Creates an audio source.
- * @return an error code
- */
- TInt CreateAudioSource();
-
- /**
- * Sets configuration for view finder.
- * @param aParams view finder configuration
- */
- void SetViewFinderParameters( const TVtEngRenderingOptions& aParams );
-
- /**
- * Sets DSA configuration for view finder.
- * @param aDSA DSA configuration
- */
- void SetViewFinderParameters( const TVtEngRenderingOptionsDSA& aDSA );
-
- /**
- * Sets DP configuration for view finder.
- * @param aDP DP configuration
- */
- void SetViewFinderParameters( const TVtEngRenderingOptionsDP& aDP );
-
- /**
- * Sets default still image.
- */
- void SetDefaultStillImageL();
-
- /**
- * Sets still image or none.
- * @param aSetAsActive sets as active provider
- */
- void SetStillImageL( TBool aSetAsActive );
-
- /**
- * Initializes default blank provider.
- */
- void InitializeL();
-
- /**
- * Selects camera1, camera2, still image or none as source.
- * @param aSource video source
- * @return ETrue if selecting started
- */
- TBool SelectSourceL( TVtEngProviderType aSource );
-
- /**
- * Returns currently active video provider.
- * @return provider type
- */
- TVtEngProviderType ActiveProvider( ) const;
-
- /**
- * Starts view finder if it was started earlier and current state is
- * ELocReady.
- */
- void StartViewFinderIfWasStartedL();
-
- /**
- * Starts view finder. Uses either DSA or WS depending on
- * which configuration is active.
- * @param aClientRequest request issued by user
- */
- void StartViewFinderL( TBool aClientRequest = EFalse );
-
- /**
- * Stops view finder.
- * @param aClientRequest request issued by user
- */
- void StopViewFinder( TBool aClientRequest = EFalse );
-
- /**
- * Freeze video sending (i.e. start sending last frame only).
- */
- void FreezeL();
-
- /**
- * Unfreeze video sending (i.e. resume sending).
- */
- void UnfreezeL();
-
- /**
- * Checks that all other providers don't have
- * view finder active and stops if found.
- * @param aProvider provider that should not be stopped
- */
- void CheckOthersStopped( const CVSDataProvider& aProvider );
-
- /**
- * Returns video source.
- * @return video source
- */
- MVTVideoSource* Source() const;
-
- /**
- * Returns audio source.
- * @return audio source
- */
- MVTAudioSource* AudioSource() const;
-
- /**
- * Gets media state.
- * @param aActiveMedia returns active TMediaType
- * @return Symbian OS error code
- */
- TInt GetMediaState( TInt& aActiveMedia );
-
- /**
- * Gets source type.
- * @return media source type
- */
- MVtEngMedia::TMediaSource GetMediaSource();
-
- /**
- * Gets source capabilities.
- * @param aCaps capability of providers
- * @return Symbian OS error code
- */
- TInt GetSourceCaps( TInt& aCaps );
-
- /**
- * Sets boolean to indicate if the provider is to be initialized only.
- * Selected camera is not necessary activated. If current media is
- * other than camera, initialization can be done on the background.
- * @param aInitOnly boolean value stating if to initialize only
- */
- void InitializeOnly( TBool aInitOnly = ETrue );
-
- /**
- * Sets boolean to indicate if the provider is to be initialized only.
- * @param aInitOnly boolean value stating if to initialize only
- */
- void InitializeOnlyEx( TBool aInitOnly = ETrue );
-
- /**
- * Indicates if camera provider is initialized.
- * @param aId provider ID
- * @param aInitialized
- * @return Symbian OS error code
- */
- TInt IsInitialized( MVtEngMedia::TCameraId aId, TBool& aInitialized );
-
- /**
- * Gets camera info.
- * @param TCameraId camera ID
- * @param aInfo camera info
- * @return Symbian OS error code
- */
- TInt GetCameraInfo( MVtEngMedia::TCameraId aId,
- MVtEngMedia::TCameraInfo& aInfo );
-
- /**
- * Gets current digital zoom step (Factor in VS camera terminology).
- * @param aCurrentStep current zoom step
- * @return Symbian OS error code
- */
- TInt GetDigitalZoomFactor( TInt& aCurrentStep );
-
- /**
- * Gets maximum digital zoom value that may be passed to camera.
- * @param aMaxZoomStep maximum zoom step
- * @return Symbian OS error code
- */
- TInt GetMaxDigitalZoomStep( TInt& aMaxZoomStep );
-
- /**
- * Gets number of major zoom level leaps.
- * One to maximum digital zoom steps plus one.
- * Less than or equal to maximum digital zoom steps plus one.
- * @param aCount number of leaps
- * @param aProviderSupplied use original or mapped
- * @return Symbian OS error code
- */
- TInt GetMajorDigitalZoomStepCount( TInt& aCount,
- TBool aProviderSupplied = EFalse );
-
- /**
- * Maps major zoom leap step to corresponding step index.
- * @param aIndex major zoom step
- * @param aStep zoom step
- */
- void GetMajorDigitalZoomStep( const TInt aIndex, TInt& aStep );
-
- /**
- * Sets video provider's digital zoom step.
- * @param aDigitalZoomFactor step
- */
- void SetDigitalZoomFactorL( TInt aDigitalZoomFactor );
-
- /**
- * Gets video provider's freeze support.
- * @param aFreezeSupported Freeze support status
- * @return KErrNotReady if provider not initialized.
- */
- TInt GetFreezeSupported( TBool& aFreezeSupported ) const;
-
- /**
- * Returns ETrue if it is ok to freeze provider.
- */
- TBool OkToFreeze() const;
-
- /**
- * Returns ETrue if it is ok to unfreeze provider.
- */
- TBool OkToUnfreeze() const;
-
- /**
- * Sets audio as muted.
- */
- void Mute();
-
- /**
- * Resumes audio output.
- */
- void UnMute();
-
- /**
- * Sets UI foreground state (i.e. is the Application
- * current active application or not).
- * @param aForeground ETrue if the VT application is
- * in foreground, EFalse otherwise.
- */
- void SetUIForeground( TBool aForeground );
-
- /**
- * Gets current media object sharing state. Only local video related
- * checks do here. Connection issues have been checked by
- * the caller.
- * @param aObjectSharingState On return contains current media object
- * sharing state. @see MVtEngMedia::TShareObjectState.
- */
- void GetObjectSharingState(
- MVtEngMedia::TShareObjectState& aObjectSharingState ) const;
-
- /**
- * Start Image sharing initialization.
- */
- void InitializeShareImageL(
- const MVtEngMedia::TShareObjectImageParameters& aParameters,
- TBool& aFirstTime );
-
- /**
- * Cancel Image sharing initialization.
- */
- void CancelInitializeShareImage();
-
- /**
- * Start Image sharing.
- */
- void StartShareImageL();
-
- /**
- * Stop Image sharing.
- */
- void StopShareImageL();
-
- /**
- * Report error.
- */
- void ShareError( TInt aError );
-
- /**
- * Returns share's stored media source.
- */
- TVtEngProviderType ShareStoredSource() const;
-
- /**
- * General settings changed.
- */
- void SettingsChanged();
-
- /**
- * Creates camera preferences extension
- * @since S60 v3.2
- * @return pointer to extension
- * @exeption Leaves if creation fails
- */
- CVtEngCameraPreferences* CreateCameraPreferencesL();
-
- /**
- * Called when prepare camera has been handled in media handler.
- */
- void SetIsPrepareCameraCalled( TBool aCalled );
-
- /**
- * Returns ETrue if prepare camera has been handled in media handler,
- * EFalse otherwise.
- */
- TBool IsPrepareCameraCalled() const;
-
- /**
- * Reinitializes camera if onboard camera is being used as a provider.
- */
- void HandleLayoutChangeL();
-
- /**
- * Returns ETrue if delayed select is pending.
- */
- TBool IsDelayedSelectPending() const;
-
- /**
- * Completes operation to mediahandler.
- */
- void CompleteOperation( const TInt aResult );
-
- /**
- * Called when video channel is opened.
- */
- void VideoChannelOpenedL();
-
- private: // constructors
-
- /**
- * C++ constructor.
- * @param aObserver callback interface to Media Handler
- */
- CVtEngLocalVideo(
- CVtEngMediaHandler& aObserver );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( );
-
- /**
- * Async callback method
- */
- static TInt CallBackFunc( TAny* aPtr );
-
- /**
- * Returns result.
- */
- TInt Result() const;
-
- /**
- * Sets result.
- */
- void SetResult( const TInt aResult );
-
- private: // Rendering configuration
-
- /**
- * Options for window server rendering.
- * iObserver callback interface
- * iSize VF image size
- */
- struct TOptions
- {
- MVtEngFrameObserver* iObserver;
- TSize iSize;
- };
-
- /**
- * Direct screen access options.
- * iWsSession windor server session
- * iWsSD screen device
- * iWindow handle to server based window
- * iRect iRect window size
- * iClipRect drawing size
- */
- struct TDsaOptions
- {
- RWsSession* iWs;
- CWsScreenDevice* iWsSD;
- RWindowBase* iWindow;
- TRect iRect;
- TRect iClipRect;
- };
-
- /**
- * Internal state of a video provider.
- */
- enum TProviderState
- {
- /** initial state */
- EUndefined = KErrNone,
- /** never deleted */
- EPermanent,
- /** to be deleted when another provider selected */
- EFading,
- /** waiting for blank provider switch */
- EWaiting,
- /** changing still image */
- ERefreshing
- };
-
- /**
- * Provider information.
- */
- NONSHARABLE_CLASS( TProviderItem ) :
- public MVtEngCameraPreferencesObserver
- {
- public:
-
- /**
- * C++ constructor
- */
- TProviderItem();
-
- /**
- * Destructor
- */
- ~TProviderItem();
-
- /**
- * Sets zoom factor to resetted state.
- */
- void ResetStoredValues();
-
- /**
- * Tries to restore preferences.
- */
- TInt RestoreZoomFactor();
-
- /**
- * Tries to restore preferences.
- */
- TInt RestorePreferences();
-
- public:
- // pointer to provider
- CVSDataProvider* iProvider;
-
- // provider type
- TVtEngProviderType iType;
-
- // provider initialized
- TBool iInitialized;
-
- // provider has errors
- TInt iErrorCode;
-
- // state of a provider
- TProviderState iProviderState;
-
- // Stored zoom value
- TInt iStoredZoomFactor;
-
- // Error code setting zoom factor
- TInt iZFErr;
-
- public: // MVtEngCameraPreferencesObserver
-
- /**
- * @see MVtEngCameraPreferencesObserver::Attach
- */
- void Attach( MVtEngCameraPreferences& aCamPrefs );
-
- /**
- * @see MVtEngCameraPreferencesObserver::ColorToneUpdated
- */
- void ColorToneUpdated(
- MVtEngCameraPreferences::TColorTone aColorTone );
-
- /**
- * @see MVtEngCameraPreferencesObserver::WhiteBalanceUpdated
- */
- void WhiteBalanceUpdated(
- MVtEngCameraPreferences::TWhiteBalance aWhiteBalance );
-
- /**
- * @see MVtEngCameraPreferencesObserver::BrightnessUpdated
- */
- void BrightnessUpdated( TInt aBrightness );
-
- /**
- * @see MVtEngCameraPreferencesObserver::ContrastUpdated
- */
- void ContrastUpdated( TInt aContrast );
-
- /**
- * @see MVtEngCameraPreferencesObserver::Detach
- */
- void Detach( MVtEngCameraPreferences& aCamPrefs );
-
- public:
-
- /**
- * Detach from preference and reset pointer.
- */
- void DetachFromCameraPreferences();
-
- private:
-
- // Pointer to camera preferences object this provider item is
- // attached to
- MVtEngCameraPreferences* iCamPrefs;
-
- // Stored color tone value
- MVtEngCameraPreferences::TColorTone iColorTone;
-
- // Error code reading color tone value
- TInt iCtErr;
-
- // Stored white balance
- MVtEngCameraPreferences::TWhiteBalance iWhiteBalance;
-
- // Error code reading white balance value
- TInt iWbErr;
-
- // Stored brightness
- TInt iBrightness;
-
- // Error code reading brightness value
- TInt iBrErr;
-
- // Stored contrast
- TInt iContrast;
-
- // Error code reading contrast value
- TInt iCrErr;
-
- // ETrue if Attach is called first time
- TBool iFirstTime;
-
- };
-
- /**
- * Inner class for hiding image sharing details.
- */
- NONSHARABLE_CLASS( CVtEngShareImage ) : public CBase
- {
- private: // enumerations
-
- /**
- * Media object sharing internal state.
- */
- enum TState
- {
- EStopped,
- EInitializing,
- ESharing
- };
-
- public: // New public methods
-
- /**
- * Constructor.
- */
- static CVtEngShareImage* NewL( CVtEngLocalVideo& aLocalVideo );
-
- /**
- * C++ destructor.
- */
- ~CVtEngShareImage();
-
- /**
- * Start initialization of image sharing.
- * @param aParameters Image sharing parameters (from UI)
- * @param aCurrent Currently active provider's type.
- * @param aFirstTime After call ETrue if this call was first to
- * share initialize, EFalse otherwise.
- * @exception May leave with KErrNotReady already initializing. May
- * also leave with system wide error code if something goes wrong
- * during provider initialization.
- */
- void InitializeL(
- const MVtEngMedia::TShareObjectImageParameters& aParameters,
- TVtEngProviderType aCurrent,
- TBool& aFirstTime );
-
- /**
- * Cancel sharing initialized image.
- */
- void CancelInitialize();
-
- /**
- * Start sharing initialized image.
- * @exception May leave with KErrNotReady if not initialized. May
- * also leave with system wide error code if something goes wrong
- * during provider swap.
- */
- void ShareL();
-
- /**
- * Stop sharing image.
- * @exception May leave with KErrNotReady if not sharing. May also
- * leave with system wide error code if something goes wrong during
- * provider swap.
- */
- void StopL();
-
- /**
- * An error happened during initialization, sharing or stopping.
- * @param aError Error reason.
- */
- void Error( TInt aError );
-
- /**
- * Returns stored source from sharer.
- * @return Stored source (source that was selected before share).
- */
- TVtEngProviderType StoredSource() const;
-
- /**
- * Get sharing state.
- * @param aObjectSharingState On return contains current object
- * sharing state.
- */
- void GetObjectSharingState(
- MVtEngMedia::TShareObjectState& aObjectSharingState ) const;
-
- /**
- * Check whether share is being initialized or not.
- * @return ETrue if share is being initialized EFalse otherwise.
- */
- TBool IsInitializingShare() const;
-
- /**
- * Called when General settings have been changed.
- */
- void SettingsChanged();
-
- /**
- * Called when vsProviderSwitchDone() is called to local video.
- */
- void ProviderSwitchDone( CVSDataProvider* aOldProvider );
-
- /**
- * Called when camera change event is received from PS.
- */
- void NotifyCameraChanged( const TVtEngProviderType& aProviderType );
-
- private: // New private methods
-
- /**
- * C++ constructor.
- */
- CVtEngShareImage( CVtEngLocalVideo& aLocalVideo );
-
- /**
- * 2nd constructor, may leave.
- */
- void ConstructL();
-
- /**
- * Get image sharing parameters.
- * @return Constant reference to image sharing parameters.
- */
- const MVtEngMedia::TShareObjectImageParameters& Parameters() const;
-
- /**
- * Get initialization state.
- * @return ETrue if sharing is being initialized, EFalse otherwise.
- */
- TBool IsInitializing() const;
-
- /**
- * Set sharing state.
- * @param aNewState New image sharing state.
- */
- void SetState( const TState aNewState );
-
- /**
- * Fetches next available provider item pointer.
- * @return Pointer to next available provider item or NULL if none
- * could be found.
- */
- TProviderItem* FetchProviderItem() const;
-
- /**
- * Creates provider.
- */
- void CreateProviderL( TProviderItem& aProviderItem );
-
- /**
- * Initializes provider.
- */
- void InitializeProviderL( TProviderItem& aProviderItem );
-
- /**
- * Deletes provider.
- */
- void DeleteProvider( TVtEngProviderType aProviderType );
-
- /**
- * Deletes all precreated providers.
- */
- void DeleteProviders();
-
- private: // Data
-
- // Pointer to local video instance
- CVtEngLocalVideo* iLocalVideo;
-
- // Current state
- TState iState;
-
- // Previous state
- TState iPreviousState;
-
- // Copy of image sharing parameters
- MVtEngMedia::TShareObjectImageParameters iParameters;
-
- // Type of provider that was active before image sharing
- TVtEngProviderType iStoredType;
-
- // Type of provider that was originally active before image sharing
- // This is needed because iStoredType may change according to PS
- // events.
- TVtEngProviderType iOriginalStoredType;
-
- // Currently active provider
- TProviderItem* iActiveProvider;
-
- // Currently initialized provider
- TProviderItem* iInitializingProvider;
-
- // Buffered items
- RPointerArray< TProviderItem > iBuffered;
-
- // General settings were changed while sharing
- TBool iSettingsChanged;
- };
-
- /**
- * Inner class for handling delayed provider switches (e.g. PS signalled
- * camera changes)
- */
- NONSHARABLE_CLASS( TVtEngDelayedSelect )
- {
- public:
-
- /**
- * Constructor
- */
- TVtEngDelayedSelect();
-
- /**
- * Called when camera change event is received from PS.
- */
- void NotifyDelayedSelect( const TVtEngProviderType& aProviderType );
-
- /**
- * Returns ETrue if delayed select is pending, EFalse otherwise.
- */
- TBool IsDelayedSelectPending() const;
-
- /**
- * Returns delayed select target and resets stored value.
- */
- TVtEngProviderType DelayedSelectTarget();
-
- private: // data
-
- TVtEngProviderType iDelayedProviderType;
- };
-
- /**
- * Inner class for handling layout change reinitialization.
- */
- NONSHARABLE_CLASS( TVtEngLayoutChangeHandler )
- {
-
- public:
-
- /**
- * Constructor
- */
- TVtEngLayoutChangeHandler( CVtEngLocalVideo& aLocalVideo );
-
- /**
- * Called when layout change has happened
- */
- void HandleLayoutChangeL();
-
- /**
- * Called when layout change needs to be cancelled
- */
- void CancelHandleLayoutChange();
-
- /**
- * Called when provider is unfrozen.
- * @return ETrue if unfreeze was handled by the layout change handler,
- * EFalse otherwise.
- */
- TBool UnfreezeL();
-
- /**
- * Called by the local video when provider error happens.
- * @param aError Type of error
- * @return ETrue If error was handled by the layout change handler
- */
- TBool ProviderError( TInt aError );
-
- /**
- * Called by the local video when provider is ready after initialization.
- * @return ETrue If callback was handled by the layout change handler.
- */
- TBool ProviderReady();
-
- /**
- * Called by the local video when provider has been switched.
- * @param CVSDataProvider Pointer of old provider instance.
- * @return ETrue If callback was handled by the layout change handler.
- */
- TBool ProviderSwitchDone( CVSDataProvider* aOldProvider );
-
- private:
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Does the layout change handling.
- */
- void DoHandleLayoutChangeL();
-
- /**
- * Call to CompleteL() that is trapped.
- */
- TInt Complete( const TInt aError );
-
- /**
- * Completes handling and resets state to EIdle.
- */
- void CompleteL( const TInt aError );
-
- /**
- * Completes asynchronous request.
- */
- void CompleteOperation( const TInt aError );
-
- private: // data
-
- // Pointer to local video instance
- CVtEngLocalVideo* iLocalVideo;
-
- /**
- * Layout change handler internal state.
- */
- enum TState
- {
- /** Layout change handler is ready to be called */
- EIdle,
- /** Layout change handler has been called, but layout update is
- pending */
- ELayoutChangePending,
- /** Layout change handler is switching blank provider */
- ESwitchingBlank,
- /** Layout change handler is initializing camera provider */
- EInitializingCamera,
- /** Layout change handler is switching camera provider */
- ESwitchingCamera
- };
-
- // Handler's internal state
- TState iState;
-
- // Stored provider type
- TVtEngProviderType iStored;
-
- };
-
- private:
-
- /**
- * Rendering method.
- */
- enum TRenderingMethod
- {
- // Unspecified
- EUnspecified,
- // Through window server
- EWindowServer,
- // Direct screen access
- EDSA,
- // Display posting
- EDP
- };
-
- /**
- * View finder state.
- */
- enum TViewFinderState
- {
- // View finder not active.
- EVFNone,
- // View finder started to reveive bitmaps.
- EVFReceivingBitmaps,
- // View finder started to render with DSA.
- EVFRenderingDsa
- };
-
- /**
- * Internal state.
- */
- enum TState
- {
- // Initial and state when error occurred.
- ELocNone,
- // Provider initialization ongoing.
- ELocInitializing,
- // Switch to another provider ongoing.
- ELocSwichingProvider,
- // Provider initialization or switch completed.
- ELocReady
- };
-
- public:
-
- /**
- * Deletes provider.
- * @param aItem provider to delete
- */
- void DeleteProvider( TProviderItem& aItem );
-
- /**
- * Deletes provider.
- * @param aType type of provider to delete.
- */
- void DeleteProvider( TVtEngProviderType aType );
-
- /**
- * Resets local video after a video call.
- */
- void Reset();
-
- private: // New functions
-
- /**
- * Sets current camera id.
- */
- void SetCurrentCameraId( MVtEngMedia::TCameraId aCamId );
-
- /**
- * Configures provider item for outwards camera in
- * construction phase.
- */
- void ConfigureOutwardsCameraItem(
- TProviderItem& aItem,
- const TInt aCurrentIndex );
-
- /**
- * Calculater digital zoom steps.
- * @param aProvider the used provider in counting
- * @return amount of major zoom steps
- */
- TInt CalculateMajorDigitalZoomStepCount(
- CVSDataProvider* aProvider );
-
- /**
- * Calculater digital zoom steps.
- * @param aInfo provider info structure from which zoom steps will be
- * calculated
- * @return amount of major zoom steps
- */
- TInt CalculateMajorDigitalZoomStepCount(
- const TVSDataProviderInfo& aInfo ) const;
-
- /**
- * Deletes audio source.
- */
- void DeleteAudioSource();
-
- /**
- * Gets a provider for a given type.
- * @param aType type to search for
- * @param aItem returned provider item
- * @return index in provider array or KErrNotFound
- */
- TInt GetProviderByType(
- TVtEngProviderType aType, TProviderItem& aItem );
-
- /**
- * Gets a provider for a given type.
- * @param aType type to search for
- * @param aItem returned provider item
- * @return index in provider array or KErrNotFound
- */
- TInt GetProviderByType(
- TVtEngProviderType aType, TProviderItem*& aItem );
-
- /**
- * Gets a provider for a given provider instance.
- * @param aInstance Instance to search for
- * @param aItem returned provider item
- * @return index in provider array or KErrNotFound
- */
- TInt GetProviderByInstance(
- const CVSDataProvider* aInstance,
- TProviderItem*& aItem ) const;
-
- /**
- * Initializes provider.
- * @param aProviderItem provider
- */
- void InitializeProviderL( TProviderItem& aProviderItem );
-
- /**
- * Initializes provider for sharing.
- */
- void InitializeShareProviderL( TProviderItem& aProviderItem,
- const TDesC8& aParams );
-
- /**
- * Re-creates provider. First deletes old instance inside provider
- * item structure and then creates a new instance, using given
- * provider type.
- * @param aProviderItem Provider to be recreated.
- * @param aType Type of the new provider to be created.
- */
- void ReCreateProviderL(
- TProviderItem& aProviderItem, const TVtEngProviderType aType );
-
- /**
- * Provider index by provider type.
- * @param aType Type of provider
- */
- TInt ProviderIndex( TVtEngProviderType aType ) const;
-
- /**
- * Gets a provider index by state.
- * @param aState state of returned provider
- * @return Index of provider
- */
- TInt ProviderIndexByState( TProviderState aState ) const;
-
- /**
- * Gets a provider index by provider instance.
- * @param aInstance instance of provider to be found
- * @return Index of provider or KErrNotFound if given provider item
- * is not found
- */
- TInt ProviderIndexByInstance( const CVSDataProvider* aInstance ) const;
-
- /**
- * Creates VideoSource provider by type.
- * @param aType Engine provider type
- * @return CVSDataProvider pointer
- */
- CVSDataProvider* CreateDataProviderL( TVtEngProviderType aType );
-
- /**
- * Maps camera orientation to provider type.
- * @param aOrientation camera orientation
- * @return provider type
- */
- static TVtEngProviderType
- OrientationToType( TCameraInfo::TCameraOrientation aOrientation );
-
- /**
- * Maps camera ID to provider type.
- * @param aId camera ID
- * @return provider type
- */
- static TVtEngProviderType CameraIdToType( MVtEngMedia::TCameraId aId );
-
- /**
- * Creates blank still image provider.
- * @param aIndex index of still image provider
- */
- void CreateBlankProviderL( const TInt aIndex );
-
- /**
- * Creates default still image provider.
- * @param aIndex index of default still image provider
- */
- void CreateDefaultStillImageProviderL( const TInt aIndex );
-
- /**
- * Updates available camera providers.
- * @return primary provider
- */
- TVtEngProviderType UpdateAvailableProvidersL();
-
- /**
- * Switches to active provider.
- */
- void SwitchProvider( TProviderItem* aProviderItem );
-
- /**
- * Overloaded SwitchProvider() that takes new provider as a parameter.
- */
- void SwitchProvider( TProviderItem& aProviderItem );
-
- /**
- * Uninitializes non-permanent provider.
- */
- void UninitializeProviderL();
-
- /**
- * Updates iState if view finder is active.
- */
- void UpdateState();
-
- /**
- * Checks if initialization or provider switch is pending.
- * @return ETrue if either one is pending
- */
- TBool InitializingOrSwitching() const;
-
- /**
- * Resets provider info index variables.
- */
- void ResetIndices();
-
- /**
- * Sets active camera tracking.
- * @param aProviderIndex current camera in use
- * @return error code
- */
- TInt SetCameraTrackingL( TInt& aProviderIndex );
-
- /**
- * Maps pubsub provided camera id to internal indexes.
- * @param aCameraId id to map
- * @return internally mapped id
- */
- MVtEngMedia::TCameraId MapCameraInternally( TInt aCameraId );
-
- /**
- * Checks if desired camera is available.
- * @param aType provider type to return
- */
- void CameraAvailable( CVtEngLocalVideo::TVtEngProviderType &aType );
-
- /**
- * checks if given provider type is already waiting for initialization
- * or switch.
- * @param aType Provider type.
- * @return ETrue if given provider type is in waiting state, EFalse
- * otherwise.
- */
- TBool IsProviderWaiting( TVtEngProviderType aType ) const;
-
- /**
- * Returns highest provider type which is available for selection.
- * Priority is following:
- * KVtEngProviderCam1 << highest
- * KVtEngProviderCam2
- * KVtEngProviderImage
- * KVtEngProviderNone
- * If eg. cam2 is designated as preferred, possible returns values are
- * Cam2, Image and None.
- *
- * @param aType in/out argument. In => preferred provider which
- * caller of the method wishes to select
- * Out => highest available provider
- * @return ETrue if preferred == highest i.e. aPreferred is intact
- *
- */
- TBool GetHighestSelectableProvider( TVtEngProviderType& aPreferred ) const;
-
- /**
- * checks if given provider type is acitven
- * @param aType Provider type.
- * @return ETrue if given provider is already active, EFalse
- * otherwise.
- */
- TBool IsActiveProvider( TVtEngProviderType aType ) const;
-
-
- private: // From CActive.
-
- /**
- * Handles sync operations as async.
- * @see CActive::RunL
- */
- virtual void RunL();
-
- /**
- * @see CActive::DoCancel()
- */
- virtual void DoCancel();
-
- private:
-
- // Local video flags
- enum TVtEngLocalVideoFlags
- {
- // Camera 1 is available (inwards)
- EFlagCamera1Available = 0x00000001,
- // Camera 2 is available (outwards)
- EFlagCamera2Available = 0x00000002,
- // video call ongoing
- EFlagInitialized = 0x00000004,
- // view finder enabled from UI
- EFlagVFEnabled = 0x00000008,
- // Non-user orginated switch
- EFlagAutomaticSwitchCallback = 0x00000010,
- // Audio muted
- EFlagAudioMuted = 0x00000020,
- // Only initialize a provider (no switch when initialized)
- EFlagInitializeOnly = 0x00000040,
- // Signal observer when switch is complete
- EFlagSignalSourceSelection = 0x00000080,
- // Provider event received while switch ongoing.
- // When this is set and switch completes it
- // is checked if revert to previous is needed.
- EFlagCheckRevertToPrevious = 0x00000100,
- // Avoid calculating the step count by using flag.
- EFlagZoomStepCountNeedsMapping = 0x00000200,
- // VT application foreground state
- EFlagUIForeground = 0x00000400,
- // VT application background state ( notification purpose)
- EFlagUIBackground = 0x00000800,
- // Provider is frozen
- EFlagFrozen = 0x00001000
- };
-
- /**
- * Sets a flag on.
- * @param aFlag flag to set
- */
- void SetFlag( const TInt aFlag );
-
- /**
- * Removes a flag.
- * @param aFlag flag to remove
- */
- void ClearFlag( const TInt aFlag );
-
- /**
- * Checks if a flag has been set.
- * @param aFlag flag to check
- * @return ETsrue if set
- */
- TBool IsFlag( const TInt aFlag ) const;
-
- private: // Data
-
- // Options for window server rendering.
- TOptions iOptions;
-
- // Options for DSA rendering.
- TDsaOptions iDsaOptions;
-
- // Video source controller.
- CVSController* iSourceController;
-
- // Video source.
- CVSDataSource* iSource;
-
- // Audio source.
- MVTAudioSource* iAudioSource;
-
- // Video providers (cameras and still image).
- CArrayFixFlat<TProviderItem>* iVideoProviders;
-
- // Currently active provider.
- TProviderItem* iActiveProvider;
-
- // Provider item we're switching away from.
- TProviderItem* iFadingProvider;
-
- // Provider that is selected as next one and
- // is initializing or switching.
- TProviderItem* iSelectedProvider;
-
- // DSA or window server.
- TRenderingMethod iRenderingMethod;
-
- // Local video status.
- TState iState;
-
- // View finder state.
- TViewFinderState iViewFinderState;
-
- // Callback interface to Media Handler.
- CVtEngMediaHandler& iObserver;
-
- // Still image file name.
- TFileName iStillImage;
-
- // Local video state flags.
- TInt iFlags;
-
- // Friend declaration provides extended access.
- friend class TProviderItem;
-
- // Member variables to use in referencing to
- // provider information
- TInt iProviderInfoIndexCam1;
- TInt iProviderInfoIndexCam2;
- TInt iProviderInfoIndexStill;
-
- // Used for default camera notifications.
- CVtEngPubSubsListener* iCameraListener;
-
- // Camera received from pubsub.
- MVtEngMedia::TCameraId iCurrentCamera;
-
- // Contains logics for image sharing.
- CVtEngShareImage* iShareImage;
-
- // Pointer to camera preferences extension
- CVtEngCameraPreferences* iCameraPref;
-
- // Logics for delayed provider selection
- TVtEngDelayedSelect iDelayedSelect;
-
- // Active provider's info
- TVSDataProviderInfo iProviderInfo;
-
- // ETrue if prepare camera has been handled in media handler
- TBool iPrepareCameraCalled;
-
- // Layout change handler
- TVtEngLayoutChangeHandler iLayoutChangeHandler;
-
- // ASync callback
- CAsyncCallBack* iAsyncCallBack;
-
- // Result
- TInt iResult;
-
- // Pointer to provider item that is being initialized
- TProviderItem* iInitializingProvider;
-
- // Number of cameras in the device
- TInt iNumSupportedCameras;
- };
-
-#endif // CVTENGLOCALVIDEO_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/CVtEngMediaHandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1299 +0,0 @@
-/*
-* Copyright (c) 2004-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: Video session interface.
-*
-*/
-
-
-
-#ifndef CVTENGMEDIAHANDLER_H
-#define CVTENGMEDIAHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <mvtprotocolhandler.h>
-#include "MVtEngMedia.h"
-#include "vtengcommands.h"
-#include "CVtEngLocalVideo.h"
-#include "MVtEngSettingObserver.h"
-
-// FORWARD DECLARATIONS
-class CVtEngLocalVideo;
-class CVtEngRemoteVideo;
-class MVtEngFrameObserver;
-class CVtEngOperation;
-class CVtEngExtensionBase;
-
-// CLASS DECLARATION
-
-/**
-* Media control.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.6
-*/
-NONSHARABLE_CLASS( CVtEngMediaHandler ) :
- public CBase,
- public MVtEngMedia,
- public MVtEngSettingObserver,
- public MVtProtocolHandler
- {
- public: // Constructor and destructor.
-
- /**
- * Symbian two-phase constructor.
- * @return media handler instance
- */
- static CVtEngMediaHandler* NewL();
-
- /**
- * Destructor.
- */
- ~CVtEngMediaHandler();
-
- public: // From MVtEngMedia.
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetMediaState(
- const TMediaDirection aMediaDirection,
- TInt& aActiveMedia ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TBool RenderingStarted(
- const TMediaDirection
- aDirection ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetSource( TMediaSource& aSource ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetSourcesCaps( TInt& aCaps ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetCurrentCameraId( TCameraId& aId ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetCameraInfo(
- const TCameraId aId,
- TCameraInfo& aInfo ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetCurrentZoomStep( TInt& aCurrentStep );
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetMaxZoomStep( TInt& aMaxZoomStep );
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetMajorZoomStepCount( TInt& aCount );
-
- /**
- * @see MVtEngMedia
- */
- virtual void GetMajorZoomStep( TInt aIndex, TInt& aStep );
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetFreezeSupported( TBool& aFreezeSupported ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetFreezeState( TBool& aFrozen ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TInt GetDsaState(
- const TMediaDirection aMediaDirection,
- TBool& aActive ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual TBool VideoCallConnected () const;
-
- /**
- * @see MVtEngMedia
- */
- virtual void GetVideoQuality( TVideoQuality& aVideoQuality ) const;
-
- /**
- * @see MVtEngMedia
- */
- virtual void GetObjectSharingState(
- TShareObjectState& aObjectSharingState ) const;
-
- /**
- * @ see MVtEngMedia
- */
- virtual void GetCameraOrientations(
- TCameraOrientation& aPrimaryCameraOrientation,
- TCameraOrientation& aSecondaryCameraOrientation ) const;
-
-public: // New functions.
-
- /**
- * Tells if the Protocol initialization has completed.
- * @return ETrue if initialized
- */
- TBool ProtoInitialized() const;
-
- /**
- * Performs an operation in the handler.
- * @param operation to be performed on the handler
- */
- virtual void HandleL( CVtEngOperation& aOperation );
-
- /**
- * Returns if command can be performed by media handler.
- * @return KErrNone if a command can be perfomed
- * KErrNotReady if not in appropriate state
- * KErrNotSupported if command is not for media handler
- */
- TInt ValidateCommand( const TVtEngCommandId aCommand ) const;
-
- /**
- * Returns ETrue if video channel is closed.
- */
- TBool IsVideoChannelClosed() const;
-
- /**
- * Request update last remote video frame through MVtEngFrameObserver::vtSetFrame
- */
- void RequestLastRemoteFrame();
-
- public: // from MVtProtocolHandler
-
- /**
- * Handles callback from protocol.
- * @param aResponse response
- */
- virtual void HandleSessionCommandEventL(const TVtCommandResponse& aResponse);
-
- public: // From MVtProtocolHandler.
-
- /**
- * Handles callback from protocol audiocontroller.
- * @param aId which command
- * @param aCmd which audio command
- * @param aContextData any additional data
- * @param aStatus how did it end up with
- */
- virtual void HandleAudioOutputControlCommandComplete(TInt aId,
- TVtAudioOutputControlCommand aCmd,
- TAny *aContextData,
- TInt aStatus);
-
- public: // From MVtProtocolHandler.
-
- /**
- * Handles event from protocol.
- * @param aEvent event
- */
- virtual void HandleSessionInformationalEventL(
- const TVtIndicationEvent& aEvent);
-
- public: // from MVtProtocolHandler
-
- /**
- * Handles error event from protocol.
- * @param aEvent error event
- */
- virtual void HandleSessionErrorEventL(const TVtErrorEvent& aEvent);
-
- public: // from MVtEngSettingObserver
-
- /**
- * Handles shared data setting change.
- * @param aId setting id
- * @param aValue setting value
- */
- virtual void HandleSettingChangedL(
- CVtEngSettings::TSettingId aId,
- const TDesC& aValue );
-
- public: // From MVtProtocolHandler.
-
- /**
- * @see MVtProtocolHandler.
- */
- void HandleVideoEncoderCommandCompletedL(
- const TVtCommandResponse& aResponse );
-
- /**
- * @see MVtProtocolHandler.
- */
- void HandleVideoEncoderInformationalEventL(
- const TVtIndicationEvent& aEvent);
-
- public: // From MVtProtocolHandler
-
- /**
- * @see MVtProtocolHandler.
- * @since 3.1
- */
- void HandleH324MConfigCommandCompletedL( const TVtCommandResponse& aResponse );
-
- /**
- * @see MVtProtocolHandler.
- * @since 3.1
- */
- void HandleH324MConfigInformationalEventL(
- const TVtIndicationEvent& aEvent );
-
- public: // New functions.
-
- /**
- * Initializes media handler.
- * @param aStatus signaling handle
- */
- void InitializeL( TRequestStatus& aStatus );
-
- /**
- * Cancels media handler initialization.
- */
- void CancelInitialize();
-
- /**
- * Initializes default blank provider.
- * @param aStatus signaling handle
- */
- void InitializeProviderL( TRequestStatus& aStatus );
-
- /**
- * Cancel Image sharing initialization.
- */
- void CancelInitializeShareImage();
-
- /**
- * Sets protocol interface.
- * aProto2Way protocol interface
- */
- void SetSessionCommand( MVtSessionCommand* aProto2Way );
-
- /**
- * Unitializes media handler.
- * @param aStatus request semaphore to complete
- * when uninitialization is complete
- */
- void Uninitialize( TRequestStatus& aStatus );
-
- /**
- * Goes to next step of uninitialization process, it can
- * be one of following
- * - Cancel all Protocol commands
- * - Protocol disconnect
- * - Protocol reset
- * - Switch blank provider.
- */
- void UninitializeNextStep();
-
- /**
- * Sets selected camera ID.
- * @param aId camera ID (primary or secondary)
- * @param aUpdateRequired if ETrue switch could not be performed
- * Switch will be done when engine has been initialized.
- */
- void SetSelectedCameraId(
- const TCameraId aId,
- TBool aUpdateRequired = EFalse );
-
- /**
- * Handles source initialization or switch.
- * @param aResult Symbian OS error code
- */
- void HandleLocalVideoOperationCompleteL( const TInt aResult );
-
- /**
- * SDK init info.
- * @return Protocol initialization info
- */
- TVtInitInfo& SdkInitInfo();
-
- /**
- * Returns protocol state maintained by VTEngine, not by Protocol.
- * @return state
- */
- MVtProtocolCommand::TVtProtocolState ProtoState();
-
- /**
- * Sets up video connection to remote terminal.
- * @return Symbian OS error code
- */
- TInt Connect();
-
- /**
- * Disconnects session.
- * @return Symbian OS error code
- */
- TInt Disconnect();
-
- /**
- * Adds video data source to protocol engine.
- * @param Video channel logical channel ID number.
- * @return Symbian OS error code
- */
- TInt AddVideoSource( TUint aChannelId );
-
- /**
- * Adds audio data source to protocol engine.
- * @param Audio channel logical channel ID number.
- * @return Symbian OS error code
- */
- TInt AddAudioSource( TUint aChannelId );
-
- /**
- * Adds video sink.
- * @param Video channel logical channel ID number.
- * @return Symbian OS error code
- */
- TInt AddVideoSink( TUint aChannelId );
-
- /**
- * Adds audio sink.
- * @param Audio channel logical channel ID number.
- * @return Symbian OS error code
- */
- TInt AddAudioSink( TUint aChannelId );
-
- /**
- * Sets the output volume for Protocol.
- * @param aVolume the level of the volume
- * @return Symbian OS error code
- */
- TInt SetVolume( const TInt aVolume,
- CVtEngOperation* aOperation = NULL );
-
- /**
- * Enables video when primary camera becomes available.
- * @param aEnable do we enable or disable
- * @return Symbian OS error code
- */
- TInt AutoEnableVideo( TBool aEnable = ETrue );
-
- /**
- * Deletes protocol instance and associated Protocol interfaces.
- */
- void FinalizeUninitialization();
-
- /**
- * Creates extension according to API Uid.
- * @since S60 v3.2
- * @param aUid extension API Uid.
- * @return Extension pointer
- * @exeption Leaves if creation fails
- *
- */
- CVtEngExtensionBase* CreateExtensionsL( const TUid& aUid );
-
- /**
- * Checks if there is already an operation pending.
- * @return KVtEngCommandNone if no operation is pending or Command identifier
- */
- TVtEngCommandId GetPendingCommand();
-
- private: // new functions
-
- /**
- * Sends a sync message to Protocol after provider switch.
- */
- void RequestFrame( );
-
- /**
- * Sets video quality
- */
- void SetVideoQualityL(
- const TVideoQuality aVideoQuality,
- const TBool aSetPeerVideoQuality );
-
- /**
- * Sets peer video quality
- */
- void SetPeerVideoQuality( const TVideoQuality aVideoQuality );
-
- /**
- * Check's flag's validity. If not valid, panic's in debug mode.
- * @param aFlag flag to check.
- */
- void AssertFlag( const TInt aFlag ) const;
-
- /**
- * Gets the version information from SysUtil
- * and sets it into Protocol.
- */
- void SetVersionInfoL();
-
- /**
- * Sets supported resolutions to Protocol.
- */
- void SetSupportedResolutions();
-
- /**
- * Sets used call setup enhancement parameters.
- */
- void SetFastCsupOptions();
-
- /**
- * Does Protocol reset.
- */
- void ResetProtoL();
-
- /**
- * Does the actual disconnecting with Protocol.
- */
- void DisconnectProtoL();
-
- /**
- * Sets the defaults for volumes.
- */
- void InitializeVolume();
-
- /**
- * Checks if a flag in iProtoInitFlags is set.
- * @return ETrue if flag is set
- */
- TBool IsFlag( const TInt aFlag ) const;
-
- /**
- * Sets a flag in iProtoInitFlags.
- * @param aFlag flag to set
- */
- inline void SetFlag( const TInt aFlag );
-
- /**
- * Clears a flag in iProtoInitFlags.
- * @param aFlag flag to clear
- */
- inline void ClearFlag( const TInt aFlag );
-
- /**
- * Requests the volume controller.
- * @return ETrue if retrieved ok
- */
- TBool RequestAudioControllerL();
-
- /**
- * Spatial trade off indication handling method. Indication is
- * sent by the peer every time when its spatial trade off is updated.
- * @param aLogicalChannelId Indication's logical channel Id.
- * @param aTradeOff Indication trade off value.
- */
- void HandleSpatialTradeoffIndication(
- const TUint16 aLogicalChannelId, const TUint8 aTradeOff );
-
- /**
- * Spatial trade off command handling method. Spatial trade off
- * command is sent by the peer whenever peer wants to adjust our
- * video quality.
- * @param aLogicalChannelId Command's logical channel Id.
- * @param aTradeOff New trade off value.
- */
- void HandleSpatialTradeoffCommandL(
- const TUint16 aLogicalChannelId, const TUint8 aTradeOff );
-
- private: // constructor and destructor
-
- /**
- * C++ default constructor.
- */
- CVtEngMediaHandler();
-
- /**
- * Symbian constructor that may leave.
- */
- void ConstructL();
-
- private:
- /**
- * Operation values
- */
- enum TOperation
- {
- /**
- * No-op.
- * 0
- */
- ENone,
-
- /**
- * Add video source to protocol.
- * 1
- */
- EAddVideoSource,
-
- /**
- * Add video source to protocol.
- * 2
- */
- EAddVideoSink,
-
- /**
- * Add audio source to protocol.
- * 3
- */
- EAddAudioSource,
-
- /**
- * Add audio source to protocol.
- * 4
- */
- EAddAudioSink,
-
- /**
- * Connect protocol.
- * 5
- */
- EConnectProto,
-
- /**
- * Mute audio.
- * 6
- */
- EMuteAudio,
-
- /**
- * Resume audio sending.
- * 7
- */
- EUnmuteAudio,
-
- /**
- * Enable video for peer.
- * 8
- */
- EEnableVideo,
-
- /**
- * Disable video for peer.
- * 9
- */
- EDisableVideo,
-
- /**
- * Cancel ongoing request to Protocol
- * as part of uninitiazation process.
- * 10
- */
- EUninitializeCancelAllProto,
-
- /**
- * Disconnect protocol.
- * 11
- */
- EDisconnectProto,
-
- /**
- * Destructs local/remote video and VS instances.
- * 12
- */
- EDestructInternals,
-
- /**
- * Terminates H.324 session.
- * 13
- */
- ETerminateSession,
-
- /**
- * Removing sinks and sources.
- * 14
- */
- ERemovingSinksAndSources,
-
- /**
- * Request 324 control interface from protocol.
- * 15
- */
- EGet324CtrlInterface,
-
- /**
- * Set volume.
- * 16
- */
- ESetAudioVolume,
-
- /**
- * Gets the maximum volume for Protocol.
- * 17
- */
- EGetAudioGetMaxVolume,
-
- /**
- * Reset protocol.
- * 18
- */
- EDestructProtoPhaseDisconnect,
-
- /**
- * Destruct switch blank.
- * 19
- */
- EDestructSwitchBlank,
-
- /**
- * Reset protocol.
- * 20
- */
- EDestructProtoPhaseReset,
-
- /**
- * Check Protocol state.
- * 21
- */
- ECheckProtoState,
-
- /**
- * Enables video internally (not originated by UI).
- * 22
- */
- EEnableVideoInternal,
-
- /**
- * Disables video internally (not originated by UI).
- * 23
- */
- EDisableVideoInternal,
-
- /**
- * Request H263Enc interface from protocol.
- * 24
- */
- EGetH263EncInterface,
-
- /**
- * Requests an intra frame.
- * 25
- */
- ESendIntraframe,
-
- /**
- * Set supported resolutions.
- * 26
- */
- ESetSupportedResolutions,
-
- /**
- * Set video quality (by changing framerate)
- * 27
- */
- ESetVideoQuality,
-
- /**
- * Remove H324 interface
- * 28
- */
- ERemove324CtrlInterface,
-
- /**
- * Remove video encoder interface
- * 29
- */
- ERemoveH263EncInterface,
-
- /**
- * Sends Video Temporal-spatial trade off command
- * 30
- */
- ESendVTSTO,
-
- /**
- * Sets fast call setup options
- * 31
- */
- ESetFastCsupOptions,
-
- /**
- * Sets vendor id
- * 32
- */
- ESetVendorId,
-
- /**
- * Set interval when I-frames are sent
- * 33
- */
- ESetIFrameInterval
- };
-
- /**
- * Operation and related command id.
- */
- struct TCmdOpPair
- {
- // Operation
- TOperation iOp;
- // Command id returned by proto2way asynch request
- TInt iProtoCmdId;
- };
-
- /**
- * Enables/Disables video sending.
- * @param aEnable ETrue if video is to be enabled
- * @param aOp operation to be added
- * NOTE. Valid only for enabling video, not when disabled.
- * @see void AutoEnableVideo
- * @return started operation or ENone
- */
- TOperation EnableVideoL(
- const TBool aEnable,
- const TOperation aOp = EEnableVideo );
-
- /**
- * Calls Protocol pausing and acts according to the result.
- * @return operation id for performed operation
- */
- TOperation DoPauseVideo();
-
- /**
- * Continues to next step of uninitialization.
- * @param aOp operation to perform
- * @return command id
- */
- void ContinueUninitializeL( const TOperation aOp );
-
- /**
- * Cancels all the running commands within Protocol.
- * @param operation to be returned
- * EUninitializeCancelAllProto if cancellation is ongoing
- * (either because was already or just started)
- * ENone if cancellation is not ongoing
- * @return error code
- * KErrNotReady if engine not in suitable state
- * KErrAlreadyExists if cancel was already pending
- * KErrNone if cancellation request succeeded
- * other Symbian OS error code if cancellation fails
- */
- TInt CancelAllProtoCommands( TOperation &aOp );
-
- /**
- * Stops view finder and remote video rendering.
- */
- void StopRendering();
-
- /**
- * Updates volume to Protocol (if possible).
- */
- void UpdateVolume();
-
- /**
- * Initiates protocol engine reset.
- */
- void ResetProto2WayL();
-
- /**
- * Removes operation from pending operations array.
- * @param aOp TOperation
- * @return ETrue if operation was found (and hence removed)
- */
- template<class T>
- TBool RemoveOperation( const T& aOp );
-
- /**
- * Adds operation pending for callback.
- * @param aOp operation value
- * @param aCmdId protocol commd id or 0 if not Protocol cmd
- * @param aResetExisting if ETrue removes existing operations
- * from array
- * @return index of the operation in array (i.e. >= 0 )
- */
- TInt AddOperation(
- const TOperation aOp,
- TInt aCmdId,
- const TBool aResetExisting = EFalse );
-
- /**
- * Checks if an operation is pending.
- * @param aOp operation
- * @return index if operation is pending or KErrNotFound
- */
- TInt IsPending( const TOperation aOp ) const;
-
- /**
- * Checks if an operation is pending.
- * @param aCmdId command id
- * @return index if operation is pending or KErrNotFound
- */
- TInt IsPending( const TInt aCmdId ) const;
-
- /**
- * Completes asynchronous operation.
- * @param aResult
- * @return KErrNotFound if no operation else KErrNone
- */
- TInt CompleteOp( const TInt aResult );
-
- /**
- * Completes asynchronous operation asynchronously.
- * @param aResult
- * @return KErrNotFound if no operation else KErrNone
- */
- void AsyncCompleteOp( const TInt aResult = KErrNone );
-
- /**
- * Checks if specific operation matches to response from protocol.
- * @param aProtoCmdId command id returned by protocol
- * @param aOperation operation to search for in pending commands
- * @param aIndex index in iPendingOps array if found
- * @return ETrue if there's corrensponding entry in pending ops
- */
- TBool MatchResponseToPendingOps(
- const TInt aProtoCmdId,
- const TOperation aOperation,
- TInt* aIndex = NULL );
-
- /**
- * Starts "self-destruction" timer.
- */
- void StartDisconnectTimerL();
-
- /**
- * Assigns new pending operation. Only one can be pending at a time
- * so if there already is pending operation it is completed with error.
- * @param aOperation operation to assign as pending
- * @param aReplaceError error code to complete penging operation if
- * one exists. If KErrNone is passed, replacement is not done.
- * @return KErrNone if assignment done successfully i.e. there was
- not pending operation that was completed.
- * KErrCancel if some other operation was pending and was
- * completed with aReplaceError. Operation is
- * still assigned successfully.
- * KErrGeneral if operation was not assigned.
- */
- TInt AssignPendingOp(
- CVtEngOperation& aOperation,
- TInt aReplaceError = KErrCancel );
-
- /**
- * Callback function that completes ongoing operation.
- * @param aAny pointer to an instance of the class.
- * @return always KErrNone.
- */
- static TInt DoCompleteOp( TAny* aAny );
-
- /**
- * Implementation of self-destruction timer activity.
- * Causes a panic.
- * @param aAny pointer to an instance of the class
- * Not used.
- * @return KErrNone;
- */
- static TInt TimerCallback( TAny* aAny );
-
- /**
- * Creates and enques async callback for uninitialization.
- * @see iNextStepCallback
- */
- void NextUninitStepCallbackL();
-
- /**
- * Callback method for async uninitialization step.
- * @seeiNextStepCallback
- * @return KErrNone;
- */
- static TInt UninitCallback( TAny* aAny );
-
- /**
- * Query 2-way's additional interfaces, encoder and H324
- * @return KErrNone;
- */
- void QueryProtoInterfacesL();
-
- /**
- * Release 2-way's additional interfaces, encoder and H324
- * @return KErrNone;
- */
- void ReleaseProtoInterfacesL();
-
- /**
- * Check for pending Protocol extension interface commands.
- * @return ETrue if one or more extension command is pending
- */
- TBool ExtensionCommandsPending() const;
-
- /**
- * Checks is it possible to add sink / source from session
- * state point of view.
- * @return ETrue if adding is allowed.
- */
- TBool MediaAddingValidity() const;
-
- /**
- * Provider initialization state
- */
- enum TInitState
- {
- /**
- * Initialization not ongoing.
- */
- EInitStateNone,
-
- /**
- * Initialize still image.
- */
- EStateInitStillImage,
-
- /**
- * Initilize default blank provider.
- */
- EStateInitProvider,
-
- /**
- * Provider is set to none.
- */
- EStateWaitingProviderChangeForUninit,
-
- /**
- * Initialization has been cancelled.
- */
- EStateInitCanceled
- };
-
- /**
- * State flags.
- */
- enum
- {
- // Protocol state flags
- // Sink/source added
- EProtoAudioSourceAdded = 0x000001,
- EProtoVideoSourceAdded = 0x000002,
- EProtoAudioSinkAdded = 0x000004,
- EProtoVideoSinkAdded = 0x000008,
- // Track paused
- EProtoAudioTrackPaused = 0x000040,
- EProtoVideoTrackPaused = 0x000080,
-
- // Pause/resume related flags.
- ETwoStageOperation = 0x000100,
- ESourceUpdateNeeded = 0x000200,
- EProtoPauseVideoRequested= 0x000400,
- EProtoPauseVideoBlankProv= 0x000800,
- EProtoContVideoBlankProv = 0x001000,
- EProtoContVideoBlankInit = 0x002000,
-
- // Must send intra
- EProtoSendIntraFrame = 0x004000,
-
- // 324 interface acquired
- EProto324IFAcquired = 0x008000,
-
- // Cancel all command is called on Protocol
- // or there's nothing to cancel
- EProtoCancelProtoCmdsOk = 0x010000,
-
- // NON Protocol related flags
-
- EVideoQualitySetByPeer= 0x020000,
-
- // Outgoing video channel closed (after being open)
- // Used for preventing video pause/resume when
- // the channel is not open
- EOutVideoChannelClosed = 0x040000,
-
- // Outgoing audio channel closed (after being open)
- // Used for preventing audio pause/resume
- // the channel is not open
- EOutAudioChannelClosed = 0x080000
- };
-
-
- /**
- * Defines actions that can be taken when sharing started
- * and/or stopped
- */
- enum TVideoEngAction
- {
- EVideoActionNone,
- EVideoActionEnable,
- EVideoActionDisable
- };
-
- /**
- * Helper class for handling video quality manipulation.
- */
- class TVtEngVideoQuality
- {
-
- public:
-
- // Forward for inner class
- class TVQSParams;
-
- public:
-
- /**
- * Constructor.
- */
- TVtEngVideoQuality();
-
- /**
- * Destructor.
- */
- ~TVtEngVideoQuality();
-
- /**
- * Sets new local video quality setting.
- * @param aId Operation id.
- * @param aSetPeer ETrue if peer video quality needs to be set,
- * EFalse otherwise.
- */
- void SettingVideoQuality( TInt aId, const TVideoQuality aValue,
- TBool aSetPeer );
-
- /**
- * Get current local video quality setting.
- * @return Current local video quality setting.
- */
- TVideoQuality VideoQuality() const;
-
- /**
- * Setting video quality succeeded.
- * @return ETrue if record with given id was found, EFalse other
- * wise.
- */
- TBool SettingSucceeded( TInt aId, TVQSParams& aParams );
-
- /**
- * Setting video quality failed.
- */
- void SettingFailed( TInt aId );
-
- /**
- * Called when video quality indication is received from peer.
- */
- void UpdateVideoQuality( const TVideoQuality aVideoQuality );
-
- /**
- * Converts given trade off value to video quality enum.
- */
- TVideoQuality FromTradeOff( const TInt aTradeOff ) const;
-
- /**
- * Converts given video quality enum to trade off value.
- */
- TInt ToFrameRate( const TVideoQuality aVideoQuality ) const;
-
- /**
- * Converts given video quality value to frame rate.
- */
- TUint8 ToTradeOff( const TVideoQuality aVideoQuality ) const;
-
- /**
- * Finds id of setting param and returns index to it.
- */
- TInt FindVQSParam( TInt aId ) const;
-
- public:
-
- /**
- * Video quality parameters.
- */
- struct TVQSParams
- {
-
- public:
-
- // Default constructor
- TVQSParams();
-
- // Constructor with initializing parameters
- TVQSParams( TInt aId, const TVideoQuality aValue,
- TBool aSetPeer );
-
- public: // data
-
- // Operation id
- TInt iId;
-
- // VideoQuality value to be set
- TVideoQuality iValue;
-
- // Defines whether peer video quality needs to be set or not
- TBool iSetPeer;
-
- };
-
- private:
-
- // Current local video quality
- TVideoQuality iCurrent;
-
- // Qued params
- RArray< TVQSParams > iParamList;
- };
-
- // Class for handling different kind of H.245 logical
- // channels and their state in different MONA call setup
- // scenarios
- class TLogicalChannel
- {
- public:
-
- // H.245 logical channel ID to be established or
- // already active
- TUint iLogicalChannelId;
-
- // H.245 logical channel ID that is currently closing.
- TUint iLogicalChannelIdClosing;
-
- // Variable to tell is same type (video or audio, incoming or outgoing)
- // channel already started to close but not closed yet. If closing is pending
- // same type channel cannot be opened until closing has finished or sink/source
- // addition has failed for some reason.
- TBool iSameTypeClosingPending;
-
- // Variable to tell is same type (video or audio, incoming or outgoing)
- // channel ready to be opened.
- TBool iSameTypeChannelReadyToOpen;
-
- };
-
- private: // Data members.
-
- // Protocol engine pointer.
- MVtSessionCommand* iSessionCommand;
-
- // Local video configuration.
- CVtEngLocalVideo* iLocalVideo;
-
- // Remote video configuration.
- CVtEngRemoteVideo* iRemoteVideo;
-
- // Pending internal operations.
- TInt iCmdId;
- CArrayFixFlat<TCmdOpPair>* iPendingOps;
-
- // Video Source initialization state.
- TInitState iVSInitState;
-
- // Flags used to determine if audio and video sink/source
- // is added to protocol and media state.
- TInt iProtoStateFlags;
-
- // protocol state.
- MVtProtocolCommand::TVtProtocolState iProtoState;
-
- // Initialization flag.
- TBool iInitialized;
-
- // Remote media state.
- TInt iRemoteMediaState;
-
- // Pending operation from client.
- CVtEngOperation* iPendingOp;
-
- // Protocol initialization information.
- TVtInitInfo iSdkInitInfo;
-
-
- // Request status for (un)initialization.
- TRequestStatus* iRequestStatus;
-
- // Audio controller handle.
- MVtAudioConfigCommand* iAudioCtrl;
-
- // Timer to detect failure in disconnection.
- CPeriodic* iTimer;
-
- // Protocol max volume.
- TInt iProtoMaxVolume;
-
- // Selected camera is not necessary activated also.
- TCameraId iSelectedCameraId;
-
- // ETrue when it is allowed to update volume.
- TBool iUpdateVolumeAllowed;
-
- // ETrue when it is needed to update volume.
- TBool iUpdateVolumeRequired;
-
- // Owned asynch callback.
- CIdle* iAsyncCallback;
-
- // Pending volume operation.
- CVtEngOperation* iPendingVolumeOp;
-
- // Used for various connection related operations.
- TInt iConnectionStates;
-
- // Used while pausing and resuming video.
- CVtEngLocalVideo::TVtEngProviderType iTempProviderInfo;
-
- // Used for setting the vendor info.
- MVtH324ConfigCommand* iH324Config;
-
-
- // Used H263 interface.
- MVtVideoConfigCommand* iH263Encoder;
-
- // Video quality
- TVtEngVideoQuality iVideoQuality;
-
- // Sharing object while video is disable will set this flag
- TVideoEngAction iVideoAction;
-
- // Logical channel structure for outgoing video channel(s).
- TLogicalChannel iVideoOutgoingLogicalChannel;
-
- // Logical channel structure for outgoing audio channel(s).
- TLogicalChannel iAudioOutgoingLogicalChannel;
-
- // Logical channel structure for incoming video channel(s).
- TLogicalChannel iVideoIncomingLogicalChannel;
-
- // Logical channel structure for incoming audio channel(s).
- TLogicalChannel iAudioIncomingLogicalChannel;
-
- /* For proceeding to next uninit step asynchronously.
- * Needed because Proto extension interface cannot be released within
- * callback
- */
- CAsyncCallBack* iNextStepCallback;
-
-
- /* Do not complete operation on pause command. This flag
- * is used when image sharing is stopped and video was disabled
- * when sharing was initially started to prevent black frame sending
- * during blank switch.
- */
- TBool iPauseNoCompleteOp;
-
- /**
- * Result for asynchronous operation completion.
- */
- TInt iAsyncCompleteOpResult;
- };
-
-#endif // CVTENGMEDIAHANDLER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/CVtEngRemoteVideo.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +0,0 @@
-/*
-* Copyright (c) 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: Remote video handling class.
-*
-*/
-
-
-
-#ifndef CVTENGREMOTEVIDEO_H
-#define CVTENGREMOTEVIDEO_H
-
-// INCLUDES
-#include <e32base.h>
-#include <w32std.h>
-#include "MVtEngImageScaler.h"
-#include "MVtEngDraw.h"
-#include "TVtEngRendering.h"
-#include "TVtEngRenderConfig.h"
-#include <mdisplaysink.h>
-#include <mvtprotocolhandler.h>
-
-// FORWARD DECLARATIONS
-class CDirectScreenAccess;
-class CFbsBitmap;
-class CVtEngStateManager;
-class MVtEngScalerObserver;
-
-class TVtEngRenderingOptionsDSA;
-class TVtEngRenderingOptionsDP;
-class TVtEngRenderingOptionsNGA;
-
-// Define image sizes.
-// QCIF.
-const TInt KVtEngResolutionQCIFWidth = 176;
-const TInt KVtEngResolutionQCIFHeight = 144;
-
-// SQCIF.
-const TInt KVtEngResolutionSQCIFWidth = 128;
-const TInt KVtEngResolutionSQCIFHeight = 96;
-
-// Default video screen width.
-const TInt KVtEngRemoteVideoDefaultWidth = 176;
-
-// Default video screen height.
-const TInt KVtEngRemoteVideoDefaultHeight = 144;
-
-// Watcher checks point time-out 400 ms.
-const TInt KVtEngWatcherTimeout = 400000;
-
-// When the watcher has timed out 15 times without new frame, send event to UI.
-const TInt KVtEngWatcherThreshold = 15;
-
-// CLASS DECLARATION
-
-/**
-* Class handling remote video.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.6
-*/
-NONSHARABLE_CLASS( CVtEngRemoteVideo ) :
- public CBase,
- public MDisplaySinkObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aPv2Way a reference to PV instance.
- * @param aStateManager reference to VT state manager
- * @return instance of CVtEngRemoteVideo
- */
- static CVtEngRemoteVideo* NewL(
- MVtSessionCommand& aSessionCommand,
- CVtEngStateManager& aStateManager );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngRemoteVideo();
-
- public: // From MDisplaySinkObserver
-
- /**
- * @see MDisplaySinkObserver
- */
- void VideoFrameSizeChangedL( const TSize& aFrom,
- const TSize& aTo );
-
- public: // New functions
-
- /**
- * Sets parameters used when rendering remote video.
- */
- void SetRenderingParametersL(
- const TVtEngRenderingOptionsNGA& aParams );
-
- /**
- * Sets parameters used when rendering remote video.
- * @param aParams direct screen access parameters
- */
- void SetRenderingParametersL(
- const TVtEngRenderingOptionsDSA& aParams );
-
- /**
- * Sets parameters used when rendering remote video.
- * @param aParams direct screen access parameters
- */
- void SetRenderingParametersL(
- const TVtEngRenderingOptionsDP& aParams );
-
- /**
- * Starts remote video rendering.
- */
- void StartVideoL();
-
- /**
- * Stops remote video rendering.
- */
- void StopVideoRendering();
-
- /**
- * Pauses remote video rendering.
- * @return command id from PV
- */
- TInt PauseVideoL();
-
- /**
- * Adds Display sink into PV.
- * @param Video channel logical channel ID number.
- * @return PV command ID
- */
- TInt AddVideoSinkL( TInt aChannelId );
-
- /**
- * Adds Audio sink into PV.
- * @param Audio channel logical channel ID number.
- * @return PV command ID
- */
- TInt AddAudioSinkL( TInt aChannelId );
-
- /**
- * Returns state of Direct Screen Access.
- * @return state of Direct Screen Access
- */
- TBool GetDsaState() const;
-
- /**
- * Returns the audiosink of nested CVtEngDraw class.
- * @return the audiosink of nested CVtEngDraw class
- */
- MVTAudioSink* AudioSink();
-
- /**
- * Sets UI foreground state (i.e. is the Application
- * current active application or not).
- * @param aForeground ETrue if the VT application is
- * in foreground, EFalse otherwise.
- * @exception May leave with KErrNotReady.
- */
- void SetUIForegroundL( TBool aForeground );
-
- /**
- * Request update last remote video frame through MVtEngFrameObserver::vtSetFrame
- */
- void RequestLastFrame();
-
- private:
-
- /**
- * C++ constructor.
- * @param aPv2Way a reference to PV instance
- * @param aStateManager reference to VT state manager
- */
- CVtEngRemoteVideo(
- MVtSessionCommand& aSessionCommand,
- CVtEngStateManager& aStateManager );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
-
- public:
-
- /**
- * Base rendering class
- */
- NONSHARABLE_CLASS( CVtEngDraw ) :
- public CActive,
- public MVtEngDraw,
- public MDirectScreenAccess
- {
-
- protected: // new methods
- /**
- * C++ constructor as private.
- * @param aObserver callback interface for Display Sink
- */
- CVtEngDraw( MDisplaySinkObserver* aObserver );
-
- /**
- * Destructor
- */
- ~CVtEngDraw();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- /**
- * If not active, set iStatus to KRequestPending and calls
- * SetActive();
- */
- void Activate();
-
- /**
- * Creates DSA instance.
- */
- void CreateAndStartDSAL();
-
- public: // from MDirectScreenAccess
-
- /**
- * From MDirectScreenAccess, this function is called by the
- * window server when direct screen access must stop.
- * @see MDirectScreenAccess::AbortNow
- */
- virtual void AbortNow(
- RDirectScreenAccess::TTerminationReasons aReason );
-
- /**
- * From MDirectScreenAccess, this method is called by the direct
- * screen access instance as soon as direct screen access can
- * resume.
- * @see MDirectScreenAccess::Restart
- */
- virtual void Restart(
- RDirectScreenAccess::TTerminationReasons aReason );
-
- public: // new functions
-
- /**
- * Configuration was updated.
- */
- void ConfigUpdatedL();
-
- /**
- * Display Sink pointer.
- * @return instance of MDisplaySink
- */
- MDisplaySink* DisplaySink();
-
- /**
- * Returns state of Direct Screen Access.
- * @return true if rendering
- */
- TBool GetDsaState() const;
-
- /**
- * Checks frame watcher expiration.
- * @param aAny pointer to CVtEngDrawDSA
- * @return Symbian OS error code
- */
- static TInt WatcherExpired( TAny* aAny );
-
- /**
- * Handles frame watcher expiration.
- */
- void HandleWatcherExpired();
-
- /**
- * Sets certain flag on.
- * @param aFlags flags to turn on.
- */
- void SetFlag( TUint aFlags );
-
- /**
- * Clears certain flag.
- * @param aFlags flags to clear.
- */
- void ClearFlag( TUint aFlags );
-
- /**
- * Checks if certain flag is on.
- * @param aFlags flags to check.
- */
- TBool IsFlag( TUint aFlag ) const;
-
- /**
- * Called by CVtEngRemoteVideo, when video sink is added
- * to PV.
- */
- void VideoSinkAdded();
-
- private: // from CActive
-
- /**
- * Handles active object cancellation.
- * @see CActive::Cancel
- */
- void DoCancel();
-
- /**
- * Handles active object execution errors.
- * @see CActive::RunError
- */
- TInt RunError( TInt aError );
-
- protected:
-
- /**
- * Defines if drawing can be done
- * and if we have not received frames
- * for some time and observer is notified
- * (and no new frames since then).
- */
- enum TFlags
- {
- // Start the rendering.
- EStarted = ( 1 << 0 ),
- // Ready by window server.
- EReadyForeground = ( 1 << 1 ),
- // Ready by internal state.
- EReadyInternal = ( 1 << 2 ),
- // Ready to draw.
- EReady = EReadyInternal | EReadyForeground,
- // Watcher expired because no frames received in time.
- EFrameWatcherExpired= ( 1 << 3 ),
- // First frame has been received.
- EFirstFrameReceived = ( 1 << 4 ),
- // Drawing ongoing flag
- ERemoteVideoDrawing = ( 1 << 5 ),
- // VT UI foreground status (if set, UI is foreground)
- EFlagUIForeground = ( 1 << 6 ),
- // Components have been initialized
- EFlagInitialized = ( 1 << 7 ),
- // VT UI has been sent to background
- ESentToBackground = ( 1 << 8 ),
- // Frame buffer contains data when this flag is set (DP,NGA)
- EFrameBufferFilled = ( 1 << 9 ),
- // BaseConstructL() call is pending (DP,NGA)
- EBaseConstructCalled = ( 1 << 10 ),
- // BaseSetConfigL() call is pending (DP,NGA)
- EBaseSetConfigCalled = ( 1 << 11 ),
- // BaseStartDrawL() call is pending (DP,NGA)
- EBaseBaseStartDrawCalled = ( 1 << 12 ),
- // UpdateSinkParamsL() needs to be called (DP,NGA)
- ESinkParamUpdateRequired = ( 1 << 13 ),
- // Sink().Resume() needs to be called (DP,NGA)
- ESinkResumeRequired = ( 1 << 14 ),
- // InitializePostingSurfaceL() call is pending (DP), CreateSurfaceL call is pending (NGA)
- EInitializePostingSurfaceCalled = ( 1 << 15 ),
- // New frame buffer is store, not coverted and scaled yet
- EFrameBufferNeedsConvertAndScale = ( 1 << 16 ),
-
- // Bitmask for all pending calls (DP)
- EDelayedCallsMask = EBaseConstructCalled |
- EBaseSetConfigCalled |
- EBaseBaseStartDrawCalled |
- ESinkParamUpdateRequired |
- EInitializePostingSurfaceCalled
- };
-
- protected : // data
-
- // Direct Screen Access.
- CDirectScreenAccess* iDSA;
-
- // Display sink providing bitmaps.
- MDisplaySink* iDisplaySink;
-
- // @see TFlags
- TInt iFlags;
-
- // For checking if display sink stops feeding.
- // drawer with bitmaps
- CPeriodic* iWatcher;
-
- // to reduce watcher restarts do cancel it
- // only every 15 frames
- // Counter for frame expiration.
- TInt iCheckpoint;
-
- // DisplaySink callback interface.
- MDisplaySinkObserver* iObserver;
-
- // Frame watcher callback.
- TCallBack iCallback;
-
- // Container class as a friend.
- friend class CVtEngRemoteVideo;
-
- // Temporarily store image size when size changes on the fly.
- TSize iSourceSize;
-
- // DisplaySink status boolean.
- TBool iDSUpdated;
- };
-
- private: // Data
- // Packet Video interface.
- MVtSessionCommand& iSessionCommand;
-
- // State manager.
- CVtEngStateManager& iStateManager;
-
- // Draws remote video with DSA.
- CVtEngDraw* iDrawer;
-
- // Display sink.
- MDisplaySink* iDisplaySink;
-
- // Audio sink interface.
- MVTAudioSink* iAudioSink;
-
- // Information from PV regarding sink.
- TInt iTrackId;
-
- // @see TFlags
- TInt iStateFlags;
-
- TBool iEnableNGA;
- };
-
-#endif // CVTENGREMOTEVIDEO_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/MVtEngDraw.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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: Remote video handling class.
-*
-*/
-
-
-
-#ifndef MVTENGDRAW_H
-#define MVTENGDRAW_H
-
-// INCLUDE
-
-#include <e32base.h>
-
-// FORWARD
-
-class MDisplaySink;
-class MDisplaySinkObserver;
-class TVtEngRenderConfig;
-
-/**
-* Drawer API.
-*
-* @lib videoteleng.lib
-* @since Series 60 3.2
-*/
-NONSHARABLE_CLASS( MVtEngDraw )
- {
- public:
-
- /**
- * Base construction for derived classes.
- */
- virtual void BaseConstructL() = 0;
-
- /**
- * Instantiates display sink.
- */
- virtual MDisplaySink* CreateSinkL() = 0;
-
- /**
- * Refresh view.
- */
- virtual void BaseRefreshL() = 0;
-
- /**
- * Updates the target bitmaps and/or displaymode
- * and/or the sizes of bitmaps
- */
- virtual void BaseRefreshBitmapsL() = 0;
-
- /**
- * DoCancel method for inherited classes.
- */
- virtual void BaseDoCancel() = 0;
-
- /**
- * Configuration verifying routine for derived classes. If
- * new configuration is not supported, then may this method
- * leaves with appropriate error code.
- */
- virtual void BaseVerifyConfigL() = 0;
-
- /**
- * Called when DSA calls Restart() to start drawing again.
- */
- virtual void BaseRestartL() = 0;
-
- /**
- * Called when DSA calls AbortNow() to stop drawing.
- */
- virtual void BaseAbortNow() = 0;
-
- /**
- * Starts rendering.
- */
- virtual void BaseStartDrawL() = 0;
-
- /**
- * Stops rendering.
- */
- virtual void BaseStopDraw() = 0;
-
- /**
- * Sets configuration.
- */
- virtual void BaseSetConfigL( const TVtEngRenderConfig& aConfig ) = 0;
-
- /**
- * Called when UI foreground status changes.
- */
- virtual void BaseSetUIForegroundL( TBool aForeground ) = 0;
-
- /**
- * Called when incoming video frame size changes.
- */
- virtual void BaseVideoFrameSizeChangedL( const TSize& aTo ) = 0;
-
- /**
- * Request update last remote video frame through MVtEngFrameObserver::vtSetFrame.
- */
- virtual void BaseRequestLastFrame() = 0;
-
- protected:
-
- /**
- * Returns current configuration settings.
- */
- virtual TVtEngRenderConfig& Config() = 0;
-
- };
-
-/**
-* Remote drawer factory.
-*
-* @lib videoteleng.lib
-* @since Series 60 3.2
-*/
-class VtEngDrawFactory
- {
- public:
- /**
- * Factory method for creating drawer
- * @param aObserver a callback interface
- */
- static MVtEngDraw* CreateDrawerL( MDisplaySinkObserver* aObserver, TBool );
- };
-
-#endif // MVTENGDRAW_H
\ No newline at end of file
--- a/vtengines/videoteleng/Inc/Media/MVtEngFrameObserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 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: Observer interface for video frames.
-*
-*/
-
-
-
-#ifndef MVTENGFRAMEOBSERVER_H
-#define MVTENGFRAMEOBSERVER_H
-
-// INCLUDES
-#include <e32def.h>
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-
-// CLASS DECLARATION
-
-/**
-* Observer interface for video frames.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class MVtEngFrameObserver
- {
- public:
-
- enum TFrameType
- {
- ELocalVideoFrame,
- ERemoteVideoFrame
- };
-
- virtual void vtHandleFrameL( TFrameType aType,
- CFbsBitmap* aBitmap ) = 0;
-
- /**
- * Sets last drawn frame. This frame will be stored by UI
- * and will be drawn when DSA is temporarily disabled (e.g.
- * when a menu is opened)
- */
- virtual void vtSetFrame( TFrameType aType,
- CFbsBitmap* aBitmap ) = 0;
-
- };
-
-#endif // MVTENGFRAMEOBSERVER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/MVtEngImageScaler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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: Interface used for scaling images to certain size.
-*
-*/
-
-
-
-#ifndef VTENGIMAGESCALER_H
-#define VTENGIMAGESCALER_H
-
-// INCLUDES
-#include <gdi.h>
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-
-/**
-* Image scaler observer.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.8
-*/
-class MVtEngScalerObserver
- {
- public:
-
- /**
- * Called when scaling is ready.
- * @param aBitmap a scaled bitmap
- * @param aError Symbian OS error code
- */
- virtual void ScalingCompleted(
- CFbsBitmap* aBitmap,
- TInt aError ) = 0;
- };
-
-/**
-* Image scaler.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class MVtEngImageScaler
- {
- public: // new functions
-
- /**
- * Used to start the scaling of an image.
- * @param aSourceIndex the index of the source to use.
- */
- virtual void ScaleL(
- TInt aSourceIndex ) = 0;
-
- /**
- * Configures the scaler.
- * @param aDisplayMode which kind of display
- * @param aSize the width and height of the display
- * @return ETrue if previous scaling was cancelled
- */
- virtual TBool ConfigureL(
- TDisplayMode aDisplayMode,
- TSize aSize,
- TInt aSourceHandle1,
- TInt aSourceHandle2 ) = 0;
-
- /**
- * Deletes the scaling object.
- */
- virtual void Release() = 0;
-
- /**
- * Possibility to cancel the scaling.
- * @return error code of canceling.
- */
- virtual TInt Cancel() = 0;
- };
-
-/**
-* Image scaler factory.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.8
-*/
-class VtEngScalerFactory
- {
- public:
- /**
- * Factory method for creating scaler
- * @param aObserver a callback interface
- */
- static MVtEngImageScaler* CreateScalerL(
- MVtEngScalerObserver& aObserver );
- };
-
-#endif // VTENGIMAGESCALER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/MVtEngMedia.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,357 +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: Media interface
-*
-*/
-
-
-
-#ifndef MVTENGMEDIA_H
-#define MVTENGMEDIA_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class MVtEngLocalVideoDisplay;
-class CFbsBitmap;
-
-// CLASS DECLARATION
-
-/**
-* Media interface for defining data types for media transport and
-* presentation of it locally as well methods for obtaining current
-* configuration.
-*
-* @lib videoteleng.lib
-* @since Series 60 2.6
-*/
-class MVtEngMedia
- {
- public: // New functions.
-
- enum TMediaType
- {
- EMediaAudio = (1 << 0 ),
- EMediaVideo = ( 1 << 1 ),
- EMediaAudioPreparing = ( 1 << 2 ),
- EMediaVideoPreparing = ( 1 << 3 ),
- // Status of audio channel, applicable only for outgoing audio.
- EMediaAudioChannelOpen = ( 1 << 4 ),
- // Status of video channel, applicable only for outgoing video.
- EMediaVideoChannelOpen = ( 1 << 5 )
- };
-
- /**
- * ESourceCapsPrimaryCamera
- * primary camera can be selected.
- * ESourceCapsSecondaryCamera
- * secondary camera can be selected.
- * ESourceCapsStillImage
- * still image can be selected.
- */
- enum TSourceCapsFlags
- {
- ESourceCapsPrimaryCamera = ( 1 << 0 ),
- ESourceCapsSecondaryCamera = ( 1 << 1 ),
- ESourceCapsStillImage = ( 1 << 2 )
- };
-
- /**
- * EMediaOutgoing
- * outbound media
- * EMediaIncoming
- * inbound media
- */
- enum TMediaDirection
- {
- EMediaOutgoing,
- EMediaIncoming
- };
-
- /**
- * EMediaNone
- * No media source selected.
- * EMediaCamera
- * Camera selected
- * EMediaCameraPri
- * Primary camera selected.
- * Camera is inwards
- * EMediaCameraSec
- * Secondary camera selected.
- * Camera is outwards
- * EMediaStillImage
- * Still image as source.
- * EMediaVideoStream
- * Video stream selected.
- */
- enum TMediaSource
- {
- EMediaNone,
- EMediaCamera,
- EMediaCameraPri,
- EMediaCameraSec,
- EMediaStillImage,
- EMediaVideoStream,
- EMediaShare
- };
-
- /**
- * EPrimaryCamera
- * Primary camera is inwards faced.
- * ESecondaryCamera
- * Camera is facing outwards.
- */
- enum TCameraId
- {
- EPrimaryCamera,
- ESecondaryCamera
- };
-
- /**
- * Camera information (zoom mainly).
- */
- struct TCameraInfo
- {
- TInt iMinZoom;
- TInt iMaxZoom;
- TInt iMaxDigitalZoom;
- TInt iMajorZoomStepCount;
- };
-
- /**
- *
- * Video quality enumeration.
- *
- * EVideoQualityUndefined video quality has not been set
- * yet.
- * EVideoQualityDetail means slow frame rate, good image
- * quality..
- * EVideoQualityNormal smoother video with somewhat lower
- * image quality than EVideoQualityDetail.
- * EVideoQualityMotion the smoothest video with the worst
- * image quality.
- */
- enum TVideoQuality
- {
- EVideoQualityUndefined,
- EVideoQualityDetail,
- EVideoQualityNormal,
- EVideoQualityMotion
- };
-
- /**
- * Enumerates object sharing state.
- *
- * ENotAbleToShare Is not able to share any objects (engine in wrong
- * state)
- * ENotSharing Is not sharing anything
- * EInitializingShareImage Initializing still image sharing.
- * ESharingImage Is sharing image
- * ESharingVideoClip Is sharing video clip
- */
- enum TShareObjectState
- {
- ENotAbleToShare,
- ENotSharing,
- EInitializingShareImage,
- EInitializingShareVideoClip,
- ESharingImage,
- ESharingVideoClip
- };
-
- /**
- * Defines layout (screen orientation) used by
- * Video Telephone application per active camera.
- * Each camera has one of the following values:
- *
- * EOrientationLandscape Layout is always landscape.
- * EOrientationPortrait Layout is always portrait.
- * EOrientationObeyLayoutSwitch Obey layout in specific device mode.
- */
- enum TCameraOrientation
- {
- EOrientationLandscape,
- EOrientationPortrait,
- EOrientationObeyLayoutSwitch
- };
-
- /**
- * Command parameters for Image sharing.
- */
- typedef TFileName TShareObjectImageParameters;
-
- /**
- * Command parameters for Video Clip sharing.
- */
- typedef TFileName TShareObjectVideoClipParameters;
-
- /**
- * Parameters for Prepare Camera.
- */
- struct TPrepareCameraParams
- {
- TMediaSource iMediaSource;
- TBool iInitialize;
- };
-
- /**
- * Returns state of transmission local video/audio to remote end.
- *
- * @param aMediaDirection
- * @param aActiveMedia returns active media as bitmap (see TMediaType).
- * @return Symbian OS error code.
- */
- virtual TInt GetMediaState(
- const TMediaDirection aMediaDirection,
- TInt& aActiveMedia ) const = 0;
-
- /**
- * Returns active source for video transmission and
- * local display.
- * @param aSource source in return
- * @return Symbian OS error code
- */
- virtual TInt GetSource( TMediaSource& aSource ) const = 0;
-
- /**
- * Returns source capabilities.
- * @param combination of capability flags
- * @return Symbian OS error code
- */
- virtual TInt GetSourcesCaps( TInt& aCaps ) const = 0;
-
- /**
- * Returns currently active camera.
- * @param returns current camera id.
- * @return Symbian OS error code.
- * KErrNotReady if the engine is not ready or it's in wrong state,
- * KErrInUse if camera is used by other application.
- * Camera must be initialized, by async KVtEngPrepareCamera command or
- * KVtEngSetSource command with camera parameter, in order to get
- * KErrInUse indication.
- */
- virtual TInt GetCurrentCameraId( TCameraId& aId ) const = 0;
-
- /**
- * Returns camera information.
- * @param aId camera to query information for.
- * @param aInfo returns camera information
- * @return Symbian OS error code. If camera is not
- * available returns KErrNotFound.
- */
- virtual TInt GetCameraInfo(
- const TCameraId aId,
- TCameraInfo& aInfo ) const = 0;
-
- /**
- * Gets current zoom step
- * @param aCurrentStep current zoom step
- * @return Symbian OS error code.
- */
- virtual TInt GetCurrentZoomStep( TInt& aCurrentStep ) = 0;
-
- /**
- * Gets maximum zoom value that may be passed to camera.
- * @param aMaxZoomStep maximum zoom step.
- * @return Symbian OS error code.
- */
- virtual TInt GetMaxZoomStep( TInt& aMaxZoomStep ) = 0;
-
- /**
- * Gets number of major zoom level leaps.
- * Less than or equal to maximum digital zoom steps.
- * @param aCount number of leaps
- * @return Symbian OS error code.
- */
- virtual TInt GetMajorZoomStepCount( TInt& aCount ) = 0;
-
- /**
- * Maps major zoom leap step to corresponding step index.
- * @param aIndex major zoom step.
- * @param aStep zoom step
- */
- virtual void GetMajorZoomStep( TInt aIndex, TInt& aStep ) = 0;
-
- /**
- * Gets freeze support status.
- * @param aFreezeSupported ETrue if freeze is supported, EFalse otherwise.
- * @return KErrNotReady if provider is not ready yet.
- * @since S60 3.1
- */
- virtual TInt GetFreezeSupported( TBool& aFreezeSupported ) const = 0;
-
- /**
- * Gets freeze current status.
- * @param aFreezeSupported ETrue if active provider is frozen, EFalse otherwise.
- * @return KErrNotReady if provider is not ready yet.
- * @since S60 3.1
- */
- virtual TInt GetFreezeState( TBool& aFrozen ) const = 0;
-
- /**
- * Returns state of DSA drawing, whether is active or not.
- * @param aMediaDirection in or out direction
- * @param aState returns state of Direct Screen Access
- * @return Symbian OS error code
- */
- virtual TInt GetDsaState(
- const TMediaDirection aMediaDirection,
- TBool& aActive ) const = 0;
-
- /**
- * Returns state of VideoCall, whether is connected or not.
- * @return state
- */
- virtual TBool VideoCallConnected () const = 0;
-
- /**
- * Returns ETrue if rendering has been started.
- *
- * @param aDirection specifies the rendering direction to check
- * @return ETrue if rendering has been started.
- */
- virtual TBool RenderingStarted( const TMediaDirection
- aDirection ) const = 0;
-
- /**
- * Gets current local video quality setting.
- * @param aVideoQuality Current local video quality settings.
- * @since S60 3.1
- */
- virtual void GetVideoQuality( TVideoQuality& aVideoQuality ) const = 0;
-
- /**
- * Gets current object sharing state.
- * @param aObjectSharingState On return contains current object sharing
- * state. @see MVtEngMedia::TShareObjectState.
- * @since S60 3.1
- */
- virtual void GetObjectSharingState(
- TShareObjectState& aObjectSharingState ) const = 0;
-
- /**
- * Gets camera orientations for primary and secondary camera.
- * @see MVtEngMedia::TCameraOrientation
- * @param aPrimaryCameraOrientation priamry camera orientation.
- * @param aSecondaryCameraOrientation secondary camera orientation.
- */
- virtual void GetCameraOrientations(
- TCameraOrientation& aPrimaryCameraOrientation,
- TCameraOrientation& aSecondaryCameraOrientation ) const = 0;
- };
-
-#endif // MVTENGMEDIA_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderConfig.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-#ifndef TVTENGRENDERCONFIG_H
-#define TVTENGRENDERCONFIG_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-
-class MVtEngFrameObserver;
-class RWsSession;
-class CWsScreenDevice;
-class RWindowBase;
-class RWindow;
-
-
-// CLASS DECLARATION
-
-/**
-* Configuration for representation of local or remote video.
-* Used only internally.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-struct TVtEngRenderConfig
- {
- public: // enumerations
-
- /**
- * Indication of type of rendering specified by configuration.
- * EWsRender fields applicable for window server are valid
- * EDsaRender fields applicable for DSA are valid
- */
- enum TRenderType
- {
- EWsRender,
- EDsaRender,
- EDpRender,
- ENgaRender
- };
-
- public: // data
- RWindow* iRemoteWindow;
-
- RWsSession* iWsSession;
- CWsScreenDevice* iWsSreenDevice;
- RWindowBase* iWindow;
-
- MVtEngFrameObserver* iObserver;
- TRect iRect;
- TRect iClipRect;
- TPoint iOffset;
- TRenderType iType;
- };
-
-#endif // TVTENGRENDERCONFIG_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderConfigDP.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-#ifndef TVTENGRENDERCONFIGDP_H
-#define TVTENGRENDERCONFIGDP_H
-
-// INCLUDES
-#include "TVtEngRenderConfig.h"
-#include "TVtEngRenderingDP.h"
-#include <Posting_Surface.h>
-
-// FORWARD DECLARATIONS
-
-class MVtEngFrameObserver;
-class RWsSession;
-class CWsScreenDevice;
-class RWindowBase;
-
-// CLASS DECLARATION
-
-/**
-* Configuration for representation of local or remote video.
-* Used only internally.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( TVtEngRenderConfigDP ) : public TVtEngRenderConfig
- {
-public: // new functions
-
- TVtEngRenderConfigDP();
-
- TVtEngRenderConfigDP( const TVtEngRenderingOptionsDP& aOptions );
-
- TVtEngRenderConfigDP& operator=( const TVtEngRenderConfig& aConfig );
-
-public: // data
- // Background color value. This color is filled to areas that are not
- // covered by the image.
- TUint iBackGround;
- };
-
-#include "TVtEngRenderConfigDP.inl"
-
-#endif // TVTENGRENDERCONFIGDP_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderConfigDP.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigDP::TVtEngRenderConfigDP
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigDP::TVtEngRenderConfigDP()
- {
- Mem::FillZ( this, sizeof( TVtEngRenderConfigDP ) );
- iType = EDpRender;
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigDP::TVtEngRenderConfigDP
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigDP::TVtEngRenderConfigDP(
- const TVtEngRenderingOptionsDP& aOptions )
- {
- iType = EDpRender;
- iWsSession = &aOptions.iWs;
- iWsSreenDevice = &aOptions.iWsSD;
- iWindow = &aOptions.iWindow;
- iObserver = aOptions.iObserver;
- iRect = aOptions.iRect;
- iClipRect = aOptions.iClipRect;
- iOffset = aOptions.iOffset;
- iBackGround = 0;
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigDP::operator=
-//
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigDP& TVtEngRenderConfigDP::operator=(
- const TVtEngRenderConfig& aConfig )
- {
- iWsSession = aConfig.iWsSession;
- iWsSreenDevice = aConfig.iWsSreenDevice;
- iWindow = aConfig.iWindow;
- iObserver = aConfig.iObserver;
- iRect = aConfig.iRect;
- iClipRect = aConfig.iClipRect;
- iOffset = aConfig.iOffset;
- iType = aConfig.iType;
- return *this;
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderConfigDSA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-#ifndef TVTENGRENDERCONFIGDSA_H
-#define TVTENGRENDERCONFIGDSA_H
-
-// INCLUDES
-#include <e32std.h>
-#include "TVtEngRenderConfig.h"
-#include "TVtEngRenderingDSA.h"
-
-// FORWARD DECLARATIONS
-
-class MVtEngFrameObserver;
-class RWsSession;
-class CWsScreenDevice;
-class RWindowBase;
-
-// CLASS DECLARATION
-
-/**
-* Configuration for representation of local or remote video.
-* Used only internally.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( TVtEngRenderConfigDSA ) : public TVtEngRenderConfig
- {
-public: // new functions
-
- TVtEngRenderConfigDSA();
-
- TVtEngRenderConfigDSA( const TVtEngRenderingOptionsDSA& aOptions );
-
- TVtEngRenderConfigDSA& operator=( const TVtEngRenderConfig& aConfig );
-
-public: // data
- };
-
-#include "TVtEngRenderConfigDSA.inl"
-
-#endif // TVTENGRENDERCONFIGDSA_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderConfigDSA.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigDSA::TVtEngRenderConfigDSA
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigDSA::TVtEngRenderConfigDSA()
- {
- Mem::FillZ( this, sizeof( TVtEngRenderConfigDSA ) );
- iType = EDsaRender;
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigDSA::TVtEngRenderConfigDSA
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigDSA::TVtEngRenderConfigDSA(
- const TVtEngRenderingOptionsDSA& aOptions )
- {
- iType = EDsaRender;
- iWsSession = &aOptions.iWs;
- iWsSreenDevice = &aOptions.iWsSD;
- iWindow = &aOptions.iWindow;
- iObserver = aOptions.iObserver;
- iRect = aOptions.iRect;
- iClipRect = aOptions.iClipRect;
- }
-
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigDSA::operator=
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigDSA& TVtEngRenderConfigDSA::operator=(
- const TVtEngRenderConfig& aConfig )
- {
- iWsSession = aConfig.iWsSession;
- iWsSreenDevice = aConfig.iWsSreenDevice;
- iWindow = aConfig.iWindow;
- iObserver = aConfig.iObserver;
- iRect = aConfig.iRect;
- iClipRect = aConfig.iClipRect;
- iOffset = aConfig.iOffset;
- iType = aConfig.iType;
- return *this;
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderConfigNGA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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: Class for NGA render configuration.
-*
-*/
-
-
-#ifndef TVTENGRENDERCONFIGNGA_H
-#define TVTENGRENDERCONFIGNGA_H
-
-// INCLUDES
-#include "TVtEngRenderConfig.h"
-#include "TVtEngRenderingNGA.h"
-
-// FORWARD DECLARATIONS
-
-class MVtEngFrameObserver;
-class RWsSession;
-class CWsScreenDevice;
-class RWindowBase;
-
-// CLASS DECLARATION
-
-/**
-* Configuration for representation of local or remote video.
-* Used only internally.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( TVtEngRenderConfigNGA ) : public TVtEngRenderConfig
- {
-public: // new functions
-
- TVtEngRenderConfigNGA();
-
- TVtEngRenderConfigNGA( const TVtEngRenderingOptionsNGA& aOptions );
-
- TVtEngRenderConfigNGA& operator=( const TVtEngRenderConfig& aConfig );
-
-public: // data
- };
-
-#include "TVtEngRenderConfigNGA.inl"
-
-#endif // TVTENGRENDERCONFIGNGA_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderConfigNGA.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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: Inline implementation for TVtEngRenderConfigNGA.
-*
-*/
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigNGA::TVtEngRenderConfigNGA
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigNGA::TVtEngRenderConfigNGA()
- {
- Mem::FillZ( this, sizeof( TVtEngRenderConfigNGA ) );
- iType = ENgaRender;
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigDP::TVtEngRenderConfigNGA
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigNGA::TVtEngRenderConfigNGA(
- const TVtEngRenderingOptionsNGA& aOptions )
- {
- iType = ENgaRender;
- iWsSession = &aOptions.iWs;
- //iWsSreenDevice = &aOptions.iWsSD;
- // iWindow = &aOptions.iWindow;
- iObserver = aOptions.iObserver;
- //iRect = aOptions.iRect;
- //iClipRect = aOptions.iClipRect;
- //iOffset = aOptions.iOffset;
- iRemoteWindow = &aOptions.iWindow;
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderConfigDP::operator=
-//
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderConfigNGA& TVtEngRenderConfigNGA::operator=(
- const TVtEngRenderConfig& aConfig )
- {
- iWsSession = aConfig.iWsSession;
- // iWsSreenDevice = aConfig.iWsSreenDevice;
- // iWindow = aConfig.iWindow;
- iObserver = aConfig.iObserver;
- // iRect = aConfig.iRect;
- //iClipRect = aConfig.iClipRect;
- // iOffset = aConfig.iOffset;
- iType = aConfig.iType;
- iRemoteWindow = aConfig.iRemoteWindow;
- return *this;
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRendering.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-#ifndef TVTENGRENDERING_H
-#define TVTENGRENDERING_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-
-class MVtEngFrameObserver;
-class RWsSession;
-class CWsScreenDevice;
-class RWindowBase;
-
-// CLASS DECLARATION
-
-/**
-* Configuration for representation of local or remote video
-* via window server.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( TVtEngRenderingOptions )
- {
- public: // constructor
-
- /**
- * C++ constructor
- */
- inline TVtEngRenderingOptions(
- MVtEngFrameObserver& aObserver,
- TSize aRect );
-
- /**
- * copy constructor
- */
- inline TVtEngRenderingOptions( const TVtEngRenderingOptions& aOptions );
-
- private:
- TVtEngRenderingOptions& operator=( const TVtEngRenderingOptions& );
-
- public:
- // Frame observer
- MVtEngFrameObserver* iObserver;
-
- // Bitmap size
- TSize iSize;
- };
-
-#include <tvtengrendering.inl>
-
-#endif // TVTENGRENDERING_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRendering.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderingOptions::TVtEngRenderingOptions
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderingOptions::TVtEngRenderingOptions(
- MVtEngFrameObserver& aObserver,
- TSize aSize ) :
- iObserver( &aObserver ),
- iSize( aSize)
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderingOptions::TVtEngRenderingOptions
-// C++ copy constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderingOptions::TVtEngRenderingOptions(
- const TVtEngRenderingOptions& aOptions ) :
- iObserver( aOptions.iObserver ),
- iSize( aOptions.iSize )
- {
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderingDP.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-#ifndef TVTENGRENDERINGDP_H
-#define TVTENGRENDERINGDP_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-
-class MVtEngFrameObserver;
-class RWsSession;
-class CWsScreenDevice;
-class RWindowBase;
-
-// CLASS DECLARATION
-
-/**
-* Display posting access rendering definitions.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( TVtEngRenderingOptionsDP )
- {
- public: // constructor
-
- /**
- * C++ constructor
- */
- inline TVtEngRenderingOptionsDP(
- MVtEngFrameObserver& aObserver,
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- const TRect& aScreenRect,
- const TRect& aClipRect,
- const TPoint& aOffset );
-
- /**
- * C++ copy constructor.
- * @param aOptions options to be copied to this instance.
- */
- inline TVtEngRenderingOptionsDP(
- const TVtEngRenderingOptionsDP& aOptions );
-
- private:
- TVtEngRenderingOptionsDP& operator=(
- const TVtEngRenderingOptionsDP& );
-
- public: // data members
- RWsSession& iWs;
- CWsScreenDevice& iWsSD;
- RWindowBase& iWindow;
- TRect iRect;
- TRect iClipRect;
- TPoint iOffset;
-
- // Frame observer
- MVtEngFrameObserver* iObserver;
- };
-
-#include <tvtengrenderingdp.inl>
-
-#endif // TVTENGRENDERINGDP_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderingDP.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderingOptionsDP::TVtEngRenderingOptionsDP
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderingOptionsDP::TVtEngRenderingOptionsDP(
- MVtEngFrameObserver& aObserver,
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- const TRect& aScreenRect,
- const TRect& aClipRect,
- const TPoint& aOffset ) :
- iWs( aWs ),
- iWsSD( aScreenDevice ),
- iWindow( aWindow ),
- iRect( aScreenRect ),
- iClipRect( aClipRect ),
- iOffset( aOffset ),
- iObserver( &aObserver )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderingOptionsDSA::TVtEngRenderingOptionsDP
-// C++ copy constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderingOptionsDP::TVtEngRenderingOptionsDP(
- const TVtEngRenderingOptionsDP& aOptions )
- : iWs( aOptions.iWs ),
- iWsSD( aOptions.iWsSD ),
- iWindow( aOptions.iWindow ),
- iRect( aOptions.iRect ),
- iClipRect( aOptions.iClipRect ),
- iOffset( aOptions.iOffset ),
- iObserver( aOptions.iObserver )
- {
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderingDSA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-#ifndef TVTENGRENDERINGDSA_H
-#define TVTENGRENDERINGDSA_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-
-class MVtEngFrameObserver;
-class RWsSession;
-class CWsScreenDevice;
-class RWindowBase;
-
-// CLASS DECLARATION
-
-/**
-* Direct screen access rendering definitions.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( TVtEngRenderingOptionsDSA )
- {
- public: // constructor
-
- /**
- * C++ constructor
- */
- inline TVtEngRenderingOptionsDSA(
- MVtEngFrameObserver& aObserver,
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- const TRect& aScreenRect,
- const TRect& aClipRect );
-
- /**
- * C++ copy constructor.
- * @param aOptions options to be copied to this instance.
- */
- inline TVtEngRenderingOptionsDSA(
- const TVtEngRenderingOptionsDSA& aOptions );
-
- private:
- TVtEngRenderingOptionsDSA& operator=(
- const TVtEngRenderingOptionsDSA& );
-
- public: // data members
- RWsSession& iWs;
- CWsScreenDevice& iWsSD;
- RWindowBase& iWindow;
- TRect iRect;
- TRect iClipRect;
-
- // Frame observer
- MVtEngFrameObserver* iObserver;
- };
-
-#include <tvtengrenderingdsa.inl>
-
-#endif // TVTENGRENDERINGDSA_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderingDSA.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderingOptionsDSA::TVtEngRenderingOptionsDSA
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderingOptionsDSA::TVtEngRenderingOptionsDSA(
- MVtEngFrameObserver& aObserver,
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- const TRect& aScreenRect,
- const TRect& aClipRect ) :
- iWs( aWs ),
- iWsSD( aScreenDevice ),
- iWindow( aWindow ),
- iRect( aScreenRect ),
- iClipRect( aClipRect ),
- iObserver( &aObserver )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderingOptionsDSA::TVtEngRenderingOptionsDSA
-// C++ copy constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderingOptionsDSA::TVtEngRenderingOptionsDSA(
- const TVtEngRenderingOptionsDSA& aOptions )
- : iWs( aOptions.iWs ),
- iWsSD( aOptions.iWsSD ),
- iWindow( aOptions.iWindow ),
- iRect( aOptions.iRect ),
- iClipRect( aOptions.iClipRect ),
- iObserver( aOptions.iObserver )
- {
- }
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderingNGA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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: Class for NGA Rendering.
-*
-*/
-
-#ifndef TVTENGRENDERINGNGA_H
-#define TVTENGRENDERINGNGA_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-
-class MVtEngFrameObserver;
-class RWindow;
-class RWsSession;
-// CLASS DECLARATION
-
-/**
-* Direct screen access rendering definitions.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( TVtEngRenderingOptionsNGA )
- {
- public: // constructor
-
- /**
- * C++ constructor
- */
- inline TVtEngRenderingOptionsNGA(
- MVtEngFrameObserver& aObserver,
- RWindow& aWindow, RWsSession& aWs );
-
- /**
- * C++ copy constructor.
- * @param aOptions options to be copied to this instance.
- */
- inline TVtEngRenderingOptionsNGA(
- const TVtEngRenderingOptionsNGA& aOptions );
-
- private:
- TVtEngRenderingOptionsNGA& operator=(
- const TVtEngRenderingOptionsNGA& );
-
- public: // data members
- RWindow& iWindow;
-
- RWsSession& iWs;
-
- // Frame observer
- MVtEngFrameObserver* iObserver;
- };
-
-#include <tvtengrenderingnga.inl>
-
-#endif // TVTENGRENDERINGNGA_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Media/TVtEngRenderingNGA.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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: Inline implementation for TVtEngRenderingOptionsNGA
-*
-*/
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderingOptionsNGA::TVtEngRenderingOptionsNGA
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderingOptionsNGA::TVtEngRenderingOptionsNGA(
- MVtEngFrameObserver& aObserver,
- RWindow& aWindow, RWsSession& aWs) :
- iWindow( aWindow ),
- iWs( aWs ),
- iObserver( &aObserver )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderingOptionsNGA::TVtEngRenderingOptionsNGA
-// C++ copy constructor
-// -----------------------------------------------------------------------------
-//
-inline TVtEngRenderingOptionsNGA::TVtEngRenderingOptionsNGA(
- const TVtEngRenderingOptionsNGA& aOptions )
- : iWindow( aOptions.iWindow ),
- iWs( aOptions.iWs),
- iObserver( aOptions.iObserver )
- {
- }
-// End of File
--- a/vtengines/videoteleng/Inc/Session/CVtEngSessionHandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 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 session interface.
-*
-*/
-
-
-
-#ifndef CVTENGSESSIONHANDLER_H
-#define CVTENGSESSIONHANDLER_H
-
-// INCLUDES
-#include <e32std.h>
-#include "MVtEngSessionInfo.h"
-#include "MVtCtlEventObserver.h"
-#include "MVtCtlCallControl.h"
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CVtEngStateManager;
-class CVtCtlFactory;
-class CVtEngOperation;
-class CVtEngIncomingCallMonitor;
-// CLASS DECLARATION
-
-/**
-* Abstraction for video telephony session with remote end.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngSessionHandler ) :
- public CActive,
- public MVtEngSessionInfo,
- public MVtCtlEventObserver
- {
- public: // constructor and destructors
-
- static CVtEngSessionHandler* NewL( );
-
- virtual ~CVtEngSessionHandler();
-
- public: // New functions
-
- /**
- * Performs on operation in the handler.
- * @param operation to be performed on the handler
- */
- void HandleL( CVtEngOperation& aOperation );
-
- public: // from MVtEngSessionInfo
-
- /**
- * Gets session state.
- * @return
- */
- virtual TSessionState State( TBool aForcedRefresh ) const;
-
- /**
- * Gets session direction.
- * @return
- */
- virtual TInt GetDirection( TDirection& aDirection ) const;
-
- /**
- * Gets session duration.
- * @param
- * @param
- */
- virtual TInt GetDuration(
- TDuration& aDuration,
- TBool& aEnabled ) const;
-
- /*
- * @see MVtEngSessionInfo::aCLI
- */
- virtual TInt GetCLI( TCLI& aCLI ) const;
-
- public: // From MVtCtlEventObserver
- virtual void HandleVtSessionEventL(
- TVtCtlEvent aEvent,
- TAny* aParams );
-
- public: // new functions
- /**
- * Initializes session handler.
- */
- void InitializeL();
-
- /**
- * Frees resources used by session handler.
- */
- void Uninitialize();
-
- MVtCtlCallControl::TVtCtlState RealState() const;
-
- /**
- * Starts Incoming call PS key monitoring
- */
- void StartIncomingCallMonitorL();
-
- private: // constructors
-
- void ConstructL();
-
- CVtEngSessionHandler( );
-
- private: // from CActive
- void RunL();
-
- void DoCancel();
-
- private: // Member data
- MVtCtlCallControl* iSessionControl;
- CVtCtlFactory* iFactory;
-
- RLibrary iLib;
-
- CVtEngIncomingCallMonitor* iIncomingCallMonitor;
- };
-
-
-#endif // CVTENGSESSIONHANDLER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Session/MVtEngDtmfHandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2004 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: DTMF handler interface for DTMF states and media
-* handler to use.
-*
-*/
-
-
-
-#ifndef MVTENGDTMFHANDLER_H
-#define MVTENGDTMFHANDLER_H
-
-// INCLUDES
-#include <e32std.h>
-
-// DATA TYPES
-
-// FORWARD DECLARATIONS
-class CVtEngOperation;
-class TVtEngDtmfTone;
-class MVTUserInput;
-class CVtEngDtmfState;
-
-// CLASS DECLARATION
-
-/**
-* Base class for data types
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class MVtEngDtmfHandler
- {
- public: //
- /**
- * Dtmf states
- */
- enum TVtEngDtmfState
- {
- // Not sending DTMF
- EVtDtmfStateIdle = 0,
- // Sending DTMF
- EVtDtmfStateSending,
- // Sending DTMF, another waiting in buffer
- EVtDtmfStateBuffered
- };
-
- public:
-
- /**
- * Handles a DTMF command.
- * @param
- */
- virtual void HandleL( CVtEngOperation& aOp ) = 0;
-
- /**
- * Activates a DTMF state.
- * @param aNewState state index
- * @return activated state
- */
- virtual CVtEngDtmfState& ActivateState(
- MVtEngDtmfHandler::TVtEngDtmfState aNewState ) = 0;
-
- /**
- * Handles completion of DTMF sending, non-leavable method.
- * @param aError Symbian OS error code
- */
- virtual void SendComplete( TInt aError ) = 0;
-
- /**
- * Returns new instance used for sending DTMF tone to protocol
- * @param aTone tone to send
- * @return protocol DTMF tone.
- */
- virtual MVTUserInput& ReserveProtoDtmfL(
- const TVtEngDtmfTone& aTone ) = 0;
-
- /**
- * Releses protocol DTMF instance.
- */
- virtual void ReleaseProtoDtmf() = 0;
-
- /**
- * Compares last issued DTMF command ID to given command ID.
- * @param aCheckCommandId command ID to be compared against
- * @return ETrue if IDs are same, otherwise EFalse
- */
- virtual TBool CheckCommandId( TInt aCheckCommandId ) const = 0 ;
-
- /**
- * Stores command ID, used in CheckCommandID.
- * @param aStoreCommandId command ID to be stored.
- */
- virtual void StoreCommandId( TInt aStoreCommandId ) = 0;
- };
-
-#endif MVTENGDTMFHANDLER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Session/MVtEngSessionInfo.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 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 session interface.
-*
-*/
-
-
-
-#ifndef MVTENGSESSIONINFO_H
-#define MVTENGSESSIONINFO_H
-
-// INCLUDES
-#include <e32std.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Abstraction for video telephony session with remote end.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class MVtEngSessionInfo
- {
- public: //
-
- /**
- * Session state
- * EIdle Session not established.
- * EInitializing Initializing MO session
- * ERemoteAlerting Remote end is alerting
- * EReceiving Incoming session request from network
- * EConnected Connection to peer is established.
- * ENegotiating Handshaking with peer.
- * EOpen Session active and media channels are open.
- * EClearing Clearing connection.
- */
- enum TSessionState
- {
- EUnknown = -1,
- EIdle,
- EInitializing,
- ERemoteAlerting,
- EReceiving,
- EConnected,
- ENegotiating,
- EOpen,
- EClearing
- };
-
- typedef TTimeIntervalSeconds TDuration;
-
- /**
- * Session direction
- * EDirectionNone In idle there's no direction .
- * EDirectionMO Mobile originated sesison
- * EDirectionMT Mobile terminated session
- */
- enum TDirection
- {
- EDirectionNone,
- EDirectionMO,
- EDirectionMT
- };
-
- enum { KCallNameLength = 50 };
-
- typedef TBuf<KCallNameLength> TCallName;
- /**
- * CLI data related to a call
- */
- struct TCLI {
- // call id of the call
- TInt iCallId;
-
- // caller name
- TCallName iName;
-
- // indicates if voice call can be made to peer
- TBool iVoiceCallPossible;
- };
-
- /**
- * Returns session state
- * @aForcedRefresh if ETrue current state is forced to update.
- * Should be EFalse when called in frequently because forced
- * refresh is more time consuming (requires context switch)
- * @return
- */
- virtual TSessionState State( TBool aForcedRefresh ) const = 0;
-
- /**
- *
- * @return direction
- */
- virtual TInt GetDirection( TDirection& aDirection ) const = 0;
-
- /**
- *
- * @param
- * @param aEnabled
- */
- virtual TInt GetDuration(
- TDuration& aDuration,
- TBool& aEnabled ) const = 0;
-
-
- virtual TInt GetCLI( TCLI& aCLI ) const = 0;
- };
-
-
-#endif // TVTENGSESSIONINFO_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Session/TVtEngDtmfTone.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2004 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: Local and remote video rendering configuration.
-*
-*/
-
-
-
-#ifndef TVTENGDTMFTONE_H
-#define TVTENGDTMFTONE_H
-
-// INCLUDES
-#include "TVtEngType.h"
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Abstraction for DTMF tone
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class TVtEngDtmfTone : public TVtEngtType
- {
- public: // constructor
-
- /**
- * C++ constructor
- */
- TVtEngDtmfTone( const TChar& aTone );
-
- public:
- // Tone
- TChar iTone;
- };
-#include "TVtEngDtmfTone.inl"
-
-#endif // TVTENGDTMFTONE_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/Session/TVtEngDtmfTone.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2004 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: Inline methods for TVtEngDtmfTone
-*
-*/
-
-
-
-inline TVtEngDtmfTone::TVtEngDtmfTone( const TChar& aTone )
-: TVtEngtType( EVtEngTypeDtmf ) { iTone = aTone; }
-
-// End of File
\ No newline at end of file
--- a/vtengines/videoteleng/Inc/State/CVtEngDtmfState.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* Copyright (c) 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: DTMF state classes.
-*
-*/
-
-
-
-#ifndef CVTENGDTMFSTATE_H
-#define CVTENGDTMFSTATE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <mvtprotocolhandler.h>
-#include "TVtEngDtmfTone.h"
-#include "MVtEngDtmfHandler.h"
-
-
-
-// CLASS DECLARATION
-
-/**
-* Base class for DTMF states.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngDtmfState ) : public CBase
- {
- public:
- /**
- * C++ constructor.
- * @param aDtmfHandler
- * @param aH324Config H324 configure interface
- */
- CVtEngDtmfState(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config );
-
- public: // new methods
-
- /**
- * Sends a DTMF tone. Derived classes implement this
- * and each vary in behavior.
- * @param aTone tone to send
- */
- virtual void SendDtmfL( const TVtEngDtmfTone& aTone ) = 0;
-
- /**
- * Handles callback about DTMF sending. Releases pv2way dtmf instance.
- * @param aError Symbian OS error code
- */
- virtual void DtmfSendCompleteL( TInt aError );
-
- protected: // new methods
- /**
- * Sends tone and changes state
- * @param aDtmf tone to send
- * @param aNewState new DTMF state
- */
- void DoSendAndActivateStateL(
- const TVtEngDtmfTone& aDtmf,
- MVtEngDtmfHandler::TVtEngDtmfState aNewState );
-
- protected: // member data
-
- // DTMF handler
- MVtEngDtmfHandler& iDtmfHandler;
-
- // H324 configure interface
- MVtH324ConfigCommand& iH324Config;
- };
-
-/**
-* Idle DTMF state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngDtmfIdle ) : public CVtEngDtmfState
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aDtmfHandler
- * @param aH324Config H324 configure interface
- */
- static CVtEngDtmfState* NewL(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngDtmfIdle();
-
- public: // From CVtEngStateBase
-
- /**
- * Sends DTMF tone and changes state to "sending".
- * @param aTone tone to send
- */
- virtual void SendDtmfL( const TVtEngDtmfTone& aTone );
-
- /**
- * @see CVtEngDtmfState
- */
- virtual void DtmfSendCompleteL( TInt aError );
-
- private: // constructors
-
- /**
- * C++ constructor.
- * @param aDtmfHandler
- * @param aH324Config H324 configure interface
- */
- CVtEngDtmfIdle(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config );
- };
-
-/**
-* Sending DTMF state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngDtmfSending ) : public CVtEngDtmfState
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aDtmfHandler
- * @param aH324Config H324 configure interface
- */
- static CVtEngDtmfState* NewL(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngDtmfSending();
-
- public: // From CVtEngStateBase
-
- /**
- * Changes state to "buffered".
- * @param aTone tone to send
- */
- virtual void SendDtmfL( const TVtEngDtmfTone& aTone );
-
- /**
- * @see CVtEngDtmfState
- */
- virtual void DtmfSendCompleteL( TInt aError );
-
- private: // constructor
-
- /**
- * C++ constructor.
- * @param aDtmfHandler
- * @param aH324Config
- */
- CVtEngDtmfSending(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config );
-
- };
-
-/**
-* Buffered DTMF state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngDtmfBuffered ) : public CVtEngDtmfState
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aDtmfHandler
- * @param aH324Config H324 configure interface
- */
- static CVtEngDtmfState* NewL(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngDtmfBuffered();
-
- public: // From CVtEngStateBase
-
- /**
- * Buffers DTMF tone that is sent when previous
- * tones in buffer are sent.
- * @param aTone tone that is added to the buffer
- */
- virtual void SendDtmfL( const TVtEngDtmfTone& aTone );
-
- /**
- * @see CVtEngDtmfState
- */
- virtual void DtmfSendCompleteL( TInt aError );
-
- private: // constructors
-
- /**
- * C++ constructor.
- * @param aDtmfHandler
- * @param aH324Config
- */
- CVtEngDtmfBuffered(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Member data
-
- // Buffered DTMF tones.
- CArrayFixFlat<TVtEngDtmfTone>* iTones;
- };
-
-#endif // CVTENGDTMFSTATE_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateAlerting.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 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: Base class for states
-*
-*/
-
-
-
-#ifndef CVTENGSTATEALERTING_H
-#define CVTENGSTATEALERTING_H
-
-// INCLUDES
-#include "CVtEngStateBase.h"
-//#include <?include_file>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CVtEngStateManager;
-
-// CLASS DECLARATION
-
-/**
-* Alerting state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateAlerting ) : public CVtEngStateBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtEngStateAlerting(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateAlerting();
-
- public: // From CVtEngStateBase
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL();
-
- /**
- * Validates a command.
- */
- virtual TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * @see CVtEngStateBase
- */
- virtual MVtEngSessionInfo::TSessionState State() const;
-
- /**
- *
- */
- virtual TBool HandleL( CVtEngOperation& aOp );
-
- private:
-
- /**
- * Handles state transition to alerting.
- */
- void DoOpenL();
-
-
-
- };
-
-#endif // CVTENGSTATEALERTING_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateBase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 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: Base class for states
-*
-*/
-
-
-
-#ifndef CVTENGSTATEBASE_H
-#define CVTENGSTATEBASE_H
-
-// INCLUDES
-#include <e32base.h>
-#include "vtengcommands.h"
-#include "CVtEngStateManager.h"
-#include "CVtEngEventManager.h"
-#include "CVtEngMediaHandler.h"
-#include "CVtEngSessionHandler.h"
-#include "CVtEngOperation.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-
-// FORWARD DECLARATIONS
-class CVtEngSessionHandler;
-class CVtEngMediaHandler;
-class CVtEngAudioHandler;
-
-// CLASS DECLARATION
-
-/**
-* State base class
-
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateBase ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateBase();
-
- public: // New functions
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL() = 0;
-
- /**
- * Checks if a command is valid in current state.
- * @param aCommandId command to be validated
- * @return ETrue if command is valid.
- */
- virtual TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * Handles an operation. Base class method is empty
- * and derived classes may handle the operation if applicable.
- * @param aOp operation to be handled
- * @return ETrue if handled
- */
- virtual TBool HandleL( CVtEngOperation& aOp );
-
- /**
- * Returns session handler.
- * @return reference to session handler
- */
- CVtEngSessionHandler& SessionHandler();
-
- /**
- * Returns media handler.
- * @return reference to media handler
- */
- CVtEngMediaHandler& MediaHandler();
-
- /**
- * Returns audio handler.
- * @return reference to audio handler
- */
- CVtEngAudioHandler& AudioHandler();
-
- /**
- * Creates new state if needed.
- * @return new state or NULL
- */
- CVtEngStateBase* NewStateL(
- const MVtEngSessionInfo::TSessionState aState );
-
- virtual MVtEngSessionInfo::TSessionState State() const = 0;
-
- public: // New functions
-
- /**
- * Sets new current state.
- * @param aOldState old state.
- */
- void OpenL( CVtEngStateBase* aOldState );
-
- /**
- * For derived classes to handle state change
- */
- virtual void DoOpenL( ) = 0;
-
-
- /**
- * State uninitialization.
- */
- virtual void Close();
-
- protected: // new functions
-
- /**
- * Saves configuration to settings for later
- * usage.
- */
- void SaveToSettingsL( CVtEngOperation& aOp );
-
- /**
- * Notifies state change to event manager.
- * @param aNewState new session state.
- */
- void NotifyStateChange( MVtEngSessionInfo::TSessionState aNewState );
-
- /**
- * Saves video state to settings. Used e.g. when video can not be
- * started in current state.
- * @param aEnabled video is enabled
- */
- void SetVideoEnabled( TBool aEnabled );
-
- /**
- * Goes to disconnecting or idle state if needed.
- * @return state object if transition is required.
- */
- //CVtEngStateBase* DisconnectingOrIdleStateL();
-
- /**
- * Creates negotiating state if bearer state is connected
- * and pv state is ESetup, and UI has indicated state changte
- * is permitted.
- * @return negotiating state object or NULL
- */
- CVtEngStateBase* NegotiatingOrConnectedStateL(
- TBool aAcceptOnlyNegotiating = EFalse );
-
-
- /**
- * Saves video state to settings. Used e.g. when video can not be
- * started in current state.
- * @param aEnabled video is enabled
- */
- void TerminateSessionL( CVtEngOperation& aOp );
-
- protected:
-
- /**
- * C++ constructor.
- */
- CVtEngStateBase(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
- protected: // Data
- // State manager
- CVtEngStateManager& iStateManager;
-
- // Event manager
- CVtEngEventManager& iEventManager;
-
- private:
- };
-
-#endif // CVTENGSTATEBASE_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateClearing.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 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: Clearing state
-*
-*/
-
-
-
-#ifndef CVTENGSTATECLEARING_H
-#define CVTENGSTATECLEARING_H
-
-// INCLUDES
-
-#include "CVtEngStateBase.h"
-
-/**
-* Clearing state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateClearing ) : public CVtEngStateBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtEngStateClearing(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateClearing();
-
- public: // From CVtEngStateBase
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL();
-
- /**
- * Validates a command.
- */
- TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * @see CVtEngStateBase
- */
- virtual MVtEngSessionInfo::TSessionState State() const;
-
- /**
- * @see CVtEngStateBase::HandleL
- */
- TBool HandleL( CVtEngOperation& aOp );
-
- private:
-
- /**
- * Handles state transition to clearing.
- */
- void DoOpenL();
-
- };
-
-#endif // CVTENGSTATECLEARING_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateConnected.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 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: Base class for states
-*
-*/
-
-
-
-#ifndef CVTENGSTATECONNECTED_H
-#define CVTENGSTATECONNECTED_H
-
-// INCLUDES
-#include "CVtEngStateBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Clearing state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateConnected ) : public CVtEngStateBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtEngStateConnected(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateConnected();
-
- public: // From CVtEngStateBase
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL();
-
- /**
- * Validates a command.
- */
- TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * @see CVtEngStateBase
- */
- virtual MVtEngSessionInfo::TSessionState State() const;
-
- /**
- * @see CVtEngStateBase::HandleL
- */
- TBool HandleL( CVtEngOperation& aOp );
-
- private:
-
- /**
- * Handles state transition to connected.
- */
- void DoOpenL();
-
- };
-
-#endif // CVTENGSTATECONNECTED_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateIdle.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 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: Idle state
-*
-*/
-
-
-
-#ifndef CVTENGSTATEIDLE_H
-#define CVTENGSTATEIDLE_H
-
-// INCLUDES
-#include "CVtEngStateBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CVtEngStateManager;
-
-// CLASS DECLARATION
-
-/**
-* Idle state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateIdle ) : public CVtEngStateBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtEngStateIdle(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateIdle();
-
- public: // From CVtEngStateBase
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL();
-
- /**
- * Validates a command.
- */
- TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * @see CVtEngStateBase
- */
- virtual MVtEngSessionInfo::TSessionState State() const;
-
- private:
-
- /**
- * Handles state transition to idle.
- */
- void DoOpenL();
-
- };
-
-#endif // CVTENGSTATEIDLE_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateInitializing.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 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: Initializing state
-*
-*/
-
-
-
-#ifndef CVTENGSTATEINITIALIZING_H
-#define CVTENGSTATEINITIALIZING_H
-
-// INCLUDES
-#include "CVtEngStateBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CVtEngStateManager;
-
-// CLASS DECLARATION
-
-/**
-* Initializing state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateInitializing ): public CVtEngStateBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtEngStateInitializing(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateInitializing();
-
- public: // From CVtEngStateBase
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL();
-
- /**
- * Validates a command.
- */
- TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * @see CVtEngStateBase
- */
- virtual MVtEngSessionInfo::TSessionState State() const;
-
- /**
- * @see CVtEngStateBase::HandleL
- */
- TBool HandleL( CVtEngOperation& aOp );
-
- private:
-
- /**
- * Handles state transition to initializing.
- */
- void DoOpenL();
- };
-
-#endif // CVTENGSTATEINITIALIZING_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateManager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
-* Copyright (c) 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: State manager for session and audio routing states.
-*
-*/
-
-
-
-#ifndef CVTENGSTATEMANAGER_H
-#define CVTENGSTATEMANAGER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "vtengcommands.h"
-#include "MVtEngSessionInfo.h"
-// FORWARD DECLARATIONS
-class CVtEngStateBase;
-class CVtEngHandlerContainer;
-class CVtEngEventManager;
-class CVtEngOperation;
-
-// CLASS DECLARATION
-
-/**
-* Owner of engine states. Delegates update request
-* to active state when requested. Provides method
-* to enquire command availability in current state.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateManager ): public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CVtEngStateManager* NewL(
- CVtEngHandlerContainer& aHandlers,
- CVtEngEventManager& aEventManager );
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateManager();
-
- public: // New functions
-
- /**
- * Requests updates for current state.
- */
- void Update( );
-
- /**
- * Checks if a command is possible in current state
- * @param aCommandId command to check
- * @return ETrue if command can be performed
- */
- TBool IsCommandPossible(
- const TVtEngCommandId aCommandId ) const;
-
- /**
- * Sets new session state.
- * @param aNewState new session state
- */
- void SetState( CVtEngStateBase& aNewState );
-
- /**
- * Passes an operation to current state for
- * handling.
- * @param aOp operation to be handled
- * @return ETrue if operation handled
- */
- TBool HandleOperationL( CVtEngOperation& aOp );
-
- /**
- * Previous session state.
- */
- MVtEngSessionInfo::TSessionState PreviousSessionState() const;
-
- /**
- * Current session state.
- */
- MVtEngSessionInfo::TSessionState SessionState() const;
-
- /**
- * Returns handler container.
- * @return handler container
- */
- inline CVtEngHandlerContainer& Handlers();
-
- /**
- * Returns event manager.
- * @return event manager
- */
- inline CVtEngEventManager& EventManager();
-
- private:
-
- /**
- * C++ constructor.
- */
- CVtEngStateManager(
- CVtEngHandlerContainer& aHandlers,
- CVtEngEventManager& aEventManager );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
- // Previous session state
- MVtEngSessionInfo::TSessionState iPreviousSessionState;
-
- // Current session state
- CVtEngStateBase* iSessionState;
-
- // Handler container
- CVtEngHandlerContainer& iHandlers;
-
- // Event manager
- CVtEngEventManager& iEventManager;
-
- };
-
-#include "CVtEngStateManager.inl"
-
-#endif // CVTENGSTATEMANAGER_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateManager.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 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: State manager inline methods.
-*
-*/
-
-
-// MEMBER FUNCTIONS
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::Handlers
-// Return handler container.
-//
-// -----------------------------------------------------------------------------
-//
-inline CVtEngHandlerContainer& CVtEngStateManager::Handlers()
- { return iHandlers; }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::EventManager
-// Return event manager.
-//
-// -----------------------------------------------------------------------------
-//
-inline CVtEngEventManager& CVtEngStateManager::EventManager()
- { return iEventManager; }
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateNegotiating.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 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: Negotiating state
-*
-*/
-
-
-
-#ifndef CVTENGSTATENEGOTIATING_H
-#define CVTENGSTATENEGOTIATING_H
-
-// INCLUDES
-#include "CVtEngStateBase.h"
-
-// FORWARD DECLARATIONS
-class CVtEngStateManager;
-
-// CLASS DECLARATION
-
-/**
-* Negotiatimg state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateNegotiating ) : public CVtEngStateBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtEngStateNegotiating(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateNegotiating();
-
- public: // From CVtEngStateBase
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL();
-
- /**
- * Validates a command.
- */
- TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * @see CVtEngStateBase
- */
- virtual MVtEngSessionInfo::TSessionState State() const;
-
- /**
- * @see CVtEngStateBase
- */
- virtual TBool HandleL( CVtEngOperation& aOp );
-
- private:
-
- /**
- * Handles state transition to negotiating.
- */
- void DoOpenL();
-
- };
-
-#endif // CVTENGSTATENEGOTIATING_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateOpen.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 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: Open state
-*
-*/
-
-
-
-#ifndef CVTENGSTATEOPEN_H
-#define CVTENGSTATEOPEN_H
-
-// INCLUDES
-#include "CVtEngStateBase.h"
-
-// FORWARD DECLARATIONS
-class CVtEngStateManager;
-
-// CLASS DECLARATION
-
-/**
-* Open state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateOpen ) : public CVtEngStateBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtEngStateOpen(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateOpen();
-
- public: // From CVtEngStateBase
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL();
-
- /**
- * Validates a command.
- */
- TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * @see CVtEngStateBase
- */
- virtual MVtEngSessionInfo::TSessionState State() const;
-
- /**
- * @see CVtEngStateBase::HandleL
- */
- TBool HandleL( CVtEngOperation& aOp );
-
- private:
-
- /**
- * Changes audio routing
- * @param aOp audio routing or null if value should
- * be read from settings
- */
- void RouteAudioL(
- CVtEngOperation* aOp );
-
- /**
- * Uses extension framework to complete
- * from operation.
- * @since S60 v3.2
- * @param aOp audio routing or null
- */
- void CallExtensionL( CVtEngOperation* aOp );
-
- private:
-
- /**
- * Handles state transition to open.
- */
- void DoOpenL();
-
- };
-
-#endif // CVTENGSTATEOPEN_H
-
-// End of File
--- a/vtengines/videoteleng/Inc/State/CVtEngStateRinging.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 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: Ringing state
-*
-*/
-
-
-
-#ifndef CVTENGSTATERINGING_H
-#define CVTENGSTATERINGING_H
-
-// INCLUDES
-#include "CVtEngStateBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CVtEngStateManager;
-
-// CLASS DECLARATION
-
-/**
-* Ringing state class
-*
-* @lib videoteleng
-* @since 2.6
-*/
-NONSHARABLE_CLASS( CVtEngStateRinging ) : public CVtEngStateBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtEngStateRinging(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager );
-
-
- /**
- * Destructor.
- */
- virtual ~CVtEngStateRinging();
-
- public: // From CVtEngStateBase
-
- /**
- * Updates state. May result to state transition
- */
- virtual void UpdateL();
-
- /**
- * Validates a command.
- */
- TBool ValidateCommand(
- const TVtEngCommandId aCommandId );
-
- /**
- * @see CVtEngStateBase
- */
- virtual MVtEngSessionInfo::TSessionState State() const;
-
- private:
-
- /**
- * Handles state transition to ringing.
- */
- void DoOpenL();
-
- };
-
-#endif // CVTENGSTATERINGING_H
-
-// End of File
--- a/vtengines/videoteleng/Logger/Bmarm/VTLOGGERU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
- Initialize__9CVtLogger @ 1 NONAME R3UNUSED ; CVtLogger::Initialize(void)
- Print__9CVtLoggeriG7TPtrC16 @ 2 NONAME ; CVtLogger::Print(int, TPtrC16)
- Print__9CVtLoggeriG7TPtrC16i @ 3 NONAME ; CVtLogger::Print(int, TPtrC16, int)
- Print__9CVtLoggeriG7TPtrC16ii @ 4 NONAME ; CVtLogger::Print(int, TPtrC16, int, int)
- Uninitialize__9CVtLogger @ 5 NONAME R3UNUSED ; CVtLogger::Uninitialize(void)
- Flags__9CVtLogger @ 6 NONAME R3UNUSED ; CVtLogger::Flags(void)
-
--- a/vtengines/videoteleng/Logger/Bwins/VTLOGGERU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
- ?Initialize@CVtLogger@@SAXXZ @ 1 NONAME ; public: static void __cdecl CVtLogger::Initialize(void)
- ?Print@CVtLogger@@SAXHVTPtrC16@@@Z @ 2 NONAME ; public: static void __cdecl CVtLogger::Print(int,class TPtrC16)
- ?Print@CVtLogger@@SAXHVTPtrC16@@H@Z @ 3 NONAME ; public: static void __cdecl CVtLogger::Print(int,class TPtrC16,int)
- ?Print@CVtLogger@@SAXHVTPtrC16@@HH@Z @ 4 NONAME ; public: static void __cdecl CVtLogger::Print(int,class TPtrC16,int,int)
- ?Uninitialize@CVtLogger@@SAXXZ @ 5 NONAME ; public: static void __cdecl CVtLogger::Uninitialize(void)
- ?Flags@CVtLogger@@SAHXZ @ 6 NONAME ; public: static int __cdecl CVtLogger::Flags(void)
- ?Print@CVtLogger@@SAXHHVTPtrC16@@H@Z @ 7 NONAME ; void CVtLogger::Print(int, int, class TPtrC16, int)
-
--- a/vtengines/videoteleng/Logger/EABI/vtloggerU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-EXPORTS
- _ZN9CVtLogger10InitializeEv @ 1 NONAME
- _ZN9CVtLogger12UninitializeEv @ 2 NONAME
- _ZN9CVtLogger5FlagsEv @ 3 NONAME
- _ZN9CVtLogger5PrintEi7TPtrC16 @ 4 NONAME
- _ZN9CVtLogger5PrintEi7TPtrC16i @ 5 NONAME
- _ZN9CVtLogger5PrintEi7TPtrC16ii @ 6 NONAME
- _ZTI9CVtLogger @ 7 NONAME ; #<TI>#
- _ZTV9CVtLogger @ 8 NONAME ; #<VT>#
- _ZN9CVtLogger5PrintEii7TPtrC16i @ 9 NONAME
-
--- a/vtengines/videoteleng/Logger/Group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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 Telephony logger build information file.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/cvtlogger.h |../../../inc/cvtlogger.h
-../inc/VtLogger.hrh |../../../inc/VtLogger.hrh
-
-PRJ_MMPFILES
-../Group/vtlogger.mmp
-
-// End of File
--- a/vtengines/videoteleng/Logger/Group/vtlogger.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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: This is project specification file video telephony logger.
-*
-*/
-
-#include <platform_paths.hrh>
-
-// default vendor id
-VENDORID VID_DEFAULT
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-TARGET vtlogger.dll
-TARGETTYPE dll
-UID 0x1000008d 0x101F8699
-
-SOURCEPATH ../Src
-
-SOURCE CVtLogger.cpp
-
-DOCUMENT ../Group/bld.inf
-
-USERINCLUDE ../Inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY flogger.lib
-
-
-// End of File
--- a/vtengines/videoteleng/Logger/Inc/cvtlogger.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-/*
-* Copyright (c) 2004 - 2005 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 telephony engine debugging support.
-*
-*/
-
-
-
-#ifndef CVTLOGGER_H
-#define CVTLOGGER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <flogger.h>
-#include <f32file.h>
-#include "vtlogger.hrh"
-
-// CONSTANTS
-const TInt KVtDebugBufferSize = 100;
-const TInt KVtDebugReturnValNotApplicable = -1;
-
-// MACROS
-
-#define DEBUG_CONSTRUCT CVtLogger::ELogConstruction
-#define DEBUG_DESTRUCT CVtLogger::ELogDestruction
-#define DEBUG_MEDIA CVtLogger::ELogMedia
-#define DEBUG_AUDIO CVtLogger::ELogAudio
-#define DEBUG_SESSION CVtLogger::ELogSession
-#define DEBUG_DETAIL CVtLogger::ELogDetails
-#define DEBUG_ALL CVtLogger::ELogLogEverything
-#define DEBUG_GEN CVtLogger::ELogGeneric
-#define DEBUG_RETURN CVtLogger::ELogReturn
-
-#define DEBUG_FLAG1 CVtLogger::ELogApp1
-#define DEBUG_FLAG2 CVtLogger::ELogApp2
-#define DEBUG_FLAG3 CVtLogger::ELogApp3
-#define DEBUG_FLAG4 CVtLogger::ELogApp4
-
-#if defined(VTDEBUG) && defined(__CS_VIDEO_TELEPHONY)
-/**
-* Write a text buffer to log.
-*/
-#define __VTPRINT(level,x) CVtLogger::Print(level, _L(x));
-
-/**
-* Write a text buffer and integer value to log.
-*/
-#define __VTPRINT2(level,x,y) CVtLogger::Print(level, _L(x), y);
-
-/**
-* Write a text buffer and two integer values to log.
-*/
-#define __VTPRINT3(level,x,y,z) CVtLogger::Print(level, _L(x), y, z);
-
-#define __VTPRINTENTER(x) CVtLogger::Print( CVtLogger::ELogGeneric, ETrue, _L(x));
-
-#define __VTPRINTEXIT(x) CVtLogger::Print( CVtLogger::ELogGeneric, EFalse, _L(x) );
-
-#define __VTPRINTEXITR(x,y) CVtLogger::Print( CVtLogger::ELogGeneric, EFalse, _L(x), y );
-
-/**
-* Initialize VT logging, must be called before any __VTPRINT's are called.
-*/
-#define VTLOGINIT CVtLogger::Initialize();
-
-/**
-* Uninitializes VT logging, must be called client using logging is deleted.
-*/
-#define VTLOGUNINIT CVtLogger::Uninitialize();
-
-/**
-* Returns logging and configuration flags
-*/
-#define VTFLAGS CVtLogger::Flags();
-
-/**
-* check if baseband loopback is enabled
-*/
-#define DEBUG_CFG_BB_LOOPBACK ( CVtLogger::Flags() & CVtLogger::ECfgBBLoopbackEnabled )
-
-/**
-* check if PV engine loopback is enabled
-*/
-#define DEBUG_CFG_PV_LOOPBACK ( CVtLogger::Flags() & CVtLogger::ECfgPVLoopbackEnabled )
-
-/**
-* Disables passing of audio source to PV
-*/
-#define DEBUG_CFG_NO_AUDIO_SOURCE ( CVtLogger::Flags() & CVtLogger::ECfgNoAudioSource )
-
-/**
-* Disables passing of audio source to PV
-*/
-#define DEBUG_CFG_NO_AUDIO_SINK ( CVtLogger::Flags() & CVtLogger::ECfgNoAudioSink )
-
-/**
-* Disables passing of video sink to PV
-*/
-#define DEBUG_CFG_NO_VIDEO_SINK ( CVtLogger::Flags() & CVtLogger::ECfgNoVideoSink )
-
-/**
-* Disables passing of video source to PV
-*/
-#define DEBUG_CFG_NO_VIDEO_SOURCE ( CVtLogger::Flags() & CVtLogger::ECfgNoVideoSource )
-
-#else
-
-/**
-* Disables VT Debug mode if __CS_VIDEO_TELEPHONY is undefined
-*/
-#undef VTDEBUG
-
-#define __VTPRINT(level,x)
-#define __VTPRINT2(level,x,y)
-#define __VTPRINT3(level,x,y,z)
-#define __VTPRINTENTER(x)
-#define __VTPRINTEXIT(x)
-#define __VTPRINTEXITR(x,y)
-#define VTLOGINIT
-#define VTLOGUNINIT
-#define VTFLAGS 0
-#define DEBUG_CFG_BB_LOOPBACK 0
-#define DEBUG_CFG_PV_LOOPBACK 0
-#define DEBUG_CFG_NO_AUDIO_SINK 0
-#define DEBUG_CFG_NO_AUDIO_SOURCE 0
-#define DEBUG_CFG_NO_VIDEO_SINK 0
-#define DEBUG_CFG_NO_VIDEO_SOURCE 0
-
-#endif // VTDEBUG
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-
-/**
-* Debbuging support.
-* To enable logging (either with RDebug or RFileLogger) follow steps below:
-* 1. Create folder c:\Logs\VT
-* 2. Create file VTLOGCONF.txt
-* 3. Open the file and define logging level by hexadecimal digit,
-* see TLogLevel in class declaration below. Example: 2007 means that
-* constructors (0x1), destructors (0x2 ) in media subsystem (0x4) are
-* logged to file (0x2000), i.e. the values are bitwise or'ed. Log file
-* name is "<thread name>.txt" where <thread name> is name of the thread
-* where logging takes places.
-*
-* @lib videoteleng
-* @since 2.6
-*/
-class CVtLogger : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CVtLogger* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CVtLogger();
-
- public: // New functions
-
- /**
- * Writes to log file or RDebug.
- * @param aDes text output
- */
- virtual void Print( TDesC& aDes );
-
- /**
- * Log level defining logging behavior.
- */
- enum TLogLevel {
- // Constructors are logged
- ELogConstruction = 0x00000001,
- // Destructors are logged
- ELogDestruction = 0x00000002,
- // Media subsystem methods are logged
- ELogMedia = 0x00000004,
- // Session subsystem methods are logged
- ELogSession = 0x00000008,
- // Audio subsystem methods are logged
- ELogAudio = 0x00000010,
- // Details in methods are logged
- ELogDetails = 0x00000020,
- // Generic framework methods are logged
- ELogGeneric = 0x00000040,
- // Log return from function
- ELogReturn = 0x00000080,
- // Everything is logged, as if all above were set.
- ELogLogEverything = 0x0000007F,
- // Insert time at the beginning of each log entry
- // For file logging time is always written because
- // it is automatically done by RFileLogger.
- ELogTime = 0x00001000,
- // Log to file instead of using RDebug
- ELogToFile = 0x00002000,
- // Application specific flag 1
- ELogApp1 = 0x00004000,
- // Application specific flag 2
- ELogApp2 = 0x00008000,
- // Application specific flag 3
- ELogApp3 = 0x00010000,
- // Application specific flag 4
- ELogApp4 = 0x00020000,
-
- // Configuration flags
-
- /** Loopback configuration (set only
- * one of the following flags
- */
- // Baseband loopback enabled
- ECfgBBLoopbackEnabled = 0x00100000,
- // PV Engine loopback enabled
- ECfgPVLoopbackEnabled = 0x00200000,
-
- // Disable passing of audio source
- ECfgNoAudioSink = 0x00400000,
-
- // Disable passing of audio sink
- ECfgNoAudioSource = 0x00800000,
-
- // Disable passing of video source
- ECfgNoVideoSource = 0x01000000,
-
- // Disable passing of video sink
- ECfgNoVideoSink = 0x02000000
- };
-
- /**
- * Writes buffer to log.
- * @param aLevel combination of TLogLevel values
- * @param aBuffer buffer to log
- */
- IMPORT_C static void Print(
- TInt aLevel,
- TPtrC aBuffer );
-
- /**
- * Writes buffer to log.
- * @param aLevel combination of TLogLevel values
- * @param aBuffer buffer to log
- * @param aValue value appended to buffer
- */
- IMPORT_C static void Print(
- TInt aLevel,
- TPtrC aBuffer,
- TInt aValue );
-
- /**
- * Writes buffer to log.
- * @param aLevel combination of TLogLevel values
- * @param aBuffer buffer to log
- * @param aValue1 first value appended to buffer
- * @param aValue2 second value appended to buffer
- */
- IMPORT_C static void Print(
- TInt aLevel,
- TPtrC aBuffer,
- TInt aValue1,
- TInt aValue2 );
-
- /**
- * Writes buffer to log. This overloaded method is used
- * for printing entry or exit from a function.
- * @since Series60 2.8
- * @param aLevel combination of TLogLevel values
- * @param aEntry if ETrue "<" is appended to end of string
- * if EFalse ">" is appended to end of string
- * @param aBuffer buffer to log
- * @param aRetVal return value of the function. If this value
- * is present (i.e. other than KVtDebugReturnValNotApplicable
- * is passed) then aBuffer should include format tag '%d' where
- * aRetValue should be placed.
- */
- IMPORT_C static void Print(
- TInt aLevel,
- const TBool aEntry,
- TPtrC aBuffer,
- TInt aRetVal = KVtDebugReturnValNotApplicable );
-
- /**
- * Initializes logging. This must be called before
- * any use of __VTPRINT macros.
- */
- IMPORT_C static void Initialize();
-
- /**
- * Uninitializes logging. This must be called when
- * client of logging service is deleted.
- */
- IMPORT_C static void Uninitialize();
-
- /**
- * Returns flags in configuration file
- * @return flags
- */
- IMPORT_C static TInt Flags();
-
- private:
-
- /**
- * Returns logger.
- * @return logger
- */
- static CVtLogger* Logger();
-
- /**
- * Returns if certain log levels are set.
- * @param aLevels bitmap of TLogLevel values
- * @return ETrue if all aLevels are set.
- */
- TBool CheckLevels( TInt aLevels ) const;
-
- /**
- * Reads configuration file and starts
- * monitoring changes on it.
- */
- void ReadCongigFile();
-
- private: // from CActive
-
- /**
- * Handles file change notification
- */
- void RunL();
-
- /**
- * Cancels monitoring file change
- */
- void DoCancel();
-
- private:
-
- /**
- * C++ default constructor.
- */
- CVtLogger();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( );
-
- private: // Data
-
- // Buffer size for printed lines
- enum
- {
- ETempBufLength = 80
- };
-
- TFileName iFileName;
- RFs iFs;
- TInt iLogLevel;
- TInt iAccessCount;
- TBuf<ETempBufLength> iBuffer;
- TBuf<ETempBufLength> iTempBuf;
- };
-
-
-#endif // CVTLOGGER_H
-
-// End of File
--- a/vtengines/videoteleng/Logger/Inc/vtlogger.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2004 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: Defines when logger is enabled.
-*
-*/
-
-
-#ifndef VTLOGGER_HRH
-#define VTLOGGER_HRH
-
-// DATA TYPES
-// MACROS
-
-#if defined(_DEBUG)
-/**
-* Debugging enabled always in debug builds
-*/
-#define VTDEBUG
-
-#endif
-
-#endif // VTLOGGER_HRH
-
-// End of File
--- a/vtengines/videoteleng/Logger/Src/CVtLogger.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,374 +0,0 @@
-/*
-* Copyright (c) 2004 - 2005 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 telephony logger
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include "cvtlogger.h"
-
-
-// LOCAL CONSTANTS
-_LIT( KVtEngLogConfig, "c:\\Logs\\VT\\VTLOGCONF.txt" );
-_LIT( KVtEngLogFolder, "c:\\Logs\\VT" );
-_LIT( KVtEngLogFolderLogger, "VT" );
-_LIT( KVtEngLogPrefix, "VT: " );
-_LIT( KVtEngLogExtension, ".txt" );
-_LIT( KVtLoggerEnterFunc, "<" );
-_LIT( KVtLoggerExitFunc, ">" );
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtLogger::CVtLogger
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtLogger::CVtLogger() : CActive( CActive::EPriorityStandard - 1 ),
- iLogLevel( ELogLogEverything )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtLogger::ConstructL( )
- {
- User::LeaveIfError( iFs.Connect() );
- TFindFile find( iFs );
- TUint logLevel( 0 );
- TInt ret = iFs.Att(KVtEngLogFolder, logLevel );
- if ( ret == KErrNone )
- {
- if ( find.FindByPath( KVtEngLogConfig, NULL ) == KErrNone )
- {
- CActiveScheduler::Add( this );
- ReadCongigFile();
- }
- if ( iLogLevel & ELogToFile )
- {
- RThread thread;
- iFileName.Copy( thread.Name() );
- iFileName.Append( KVtEngLogExtension );
- }
- }
- Dll::SetTls( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtLogger* CVtLogger::NewL( )
- {
- CVtLogger* self = new( ELeave ) CVtLogger;
-
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::~CVtLogger
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVtLogger::~CVtLogger()
- {
- Cancel();
- iFs.Close();
- Dll::SetTls( NULL );
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Writes to log.
-// -----------------------------------------------------------------------------
-//
-void CVtLogger::Print( TDesC& aDes )
- {
- if ( iLogLevel & ELogTime && !(iLogLevel & ELogToFile) )
- {
- TTime time;
- time.HomeTime();
- const TDateTime dt= time.DateTime();
-
- iTempBuf.Zero();
- iTempBuf.AppendNum( dt.Minute() );
- iTempBuf.Append(':');
- iTempBuf.AppendNum( dt.Second() );
- iTempBuf.Append(':');
- iTempBuf.AppendNum( dt.MicroSecond() );
- iTempBuf.Append(' ');
-
- const TInt currentLength( iTempBuf.Length() );
-
- iTempBuf.Append( aDes.Left( Min( iTempBuf.MaxLength() - currentLength, aDes.Length() ) ) );
- RDebug::Print( iTempBuf );
- }
- else
- {
- if ( iLogLevel & ELogToFile )
- {
- RFileLogger::Write(
- KVtEngLogFolderLogger,
- iFileName,
- EFileLoggingModeAppend,
- aDes );
- }
- else
- {
- RDebug::Print( aDes );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Writes to log.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Print(
- TInt aLevel,
- TPtrC aBuffer )
- {
- CVtLogger* logger = CVtLogger::Logger();
- if ( logger && logger->CheckLevels( aLevel ) )
- {
- logger->iBuffer.Copy( KVtEngLogPrefix );
- logger->iBuffer.Append( aBuffer);
- logger->Print( logger->iBuffer );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Writes to log.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Print(
- TInt aLevel,
- TPtrC aBuffer,
- TInt aValue )
- {
- CVtLogger* logger = CVtLogger::Logger();
- if ( logger && logger->CheckLevels( aLevel ) )
- {
- logger->iBuffer.Zero();
- logger->iBuffer.AppendNum( aValue );
- logger->iBuffer.Format( aBuffer, aValue );
- logger->iBuffer.Insert( 0, KVtEngLogPrefix );
- logger->Print( logger->iBuffer );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Writes to log.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Print(
- TInt aLevel,
- TPtrC aBuffer,
- TInt aValue1,
- TInt aValue2 )
- {
- CVtLogger* logger = CVtLogger::Logger();
- if ( logger && logger->CheckLevels( aLevel ) )
- {
- logger->iBuffer.Format( aBuffer, aValue1, aValue2 );
- logger->iBuffer.Insert( 0, KVtEngLogPrefix );
- logger->Print( logger->iBuffer );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Writes to log.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Print(
- TInt aLevel,
- const TBool aEntry,
- TPtrC aBuffer,
- TInt aRetVal )
- {
- CVtLogger* logger = CVtLogger::Logger();
- if ( logger && logger->CheckLevels( aLevel ) )
- {
- logger->iBuffer.Copy( KVtEngLogPrefix );
- if ( aEntry )
- {
- logger->iBuffer.Append( aBuffer );
- logger->iBuffer.Append( KVtLoggerEnterFunc );
- }
- else
- {
- if ( aRetVal != KVtDebugReturnValNotApplicable )
- {
- logger->iTempBuf.Format( aBuffer, aRetVal );
- logger->iBuffer.Append( logger->iTempBuf );
- }
- else
- {
- logger->iBuffer.Append( aBuffer );
- }
- logger->iBuffer.Append( KVtLoggerExitFunc );
- }
- logger->Print( logger->iBuffer );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Logger
-// Returns logger.
-// -----------------------------------------------------------------------------
-//
-CVtLogger* CVtLogger::Logger()
- {
- TAny* tls = Dll::Tls();
- if ( tls )
- {
- return reinterpret_cast<CVtLogger*>( tls );
- }
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Initialize
-// Initialize logger.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Initialize()
- {
- CVtLogger* logger = NULL;
- if ( Dll::Tls() == NULL )
- {
- TRAPD( err, logger = CVtLogger::NewL() );
- if ( err == KErrNone )
- {
- Dll::SetTls( logger );
- }
- }
- else
- {
- logger = CVtLogger::Logger();
- }
- if ( logger )
- {
- (logger->iAccessCount)++;
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Uninitialize
-// Uninitialize logger.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Uninitialize()
- {
- TAny* tls = Dll::Tls();
- if ( tls )
- {
- CVtLogger* logger = CVtLogger::Logger();
- if( logger )
- {
- TInt count( --(logger->iAccessCount) );
- if ( !count )
- {
- delete reinterpret_cast<CVtLogger*>( tls );
- Dll::SetTls( NULL );
- }
- }
- }
-
- }
-
-void CVtLogger::ReadCongigFile()
- {
-#ifdef _DEBUG
- RDebug::Print(_L(" VT: ReadConfigFile" ) );
-#endif
- RFile config;
- if ( config.Open( iFs, KVtEngLogConfig, EFileShareAny ) == KErrNone )
- {
- TBuf8<16> buf;
- if ( config.Read( buf ) == KErrNone )
- {
- TLex8 lex( buf );
- TUint logLevel( 0 );
- if ( lex.Val( logLevel, EHex ) == KErrNone )
- {
- iLogLevel = logLevel;
- }
- }
- config.Close();
- }
- iFs.NotifyChange( ENotifyEntry, iStatus, KVtEngLogConfig() );
- SetActive();
- }
-
-void CVtLogger::RunL()
- {
- if ( iStatus == KErrNone )
- {
- ReadCongigFile();
- }
- }
-
-void CVtLogger::DoCancel()
- {
- iFs.NotifyChangeCancel();
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Flags
-// Returns flags.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CVtLogger::Flags()
- {
- CVtLogger* logger = CVtLogger::Logger();
- if ( logger )
- {
- return logger->iLogLevel;
- }
- return KErrGeneral;
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::CheckLevels
-// Check debug level.
-// -----------------------------------------------------------------------------
-//
-TBool CVtLogger::CheckLevels( TInt aLevels ) const
- {
- if ( aLevels & iLogLevel )
- {
- return ETrue;
- }
- return EFalse;
- }
-#pragma CTC ENDSKIP
-// End of File
--- a/vtengines/videoteleng/Logger/Src/CVtLoggerStub.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2004 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 telephony logger stub
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtLogger.h"
-#include <f32file.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtLogger::CVtLogger
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtLogger::CVtLogger()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtLogger::ConstructL( )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtLogger* CVtLogger::NewL( )
- {
- return NULL;
- }
-
-// Destructor
-CVtLogger::~CVtLogger()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Prints to log.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtLogger::Print( TDesC& )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Prints to log.
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Print(
- TInt ,
- TDesC& )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Prints to log.
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Print(
- TInt ,
- TDesC& ,
- TInt )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::Print
-// Prints to log.
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVtLogger::Print(
- TInt ,
- TDesC& ,
- TInt ,
- TInt )
- {
- }
-
-CVtLogger* CVtLogger::Logger()
- {
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CVtLogger::CheckLevels
-// Check debug level.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtLogger::CheckLevels( TInt aLevels ) const
- {
- return EFalse;
- }
-
-// End of File
--- a/vtengines/videoteleng/Rom/videoteleng.iby Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2004-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: IBY file
- *
-*/
-
-
-#ifndef __VIDEOTELENG_IBY__
-#define __VIDEOTELENG_IBY__
-
-REM Video telephony engine libraries
-
-#ifdef __CS_VIDEO_TELEPHONY
-file=ABI_DIR\BUILD_DIR\videotelproto.dll SHARED_LIB_DIR\videotelproto.dll
-file=ABI_DIR\BUILD_DIR\Videoteleng.dll SHARED_LIB_DIR\Videoteleng.dll
-file=ABI_DIR\BUILD_DIR\cscallctrl.dll SHARED_LIB_DIR\cscallctrl.dll
-file=ABI_DIR\BUILD_DIR\vtlogger.dll SHARED_LIB_DIR\vtlogger.dll
-
-// Enabler for eclipsing ROM binaries
-data=ZSYSTEM\install\videoteleng_stub.sis system\install\videoteleng_stub.sis
-
-#endif
-
-#endif
--- a/vtengines/videoteleng/Src/Audio/CVtEngAudioHandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,709 +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: Audio handler implementation.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngAudioHandler.h"
-#include "CVtEngSettings.h"
-#include "CVtEngEventManager.h"
-#include "VtEngUtils.h"
-#include <cvtlogger.h>
-#include <featmgr.h>
-#include <mmf/server/sounddevice.h>
-#include <audiopreference.h>
-#include "VtEngUtils.h"
-#include "CVtEngStateManager.h"
-#include "MVtEngSessionInfo.h"
-#include "CVtEngHandlerContainer.h"
-
-// CONSTANTS
-
-// For DevSound initialization
-const TInt KVtEngUidControlHwDevice = 0x10206593;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::CVtEngAudioHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngAudioHandler::CVtEngAudioHandler()
- {
- __VTPRINT( DEBUG_CONSTRUCT | DEBUG_AUDIO, "AH.c++" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::ConstructL()
- {
- __VTPRINT( DEBUG_CONSTRUCT | DEBUG_AUDIO, "AH.ConstructL" )
-
- iAccHandler = &CVtEngUtility::AccessoryHandler();
- iAccHandler->RegisterObserverL( this );
- iTelephonyAudioRouting = CTelephonyAudioRouting::NewL( *this );
- iCurrentAudioOutput = iTelephonyAudioRouting->Output();
-
- // Fetch the mode.
- User::LeaveIfError( iAccHandler->AccessoryMode( iAccMode ) );
- __VTPRINT2( DEBUG_AUDIO, "AH.iAccMode %d", ( TInt )iAccMode.iAccessoryMode )
-
- UpdateCurrentVolume();
- __VTPRINT( DEBUG_CONSTRUCT | DEBUG_AUDIO, "AH.ConstructL<")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngAudioHandler* CVtEngAudioHandler::NewL()
- {
- CVtEngAudioHandler* self = new( ELeave ) CVtEngAudioHandler;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::~CVtEngAudioHandler
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngAudioHandler::~CVtEngAudioHandler()
- {
- __VTPRINT( DEBUG_AUDIO, "AH.~<" )
- delete iRoutingEnabler;
-
- delete iTelephonyAudioRouting;
- if ( iAccHandler )
- {
- iAccHandler->RemoveObserver( this );
- }
- __VTPRINT( DEBUG_AUDIO, "AH.~>" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::HandleL
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::HandleL( CVtEngOperation& aOperation )
- {
- __VTPRINT2( DEBUG_AUDIO, "AH.HandleL op=%d", ( TInt )iOperation )
- if ( iOperation )
- {
- // While operation is ongoing, another call should not be made.
- User::Leave( KErrArgument );
- }
-
- MVtEngAudio::TVtEngRoutingSetting routeSetting;
- TVtEngOpParamUtil<MVtEngAudio::TVtEngRoutingSetting>::Set(
- routeSetting, aOperation );
-
- switch( routeSetting )
- {
- case EActivateHandsfree:
- SetLoudspeakerL( ETrue, ETrue );
- break;
-
- case EDeactivateHansfree:
- SetLoudspeakerL( EFalse, ETrue );
- break;
-
- case EActivateBT:
- SetBluetoothL( ETrue ); // asynchronous
- break;
-
- case EDeactivateBT:
- SetBluetoothL( EFalse );
- break;
- }
-
- iOperation = &aOperation;
- __VTPRINT( DEBUG_AUDIO | DEBUG_RETURN, "AH.HandleL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::SetRoutingEnablerL
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::SetRoutingEnablerL( const TBool aEnable )
- {
- __VTPRINTENTER( "AHRout.SetRoutingEnablerL" )
-
- if ( aEnable && !iRoutingEnabler )
- {
- // Before connected state audio routing can be changed by the user
- // only in MO calls. Create temporary devsound only if call is such.
- const CVtEngHandlerContainer& handlers =
- CVtEngUtility::StateManager()->Handlers();
- const MVtEngSessionInfo& session = handlers.Session();
- MVtEngSessionInfo::TDirection direction =
- MVtEngSessionInfo::EDirectionNone; // init to MO, if
- const TInt err( session.GetDirection( direction ) );
- if ( err == KErrNone && direction == MVtEngSessionInfo::EDirectionMO )
- {
- iRoutingEnabler = CRoutingEnabler::NewL();
- }
- }
- else if ( !aEnable )
- {
- delete iRoutingEnabler;
- iRoutingEnabler = NULL;
- }
- __VTPRINTEXIT( "AHRout.ReleaseRoutingEnablerL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::IncreaseVolume
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngAudioHandler::IncreaseVolume()
- {
- __VTPRINTENTER( "AH.IncreaseVolume" )
- TBool adjustOk( AdjustVolume( 1 ) );
- if ( !adjustOk )
- {
- // only reason for AdjustVolume to fail is that volume is max already
- CVtEngEventManager::NotifyEvent( KVtEngAudioVolumeMax );
- }
- __VTPRINTEXITR( "AH.IncreaseVolume %d", adjustOk )
- return adjustOk;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::DecreaseVolume
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngAudioHandler::DecreaseVolume()
- {
- __VTPRINTENTER( "AH.DecreaseVolume" )
- TBool adjustOk( AdjustVolume( -1 ) );
- if ( !adjustOk )
- {
- // only reason for AdjustVolume to fail is that volume is min already
- CVtEngEventManager::NotifyEvent( KVtEngAudioVolumeMin );
- }
- __VTPRINTEXITR( "AH.DecreaseVolume %d", adjustOk )
- return adjustOk;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::AdjustVolume
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngAudioHandler::AdjustVolume( const TInt aDelta )
- {
- __VTPRINTENTER( "AH.AdjustVolume" )
- __VTPRINT2( DEBUG_AUDIO, "AH.AdjustVolume aDelta = %d", aDelta )
- TBool result( EFalse );
- CVtEngSettings& settings( CVtEngUtility::Settings() );
- TVtEngOutputVolume volume;
- settings.GetVolume( volume.iHandsetVolume, EFalse, EFalse );
- settings.GetVolume( volume.iHandsfreeVolume, ETrue, EFalse );
- TAudioRoutingState routingState;
- GetRoutingState( routingState );
- TInt& value( ( routingState == EAudioLoudspeaker ) ?
- volume.iHandsfreeVolume : volume.iHandsetVolume );
- value += aDelta;
- TInt validValue( settings.ValidVolume( value ) );
- if ( validValue == value )
- {
- settings.SetVolume(
- volume.iHandsetVolume,
- volume.iHandsfreeVolume,
- ETrue );
- settings.SetVolume(
- volume.iHandsetVolume,
- volume.iHandsfreeVolume,
- EFalse );
- result = ETrue;
- }
- __VTPRINTEXITR( "AH.AdjustVolume %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::GetRoutingState
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngAudioHandler::GetRoutingState(
- TAudioRoutingState& aAudioRoutingState )
- {
- switch ( iCurrentAudioOutput )
- {
- // Wired headset has the highest priority.
- case CTelephonyAudioRouting::EWiredAudioAccessory:
- __VTPRINT( DEBUG_CONSTRUCT | DEBUG_AUDIO, "AH.GRS.wired" )
- aAudioRoutingState = EAudioWiredHeadset;
- break;
-
- // Then bluetooth handsfree.
- case CTelephonyAudioRouting::EBTAudioAccessory:
- __VTPRINT( DEBUG_CONSTRUCT | DEBUG_AUDIO, "AH.GRS.bt" )
- aAudioRoutingState = EAudioBT;
- break;
-
- // Loudspeaker.
- case CTelephonyAudioRouting::ELoudspeaker:
- __VTPRINT( DEBUG_CONSTRUCT | DEBUG_AUDIO, "AH.GRS.IHF" )
- aAudioRoutingState = EAudioLoudspeaker;
- break;
-
- // Handset as fallback.
- default:
- __VTPRINT( DEBUG_CONSTRUCT | DEBUG_AUDIO, "AH.GRS.Handset" )
- aAudioRoutingState = EAudioHandset;
- break;
- }
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::GetRoutingAvailability
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngAudioHandler::GetRoutingAvailability(
- const TAudioRoutingState aAudioRoutingState,
- TBool& aAvailable )
- {
- TAudioRoutingState currentRouting;
- GetRoutingState( currentRouting ); // always succeeds
-
- if ( currentRouting == aAudioRoutingState )
- {
- // It is possible to route to itself, although it does not make
- // much sense.
- aAvailable = ETrue;
- }
- else if ( currentRouting == EAudioWiredHeadset )
- {
- // For wired headset, audio routings are not possible.
- aAvailable = EFalse;
- }
- else
- {
- switch ( aAudioRoutingState )
- {
- case EAudioHandset:
- case EAudioLoudspeaker:
- // Handset & loudspeaker are always available.
- aAvailable = ETrue;
- break;
-
- case EAudioBT:
- aAvailable = IsOutputAvailable( CTelephonyAudioRouting::EBTAudioAccessory );
- break;
-
- case EAudioWiredHeadset:
- // Wired headset can not be routed to. When headset is
- // attached, routing happens automatically.
- aAvailable = EFalse;
- break;
- }
- }
-
- __VTPRINT3( DEBUG_AUDIO, "AH.GRA state %d availability=%d",
- aAudioRoutingState, aAvailable )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::GetHeadsetType
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngAudioHandler::GetHeadsetType(
- TWiredHeadsetType& aHeadsetType )
- {
- switch ( iAccMode.iAccessoryMode )
- {
- case EAccModeWiredHeadset:
- case EAccModeWiredCarKit:
- case EAccModeMusicStand:
- aHeadsetType = EWiredHeadset;
- break;
-
- case EAccModeLoopset:
- aHeadsetType = EWiredLoopset;
- break;
-
- case EAccModeTextDevice:
- aHeadsetType = EWiredTty;
- break;
-
- case EAccModeHandPortable:
- case EAccModeWirelessHeadset:
- case EAccModeWirelessCarKit:
- default:
- // Not wired headset.
- aHeadsetType = EWiredNone;
- break;
- }
-
- __VTPRINT2( DEBUG_AUDIO, "AH.HeadsetType=%d", aHeadsetType )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::OutputVolume
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngAudioHandler::OutputVolume(
- const TBool aHandsetVolume ) const
- {
- __VTPRINT2( DEBUG_AUDIO, "AH.OutputVolume isHandset=%d", aHandsetVolume )
- TInt vol = 0;
- CVtEngSettings& setting = CVtEngUtility::Settings();
- TInt err( setting.GetVolume( vol, !aHandsetVolume, EFalse ) );
- if ( err != KErrNone )
- {
- vol = err;
- }
- __VTPRINT2( DEBUG_AUDIO, "AH.OutputVolume vol=%d",vol )
- return vol;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::SetLoudspeakerL
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::SetLoudspeakerL( TBool aTurnOn, TBool /*aShowNote*/ )
- {
- __VTPRINTENTER( "AH.SetLoudspeakerL" )
- __VTPRINT2( DEBUG_AUDIO, "AH.SetLoudspeakerL %d", aTurnOn )
- TBool available( EFalse );
- GetRoutingAvailability( EAudioLoudspeaker, available );
- if ( !available )
- {
- User::Leave( KErrNotSupported );
- }
- // Set shownote flag up in telephony audiorouting, before calling SetOutputL.
- User::LeaveIfError( iTelephonyAudioRouting->SetShowNote( ETrue ) );
-
- if( aTurnOn )
- {
- iTelephonyAudioRouting->SetOutputL( CTelephonyAudioRouting::ELoudspeaker );
- }
- else
- {
- iTelephonyAudioRouting->SetOutputL( CTelephonyAudioRouting::EHandset );
- }
- __VTPRINTEXIT( "AH.SetLoudspeakerL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::SetBluetoothL
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::SetBluetoothL( TBool aTurnOn )
- {
- __VTPRINTENTER( "AH.SetBluetoothL" )
- TBool available( EFalse );
- GetRoutingAvailability( EAudioBT, available );
- if ( !available )
- {
- User::Leave( KErrNotSupported );
- }
- // Set shownote flag up in telephony audiorouting, before calling SetOutputL.
- User::LeaveIfError( iTelephonyAudioRouting->SetShowNote( ETrue ) );
-
- if( aTurnOn )
- {
- iTelephonyAudioRouting->SetOutputL( CTelephonyAudioRouting::EBTAudioAccessory );
- }
- else
- {
- iTelephonyAudioRouting->SetOutputL( CTelephonyAudioRouting::EHandset );
- }
- __VTPRINTEXIT( "AH.SetBluetoothL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::AvailableOutputsChanged
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::AvailableOutputsChanged(
- CTelephonyAudioRouting& /*aTelephonyAudioRouting*/ )
- {
- __VTPRINTENTER( "AH.AvailableOutputsChanged" )
- CVtEngEventManager::NotifyEvent( KVtEngAudioRoutingAvailabilityChanged );
- __VTPRINTEXIT( "AH.AvailableOutputsChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::OutputChanged
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::OutputChanged(
- CTelephonyAudioRouting& aTelephonyAudioRouting )
- {
- __VTPRINTENTER( "AH.OutputChanged" )
- CTelephonyAudioRouting::TAudioOutput
- previousAudioOutput( iCurrentAudioOutput );
- iCurrentAudioOutput = aTelephonyAudioRouting.Output();
- CVtEngEventManager::NotifyEvent( KVtEngAudioRoutingChanged );
- // HandSet -> IHF
- if( ( previousAudioOutput == CTelephonyAudioRouting::EHandset ) &&
- ( iCurrentAudioOutput == CTelephonyAudioRouting::ELoudspeaker ) )
- {
- __VTPRINT( DEBUG_AUDIO, "AH.OutputChanged signalling HandSet to IHF" )
- }
- // IHF -> HandSet
- else if( ( previousAudioOutput == CTelephonyAudioRouting::ELoudspeaker ) &&
- ( iCurrentAudioOutput == CTelephonyAudioRouting::EHandset ) )
- {
- __VTPRINT( DEBUG_AUDIO, "AH.OutputChanged signalling IHF to HandSet" )
- }
- UpdateCurrentVolume();
- __VTPRINTEXITR( "AH.OutputChanged %d", iCurrentAudioOutput )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::SetOutputComplete
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::SetOutputComplete(
- CTelephonyAudioRouting& aTelephonyAudioRouting,
- TInt aError )
- {
- __VTPRINTENTER( "AH.SetOutputComplete" )
- if ( aError == KErrNone )
- {
- OutputChanged( aTelephonyAudioRouting );
- }
- CompleteOperation( aError );
- __VTPRINTEXIT( "AH.SetOutputComplete" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::CompleteOperation
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::CompleteOperation( TInt aResult )
- {
- __VTPRINT3( DEBUG_AUDIO, "AH.CompleteOperation op=%d,res=%d" ,
- ( TInt )iOperation, aResult )
- if ( iOperation )
- {
- iOperation->HandleOpComplete( aResult );
- iOperation = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::UpdateCurrentVolume
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::UpdateCurrentVolume()
- {
- __VTPRINTENTER( "AH.UpdateCurrentVolume" )
- TAudioRoutingState currentRouting = EAudioHandset;
- GetRoutingState( currentRouting );
-
- const TBool currentVolume = ( currentRouting == EAudioLoudspeaker );
- CVtEngSettings& setting = CVtEngUtility::Settings();
- setting.SetCurrentVolume( currentVolume );
-
- __VTPRINTEXITR( "AH.UpdateCurrentVolume output is IHF=%d", currentVolume )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::AccessoryModeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtEngAudioHandler::AccessoryModeChanged(
- const TAccMode& aMode, const TBool /* aActivated */ )
- {
- iAccMode.iAccessoryMode = aMode;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngAudioHandler::IsOutputAvailable
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngAudioHandler::IsOutputAvailable(
- const CTelephonyAudioRouting::TAudioOutput aOutput )
- {
- const TArray< CTelephonyAudioRouting::TAudioOutput > outputs =
- iTelephonyAudioRouting->AvailableOutputs();
-
- for ( TInt i = 0; i < outputs.Count(); i++ )
- {
- if ( outputs[ i ] == aOutput )
- {
- return ETrue;
- }
- }
- return EFalse;
- }
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::NewL
-// -----------------------------------------------------------------------------
-//
-CRoutingEnabler* CRoutingEnabler::NewL()
- {
- CRoutingEnabler* enabler =
- new ( ELeave ) CRoutingEnabler();
- CleanupStack::PushL( enabler );
- enabler->StartL();
- CleanupStack::Pop( enabler );
- return enabler;
- }
-
-// Destructor
-CRoutingEnabler::~CRoutingEnabler()
- {
- if ( iDevSound )
- {
- // If initialization ahs been successfull, Devsound Play has started
- // and need to be stopped.
- if( !iDevsoundInitializeFailure )
- {
- __VTPRINT( DEBUG_MEDIA, "AHRout.~ Stopping audio" )
- iDevSound->Stop();
- }
- delete iDevSound;
- iDevSound = NULL;
- }
- }
-
-// c++ constructor
-CRoutingEnabler::CRoutingEnabler()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::StartL
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::StartL()
- {
- __VTPRINTENTER( "AHRout.StartL" )
- iDevSound = CMMFDevSound::NewL();
-
- iDevSound->InitializeL(
- *( this ),
- EMMFStatePlaying );
- __VTPRINTEXIT( "AHRout.StartL" )
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::InitializeComplete
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::InitializeComplete( TInt aError )
- {
- __VTPRINTENTER( "AHRout.InitializeComplete" )
- if ( aError == KErrNone )
- {
- TMMFPrioritySettings prioritySettings;
- prioritySettings.iPriority = KAudioPriorityCSCallDownlink;
- prioritySettings.iPref =
- ( TMdaPriorityPreference ) KAudioPrefCSCallDownlink;
- prioritySettings.iState = EMMFStatePlaying;
- if ( iDevSound )
- {
- iDevSound->SetPrioritySettings( prioritySettings );
-
- TRAPD( err, iDevSound->PlayInitL() );
- if ( err != KErrNone )
- {
- __VTPRINT2( DEBUG_AUDIO, "AHRout.InitializeComplete PlayInitL err=%d", err )
-
- // Devsound PlayInitL leave error happened.
- iDevsoundInitializeFailure = ETrue;
- }
- }
- }
- else
- {
- __VTPRINT2( DEBUG_AUDIO, "AHRout.InitializeComplete err=%d", aError )
-
- // Devsound initialization failed
- iDevsoundInitializeFailure = ETrue;
- }
- __VTPRINTEXIT( "AHRout.InitializeComplete" )
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::ToneFinished
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::ToneFinished( TInt /*aError*/)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::BufferToBeFilled
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::BufferToBeFilled(
- CMMFBuffer* /*aBuffer*/)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::PlayError
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::PlayError( TInt /*aError*/)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::BufferToBeEmptied
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::BufferToBeEmptied(
- CMMFBuffer* /*aBuffer*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::RecordError
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::RecordError(
- TInt /*aError*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::ConvertError
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::ConvertError( TInt /*aError*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CRoutingEnabler::DeviceMessage
-// -----------------------------------------------------------------------------
-//
-void CRoutingEnabler::DeviceMessage(
- TUid /*aMessageType*/, const TDesC8& /*aMsg*/ )
- {
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/CVtEngAccessoryHandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2004-2005 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: Accessory listener.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngAccessoryHandler.h"
-#include "MVtEngAccessoryObserver.h"
-#include <cvtlogger.h>
-
-// CONSTANTS
-const TInt KVtEngAccObserverGranularity = 1;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::CVtEngAccessoryHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngAccessoryHandler::CVtEngAccessoryHandler() :
- CActive( CActive::EPriorityStandard ),
- iAccessoryObservers( KVtEngAccObserverGranularity )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngAccessoryHandler::ConstructL()
- {
- User::LeaveIfError( iAccessoryServer.Connect() );
- User::LeaveIfError( iAccessoryMode.CreateSubSession( iAccessoryServer ) );
- StartListening();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngAccessoryHandler* CVtEngAccessoryHandler::NewL( )
- {
- __VTPRINTENTER( "AccHdr.NewL" )
- CVtEngAccessoryHandler* self = new( ELeave ) CVtEngAccessoryHandler;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "AccHdr.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::~CVtEngAccessoryHandler
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngAccessoryHandler::~CVtEngAccessoryHandler()
- {
- __VTPRINTENTER( "AccHdr.~" )
- Cancel();
- RemoveAllObservers();
- iAccessoryMode.CloseSubSession();
- iAccessoryServer.Disconnect();
- __VTPRINTEXIT( "AccHdr.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::RemoveObserver
-// Removes an accessory listener.
-// -----------------------------------------------------------------------------
-//
-void CVtEngAccessoryHandler::RemoveObserver(
- MVtEngAccessoryObserver* aObserver )
- {
- __VTPRINTENTER( "AccHdr.RemoveObserver" )
- TInt pos = iAccessoryObservers.Find( aObserver );
- if ( pos != KErrNotFound )
- {
- iAccessoryObservers.Remove( pos );
- }
- __VTPRINTEXIT( "AccHdr.RemoveObserver" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::RegisterObserverL
-// New accessory listener.
-// -----------------------------------------------------------------------------
-//
-void CVtEngAccessoryHandler::
- RegisterObserverL( MVtEngAccessoryObserver* aObserver )
- {
- __VTPRINTENTER( "AccHdr.RegisterObserverL" )
- TInt pos = iAccessoryObservers.Find( aObserver );
- if ( pos == KErrNotFound )
- {
- User::LeaveIfError( iAccessoryObservers.Append( aObserver ) );
- }
- __VTPRINTEXIT( "AccHdr.RegisterObserverL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::RemoveAllObservers
-// All observers off they go
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngAccessoryHandler::RemoveAllObservers()
- {
- iAccessoryObservers.ResetAndDestroy();
- iAccessoryObservers.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::StartListening
-// -----------------------------------------------------------------------------
-//
-void CVtEngAccessoryHandler::StartListening()
- {
- iAccessoryMode.NotifyAccessoryModeChanged( iStatus, iMode );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::RunL
-// From CActive.
-// -----------------------------------------------------------------------------
-//
-void CVtEngAccessoryHandler::RunL()
- {
- __VTPRINTENTER( "AccHdr.RunL" )
- StartListening();
- NotifyObserversL();
- __VTPRINTEXIT( "AccHdr.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::DoCancel
-// From CActive.
-// -----------------------------------------------------------------------------
-//
-void CVtEngAccessoryHandler::DoCancel()
- {
- __VTPRINTENTER( "AccHdr.DoCancel" )
- iAccessoryMode.CancelNotifyAccessoryModeChanged();
- __VTPRINTEXIT( "AccHdr.DoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::RunError
-// From CActive.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngAccessoryHandler::RunError( TInt /*aError*/ )
- {
- __VTPRINTENTER( "AccHdr.RunError" )
- __VTPRINTEXIT( "AccHdr.RunError" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::NotifyObserversL.
-// -----------------------------------------------------------------------------
-//
-void CVtEngAccessoryHandler::NotifyObserversL()
- {
- const TInt obsCount( iAccessoryObservers.Count() );
- for ( TInt i = 0; i < obsCount; i++ )
- {
- MVtEngAccessoryObserver* obs = iAccessoryObservers[ i ];
- if ( obs )
- {
- obs->AccessoryModeChanged(
- iMode.iAccessoryMode, iMode.iAudioOutputStatus );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngAccessoryHandler::CMonitor::AccessoryMode
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngAccessoryHandler::
- AccessoryMode( TAccPolAccessoryMode& aAccessoryMode) const
- {
- return iAccessoryMode.GetAccessoryMode( aAccessoryMode );
- }
-
-// end of file
--- a/vtengines/videoteleng/Src/Base/CVtEngCRObserverItem.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +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 CR listener.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngCRObserverItem.h"
-#include <centralrepository.h>
-#include "MVtEngCRSettingObserver.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::CVtEngCRObserverItem
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRObserverItem::CVtEngCRObserverItem(
- MVtEngCRSettingObserver* aObserver,
- TUid aUid, TUint32 aKey,
- CCenRepNotifyHandler::TCenRepKeyType aType ) :
- iObserver( aObserver ), iUid( aUid ), iKey( aKey ), iType( aType ),
- iNotifier( NULL )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRObserverItem* CVtEngCRObserverItem::NewL(
- MVtEngCRSettingObserver* aObserver,
- TUid aUid, TUint32 aKey,
- CCenRepNotifyHandler::TCenRepKeyType aType )
- {
- __VTPRINTENTER( "CRListener.NewL" )
- CVtEngCRObserverItem* self =
- new( ELeave ) CVtEngCRObserverItem( aObserver, aUid, aKey, aType );
- __VTPRINTEXIT( "CRListener.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::~CVtEngCRObserverItem
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRObserverItem::~CVtEngCRObserverItem()
- {
- __VTPRINTENTER( "CRListener.~" )
- if ( iNotifier )
- {
- iNotifier->StopListening();
- }
- delete iNotifier;
- __VTPRINTEXIT( "CRListener.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::Offer
-// Checks if uid and id match this observer's.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngCRObserverItem::Offer( const TUid aUid, const TUint32 aKey ) const
- {
- return aUid == iUid && iKey == aKey ? ETrue : EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::Offer
-// Checks if uid matches this observer's.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngCRObserverItem::Offer( const TUid aUid ) const
- {
- return aUid == iUid ? ETrue : EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::Offer
-// Checks if id matches this observer's.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngCRObserverItem::Offer( const TUint32 aKey ) const
- {
- return iKey == aKey ? ETrue : EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::SetCenRepNotifier
-// Sets the actual change handler to this object.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRObserverItem::SetCenRepNotifier( CCenRepNotifyHandler* aNotifier )
- {
- iNotifier = aNotifier;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::HandleNotifyInt
-// Callback of changed int value.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRObserverItem::HandleNotifyInt( TUint32 aId, TInt aNewValue )
- {
- __VTPRINTENTER( "CRListener.Int" )
- iObserver->HandleNotifyInt( iUid, aId, aNewValue );
- __VTPRINTEXIT( "CRListener.Int" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::HandleNotifyReal
-// Callback of changed real value.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRObserverItem::HandleNotifyReal( TUint32 aId, TReal aNewValue )
- {
- __VTPRINTENTER( "CRListener.Real" )
- iObserver->HandleNotifyReal( iUid, aId, aNewValue );
- __VTPRINTEXIT( "CRListener.Real" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::HandleNotifyString
-// Callback of changed string value.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRObserverItem::HandleNotifyString( TUint32 aId,
- const TDesC16& aNewValue )
- {
- __VTPRINTENTER( "CRListener.String" )
- iObserver->HandleNotifyString( iUid, aId, aNewValue );
- __VTPRINTEXIT( "CRListener.String" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::HandleNotifyBinary
-// Callback of changed binary value.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRObserverItem::HandleNotifyBinary( TUint32 /* aId */,
- const TDesC8& /* aNewValue */ )
- {
- __VTPRINTENTER( "CRListener.Binary" )
- __VTPRINTEXIT( "CRListener.Binary" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::HandleNotifyGeneric
-// Callback of a change in central repository.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRObserverItem::HandleNotifyGeneric( TUint32 /* aId */ )
- {
- __VTPRINTENTER( "CRListener.Generic" )
- __VTPRINTEXIT( "CRListener.Generic" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::HandleNotifyError
-// Callback of an error occurred.
-// -----------------------------------------------------------------------------
-//
-#ifdef VTDEBUG
-void CVtEngCRObserverItem::HandleNotifyError( TUint32 aId, TInt aError,
- CCenRepNotifyHandler* /* aHandler */ )
-#else
-void CVtEngCRObserverItem::HandleNotifyError(
- TUint32 /* aId */, TInt /* aError */, CCenRepNotifyHandler* /* aHandler */ )
-#endif // VTDEBUG
- {
- __VTPRINT3( DEBUG_GEN, "CRListener.error id=%d,err=%d ", aId, aError )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::Uid
-// Returns Uid for this observer.
-// -----------------------------------------------------------------------------
-//
-TUid CVtEngCRObserverItem::Uid() const
- {
- return iUid;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::Key
-// Returns Key for this observer.
-// -----------------------------------------------------------------------------
-//
-TUint32 CVtEngCRObserverItem::Key() const
- {
- return iKey;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::Notifier
-// Returns Notifier for this observer.
-// -----------------------------------------------------------------------------
-//
-CCenRepNotifyHandler* CVtEngCRObserverItem::Notifier() const
- {
- return iNotifier;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::Type
-// Returns Type for this observer.
-// -----------------------------------------------------------------------------
-//
-CCenRepNotifyHandler::TCenRepKeyType CVtEngCRObserverItem::Type() const
- {
- return iType;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRObserverItem::Observer
-// Returns true observer for this observer.
-// -----------------------------------------------------------------------------
-//
-MVtEngCRSettingObserver* CVtEngCRObserverItem::Observer() const
- {
- return iObserver;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/CVtEngCRProxy.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +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: Central repository proxy.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngCRObserverItem.h"
-#include "CVtEngCRProxy.h"
-#include "MVtEngCRSettingObserver.h"
-#include <cvtlogger.h>
-
-// CONSTANTS
-
-const TInt KVtEngCRProxyObsGranularity = 5;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::CVtEngCRProxy
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy::CVtEngCRProxy() : iObserverItems( KVtEngCRProxyObsGranularity )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy* CVtEngCRProxy::NewL( )
- {
- __VTPRINTENTER( "CRProxy.NewL" )
- CVtEngCRProxy* self = new( ELeave ) CVtEngCRProxy;
- __VTPRINTEXIT( "CRProxy.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::~CVtEngCRProxy
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy::~CVtEngCRProxy()
- {
- __VTPRINTENTER( "CRProxy.~" )
- RemoveAllObservers();
- RemoveSessions();
- __VTPRINTEXIT( "CRProxy.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::FindItem
-// Finds observer item.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRObserverItem* CVtEngCRProxy::FindItem(
- const TUid& aUid,
- const TUint32 aKey,
- TInt& aIndex ) const
- {
- TInt count( iObserverItems.Count() );
- CVtEngCRObserverItem* item = NULL;
- TBool found( EFalse );
- while ( count-- && !found )
- {
- item = iObserverItems[ count ];
- if ( item->Offer( aUid, aKey ) )
- {
- aIndex = count;
- found = ETrue;
- }
- }
-
- // Just NULL the item if not found
- if ( !found )
- {
- item = NULL;
- }
- return item;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::FindItem
-// Finds observer item.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRObserverItem* CVtEngCRProxy::FindItem(
- const TUint32 aKey, TInt& aIndex ) const
- {
- TInt count( iObserverItems.Count() );
- CVtEngCRObserverItem* item = NULL;
- if ( aIndex < 0 )
- {
- return NULL;
- }
-
- for ( ; aIndex < count; aIndex++ )
- {
- item = iObserverItems[ aIndex ];
- if ( item->Offer( aKey ) )
- {
- break;
- }
- }
- return item;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::RemoveInterested
-// Removes a cent rep listener.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRProxy::RemoveInterested( CVtEngCRObserverItem& aObserver )
- {
- __VTPRINTENTER( "CRProxy.RemoveInterested" )
- TInt index ( 0 );
- CVtEngCRObserverItem* item = FindItem( aObserver.Uid(),
- aObserver.Key(), index );
- if ( !item )
- {
- // Should not be possible.
- __VTPRINTEXITR( "CRProxy.RemoveInterested %d", 0 )
- return;
- }
-
- delete item;
- iObserverItems.Remove( index );
- __VTPRINTEXITR( "CRProxy.RemoveInterested %d", 1 )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::NewCRSessionL
-// New Central repository-uid pairing.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy::CCRSession* CVtEngCRProxy::NewCRSessionL( TUid aUid )
- {
- __VTPRINTENTER( "CRProxy.NewCRSessionL" )
- CRepository* crSession = CRepository::NewL( aUid );
- CleanupStack::PushL( crSession );
- CCRSession* csSession = new ( ELeave ) CCRSession;
- csSession->iSession = crSession;
- csSession->iUid = aUid;
- CleanupStack::Pop( crSession );
- __VTPRINTEXIT( "CRProxy.NewCRSessionL" )
- return csSession;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::RegisterInterested
-// New Central repository listener.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRProxy::RegisterInterestedL( CVtEngCRObserverItem* aObserver )
- {
- __VTPRINTENTER( "CRProxy.RegisterInterestedL" )
- CRepository* crSession = MapUidToCR( aObserver->Uid() );
- CCRSession* csSession = NULL;
- if( !crSession )
- {
- csSession = NewCRSessionL( aObserver->Uid() );
- CleanupStack::PushL( csSession );
- crSession = csSession->iSession;
- iCRSessions.AppendL( csSession );
- CleanupStack::Pop( csSession );
- }
-
- CCenRepNotifyHandler* notifier =
- CCenRepNotifyHandler::NewL( *aObserver, *crSession,
- aObserver->Type(), aObserver->Key() );
- //notifier ownership transfered
- aObserver->SetCenRepNotifier( notifier );
- notifier->StartListeningL();
- iObserverItems.AppendL ( aObserver );
- __VTPRINTEXIT( "CRProxy.RegisterInterestedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::MapUidToCR
-// Maps a given UID to a Central repository session.
-// -----------------------------------------------------------------------------
-//
-CRepository* CVtEngCRProxy::MapUidToCR( const TUid aUid )
- {
- __VTPRINTENTER( "CRProxy.Map" )
- CCRSession* csSession = NULL;
- TBool found( EFalse );
- TInt count( iCRSessions.Count() );
- for ( TInt i = 0 ; i < count; i++ )
- {
- csSession = iCRSessions[ i ];
- if ( csSession->iUid == aUid )
- {
- i = count; // break loop
- found = ETrue;
- }
- }
- CRepository* session = NULL;
- // Only return something when found.
- if ( found )
- {
- session = csSession->iSession;
- }
- __VTPRINTEXITR( "CRProxy.Map %d", (TInt) session )
- return session;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::RemoveAllObservers
-// All observers off they go.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRProxy::RemoveAllObservers()
- {
- __VTPRINTENTER( "CRProxy.RemoveAll" )
- iObserverItems.ResetAndDestroy();
- iObserverItems.Close();
- __VTPRINTEXIT( "CRProxy.RemoveAll" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::RemoveSessions
-// Removes all Central repository sessions.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRProxy::RemoveSessions()
- {
- __VTPRINTENTER( "CRProxy.RemoveAllS" )
- iCRSessions.ResetAndDestroy();
- iCRSessions.Close();
- __VTPRINTEXIT( "CRProxy.RemoveAllS" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::GetSession
-// Gets an existing or a new Central repository session for a UID.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::GetSessionL( const TUid aUid, CRepository*& crSession )
- {
- TInt err( KErrNone );
- crSession = MapUidToCR( aUid );
- if ( !crSession )
- {
- CCRSession* session = NULL;
- session = NewCRSessionL( aUid );
- if ( session )
- {
- CleanupStack::PushL( session );
- iCRSessions.AppendL( session );
- CleanupStack::Pop( session );
- crSession = session->iSession;
- }
- else
- {
- err = KErrNotFound;
- }
- }
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Get
-// Gets integer value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Get( const TUid aUid, const TUint32 aId, TInt& aVal )
- {
- __VTPRINTENTER( "CRProxy.GetInt" )
- __VTPRINT3( DEBUG_GEN, "UID=%d,key=%d", aUid.iUid, (TInt) aId );
-
- CRepository* crSession = NULL;
- TRAPD( err, GetSessionL( aUid, crSession ) );
- if ( err == KErrNone )
- {
- err = crSession->Get( aId, aVal );
- }
- __VTPRINTEXITR( "CRProxy.GetInt %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Get
-// Gets real value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Get( const TUid aUid, const TUint32 aId, TReal& aVal )
- {
- __VTPRINTENTER( "CRProxy.GetReal" )
- __VTPRINT3( DEBUG_GEN, "UID=%d,key=%d", aUid.iUid, (TInt) aId );
- CRepository* crSession = NULL;
- TRAPD( err, GetSessionL( aUid, crSession ) );
- if ( err == KErrNone )
- {
- err = crSession->Get( aId, aVal );
- }
- __VTPRINTEXITR( "CRProxy.GetR %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Get
-// Gets binary value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Get( const TUid aUid, const TUint32 aId, TDes8& aVal )
- {
- __VTPRINTENTER( "CRProxy.GetD8" )
- __VTPRINT3( DEBUG_GEN, "UID=%d,key=%d", aUid.iUid, (TInt) aId );
- CRepository* crSession = NULL;
- TRAPD( err, GetSessionL( aUid, crSession ) );
- if ( err == KErrNone )
- {
- err = crSession->Get( aId, aVal );
- }
- __VTPRINTEXITR( "CRProxy.GetD8 %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Get
-// Gets string value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Get( const TUid aUid, const TUint32 aId, TDes16& aVal )
- {
- __VTPRINTENTER( "CRProxy.GetD16" )
- __VTPRINT3( DEBUG_GEN, "UID=%d,key=%d", aUid.iUid, (TInt) aId );
- CRepository* crSession = NULL;
- TRAPD( err, GetSessionL( aUid, crSession ) );
- if ( err == KErrNone )
- {
- err = crSession->Get( aId, aVal );
- }
- __VTPRINTEXITR( "CRProxy.GetD16 %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Set
-// Sets integer value to Central Repository.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Set( const TUid aUid, const TUint32 aId, TInt aVal )
- {
- __VTPRINTENTER( "CRProxy.SetInt" )
- CRepository* crSession = NULL;
- TRAPD( err, GetSessionL( aUid, crSession ) );
- if ( err == KErrNone )
- {
- err = crSession->Set( aId, aVal );
- }
- __VTPRINTEXITR( "CRProxy.SetInt %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Set
-// Sets real value to Central Repository.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Set( const TUid aUid, const TUint32 aId, const TReal& aVal )
- {
- __VTPRINTENTER( "CRProxy.SetR" )
- CRepository* crSession = NULL;
- TRAPD( err, GetSessionL( aUid, crSession ) );
- if ( err == KErrNone )
- {
- err = crSession->Set( aId, aVal );
- }
- __VTPRINTEXITR( "CRProxy.SetR %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Set
-// Sets binary value to Central Repository.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Set( const TUid aUid, const TUint32 aId, const TDesC8& aVal )
- {
- __VTPRINTENTER( "CRProxy.SetD8" )
- CRepository* crSession = NULL;
- TRAPD( err, GetSessionL( aUid, crSession ) );
- if ( err == KErrNone )
- {
- err = crSession->Set( aId, aVal );
- }
- __VTPRINTEXITR( "CRProxy.SetD8 %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Set
-// Sets string value to Central Repository.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Set(
- const TUid aUid, const TUint32 aId, const TDesC16& aVal )
- {
- __VTPRINTENTER( "CRProxy.SetD16" )
- CRepository* crSession = NULL;
- TRAPD( err, GetSessionL( aUid, crSession ) );
- if ( err == KErrNone )
- {
- err = crSession->Set( aId, aVal );
- }
- __VTPRINTEXITR( "CRProxy.SetD16 %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::CCRSession::~CCRSession
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy::CCRSession::~CCRSession()
- {
- __VTPRINTENTER( "CRProxy.~" )
- delete iSession;
- __VTPRINTEXIT( "CRProxy.~" )
- }
-
-// end of file
--- a/vtengines/videoteleng/Src/Base/CVtEngDeviceLockMonitor.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 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: Monitors device lock state
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngDeviceLockMonitor.h"
-#include "CVTEngPubSubsListener.h"
-#include "CVtEngEventManager.h"
-#include "cvtlogger.h"
-
-#include <coreapplicationuisdomainpskeys.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngDeviceLockMonitor::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngDeviceLockMonitor* CVtEngDeviceLockMonitor::NewL()
- {
- CVtEngDeviceLockMonitor* self = new ( ELeave ) CVtEngDeviceLockMonitor();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// Destructor
-CVtEngDeviceLockMonitor::~CVtEngDeviceLockMonitor()
- {
- delete iAutolockListener;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDeviceLockMonitor::NotifyState
-// Notifies UI about device lock state
-// -----------------------------------------------------------------------------
-//
-void CVtEngDeviceLockMonitor::NotifyState() const
- {
- __VTPRINTENTER( "LockMonitor.NotifyState" )
-
- TInt state = EAutolockStatusUninitialized;
-
- // Get autolock state
- TInt err = iAutolockListener->Get( state );
-
- __VTPRINT2( DEBUG_GEN, "LockMonitor Get err: %d", err );
- __VTPRINT2( DEBUG_GEN, "LockMonitor state: %d", state );
-
- if( err == KErrNone )
- {
- const TInt event =
- ( state <= EAutolockOff ) ?
- KVtEngDeviceLockOff : KVtEngDeviceLockOn;
- CVtEngEventManager::NotifyEvent( event );
- }
-
- __VTPRINTEXIT( "LockMonitor.NotifyState" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDeviceLockMonitor::HandleNotifyPSL
-// Callback for autolock state change
-// -----------------------------------------------------------------------------
-//
-void CVtEngDeviceLockMonitor::HandleNotifyPSL(
- const TUid aUid,
- const TInt& aKey,
- const TRequestStatus& aStatus )
- {
- if ( aStatus == KErrNone &&
- aUid == KPSUidCoreApplicationUIs &&
- aKey == KCoreAppUIsAutolockStatus )
- {
- NotifyState();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDeviceLockMonitor::CVtEngDeviceLockMonitor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDeviceLockMonitor::CVtEngDeviceLockMonitor()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDeviceLockMonitor::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDeviceLockMonitor::ConstructL()
- {
- __VTPRINTENTER( "LockMonitor.ConstructL" )
- // Listener for autolock state
- iAutolockListener = CVtEngPubSubsListener::NewL(
- KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, this );
- __VTPRINTEXIT( "LockMonitor.ConstructL" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/CVtEngEventManager.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* Copyright (c) 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: Event manager implementation.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngEventManager.h"
-#include "MVtEngEventObserver.h"
-#include "VtEngUtils.h"
-#include "VtEngEvents.h"
-#include "VtEngPanic.h"
-#include <cvtlogger.h>
-
-// CONSTANTS
-const TInt KMaxEventsInQueue = 8;
-
-// max amount of simultanous event observers
-const TInt KMaxVtEventObservers = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::CVtEngEventManager
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngEventManager::CVtEngEventManager() : CActive( CActive::EPriorityHigh ),
- iObservers( KMaxVtEventObservers )
- {
- CActiveScheduler::Add( this );
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngEventManager* CVtEngEventManager::NewL(
- MVtEngEventObserver& aEventObserver )
- {
- CVtEngEventManager* self =
- new ( ELeave ) CVtEngEventManager();
- CleanupStack::PushL( self );
- self->ConstructL( aEventObserver );
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::ConstructL
-// 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::ConstructL( MVtEngEventObserver& aEventObserver )
- {
- iEventQueue = new ( ELeave ) CArrayFixFlat< TInt >( KMaxEventsInQueue );
- iEventQueue->SetReserveL( KMaxEventsInQueue );
- iObservers.Append( &aEventObserver );
- }
-
-// Destructor
-CVtEngEventManager::~CVtEngEventManager()
- {
- Cancel();
- delete iEventQueue;
- iObservers.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::SessionStateChangedL
-// Notifies session state change to UI.
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::SessionStateChanged()
- {
- __VTPRINTENTER( "EventManager.SessionStateChanged" )
- NotifyEvent( KVtEngSessionStateChanged );
- __VTPRINTEXIT( "EventManager.SessionStateChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::NotifyEvent
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::NotifyEvent( const TInt aEvent )
- {
- __VTPRINTENTER( "EventManager.NotifyEvent" )
- __VTPRINT2( DEBUG_GEN, "EventManager.NotifyEvent event=%d", aEvent );
- CVtEngEventManager& eventManager =
- CVtEngUtility::EventManager();
- if ( !eventManager.QueueAsyncEvent( aEvent ) )
- {
- eventManager.DoNotifyEvent( aEvent );
- }
- __VTPRINTEXIT( "EventManager.NotifyEvent" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::AddObserverL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::AddObserverL( MVtEngEventObserver* aObserver )
- {
- TInt count( iObservers.Count() );
- TBool duplicate = EFalse;
- while ( count-- )
- {
- if ( aObserver == iObservers[ count ] )
- {
- count = 0; // break loop
- duplicate = ETrue;
- }
- }
- if ( !duplicate )
- {
- User::LeaveIfError( iObservers.Append( aObserver ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::RemoveObserver
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::RemoveObserver( const MVtEngEventObserver* aObserver )
- {
- TInt count( iObservers.Count() );
- while ( count-- )
- {
- if ( aObserver == iObservers[ count ] )
- {
- iObservers.Remove( count );
- count = 0; // break loop
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::RunL
-// Notify event
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::RunL()
- {
- __VTPRINTENTER( "EventManager.RunL" )
- __VTPRINT2( DEBUG_GEN, "EventManager.RunL count=%d", iEventQueue->Count() );
- // get oldest event in queue (event at index 0)
- const TInt event = iEventQueue->At( 0 ) ;
-
- // delete event before calling DoNotifyEvent(), because DoNotifyEvent() may
- // hang if it causes ASynchronous call in handler
- iEventQueue->Delete( 0 );
-
- // if more events pending -> signal again
- if( iEventQueue->Count() > 0 )
- {
- Signal();
- }
-
- // and finally notify event
- DoNotifyEvent( event );
- __VTPRINTEXIT( "EventManager.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::DoCancel
-// No op
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::DoCancel()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::DoNotifyEvent
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::DoNotifyEvent( const TInt aEvent )
- {
- __VTPRINTENTER( "EventManager.DoNotifyEvent" )
- __VTPRINT2( DEBUG_GEN, "EventManager.DoNotifyEvent event=%d", aEvent );
- TRAP_IGNORE( {
- TInt count( iObservers.Count() );
- while ( count-- )
- {
- iObservers[count]->HandleVtEventL( aEvent ) ;
- }
- } )
- __VTPRINTEXIT( "EventManager.DoNotifyEvent" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::QueueAsyncEvent
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngEventManager::QueueAsyncEvent( const TInt aEvent )
- {
- __VTPRINTENTER( "EventManager.QueueAsyncEvent" )
- __VTPRINT2( DEBUG_GEN, "EventManager.QueueAsyncEvent event=%d", aEvent );
- TBool async( EFalse );
- switch ( aEvent )
- {
- case KVtEngSessionStateChanged:
- case KVtEngNegotiationProblem:
- case KVtEngShareImageInitializeBegin:
- case KVtEngShareImageInitializeEnd:
- async = ETrue;
- QueueAndSignal( aEvent );
- break;
- default:
- break;
- }
- __VTPRINTEXIT( "EventManager.QueueAsyncEvent" )
- return async;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::QueueAndSignal
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::QueueAndSignal( const TInt aEvent )
- {
- __VTPRINTENTER( "EventManager.QueueAndSignal" )
- __VTPRINT2( DEBUG_GEN, "EventManager.QueueAndSignal event=%d", aEvent );
- if( iEventQueue->Count() < KMaxEventsInQueue )
- {
- TRAP_IGNORE( iEventQueue->AppendL( aEvent ) ); // can't leave
- Signal();
- }
- else
- {
- Panic( EVtEngPanicInvalidTooManyPendingEvents );
- }
- __VTPRINTEXIT( "EventManager.QueueAndSignal" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngEventManager::Signal
-// -----------------------------------------------------------------------------
-//
-void CVtEngEventManager::Signal()
- {
- __VTPRINTENTER( "EventManager.Signal" )
- if( !IsActive() )
- {
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- __VTPRINT2( DEBUG_GEN, "EventManager.QueueAndSignal count=%d", iEventQueue->Count() );
- }
- __VTPRINTEXIT( "EventManager.Signal" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/CVtEngHandlerContainer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 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: Container for functional handlers in the engine.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngHandlerContainer.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngHandlerContainer::Uninitialize
-// Uninitialises handlers.
-// -----------------------------------------------------------------------------
-//
-void CVtEngHandlerContainer::Uninitialize()
- {
- iSession->Uninitialize();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngHandlerContainer::CVtEngHandlerContainer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngHandlerContainer::CVtEngHandlerContainer()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngHandlerContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngHandlerContainer::ConstructL( )
- {
- iMedia = CVtEngMediaHandler::NewL( );
- iSession = CVtEngSessionHandler::NewL( );
- iAudio = CVtEngAudioHandler::NewL( );
-
- }
-
-void CVtEngHandlerContainer::CreateDtmfHandlerL(
- MVtH324ConfigCommand* aH324Config )
- {
- __VTPRINTENTER( "HlrCnr.CreateDtmfHandlerL" )
- iDtmf = CVtEngDtmfHandler::NewL( *aH324Config );
- __VTPRINTEXIT( "HlrCnr.CreateDtmfHandlerL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngHandlerContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngHandlerContainer* CVtEngHandlerContainer::NewL( )
- {
- __VTPRINTENTER( "HlrCnr.NewL" )
-
- CVtEngHandlerContainer* self = new( ELeave ) CVtEngHandlerContainer;
-
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
- __VTPRINTEXIT( "HlrCnr.NewL" )
- return self;
- }
-
-
-// Destructor
-CVtEngHandlerContainer::~CVtEngHandlerContainer()
- {
- __VTPRINTENTER( "HlrCnr.~" )
-
- delete iMedia;
- delete iSession;
- delete iAudio;
- delete iDtmf;
-
- __VTPRINTEXIT( "HlrCnr.~" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/CVtEngInitializer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,687 +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: Implementation class for initializing the engine gradually.
-* Active object initializes one "subsystem" on each
-* round. In case of failure timer is started and
-* retrial is done after time-out. Uninitialization
-* is done is one shot.
-
-
-
-
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngInitializer.h"
-#include "CVtEngStateManager.h"
-#include "CVtEngEventManager.h"
-#include "VtEngUtils.h"
-#include "CVtEngHandlerContainer.h"
-#include "CVtEngOperation.h"
-#include "VtEngPanic.h"
-#include "VtEngConstants.h"
-#include "VtEngDefs.hrh"
-#include <cvtlogger.h>
-#include <mvtprotocolhandler.h>
-#include <telcommsinfopskeys.h>
-#include <videotelephonyvariant.hrh>
-#include "VtEngUtils.h"
-#include "CVtEngSettings.h"
-
-// CONSTANTS
-const TInt KVtEngInitializerPriority = CActive::EPriorityStandard;
-const TInt KVtEngInitializerRetrials = 3;
-const TInt KVtEngInitializerRetrialTimeout = 500000; // 0.5 seconds
-const TInt KVtEngInitializerTimerPriority = CActive::EPriorityUserInput;
-
-_LIT( KVtEngCommDiagPortName, "PVDIAGPORT" );
-_LIT( KVtEngCommTestPortName, "COMM::0" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-CVtEngInitializer* CVtEngInitializer::NewL( CVtEngHandlerContainer& aHandlers )
- {
- __VTPRINTENTER( "Intlzr.NewL" )
- CVtEngInitializer* self = new ( ELeave ) CVtEngInitializer( aHandlers );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "Intlzr.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::CVtEngInitializer
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngInitializer::CVtEngInitializer(
- CVtEngHandlerContainer& aHandlers ) :
- CActive( KVtEngInitializerPriority ),
- iHandlers( aHandlers ),
- iStep( EInitNone ),
- iDataportHandled( 0 ),
- iOwnershipInMH( EFalse )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::ConstructL
-// Second phase constructor.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::ConstructL()
- {
- iTimer = CPeriodic::NewL( KVtEngInitializerTimerPriority );
-
- }
-
-// Destructor
-CVtEngInitializer::~CVtEngInitializer()
- {
- __VTPRINTENTER( "Intlzr.~" )
- delete iTimer;
- Cancel();
-
- if ( iSessionCommand && !iOwnershipInMH )
- {
- VTProtocolFactory::DeleteSessionCommand( iSessionCommand );
- iSessionCommand = NULL;
- }
- __VTPRINTEXIT( "Intlzr.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::InitializeL
-// Start initialization process.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::InitializeL( CVtEngOperation& aCallback )
- {
- __VTPRINTENTER( "Intlzr.InitializeL" )
- __VTPRINT( DEBUG_GEN, "Intlzr.Init")
- __ASSERT_ALWAYS( iStep != EInitComplete,
- Panic( EVtEngPanicInvalidInitializationEntry ) );
- iCallback = &aCallback;
- if ( iStep == EInitComplete )
- {
- __VTPRINTEXIT( "Intlzr.InitializeL" )
- return;
- }
- ContinueOrRetry( EContinue );
- __VTPRINTEXIT( "Intlzr.InitializeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::CancelInit
-// Cancels already started ini.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngInitializer::CancelInit()
- {
- __VTPRINTENTER( "Intlzr.CancelInit" )
- TBool cancelSignalled = EFalse;
- __VTPRINT2( DEBUG_GEN, "Intlzr.CancelInit %d", iStep )
- if ( IsActive() )
- {
- switch ( iStep )
- {
- case EInitMedia: // media->InitializeL pending
- case EInitProto: // media->InitializeProviderL pending
- {
- if ( ! ( iDataportHandled & EDataportReceived ) )
- {
- __VTPRINT( DEBUG_GEN, "Intlzr.CancelInit complete" )
- if ( iStatus == KRequestPending )
- {
- // Actual protocol init is not done yet.
- TRequestStatus* status = &iStatus;
- __VTPRINT( DEBUG_GEN, "Intlzr.CancelInit complete1" )
- User::RequestComplete( status, KErrNone );
- __VTPRINT( DEBUG_GEN, "Intlzr.CancelInit complete2" )
- }
- iDataportHandled |= EDataportReceived;
- __VTPRINT( DEBUG_GEN, "Intlzr.CancelInit complete" )
- }
- __VTPRINT( DEBUG_GEN, "Intlzr.CancelInit MH cancel" )
- CVtEngMediaHandler* media =
- static_cast<CVtEngMediaHandler*>( &iHandlers.Media() );
- media->CancelInitialize();
- iStep = EResetMediaPhase2;
- }
- break;
- case EResetMedia:
- break;
- default:
- cancelSignalled = ETrue;
- Cancel();
- }
- }
- __VTPRINTEXITR( "Intlzr.CancelInit %d", cancelSignalled )
- return cancelSignalled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::Uninitialize
-// Start un-initialization process.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::Uninitialize( CVtEngOperation& aCallback )
- {
- __VTPRINTENTER( "Intlzr.Uninitialize" )
- iCallback = &aCallback;
- ContinueOrRetry( EReset );
- __VTPRINTEXIT( "Intlzr.Uninitialize" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::GetSessionCommand
-// Transfer ownership of Protocol and continue initialization.
-//
-// -----------------------------------------------------------------------------
-//
-MVtSessionCommand* CVtEngInitializer::GetSessionCommand()
- {
- __VTPRINTENTER( "Intlzr.GetSessionCommand" )
- __VTPRINT2( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.GetSessionCommand iSessionCommand: $%x", reinterpret_cast< TUint >( iSessionCommand ) )
- MVtSessionCommand* sessionCommand = iSessionCommand;
-
- // Set ownership to media handler since media handler is requesting so.
- iOwnershipInMH = ETrue;
- if( iStep >= EInitDataportCompleted )
- {
- // Ownership can be totally given to MH after dataport is loaned.
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.GetSessionCommand iSessionCommand ownership to MH GetSessionCommand")
-
- iSessionCommand = NULL;
- iStep = EInitComplete;
- ContinueOrRetry( EContinue );
- }
- if ( iStep != EResetMedia )
- {
- __VTPRINT( DEBUG_GEN, "Intlzr.GetSessionCommand=>ContinueOrRetry( EContinue )")
- ContinueOrRetry( EContinue );
- }
- else
- {
- // Reset requested. ContinueOrRetry with EReset was called
- // while protocol Init was ongoing. Now continue
- __VTPRINT( DEBUG_GEN, "Intlzr.GetSessionCommand=>ContinueOrRetry( EReset )")
- ContinueOrRetry( EReset );
- }
- __VTPRINTEXIT( "Intlzr.GetSessionCommand" )
- return sessionCommand;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::Initialized
-// Returns if engine is initialized.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngInitializer::Initialized() const
- {
- return ( iStep == EInitComplete );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::RunL
-// Perform initialization step
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::RunL()
- {
- __VTPRINTENTER( "Intlzr.RunL" )
- __VTPRINT3( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.Run step=%d err=%d",
- iStep, iStatus.Int() )
- if ( iStatus != KErrNone )
- {
- Notify( iStatus.Int() );
- __VTPRINTEXIT( "Intlzr.RunL" )
- return;
- }
- CVtEngMediaHandler* media =
- static_cast<CVtEngMediaHandler*>( &iHandlers.Media() );
-
- switch ( iStep )
- {
- case EInitNone:
- return;
- case EInitMedia:
- // Initialize video source
- iStatus = KRequestPending;
- media->InitializeL( iStatus );
- SetActive();
- iStep++; // EInitProto
- __VTPRINTEXIT( "Intlzr.RunL" )
- return;
- case EInitProto:
- // Initialize Protocol => create terminal only once.
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.Run create Protocol")
- if ( !iSessionCommand )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.Run DOCREATE Protocol" )
- TVt3G324MSupported protocolSupported;
- iSessionCommand = VTProtocolFactory::CreateSessionCommandL(
- media, ETrue, protocolSupported );
-
- if (protocolSupported == EVt3G324MMissing)
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.Run init 3G324M stack is missing")
- Notify(KErrNotReady);
- return;
- }
-
- // Initialize Protocol immediately after it is created.
- if( iSessionCommand )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.Run InitL protocol")
- iSessionCommand->InitProtocolL( media->SdkInitInfo() );
- }
- }
- if ( iSessionCommand )
- {
- const TDesC* dataportName = NULL;
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.Run init protocol")
- if(iCallback->Command() == KVtEngInitializeEngineTest )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.Run init with COMM::0")
- CVtEngUtility::Settings().SetConnectReady();
- iComms = VTProtocolFactory::CreateCommServerL(
- KVtEngCommTestPortName );
- }
- else if( iCallback->Command() == KVtEngInitializeEngineDiag )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.Run init with PVDIAGPORT")
- CVtEngUtility::Settings().SetConnectReady();
- iComms = VTProtocolFactory::CreateCommServerL(
- KVtEngCommDiagPortName );
- }
- else
- { // [MediatorChange]:
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.Run init with DATAPORT" )
- dataportName =
- CVtEngUtility::Settings().DataportInfo();
- if ( !dataportName )
- {
- // not available yet, start waiting,
- // HandleSettingChangedL is called when dataport
- // becomes available
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.Run DATAPORT is not ready yet" )
-
- CVtEngUtility::Settings().NotifyChangeL(
- CVtEngSettings::EDataportInfo, *this );
- iStatus = KRequestPending;
- SetActive();
- __VTPRINTEXIT( "Intlzr.RunL" )
- return;
- }
- else
- {
- //RDebug::Print( _L("DataportName is:%S"), dataportName );
- TBool bitReversed( BitReversalUsed() );
-
- iComms = VTProtocolFactory::CreateCommServerL(
- *dataportName, bitReversed );
- // not interested of DP info any more
- CVtEngUtility::Settings().CancelNotifyChange(
- CVtEngSettings::EDataportInfo, *this );
- }
- }
-
- // Initialization is now completed
- iStep = EInitDataportCompleted;
-
- // Dataport is now loaned
- CVtEngUtility::Settings().SetDataportLoaned( ETrue );
-
- // Update states since dataport is now loaned
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- states->Update();
-
- // No need for ownership anymore, media handler owns the pointer and is
- // responsible of deletion.
- if( iOwnershipInMH )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.Run iSessionCommand ownership to MH")
- iSessionCommand = NULL;
- iStep = EInitComplete;
- ContinueOrRetry( EContinue );
- }
-
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.Run init protocol port operation completed")
- // Media handler calls GetSessionCommand when InitL
- // is complete and initialization continues.
- __VTPRINTEXIT( "Intlzr.RunL" )
- return;
- }
- break;
- case EInitSession:
- {
- CVtEngSessionHandler* session =
- static_cast<CVtEngSessionHandler*>( &iHandlers.Session() );
- session->InitializeL();
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.RunL StartMediatorListenerL" )
- CVtEngUtility::EngineUtils()->StartMediatorListenerL();
- }
- break;
- case EResetMedia:
- iHandlers.Uninitialize();
- iStatus = KRequestPending;
- media->Uninitialize( iStatus );
- SetActive();
- iStep++; // EResetMediaPhase2
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.RunL step reset media started" )
- __VTPRINTEXIT( "Intlzr.RunL" )
- return;
- case EResetMediaPhase2:
- if ( iComms )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.RunL VTENgine deletes COMM server" )
- CVtEngMediaHandler* media =
- static_cast<CVtEngMediaHandler*>( &iHandlers.Media() );
- if ( media->ProtoInitialized() )
- {
- TRAPD( err, VTProtocolFactory::DeleteCommServerL( iComms ) );
- __VTPRINT2( DEBUG_GEN | DEBUG_DETAIL,
- "Intlzr.RunL VTENgine deletes COMM server err=%d", err )
- __ASSERT_ALWAYS( err == KErrNone,
- Panic( EVtEngPanicCommsDestructOnInvalidState ) );
- iComms = NULL;
- }
- else if ( !media->ProtoInitialized() && iSessionCommand )
- {
- __VTPRINTEXIT( "Intlzr.RunL" )
- return;
- }
- }
- break;
- case EInitComplete:
- break;
- default:
- Panic( EVtEngPanicInvalidInitializationState );
- break;
- }
- ContinueOrRetry( EContinue );
- __VTPRINTEXIT( "Intlzr.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::DoCancel
-// Cancels initialization
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::DoCancel()
- {
- __VTPRINTENTER( "Intlzr.DoCancel" )
- if ( iStatus == KRequestPending )
- {
- __VTPRINT2( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.DoCancel step=%d", iStep )
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrCancel );
- }
- iStep = EInitNone;
- iCallback = NULL;
- __VTPRINTEXIT( "Intlzr.DoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::RunError
-// Handler error on initialization.
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngInitializer::RunError( TInt aError )
- {
- __VTPRINTENTER( "Intlzr.RunError" )
- __VTPRINT2( DEBUG_GEN, "Intlzr.RunError %d", aError )
- if ( iRetrials )
- {
- __VTPRINT2( DEBUG_GEN | DEBUG_DETAIL, "Intlzr.retrials %d", iRetrials )
- TCallBack callback( CVtEngInitializer::HandleTimer, this );
- iTimer->Start(
- KVtEngInitializerRetrialTimeout,
- KVtEngInitializerRetrialTimeout,
- callback );
- }
- else
- {
- Notify( aError );
- }
- __VTPRINTEXIT( "Intlzr.RunError" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::HandleTimer
-// Handler for retrial timer.
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngInitializer::HandleTimer( TAny* aAny )
- {
- CVtEngInitializer* handler =
- reinterpret_cast<CVtEngInitializer*>( aAny );
- handler->DoHandleTimer();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::DoHandleTimer
-// Handler for retrial timer.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::DoHandleTimer()
- {
- iTimer->Cancel();
- ContinueOrRetry( ERetry );
- }
-
-TBool CVtEngInitializer::ActivateAndSignal( TInt aSignalValue )
- {
- __VTPRINTENTER( "Intlzr.ActivateAndSignal" )
- TRequestStatus* status = &iStatus;
- TBool signaled = EFalse;
- if ( iStatus.Int() != KRequestPending && !IsActive() )
- {
- iStatus = KRequestPending;
- SetActive();
- User::RequestComplete( status, aSignalValue );
- signaled = ETrue;
- }
- __VTPRINTEXITR( "Intlzr.ActivateAndSignal signaled=%d", signaled )
- return signaled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::CreateDtmfHandlerL
-// Creates handler for DTMF sending.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::CreateDtmfHandlerL( MVtH324ConfigCommand* aH324Config )
- {
- iHandlers.CreateDtmfHandlerL( aH324Config );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::ContinueOrRetry
-// Proceed to next step, retry on failure or notify observer.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::ContinueOrRetry( const TProcess aOperation )
- {
- __VTPRINTENTER( "Intlzr.ContinueOrRetry" )
- __VTPRINT2( DEBUG_GEN, "Intlzr.CoR op=%d", aOperation )
- if ( aOperation == EContinue )
- {
- const TBool resetComplete( iStep == EResetMediaPhase2 );
- // check if last step complete and notify observer
- if ( iStep == EInitComplete || resetComplete )
- {
- if ( resetComplete &&
- // resetComplete is true also when clearing state is entered
- // while waiting for dataport. In that case Final Uninit must
- // not be done because MediaHandler's state is not ready for
- // it => need to wait for KVtEngResetEngine from UI
- iCallback->Command() == KVtEngResetEngine )
- {
- CVtEngMediaHandler* media =
- static_cast<CVtEngMediaHandler*>( &iHandlers.Media() );
- media->FinalizeUninitialization();
- iStep = EInitNone;
- }
- Notify( KErrNone );
- __VTPRINT2( DEBUG_GEN, "Intlzr.CoR op=EContinue, branch=%d", 1 )
- return;
- }
- else if( iStep == EInitProto )
- {
- __VTPRINT2( DEBUG_GEN, "Intlzr.CoR op=EContinue, branch=%d", 2 )
- return;
- }
- __VTPRINT2( DEBUG_GEN, "Intlzr.CoR op=EContinue, branch=%d", 3 )
- iStep++;
- iRetrials = KVtEngInitializerRetrials;
- }
- else if ( aOperation == EReset )
- {
- __VTPRINT( DEBUG_GEN, "Intlzr.CoR op=EReset")
- iRetrials = KVtEngInitializerRetrials;
- const TInt step( iStep );
- if ( step != EInitComplete && IsActive() )
- {
- // Reset requested while init ongoing but
- // Protocol InitL not yet issued
- if ( CancelInit() == EFalse )
- { // AO still active, must return here because end of this method
- __VTPRINT( DEBUG_GEN, " Initializer CoR 2")
- __VTPRINTEXIT( "Intlzr.ContinueOrRetry" )
- return;
- }
- }
- iStep = EResetMedia;
- if ( ( step == EInitProto ||
- step == EInitSession ) && !IsActive() )
- {
- // Protocol InitL is pending. Wait until it completes.
- // GetSessionCommand is called and there we this is
- // again called.
- __VTPRINT( DEBUG_GEN, " Initializer reset while InitL")
- __VTPRINTEXIT( "Intlzr.ContinueOrRetry" )
- return;
- }
- }
- else
- {
- iRetrials--;
- }
- ActivateAndSignal( KErrNone );
- __VTPRINTEXIT( "Intlzr.ContinueOrRetry" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::Notify
-// Notifies observer on completion or error.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::Notify( const TInt aResult )
- {
- __VTPRINTENTER( "Intlzr.Notify" )
- if ( iStep == EInitComplete )
- {
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- states->Update();
- }
-
- if ( iCallback )
- {
- if ( aResult != KErrCancel )
- { // UI is not interested on cancel completion
- iCallback->HandleOpComplete( aResult );
- }
- iCallback = NULL;
- __VTPRINT2( DEBUG_GEN, "Intlzr.Notify res=%d", aResult )
- }
- __VTPRINTEXIT( "Intlzr.Notify" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::BitReversalUsed
-// Checks if bit reversal should be used from locally variated information.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngInitializer::BitReversalUsed()
- {
- __VTPRINT( DEBUG_GEN, "Intlzr.BitReversalUsed" )
- return CVtEngUtility::Settings().CheckBits(
- KVTLVFlagEnableBitReversal );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::HandleSettingChangedL
-// Notification of received dataport name.
-// -----------------------------------------------------------------------------
-//
-void CVtEngInitializer::HandleSettingChangedL(
- CVtEngSettings::TSettingId aId,
- const TDesC& /*aValue*/ )
- {
- __VTPRINTENTER( "Intlzr.HandleSettingChangedL" )
- if ( !( iDataportHandled & EDataportReceived ) &&
- aId == CVtEngSettings::EDataportInfo &&
- iStatus == KRequestPending )
-
- {
- iDataportHandled |= EDataportReceived;
- //dataport will be fetched in runl, otherwise, cancelinit can not work
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- __VTPRINTEXIT( "Intlzr.HandleSettingChangedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::GetVtComms
-// Return pointer to communication port.
-// -----------------------------------------------------------------------------
-//
-MCommServer* CVtEngInitializer::GetVtComms()
- {
- return iComms;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/CVtEngModel.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
-* Copyright (c) 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 telephony engine class implementation.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngModel.h"
-#include "CVtEngHandlerContainer.h"
-#include "CVtEngCommandHandler.h"
-#include "CVtEngEventManager.h"
-#include "CVtEngStateManager.h"
-#include "VtEngUtils.h"
-#include "VtEngPanic.h"
-#include <cvtlogger.h>
-#include "CVtEngExtensions.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngModel::CVtEngModel
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngModel::CVtEngModel()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngModel::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngModel::ConstructL(
- MVtEngEventObserver& aEventObserver,
- MVtEngCommandObserver& aCommandObserver )
- {
- VTLOGINIT
- __VTPRINTENTER( "Model.ConstructL" )
-
- __VTPRINT( DEBUG_GEN | DEBUG_CONSTRUCT, "Model.ConL" )
- iUtils = CVtEngUtility::NewL( );
- iHandlers = CVtEngHandlerContainer::NewL( );
-
- // Create extensions
- iExtensions = CVtEngExtensions::NewL();
-
- iUtils->PrepareL(
- *iHandlers,
- iStateManager,
- iEventManager,
- iExtensions );
- iCommandHandler = CVtEngCommandHandler::NewL( *iHandlers );
- iCommandHandler->AddObserverL( aCommandObserver );
- iEventManager = CVtEngEventManager::NewL( aEventObserver );
- iStateManager = CVtEngStateManager::NewL( *iHandlers, *iEventManager );
- __VTPRINTEXIT( "Model.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngModel::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVtEngModel* CVtEngModel::NewL(
- MVtEngEventObserver& aEventObserver,
- MVtEngCommandObserver& aCommandObserver)
- {
- CVtEngModel* self = new( ELeave ) CVtEngModel;
-
- CleanupStack::PushL( self );
- self->ConstructL( aEventObserver, aCommandObserver );
- CleanupStack::Pop();
-
- return self;
- }
-
-
-// Destructor
-CVtEngModel::~CVtEngModel()
- {
- __VTPRINTENTER( "Model.~" )
- delete iStateManager;
- delete iCommandHandler;
- delete iHandlers;
- delete iUtils;
- delete iEventManager;
- delete iExtensions;
- __VTPRINTEXIT( "Model.~" )
- VTLOGUNINIT
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngModel::CommandHandler
-// Returns command handler reference.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVtEngCommandHandler& CVtEngModel::CommandHandler() const
- {
- return *iCommandHandler;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngModel::Session
-// Returns session reference.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVtEngSessionInfo& CVtEngModel::Session() const
- {
- return iHandlers->Session();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngModel::Media
-// Returns media reference.
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVtEngMedia& CVtEngModel::Media() const
- {
- return iHandlers->Media();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngModel::Audio
-// Returns audio reference.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVtEngAudio& CVtEngModel::Audio() const
- {
- return iHandlers->Audio();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngModel::Extension
-// Returns extension pointer (currently none)
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TAny* CVtEngModel::Extension( const TUid& aExtensionUid )
- {
- __VTPRINTENTER( "Model.Extension" )
-
- // init local variables
- TInt error = KErrNone;
- TAny* interfacePtr = NULL;
-
- // get mediahandler handle
- MVtEngMedia& msession = iHandlers->Media();
- CVtEngMediaHandler& handler = static_cast<CVtEngMediaHandler&>( msession );
-
- // get API IF from extension
- error = iExtensions->GetClientInterface( &interfacePtr, aExtensionUid ,
- handler );
-
- // in case of error
- if ( error != KErrNone )
- {
- __VTPRINTEXITR( "Model.Extension GetClientInterface failed %d", error)
- return NULL;
- }
-
- __VTPRINTEXIT( "Model.Extension" )
- return interfacePtr;
- }
-
-// Engine's internal panic function
-void Panic( TVtEngPanic aPanic )
- {
- __VTPRINT2( DEBUG_GEN, "EnginePanic %d", aPanic)
- User::Panic( KVtEngPanicCategory, aPanic );
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/CVtEngPubSubsListener.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +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: Publish and subscribe settings listener.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVTEngPubSubsListener.h"
-#include "MVtEngSettingPSObserver.h"
-#include <cvtlogger.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::CVtEngPubSubsListener
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngPubSubsListener::CVtEngPubSubsListener(
- const TUid aUid, const TInt aKey, MVtEngSettingPSObserver* aObserver ) :
- CActive( CActive::EPriorityStandard ),
- iUid( aUid ), iId( aKey ), iCallback( aObserver )
- {
- __VTPRINT( DEBUG_CONSTRUCT, "CVtEngPubSubsListener C++" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::~CVtEngPubSubsListener
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngPubSubsListener::~CVtEngPubSubsListener()
- {
- __VTPRINTENTER( "PSLis.~" )
- Cancel();
- iProperty.Close();
- __VTPRINTEXIT( "PSLis.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::RunL
-// From CActive.
-// -----------------------------------------------------------------------------
-//
-void CVtEngPubSubsListener::RunL()
- {
- __VTPRINTENTER( "PSLis.RunL" )
- const TRequestStatus status( iStatus );
- StartListening();
- iCallback->HandleNotifyPSL( iUid, iId, status );
- __VTPRINTEXIT( "PSLis.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::DoCancel
-// From CActive.
-// -----------------------------------------------------------------------------
-//
-void CVtEngPubSubsListener::DoCancel()
- {
- __VTPRINTENTER( "PSLis.DoCancel" )
- iProperty.Cancel();
- __VTPRINTEXIT( "PSLis.DoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::RunError
-// From CActive.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngPubSubsListener::RunError( TInt /*aError*/ )
- {
- __VTPRINTENTER( "PSLis.RunError" )
- __VTPRINTEXIT( "PSLis.RunError" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::NewL
-// -----------------------------------------------------------------------------
-//
-CVtEngPubSubsListener* CVtEngPubSubsListener::NewL( const TUid aUid,
- const TInt aKey, MVtEngSettingPSObserver* aObserver )
- {
- __VTPRINTENTER( "PSLis.NewL" )
- CVtEngPubSubsListener* self = new( ELeave )
- CVtEngPubSubsListener( aUid, aKey, aObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "PSLis.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::StartListening
-// -----------------------------------------------------------------------------
-//
-void CVtEngPubSubsListener::StartListening()
- {
- iProperty.Subscribe( iStatus );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtEngPubSubsListener::ConstructL()
- {
- CActiveScheduler::Add( this );
-
- User::LeaveIfError ( iProperty.Attach( iUid, iId, EOwnerThread ) );
- StartListening();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::Get
-// Read integer value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngPubSubsListener::Get( TInt& aVal )
- {
- return iProperty.Get( iUid, iId, aVal );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::Get
-// Read binary value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngPubSubsListener::Get( TDes8& aVal )
- {
- return iProperty.Get( iUid, iId, aVal );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngPubSubsListener::Get
-// Read string value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngPubSubsListener::Get( TDes16& aVal )
- {
- return iProperty.Get( iUid, iId, aVal );
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/CVtEngSATClient.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2005 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: SAT listener.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngStateManager.h"
-#include "CVtEngSATClient.h"
-#include "VtEngUtils.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngSATClient::CVtEngSATClient
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngSATClient::CVtEngSATClient() :
- iSatSession(),
- iSatRefresh( *this )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_CONSTRUCT, "CSATClient.C++" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSATClient::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngSATClient* CVtEngSATClient::NewL( )
- {
- __VTPRINTENTER( "CSATClient.NewL" )
- CVtEngSATClient* self = new( ELeave ) CVtEngSATClient;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- __VTPRINTEXIT( "CSATClient.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSATClient::~CVtEngSATClient
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngSATClient::~CVtEngSATClient()
- {
- __VTPRINTENTER( "CSATClient.~" )
- iSatRefresh.Close();
- iSatSession.Close();
- __VTPRINTEXIT( "CSATClient.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSATClient::ConstructL
-// 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSATClient::ConstructL()
- {
- iSatSession.ConnectL();
- iSatRefresh.OpenL( iSatSession );
- iSatRefresh.NotifyFileChangeL();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSATClient::AllowRefresh
-// Callback from SAT.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngSATClient::AllowRefresh(
- TSatRefreshType aType,
- const TSatRefreshFiles& /*aFiles*/ )
- {
- __VTPRINTENTER( "CSATClient.AllowRefresh" )
- TBool ret( EFalse );
- const MVtEngSessionInfo::TSessionState state(
- CVtEngUtility::StateManager()->SessionState() );
- if ( state == MVtEngSessionInfo::EIdle || aType == EFileChangeNotification )
- {
- __VTPRINT2( DEBUG_GEN, " TSatRefreshType aType=%d", aType )
- ret = ETrue;
- }
- __VTPRINTEXITR( "CSATClient.AllowRefresh ret=%d", ret )
- return ret;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSATClient::Refresh
-// Callback from SAT.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSATClient::Refresh(
- TSatRefreshType /* aType */,
- const TSatRefreshFiles& /* aFiles */ )
- {
- // Not needed.
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "CSATClient.Refresh" )
- iSatRefresh.RefreshEFRead( EFalse );
- }
-
-// end of file
--- a/vtengines/videoteleng/Src/Base/CVtEngSettings.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,946 +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: Video call setting data
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngSettings.h"
-#include <cvtlogger.h>
-#include "MVtEngSettingObserver.h"
-#include "VtEngUtils.h"
-#include "VtEngPanic.h"
-#include <telincallvolcntrlcrkeys.h>
-#include <RPhCltServer.h>
-#include <cphcltimagehandler.h>
-#include <videotelephonyinternalcrkeys.h>
-#include <logsdomaincrkeys.h>
-#include <settingsinternalcrkeys.h>
-#include <videotelephonyvariant.hrh>
-
-// CONSTANTS
-// Granularity for observer array.
-const TInt KVtEngObserverArrayGranularity = 2;
-
-// Volume default level.
-const TInt KVtEngVolumeDefaultLevel = 4;
-
-// Video quality frame rate configuration buffer size
-const TInt KVtEngVQFRBufferSize = 32;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::CVtEngSettings
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngSettings::CVtEngSettings() :
- iVariantReadOnlyValues( KErrNotReady )
- {
- iCLI.iValid = EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::ConstructL()
- {
- __VTPRINTENTER( "Settings.ConstructL" )
- iSelectVolumeIdle = CIdle::NewL( CActive::EPriorityHigh );
- iObserverItems = new ( ELeave )
- CArrayFixFlat<TObserverItem>( KVtEngObserverArrayGranularity );
-
- // Ear volume CR listener.
- iCRProxy = &CVtEngUtility::CRProxy();
- CreateDataObserverL( this, KCRUidInCallVolume, KTelIncallEarVolume,
- CCenRepNotifyHandler::EIntKey );
-
- // IHF volume listener.
- CreateDataObserverL(
- this, KCRUidInCallVolume, KTelIncallLoudspeakerVolume,
- CCenRepNotifyHandler::EIntKey );
-
- // Call duration listener.
- CreateDataObserverL( this, KCRUidLogs, KLogsShowCallDuration,
- CCenRepNotifyHandler::EIntKey );
-
- // Still image listener.
- CreateDataObserverL( this, KCRUidTelephonySettings, KSettingsVTStillImage,
- CCenRepNotifyHandler::EIntKey );
-
- // Still image path listener.
- CreateDataObserverL(
- this, KCRUidTelephonySettings, KSettingsVTStillImagePath,
- CCenRepNotifyHandler::EStringKey );
-
- ReadVariationsL();
- ResetAll();
-
-
- TInt validImage( 0 );
- TInt err = iCRProxy->Get( KCRUidTelephonySettings,
- KSettingsVTStillImage, validImage );
- __VTPRINT3( DEBUG_DETAIL, "Settings.ConL: use image", err, validImage )
- if ( !err && validImage )
- {
- __VTPRINT( DEBUG_DETAIL, "Settings.ConL: VALID" )
- iConfig.iVideo.iImageIsValid = ETrue;
- }
-
- TInt value( 0 ); // not shown
- err = iCRProxy->Get( KCRUidLogs, KLogsShowCallDuration, value );
- if ( err == KErrNone )
- {
- iConfig.iCallTimerOn = ( value == 1 ) ? ETrue : EFalse;
- }
-
- // Initialize the volume levels.
- // If value retrieval fails, use defaults.
- if ( iCRProxy->Get( KCRUidInCallVolume,
- KTelIncallEarVolume, iConfig.iAudio.iVolume.iHandsetVolume )
- != KErrNone )
- {
- iConfig.iAudio.iVolume.iHandsetVolume = KVtEngVolumeDefaultLevel;
- }
-
- if ( iCRProxy->Get( KCRUidInCallVolume, KTelIncallLoudspeakerVolume,
- iConfig.iAudio.iVolume.iHandsfreeVolume ) != KErrNone )
- {
- iConfig.iAudio.iVolume.iHandsfreeVolume = KVtEngVolumeDefaultLevel;
- }
-
- // Open connection to phone server
- RPhCltServer phoneClient;
- User::LeaveIfError( phoneClient.Connect() );
- CleanupClosePushL( phoneClient );
-
- CPhCltImageHandler* stillH;
- stillH = CPhCltImageHandler::NewL();
- CleanupStack::PushL( stillH );
-
- // Load images
- RFile file;
- TInt res = stillH->OpenDefaultVtImage( file );
- file.Close();
- iDefaultStillImageDefined = ( res == KErrNone ) ? ETrue : EFalse;
- // Cleanup
- CleanupStack::PopAndDestroy( 2 ); // phoneClient, stillH, imageParams
-
- __VTPRINTEXIT( "Settings.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngSettings* CVtEngSettings::NewL()
- {
- CVtEngSettings* self = new( ELeave ) CVtEngSettings;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::~CVtEngSettings
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngSettings::~CVtEngSettings()
- {
- __VTPRINTENTER( "Settings.~" )
- delete iSelectVolumeIdle;
- delete iObserverItems;
- delete iDataportInfo;
- __VTPRINTEXIT( "Settings.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::Config
-// Returns configuration.
-// -----------------------------------------------------------------------------
-//
-const CVtEngSettings::TVtEngVideoCallConfig& CVtEngSettings::Config() const
- {
- return iConfig;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SetCurrentVolume
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::SetCurrentVolume( TBool aVolume )
- {
- TBool old = iConfig.iAudio.iCurrentVolume;
- iConfig.iAudio.iCurrentVolume = aVolume;
-
- if ( iSelectVolumeObserver && ( !old && aVolume ) || ( old && !aVolume ) )
- {
- iSelectVolumeIdle->Cancel();
- iSelectVolumeIdle->Start(
- TCallBack( DoInformSelectVolumeObserver, this ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::CurrentVolume
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngSettings::CurrentVolume() const
- {
- return iConfig.iAudio.iCurrentVolume;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SetVolume
-// Sets output volue setting.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngSettings::SetVolume(
- const TInt aHandsetVolume,
- const TInt aHandsfreeVolume,
- const TBool aInternal )
- {
- __VTPRINTENTER( "Settings.SetVolume" )
- __VTPRINT3( DEBUG_DETAIL, "Settings:SetVolume hs=%d, ihf=%d",
- aHandsetVolume, aHandsfreeVolume )
- __VTPRINT2( DEBUG_DETAIL, "Settings:Internal=%d", aInternal )
-
- TInt volume ( 0 );
-
- TInt res( KErrNone );
- if ( aInternal )
- {
- if ( iConfig.iAudio.iVolume.iHandsfreeVolume != aHandsfreeVolume )
- {
- iConfig.iAudio.iVolume.iHandsfreeVolume =
- ValidVolume( aHandsfreeVolume );
- }
- if ( iConfig.iAudio.iVolume.iHandsetVolume != aHandsetVolume )
- {
- iConfig.iAudio.iVolume.iHandsetVolume =
- ValidVolume( aHandsetVolume );
- }
- }
- else
- {
- iCRProxy->Get( KCRUidInCallVolume,
- KTelIncallEarVolume, volume );
- if ( volume != aHandsetVolume )
- {
- iCRProxy->Set( KCRUidInCallVolume,
- KTelIncallEarVolume, aHandsetVolume );
- }
-
- iCRProxy->Get( KCRUidInCallVolume,
- KTelIncallLoudspeakerVolume, volume );
- if ( volume != aHandsfreeVolume )
- {
- iCRProxy->Set( KCRUidInCallVolume,
- KTelIncallLoudspeakerVolume, aHandsfreeVolume );
- }
- }
- __VTPRINTEXITR( "Settings.SetVolume res=%d", res )
- return res;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::GetVolume
-// Gets audio volume.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngSettings::GetVolume(
- TInt& aVolume,
- const TBool aHandsfree,
- const TBool aInternal ) const
- {
- __VTPRINTEXIT( "Settings.GetVolume" )
- TInt res( KErrNone );
- if ( aInternal )
- {
- if ( aHandsfree )
- {
- aVolume = iConfig.iAudio.iVolume.iHandsfreeVolume;
- }
- else
- {
- aVolume = iConfig.iAudio.iVolume.iHandsetVolume;
- }
- }
- else
- {
- if ( aHandsfree )
- {
- res = iCRProxy->Get( KCRUidInCallVolume,
- KTelIncallLoudspeakerVolume, aVolume );
- }
- else
- {
- res = iCRProxy->Get( KCRUidInCallVolume,
- KTelIncallEarVolume, aVolume );
- }
- }
- __VTPRINTEXITR( "Settings.GetVolume res=%d", res )
- return res;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SetRouting
-// Sets audio routing setting.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::SetRouting(
- const MVtEngAudio::TVtEngRoutingSetting& aState )
- {
- iConfig.iAudio.iRouting = aState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SetVideoEnabled
-// Sets video enabled setting.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::SetVideoEnabled( const TBool aEnabled )
- {
- __VTPRINT2( DEBUG_GEN , "Settings.SVE",aEnabled )
- iConfig.iVideo.iVideoEnabled = aEnabled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SetConnectReady
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::SetConnectReady()
- {
- iConfig.iReadyForConnect = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SetDataportLoaned
-// Sets dataport loaning status
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::SetDataportLoaned( TBool aLoaned )
- {
- __VTPRINTENTER( "Settings.SetDataportLoaned" )
- iConfig.iIsDataportLoaned = aLoaned;
- __VTPRINTEXIT( "Settings.SetDataportLoaned" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::ResetAll
-// Reset all settings.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::ResetAll()
- {
- __VTPRINT( DEBUG_GEN , "Settings.RA" )
- iConfig.iAudio.iRouting = KVtEngDefaultAudioRouting;
- iConfig.iVideo.iVideoEnabled = ETrue;
- iConfig.iReadyForConnect = EFalse;
- iConfig.iIsDataportLoaned = EFalse;
- // call duration setting not cleared
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::NotifyChangeL
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::NotifyChangeL(
- TSettingId aId,
- MVtEngSettingObserver& aObserver )
- {
- __VTPRINTENTER( "Settings.NotifyChangeL" )
- __VTPRINT2( DEBUG_GEN, "Settings.NC id %d", aId )
- switch ( aId )
- {
- case ESelectVolume:
- iSelectVolumeObserver = &aObserver;
- break;
- case EDataportInfo:
- iDataportObserver = &aObserver;
- break;
- // others are CenRep items
- default:
- {
- const TInt count( iObserverItems->Count() );
- for ( TInt index = 0; index < count; index++ )
- {
- TObserverItem& item = iObserverItems->At( index );
- if ( item.iId == aId && item.iObserver == &aObserver )
- {
- __VTPRINT( DEBUG_GEN, "Settings.NC.already" )
- __VTPRINTEXIT( "Settings.NotifyChangeL" )
- return;
- }
- }
-
- TObserverItem item;
- item.iId = aId;
- switch ( aId )
- {
- case EStillImage:
- item.iIntKey = KSettingsVTStillImage;
- item.iUid = KCRUidTelephonySettings;
- break;
- case EStillImagePath:
- item.iIntKey = KSettingsVTStillImagePath;
- item.iUid = KCRUidTelephonySettings;
- break;
- case ECallTimer:
- item.iIntKey = KLogsShowCallDuration;
- item.iUid = KCRUidLogs;
- break;
- case EHandsetVolume:
- item.iIntKey = KTelIncallEarVolume;
- item.iUid = KCRUidInCallVolume;
- break;
- case EHandsfreeVolume:
- item.iIntKey = KTelIncallLoudspeakerVolume;
- item.iUid = KCRUidInCallVolume;
- break;
- default:
- break;
- }
- item.iObserver = &aObserver;
- iObserverItems->AppendL( item );
- }
- }
- __VTPRINTEXIT( "Settings.NotifyChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::CancelNotifyChange
-// Cancels receiving change events.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::CancelNotifyChange(
- TSettingId aId, const MVtEngSettingObserver& aObserver )
- {
- __VTPRINTENTER( "Settings.CancelNotifyChange" )
- if ( aId == ESelectVolume )
- {
- if ( &aObserver == iSelectVolumeObserver )
- {
- iSelectVolumeObserver = NULL;
- }
- }
- else if ( &aObserver == iDataportObserver )
- {
- iDataportObserver = NULL;
- // also free space used for dataport info
- delete iDataportInfo;
- iDataportInfo = NULL;
- }
- else
- {
- TInt count( iObserverItems->Count() );
- while ( count-- )
- {
- const TObserverItem& item = iObserverItems->At( count );
- if ( item.iId == aId &&
- item.iObserver == &aObserver )
- {
- iObserverItems->Delete( count );
- count = 0; // breaks loop
- }
- }
- }
- __VTPRINTEXIT( "Settings.CancelNotifyChange" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::HandleNotifyInt
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::HandleNotifyInt( const TUid aUid,
- const TUint32 aId, TInt aNewValue )
- {
- TBool informObserver = ETrue;
- if ( aUid == KCRUidInCallVolume )
- {
- switch ( aId )
- {
- case KTelIncallLoudspeakerVolume:
- {
- __VTPRINT( DEBUG_GEN, "Settings.HandleNotifyInt: HF volume" )
- if ( iConfig.iAudio.iVolume.iHandsfreeVolume == aNewValue )
- {
- informObserver = EFalse;
- }
- else
- {
- iConfig.iAudio.iVolume.iHandsfreeVolume = aNewValue;
- }
- }
- break;
- case KTelIncallEarVolume:
- {
- __VTPRINT( DEBUG_GEN, "Settings.HandleNotifyInt: HandsetVolume" )
- if ( iConfig.iAudio.iVolume.iHandsetVolume == aNewValue )
- {
- informObserver = EFalse;
- }
- else
- {
- iConfig.iAudio.iVolume.iHandsetVolume = aNewValue;
- }
- }
- break;
- default:
- __VTPRINT( DEBUG_GEN, "Settings.HandleNotifyInt: Non-ordered" );
- break;
- }
- }
- else if ( aUid == KCRUidLogs )
- {
- switch ( aId )
- {
- case KLogsShowCallDuration:
- {
- __VTPRINT( DEBUG_GEN, "Settings.HandleNotifyInt: call duration" )
- iConfig.iCallTimerOn = aNewValue > 0 ? ETrue : EFalse;
- }
- break;
- default:
- __VTPRINT( DEBUG_GEN, "Settings.HandleNotifyInt: Non-ordered" );
- break;
- }
- }
- else if ( aUid == KCRUidTelephonySettings )
- {
- switch ( aId )
- {
- case KSettingsVTStillImage:
- {
- __VTPRINT( DEBUG_GEN, "HandleNotifyInt still" )
- if ( aNewValue == 0 )
- {
- __VTPRINT( DEBUG_GEN, "Settings.HandleNotifyInt disabled")
- // still image disabled in settings
- iConfig.iVideo.iStillImageFile.Zero();
- iConfig.iVideo.iImageIsValid = EFalse;
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "Settings.HandleNotifyInt enabled")
- iConfig.iVideo.iImageIsValid = ETrue;
- }
- }
- break;
- default:
- __VTPRINT( DEBUG_GEN, "Settings.HandleNotifyInt: Non-ordered" );
- break;
- }
- }
-
- TObserverItem* item = FindItem( aUid, aId );
- if ( informObserver && item && item->iObserver )
- {
- // The observer does not need the new value
- // Plain notification is all.
- TRAP_IGNORE( item->iObserver->HandleSettingChangedL( item->iId, KNullDesC16 ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::HandleNotifyReal
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::HandleNotifyReal( const TUid /*aUid*/,
- const TUint32 /*aId*/ , TReal /* aNewValue*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::HandleNotifyString
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::HandleNotifyString( const TUid aUid, const TUint32 aId,
- const TDesC16& aNewValue )
- {
- __VTPRINTENTER( "Settings.HN" )
- if ( aNewValue.Compare( iConfig.iVideo.iStillImageFile ) != 0 )
- {
- if( aId == KSettingsVTStillImagePath )
- {
- __VTPRINT( DEBUG_GEN, "Settings.HN KGSVTStillImagePath" )
- iConfig.iVideo.iStillImageFile.Copy( aNewValue );
- }
- }
- TObserverItem* item = FindItem( aUid, aId );
- if ( item && item->iObserver )
- {
- TRAP_IGNORE( item->iObserver->HandleSettingChangedL( item->iId, aNewValue ) );
- }
- __VTPRINTEXIT( "Settings.HN" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::FindItem
-// Finds observer item.
-// -----------------------------------------------------------------------------
-//
-CVtEngSettings::TObserverItem* CVtEngSettings::FindItem(
- const TUid& aUid,
- const TDesC& aKey ) const
- {
- TInt count( iObserverItems->Count() );
- TObserverItem* item = NULL;
- TBool found( EFalse );
- while ( count-- && !found )
- {
- item = &iObserverItems->At( count );
- if ( item->iUid == aUid &&
- item->iKey.Compare( aKey ) == 0 )
- {
- found = ETrue;
- }
- }
-
- // Just NULL the item if not found
- if( !found )
- {
- item = NULL;
- }
- return item;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::FindItem
-// Finds observer item.
-// -----------------------------------------------------------------------------
-//
-CVtEngSettings::TObserverItem* CVtEngSettings::FindItem(
- const TUid& aUid,const TInt& aKey ) const
- {
- TInt count( iObserverItems->Count() );
- TObserverItem* item = NULL;
- TBool found( EFalse );
- while ( count-- && !found )
- {
- item = &iObserverItems->At( count );
- if ( item->iUid == aUid &&
- item->iIntKey == aKey )
- {
- found = ETrue;
- }
- }
-
- // Just NULL the item if not found
- if( !found )
- {
- item = NULL;
- }
- return item;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SettingAsTInt
-// Returns setting as integer value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngSettings::SettingAsTInt( const TDesC& aValue )
- {
- TInt value( 0 );
- const TInt err = TLex( aValue ).Val( value );
- if ( err != KErrNone )
- {
- value = err;
- }
- return value;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::DoInformSelectVolumeObserver
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngSettings::DoInformSelectVolumeObserver( TAny* aAny )
- {
- CVtEngSettings* self = static_cast< CVtEngSettings* >( aAny );
-
- if ( self->iSelectVolumeObserver )
- {
- TRAP_IGNORE( self->iSelectVolumeObserver->HandleSettingChangedL(
- ESelectVolume,
- KNullDesC ) );
- }
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::ReadVariationsL
-// Reads local variations.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::ReadVariationsL()
- {
- __VTPRINTENTER( "Settings.ReadVariations" )
- User::LeaveIfError( iCRProxy->Get( KCRUidVTVariation,
- KVTLocalVariationFlags, iVariantReadOnlyValues ));
- TBuf< KVtEngVQFRBufferSize > buffer;
- User::LeaveIfError( iCRProxy->Get( KCRUidVTConfiguration,
- KVTVideoFrameRates, buffer ));
- ParseFrameRates( iVQFRConfig, buffer );
- __VTPRINTEXIT( "Settings.ReadVariations" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::GetCameraOrientations
-// Reads camera orientations from CR
-// -----------------------------------------------------------------------------
-//
-
-void CVtEngSettings::GetCameraOrientations(
- MVtEngMedia::TCameraOrientation& aPrimaryCameraOrientation,
- MVtEngMedia::TCameraOrientation& aSecondaryCameraOrientation ) const
- {
- /*
- * Defines layout (screen orientation) used by
- * Video Telephone application per active camera.
- * Each camera has one of the following values:
- * 1) "LS" = Landscape
- * 2) "PR" = Portrait
- * 3) "OL" = Obey layout in specific device mode (normal operation)
- * Camera values are:
- * 1) "C1" = VT primary camera (inwards)
- * 2) "C2" = VT secondary camera (outwards)
- * Example value (portrait for cam1, landscape for cam2):
- * C1:PR C2:LS
- */
-
- __VTPRINTENTER( "Settings.GetCameraOrientations" )
- const TInt KMaxKVTCameraLayoutValue = 11;
- const TInt KAbbreviationLength = 2;
- const TInt KSkipChars = 3;
-
- _LIT( KCameraOrientationLS, "LS" ); // landscape
- _LIT( KCameraOrientationPR, "PR" ); // portrait
-
- TBuf< KMaxKVTCameraLayoutValue > cameraOrientations;
- TInt err = iCRProxy->Get( KCRUidVTConfiguration,
- KVTCameraLayout, cameraOrientations );
-
- // parse cenrep value
- if( cameraOrientations.Length() > 0 )
- {
- TBuf<KAbbreviationLength> abbreviation;
- TLex lex( cameraOrientations );
- lex.SkipAndMark(KSkipChars);
- abbreviation.Append( lex.Get() );
- abbreviation.Append( lex.Get() );
-
- // primary camera value
- if ( abbreviation.CompareF( KCameraOrientationLS ) == 0 )
- {
- __VTPRINT( DEBUG_GEN, "Settings.GetCamOrient.prim:LS" );
- aPrimaryCameraOrientation = MVtEngMedia::EOrientationLandscape;
- }
- else if ( abbreviation.CompareF( KCameraOrientationPR ) == 0 )
- {
- aPrimaryCameraOrientation = MVtEngMedia::EOrientationPortrait;
- __VTPRINT( DEBUG_GEN, "Settings.GetCamOrient.prim:PR" );
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "Settings.GetCamOrient.prim:OL" );
- aPrimaryCameraOrientation = MVtEngMedia::EOrientationObeyLayoutSwitch;
- }
-
- abbreviation.Zero();
- lex.SkipSpace();
- lex.SkipAndMark(KSkipChars);
- abbreviation.Append( lex.Get() );
- abbreviation.Append( lex.Get() );
-
- //secondary camera value
- if ( abbreviation.CompareF( KCameraOrientationLS ) == 0)
- {
- __VTPRINT( DEBUG_GEN, "Settings.GetCamOrient.sec:LS" );
- aSecondaryCameraOrientation = MVtEngMedia::EOrientationLandscape;
- }
- else if ( abbreviation.CompareF( KCameraOrientationPR ) == 0)
- {
- __VTPRINT( DEBUG_GEN, "Settings.GetCamOrient.sec:PR" );
- aSecondaryCameraOrientation = MVtEngMedia::EOrientationPortrait;
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "Settings.GetCamOrient.sec:OL" );
- aSecondaryCameraOrientation = MVtEngMedia::EOrientationObeyLayoutSwitch;
- }
- }
- else
- {
- // reading from cenrep failed
- // set default values for camera orientation
- aPrimaryCameraOrientation = MVtEngMedia::EOrientationObeyLayoutSwitch;
- aSecondaryCameraOrientation = MVtEngMedia::EOrientationObeyLayoutSwitch;
- }
- __VTPRINTEXIT( "Settings.ReadVariations" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::CheckBit
-// Checks if a certain bit is turned on in locally variated features.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngSettings::CheckBits( const TInt aBits )
- {
- __VTPRINT2( DEBUG_GEN, "Settings.CheckBit: %d", aBits )
- __VTPRINT2( DEBUG_GEN, "Settings.CheckBit=%d",
- iVariantReadOnlyValues & aBits ? 1 : 0 )
- return iVariantReadOnlyValues & aBits;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::VideoQualityFrameRateConfig
-// Returns video quality frame rate configuration.
-// -----------------------------------------------------------------------------
-//
-const CVtEngSettings::TVtEngVideoQualityFrameRateConfig&
- CVtEngSettings::VideoQualityFrameRateConfig() const
- {
- __VTPRINTENTER( "Settings.VideoQualityFrameRateConfig" )
- __VTPRINTEXIT( "Settings.VideoQualityFrameRateConfig" )
- return iVQFRConfig;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::CreateDataObserverL
-// Creates a shared data observer. Ownership transferred.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::CreateDataObserverL( MVtEngCRSettingObserver* aObserver,
- TUid aUid, TUint32 aKey, CCenRepNotifyHandler::TCenRepKeyType aType )
- {
- CVtEngCRObserverItem* item = CVtEngCRObserverItem::NewL(
- aObserver, aUid, aKey, aType );
- CleanupStack::PushL( item );
- iCRProxy->RegisterInterestedL( item );
- CleanupStack::Pop( item );
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::ParseFrameRates
-// Parses VQ frame rates read from cenrep.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::ParseFrameRates( TVtEngVideoQualityFrameRateConfig& aVQFR,
- const TDesC& aBuffer )
- {
- __VTPRINTENTER( "Settings.ParseFrameRates" )
- Mem::FillZ( &aVQFR, sizeof( aVQFR ) );
- if( aBuffer.Length() > 0 )
- {
- TLex lex( aBuffer );
- lex.Val( aVQFR.iDetail );
- __VTPRINT2( DEBUG_GEN, "Settings.ParseFrameRates iDetail=%d", aVQFR.iDetail );
- lex.SkipSpace();
- lex.Val( aVQFR.iNormal );
- __VTPRINT2( DEBUG_GEN, "Settings.ParseFrameRates iNormal=%d", aVQFR.iNormal );
- lex.SkipSpace();
- lex.Val( aVQFR.iMotion );
- __VTPRINT2( DEBUG_GEN, "Settings.ParseFrameRates iMotion=%d", aVQFR.iMotion );
- }
- __VTPRINTEXIT( "Settings.ParseFrameRates" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::IsDefaultStillImageDefined
-// Checks if still image exists.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngSettings::IsDefaultStillImageDefined()
- {
- __VTPRINTENTER( "Settings.IsDefaultStillImageDefined" )
- __VTPRINTEXITR( "Settings.IsDefaultStillImageDefined%d",iDefaultStillImageDefined )
- return iDefaultStillImageDefined;
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SetCLI
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::SetCLI( const MVtEngSessionInfo::TCLI& aCLI )
- {
- __VTPRINTENTER( "Settings.SetCLI" )
- iCLI.iCallId = aCLI.iCallId;
- iCLI.iName = aCLI.iName;
- iCLI.iVoiceCallPossible = aCLI.iVoiceCallPossible;
- iCLI.iValid = ETrue;
- __VTPRINT2( DEBUG_GEN, "iVoiceCallPossible=%d,", iCLI.iVoiceCallPossible )
- __VTPRINTEXIT( "Settings.SetCLI" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::GetCLI
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngSettings::GetCLI( MVtEngSessionInfo::TCLI& aCLI ) const
- {
- aCLI.iCallId = iCLI.iCallId;
- aCLI.iVoiceCallPossible = iCLI.iVoiceCallPossible;
- aCLI.iName = iCLI.iName;
- return iCLI.iValid;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::SetDataportInfoL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSettings::SetDataportInfoL( const TDesC& aPortInfo )
- {
- delete iDataportInfo;
- iDataportInfo = NULL;
- iDataportInfo = HBufC::NewL( aPortInfo.Length() );
- *iDataportInfo = aPortInfo;
- SetConnectReady();
- if ( iDataportObserver )
- {
- iDataportObserver->HandleSettingChangedL( EDataportInfo,
- *iDataportInfo );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSettings::DataportInfo
-//
-// -----------------------------------------------------------------------------
-//
-const TDesC* CVtEngSettings::DataportInfo() const
- {
- return iDataportInfo;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/VtEngUtils.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +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 telephony engine TLS container.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngCRProxy.h"
-#include "CVtEngAccessoryHandler.h"
-#include "CVtEngSATClient.h"
-#include "VtEngUtils.h"
-#include "VtEngPanic.h"
-#include "CVtEngInitializer.h"
-#include "CVtEngSettings.h"
-#include "CVtEngDeviceLockMonitor.h"
-
-#include "CVtEngExtensions.h"
-#include "cvtengmdtrmessagelistener.h"
-#include "cvtengmdtrcommandsender.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::CVtEngUtility
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngUtility::CVtEngUtility()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngUtility::ConstructL( )
- {
- __ASSERT_DEBUG( Dll::Tls() == NULL, Panic( EVtEngPanicTlsPanic ));
- Dll::SetTls( this );
- iCRProxy = CVtEngCRProxy::NewL();
- iAccessoryHandler = CVtEngAccessoryHandler::NewL();
- iSettings = CVtEngSettings::NewL();
-
- iLockMonitor = CVtEngDeviceLockMonitor::NewL();
- iMdtrCommandSender = CVtEngMdtrCommandSender::NewL( *this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngUtility* CVtEngUtility::NewL()
- {
- CVtEngUtility* self = new( ELeave ) CVtEngUtility;
-
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
-
- return self;
- }
-
-
-// Destructor
-CVtEngUtility::~CVtEngUtility()
- {
- delete iMdtrMessageListener;
- delete iMdtrCommandSender;
- delete iCRProxy;
- delete iAccessoryHandler;
- delete iEngineInit;
- delete iSettings;
- delete iSATClient;
- delete iLockMonitor;
- Dll::SetTls( NULL );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::EngineUtils
-// Return pointer to Engine Utility.
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngUtility* CVtEngUtility::EngineUtils()
- {
- return reinterpret_cast<CVtEngUtility*>( Dll::Tls() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::StateManager
-// Returns state manager.
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngStateManager* CVtEngUtility::StateManager()
- {
- return *(CVtEngUtility::EngineUtils()->iStateManager);
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::EventManager
-// -----------------------------------------------------------------------------
-//
-CVtEngEventManager& CVtEngUtility::EventManager()
- {
- return **CVtEngUtility::EngineUtils()->iEventManager;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::PrepareL
-// -----------------------------------------------------------------------------
-//
-void CVtEngUtility::PrepareL(
- CVtEngHandlerContainer& aHandlers,
- CVtEngStateManager*& aStateManagerPtr,
- CVtEngEventManager*& aEventManagerPtr,
- CVtEngExtensions* aExtensionPtr )
- {
- iEngineInit = CVtEngInitializer::NewL( aHandlers );
- iStateManager = &aStateManagerPtr;
- iEventManager = &aEventManagerPtr;
- iExtensions = aExtensionPtr;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::StartMediatorListenerL
-// Creates mediator message (event/command) listener. Cannot be done in
-// constructor because session control may be unavailable when we would
-// receive first mediator event => session state is still uninitialized.
-// -----------------------------------------------------------------------------
-//
-void CVtEngUtility::StartMediatorListenerL()
- {
- iMdtrMessageListener = CVtEngMdtrMessageListener::NewL( *this );
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::Settings
-// -----------------------------------------------------------------------------
-//
-CVtEngSettings& CVtEngUtility::Settings()
- {
- return *CVtEngUtility::EngineUtils()->iSettings;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::MediatorCommands
-// -----------------------------------------------------------------------------
-//
-CVtEngMdtrCommandSender& CVtEngUtility::MediatorCommands()
- {
- return *CVtEngUtility::EngineUtils()->iMdtrCommandSender;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::CRProxy
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy& CVtEngUtility::CRProxy()
- {
- return *CVtEngUtility::EngineUtils()->iCRProxy;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::AccessoryHandler
-// -----------------------------------------------------------------------------
-//
-CVtEngAccessoryHandler& CVtEngUtility::AccessoryHandler()
- {
- return *CVtEngUtility::EngineUtils()->iAccessoryHandler;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::StartSATListenL
-// -----------------------------------------------------------------------------
-//
-void CVtEngUtility::StartSATListenL()
- {
- iSATClient = CVtEngSATClient::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::NotifyLockState
-// -----------------------------------------------------------------------------
-//
-void CVtEngUtility::NotifyLockState()
- {
- iLockMonitor->NotifyState();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngUtility::Extensions
-// -----------------------------------------------------------------------------
-//
-CVtEngExtensions* CVtEngUtility::Extensions()
- {
- return CVtEngUtility::EngineUtils()->iExtensions;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/cvtengincomingcallmonitor.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 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: Monitors device incoming call state
-*
-*/
-
-
-// INCLUDE FILES
-#include "cvtengincomingcallmonitor.h"
-#include "CVTEngPubSubsListener.h"
-#include "CVtEngEventManager.h"
-#include "cvtlogger.h"
-
-#include <ctsydomainpskeys.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngIncomingCallMonitor::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngIncomingCallMonitor* CVtEngIncomingCallMonitor::NewL()
- {
- CVtEngIncomingCallMonitor* self = new ( ELeave ) CVtEngIncomingCallMonitor();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-//
-// -----------------------------------------------------------------------------
-// CVtEngIncomingCallMonitor::~
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngIncomingCallMonitor::~CVtEngIncomingCallMonitor()
- {
- delete iIncomingCallListener;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngIncomingCallMonitor::NotifyState
-// Notifies UI about device incoming call state
-// -----------------------------------------------------------------------------
-//
-void CVtEngIncomingCallMonitor::NotifyState() const
- {
- __VTPRINTENTER( "IncomingCall.NotifyState" )
-
- // Initialize state as first valuea of call state enum
- TInt state = EPSCTsyCallStateUninitialized;
-
- // Get incomig call state and send event to UI
- if ( iIncomingCallListener->Get( state ) == KErrNone )
- {
- __VTPRINT2( DEBUG_SESSION, "IncomingCall.NotifyState=%d", state )
- const TInt event = ( state == EPSCTsyCallStateRinging ) ?
- KVtEngSessionWaitingCallActive : KVtEngSessionWaitingCallInactive;
- CVtEngEventManager::NotifyEvent( event );
- }
- __VTPRINTEXIT( "IncomingCall.NotifyState" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngIncomingCallMonitoronitor::HandleNotifyPSL
-// Callback for incoming call state change
-// -----------------------------------------------------------------------------
-//
-void CVtEngIncomingCallMonitor::HandleNotifyPSL(
- const TUid aUid,
- const TInt& aKey,
- const TRequestStatus& aStatus )
- {
- if ( aStatus == KErrNone &&
- aUid == KPSUidCtsyCallInformation &&
- aKey == KCTsyCallState )
- {
- NotifyState();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngIncomingCallMonitor::CVtEngIncomingCallMonitor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngIncomingCallMonitor::CVtEngIncomingCallMonitor()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngIncomingCallMonitor::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngIncomingCallMonitor::ConstructL()
- {
- __VTPRINTENTER( "IncomingCall.ConstructL" )
- // Listener for incoming call state
- iIncomingCallListener = CVtEngPubSubsListener::NewL(
- KPSUidCtsyCallInformation, KCTsyCallState, this );
- __VTPRINTEXIT( "IncomingCall.ConstructL" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/cvtengmdtrcommandsender.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,460 +0,0 @@
-/*
-* 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: Mediator command sender implementation
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "cvtengmdtrcommandsender.h"
-#include "CVtEngEventManager.h"
-#include "VtEngUtils.h"
-#include "CVtEngSettings.h"
-#include "CVtEngOperation.h"
-#include "vtengcommands.h"
-#include "CVtEngStateManager.h"
-#include "VtEngPanic.h"
-#include <mediatorcommandinitiator.h>
-#include <mediatordomainuids.h>
-#include <mediatorcommandstotelephonyapi.h>
-#include <mediatoraudiocommandstotelephonyapi.h>
-#include <videoteltophonecommandsapi.h>
-#include <cvtlogger.h>
-
-
-/**
-* Three state classes for handling audio mute/unmute commands towards mediator when mute state
-* is changed locally faster than mediator gives response.
-
-
- IDLE <-------------------------|
- | |
- NotifyOutgoingAudioState( x ) / mediator.Send( x ) |
- | |
- v |
- |--------------------------------------> SENDING -- CommandResponseL ---|
- | |
- | NotifyOutgoingAudioState( y ) / saveCommand( y )
- | |
- | v
- |- CommandResponseL( x ) / Send( y ) ---- BUFFERED
-
-
-
-
-*/
-NONSHARABLE_CLASS( TVtMdtrStateIdle ) : public CBase
-{
- public:
- TVtMdtrStateIdle( CVtEngMdtrCommandSender& aSender, CMediatorCommandInitiator& aMediator );
- virtual void SendL( TUid aDomain, TUid aCategory, TInt aCommand );
- virtual void CommandResponseL( TUid aDomain, TUid aCategory, TInt aCommand, TInt aStatus );
-
- TInt DoSend( TUid aDomain, TUid aCategory, TInt aCommand );
-
- CVtEngMdtrCommandSender& iSender;
- CMediatorCommandInitiator& iMediator;
-};
-
-NONSHARABLE_CLASS( TVtMdtrStateSending ) : public TVtMdtrStateIdle
-{
- public:
- TVtMdtrStateSending( CVtEngMdtrCommandSender& aSender, CMediatorCommandInitiator& aMediator );
- void SendL( TUid aDomain, TUid aCategory, TInt aCommand );
- void CommandResponseL( TUid aDomain, TUid aCategory, TInt aCommand, TInt aStatus );
-};
-
-NONSHARABLE_CLASS( TVtMdtrStateBuffered ) : public TVtMdtrStateIdle
-{
- public:
- TVtMdtrStateBuffered( CVtEngMdtrCommandSender& aSender, CMediatorCommandInitiator& aMediator );
- void SendL( TUid aDomain, TUid aCategory, TInt aCommand );
- void CommandResponseL( TUid aDomain, TUid aCategory, TInt aCommand, TInt aStatus );
-
- TUid iDomain;
- TUid iCategory;
- TInt iCommand;
-};
-
-
-// CONSTANTS
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngMdtrCommandSender* CVtEngMdtrCommandSender::NewL( CVtEngUtility& aUtils )
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.NewL" )
- CVtEngMdtrCommandSender* self = new ( ELeave )
- CVtEngMdtrCommandSender( aUtils );
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
-
- __VTPRINTEXIT( "CVtEngMdtrCommandSender.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::~CVtEngMdtrCommandSender
-// destructor
-// -----------------------------------------------------------------------------
-//
-CVtEngMdtrCommandSender::~CVtEngMdtrCommandSender()
- {
- iUtils.EventManager().RemoveObserver( this );
- delete iMediatorInitiator;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::EndCall
-// Sends end call command via Mediator
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrCommandSender::EndCall( )
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.EndCall" )
- const TVersion KTelephonyCmdVersion(
- KTelephonyCommandsVersionMajor,
- KTelephonyCommandsVersionMinor,
- KTelephonyCommandsVersionBuild );
- const TInt res =
- iMediatorInitiator->IssueCommand(
- KMediatorTelephonyDomain,
- KCatCommandsToTelephony,
- EPhoneCmdEndActiveCall,
- KTelephonyCmdVersion,
- KNullDesC8() );
-
- __VTPRINTEXITR( "CVtEngMdtrCommandSender.EndCall res=%d", res )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::VoiceFallback
-// Sends voice fallback command to telephony via Mediator
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrCommandSender::VoiceFallback()
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.VoiceFallback" )
- const TVersion KVtToPhoneCmdVersion(
- KVideoTelToPhoneCmdVersionMajor,
- KVideoTelToPhoneCmdVersionMinor,
- KVideoTelToPhoneCmdVersionBuild );
-#ifdef _DEBUG
- TInt err =
-#endif
- iMediatorInitiator->IssueCommand(
- KMediatorTelephonyDomain,
- KCatVideoTelToPhoneCommands,
- EVtCmdFallback,
- KVtToPhoneCmdVersion,
- KNullDesC8() );
- // response is not awaited
- __VTPRINTEXITR( "CVtEngMdtrCommandSender.VoiceFallback %d>", err )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::SwitchToVoiceL
-// Sends switch to voice command to telephony via Mediator
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrCommandSender::SwitchToVoiceL( CVtEngOperation& aOperation )
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.SwitchToVoiceL" )
- iOperation = &aOperation;
- // add this as observer. Mediator command is sent when idle state
- // is reached (i.e. Protocol has released dataport and it can be recovered
- // by telephony)
- iUtils.EventManager().AddObserverL( this );
- // let current state handle actual request
- iUtils.StateManager()->HandleOperationL( aOperation );
- __VTPRINTEXIT( "CVtEngMdtrCommandSender.SwitchToVoiceL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::NotifyOutgoingAudioState
-// Sends microphone state to telephony via Mediator
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrCommandSender::NotifyOutgoingAudioState(
- const TBool aMicEnabled )
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.NotifyOutgoingAudioState" )
-
- const TInt command = ( aMicEnabled )
- ? EAudioCmdUnmute : EAudioCmdMute;
-#ifdef _DEBUG
- TRAPD( res, iSenderState->SendL(
- KMediatorTelephonyDomain,
- KCatAudioCommandsToTelephony,
- command ) );
-#else
- TRAP_IGNORE(iSenderState->SendL(
- KMediatorTelephonyDomain,
- KCatAudioCommandsToTelephony,
- command ) );
-#endif
-
- __VTPRINTEXITR( "CVtEngMdtrCommandSender.NotifyOutgoingAudioState %d", res )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::SetSenderState
-// sets new mediator sender state for audio command
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrCommandSender::SetSenderState( TVtMdtrStateIdle& aNewState )
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.SetSenderState" )
- __VTPRINT2( DEBUG_GEN, " delete old state %x", (TInt) iSenderState )
- __ASSERT_DEBUG( iSenderState != &aNewState,
- Panic( EVtEngPanicWrongMediatorSenderState ) );
- delete iSenderState;
- iSenderState = &aNewState;
- __VTPRINTEXITR( "CVtEngMdtrCommandSender.SetSenderState %x", (TInt) iSenderState )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::CommandResponseL
-// Mediator framework callback
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrCommandSender::CommandResponseL( TUid aDomain,
- TUid aCategory,
- TInt aCommandId,
- TInt aStatus,
- const TDesC8& /*aData*/ )
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.CommandResponseL" )
- switch ( aCommandId )
- {
- case EAudioCmdUnmute:
- case EAudioCmdMute:
- iSenderState->CommandResponseL( aDomain, aCategory, aCommandId, aStatus );
- break;
- default:
- // ignored for other commands (so far)
- break;
- }
- __VTPRINT2( DEBUG_GEN, " mediator command id=%d", aCommandId )
- __VTPRINTEXITR( "CVtEngMdtrCommandSender.CommandResponseL res=%d", aStatus )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::HandleVtEventL
-// Handles state change event associated with "switch to voice" and "TerminateSession" command
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrCommandSender::HandleVtEventL( TInt aEvent )
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.HandleVtEventL" )
-#ifdef _DEBUG
- TInt err = KErrNone;
-#endif
- if ( aEvent == KVtEngSessionStateChanged &&
- iOperation && iOperation->Command() == KVtEngSwitchToVoice )
- {
- const TVersion KVtToPhoneCmdVersion(
- KVideoTelToPhoneCmdVersionMajor,
- KVideoTelToPhoneCmdVersionMinor,
- KVideoTelToPhoneCmdVersionBuild );
-
- iUtils.EventManager().RemoveObserver( this );
- // send command (ignore possible error - no way to recover from it)
-#ifdef _DEBUG
- err =
-#endif
- iMediatorInitiator->IssueCommand(
- //KMediatorVideoTelephonyDomain,
- KMediatorTelephonyDomain,
- KCatVideoTelToPhoneCommands,
- EVtCmdSwitchToVoice,
- KVtToPhoneCmdVersion,
- KNullDesC8() );
- iOperation->HandleOpComplete( KErrNone );
- iOperation = NULL;
- }
- __VTPRINTEXITR( "CVtEngMdtrCommandSender.HandleVtEventL %d", err )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::
-// c++ constructor
-// -----------------------------------------------------------------------------
-//
-CVtEngMdtrCommandSender::CVtEngMdtrCommandSender( CVtEngUtility& aUtils ) :
- iUtils( aUtils )
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.CVtEngMdtrCommandSender" )
- __VTPRINTEXIT( "CVtEngMdtrCommandSender.CVtEngMdtrCommandSender" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrCommandListener::ConstructL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrCommandSender::ConstructL()
- {
- __VTPRINTENTER( "CVtEngMdtrCommandSender.ConstructL" )
- iMediatorInitiator = CMediatorCommandInitiator::NewL( this );
-
- // set initial mediator command sender state
- iSenderState = new ( ELeave ) TVtMdtrStateIdle( *this, *iMediatorInitiator );
- __VTPRINTEXIT( "CVtEngMdtrCommandSender.ConstructL" )
- }
-
-TVtMdtrStateIdle::TVtMdtrStateIdle( CVtEngMdtrCommandSender& aSender, CMediatorCommandInitiator& aMediator )
-: iSender( aSender), iMediator( aMediator )
- {
- __VTPRINTENTER( "TVtMdtrStateIdle.ctr" )
- __VTPRINTEXITR( "TVtMdtrStateIdle.ctr %x", (TInt) this )
- }
-
-void TVtMdtrStateIdle::SendL( TUid aDomain, TUid aCategory, TInt aCommand )
- {
- __VTPRINTENTER( "TVtMdtrStateIdle.SendL" )
- TVtMdtrStateIdle* nextState = NULL;
- const TInt res = DoSend( aDomain, aCategory, aCommand );
- if ( res == KErrInUse )
- {
- nextState = new ( ELeave ) TVtMdtrStateBuffered( iSender, iMediator );
- CleanupStack::PushL( nextState );
- nextState->SendL( aDomain, aCategory, aCommand );
- CleanupStack::Pop( nextState );
- }
- else
- {
- nextState = new ( ELeave ) TVtMdtrStateSending( iSender, iMediator );
- }
- iSender.SetSenderState( *nextState );
- __VTPRINTEXIT( "TVtMdtrStateIdle.SendL" )
- }
-
-TInt TVtMdtrStateIdle::DoSend( TUid aDomain, TUid aCategory, TInt aCommand )
- {
- __VTPRINTENTER( "TVtMdtrStateIdle.DoSend" )
- const TVersion KVtToPhoneCmdVersion(
- KVideoTelToPhoneCmdVersionMajor,
- KVideoTelToPhoneCmdVersionMinor,
- KVideoTelToPhoneCmdVersionBuild );
-
- TInt res = iMediator.IssueCommand(
- aDomain,
- aCategory,
- aCommand,
- KVtToPhoneCmdVersion,
- KNullDesC8() );
- __VTPRINTEXITR( "TVtMdtrStateIdle.DoSend res=%d", res )
- return res;
- }
-
-void TVtMdtrStateIdle::CommandResponseL( TUid /*aDomain*/, TUid /*aCategory*/, TInt /*aCommand*/, TInt /*aStatus*/ )
- {
- __VTPRINTENTER( "TVtMdtrStateIdle.CommandResponseL" )
- // base class method should never be possible to call
- __VTPRINTEXIT( "TVtMdtrStateIdle.CommandResponseL" )
- }
-
-TVtMdtrStateSending::TVtMdtrStateSending( CVtEngMdtrCommandSender& aSender, CMediatorCommandInitiator& aMediator )
-: TVtMdtrStateIdle( aSender, aMediator )
- {
- __VTPRINTENTER( "TVtMdtrStateSending.ctr" )
- __VTPRINTEXITR( "TVtMdtrStateSending.ctr %x", (TInt) this )
- }
-
-void TVtMdtrStateSending::SendL( TUid aDomain, TUid aCategory, TInt aCommand )
- {
- __VTPRINTENTER( "TVtMdtrStateSending.SendL" )
- TVtMdtrStateIdle* buffered = new ( ELeave )TVtMdtrStateBuffered( iSender, iMediator );
- CleanupStack::PushL( buffered );
- buffered->SendL( aDomain, aCategory, aCommand );
- CleanupStack::Pop( buffered );
- iSender.SetSenderState( *buffered );
- __VTPRINTEXIT( "TVtMdtrStateSending.SendL" )
- }
-
-void TVtMdtrStateSending::CommandResponseL( TUid aDomain, TUid aCategory, TInt aCommand, TInt aStatus )
- {
- __VTPRINTENTER( "TVtMdtrStateSending.CommandResponseL" )
- __VTPRINT2( DEBUG_GEN, " command=%d", aCommand )
- __VTPRINT2( DEBUG_GEN, " response=%d", aStatus )
- TVtMdtrStateIdle* idle = new ( ELeave ) TVtMdtrStateIdle( iSender, iMediator );
- iSender.SetSenderState( *idle );
- __VTPRINTEXIT( "TVtMdtrStateSending.CommandResponseL" )
- }
-
-TVtMdtrStateBuffered::TVtMdtrStateBuffered( CVtEngMdtrCommandSender& aSender, CMediatorCommandInitiator& aMediator )
-: TVtMdtrStateIdle( aSender, aMediator )
- {
- __VTPRINTENTER( "TVtMdtrStateBuffered.ctr" )
- __VTPRINTEXITR( "TVtMdtrStateBuffered.ctr %x", (TInt) this )
- }
-
-void TVtMdtrStateBuffered::SendL( TUid aDomain, TUid aCategory, TInt aCommand )
- {
- __VTPRINTENTER( "TVtMdtrStateBuffered.SendL" )
-
- iDomain = aDomain;
- iCategory = aCategory;
- iCommand = aCommand;
- // iCommand is sent in CommandResponseL
- __VTPRINTEXIT( "TVtMdtrStateBuffered.SendL" )
- }
-
-void TVtMdtrStateBuffered::CommandResponseL( TUid aDomain, TUid aCategory, TInt aCommand, TInt aStatus )
- {
- __VTPRINTENTER( "TVtMdtrStateBuffered.CommandResponseL" )
- const TVersion KVtToPhoneCmdVersion(
- KVideoTelToPhoneCmdVersionMajor,
- KVideoTelToPhoneCmdVersionMinor,
- KVideoTelToPhoneCmdVersionBuild );
- TBool nextStateIdle = ETrue;
- TInt res = KErrNone;
- if ( aCommand != iCommand )
- {
- res = iMediator.IssueCommand(
- KMediatorTelephonyDomain,
- KCatAudioCommandsToTelephony,
- iCommand,
- KVtToPhoneCmdVersion,
- KNullDesC8() );
- if ( res == KErrNone )
- {
- nextStateIdle = EFalse;
- }
- }
- TVtMdtrStateIdle* nextState = NULL;
- if ( nextStateIdle )
- {
- __VTPRINT2( DEBUG_GEN, " failed to send buffered command with error=%d", res )
- nextState = new ( ELeave ) TVtMdtrStateIdle( iSender, iMediator );
- }
- else
- {
- nextState = new ( ELeave ) TVtMdtrStateSending( iSender, iMediator );
- CleanupStack::PushL( nextState );
- nextState->SendL( iDomain, iCategory, iCommand );
- CleanupStack::Pop( nextState );
- }
- iSender.SetSenderState( *nextState );
- __VTPRINTEXIT( "TVtMdtrStateBuffered.CommandResponseL" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Base/cvtengmdtrmessagelistener.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +0,0 @@
-/*
-* 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: Mediator event listener implementation
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "cvtengmdtrmessagelistener.h"
-#include "VtEngUtils.h"
-#include "CVtEngSettings.h"
-#include "CVtEngEventManager.h"
-#include "cvtengmediatorservice.h"
-
-#include <cvtlogger.h>
-#include <videotelcontrolmediatorapi.h>
-#include <mediatorcommandresponder.h>
-#include <mediatordomainuids.h>
-#include <mediatoreventsfromtelephonyapi.h>
-#include <vtinternalmediatorapi.h>
-
-// CONSTANTS
-
-// mediator command timeout
-static const TInt KVtEngMdtrCmdTimeout = 500000;
-
-// array granularity is 2 (enable mic, disable mic commands)
-static const TInt KVtEngMdtrCmdArrayGranularity = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrMessageListener::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngMdtrMessageListener* CVtEngMdtrMessageListener::NewL(
- CVtEngUtility& aUtils )
- {
- __VTPRINTENTER( "CVtEngMdtrMessageListener.NewL" )
- CVtEngMdtrMessageListener* self = new( ELeave )
- CVtEngMdtrMessageListener( aUtils );
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtEngMdtrMessageListener.NewL" )
- return self;
- }
-
-// Destructor
-CVtEngMdtrMessageListener::~CVtEngMdtrMessageListener()
- {
- // ignore error in unregistering
- if ( iMediatorResponder )
- {
- iMediatorResponder->UnregisterCommand(
- KMediatorVideoTelephonyDomain,
- KCatPhoneToVideotelCommands,
- iCommandList );
- iCommandList.Close();
- iMediatorResponder->UnregisterCommand(
- KMediatorVideoTelephonyDomain,
- KCatVideotelInternalCommands,
- EVtMediatorReleaseDataport );
-
- delete iMediatorResponder;
- }
-
-
- // ignore error in unregistering
- if ( iMediatorEvents )
- {
- iMediatorEvents->UnsubscribeEvent( KMediatorVideoTelephonyDomain,
- KCatVideotelInternalEvents,
- EVtMediatorEventVideoCallInformation );
- delete iMediatorEvents;
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrMessageListener::MediatorCommandL
-// Receives mediator command and passes it to service object
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrMessageListener::MediatorCommandL(
- TUid /*aDomain*/,
- TUid aCategory,
- TInt aCommandId,
- TVersion /*aVersion*/,
- const TDesC8& /*aData*/ )
- {
- __VTPRINTENTER( "CVtEngMdtrMessageListener.MediatorCommandL" )
- // service object destroys itself after sending command response
- CVtEngMediatorService::StartLD( *iMediatorResponder, iUtils, aCategory, aCommandId );
- __VTPRINTEXIT( "CVtEngMdtrMessageListener.MediatorCommandL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrMessageListener::CancelMediatorCommand
-// Cancallation of mediator command. no-op, just returns response.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrMessageListener::CancelMediatorCommand(
- TUid /*aDomain*/,
- TUid /*aCategory*/,
- TInt /*aCommandId*/ )
- {
- __VTPRINTENTER( "CVtEngMdtrMessageListener.CancelMediatorCommand" )
- // No-op
- __VTPRINTEXIT( "CVtEngMdtrMessageListener.CancelMediatorCommand" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrEventListener::MediatorEventL
-// Receives mediator event from VT Mediator Plugin. The event
-// contains CLI and/or Dataport name.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrMessageListener::MediatorEventL( TUid /*aDomain*/,
- TUid aCategory,
- TInt aEventId,
- const TDesC8& aData )
- {
- __VTPRINTENTER( "CVtEngMdtrMessageListener.MediatorEventL" )
- if ( aCategory == KCatVideotelInternalEvents &&
- aEventId == EVtMediatorEventVideoCallInformation )
- {
- TVtMediatorInfoPackage package;
- package.Copy( aData );
- TVtVideoTelephonyCallInformation data = package();
- __VTPRINT2( DEBUG_GEN, " VT call info data validity value=%d",
- data.iEventDataValidity)
- // if message contains dataport name save it
- CVtEngSettings& settings = iUtils.Settings();
- if ( data.iEventDataValidity &
- TVtVideoTelephonyCallInformation::EDataportValid )
- {
- //__VTPRINT(DEBUG_GEN, " Dataport is ready")
- settings.SetDataportInfoL( data.iDataport );
- }
- // if message contains CLI info handle it (save and notify if state
- // allows)
- if ( data.iEventDataValidity &
- TVtVideoTelephonyCallInformation::EDisplayTextValid )
- {
- MVtEngSessionInfo::TCLI cli;
- cli.iCallId = data.iCallId;
- cli.iName = data.iDisplayText.Left( cli.iName.MaxLength() );
- cli.iVoiceCallPossible = data.iVoiceCallPossible;
- settings.SetCLI( cli );
-
- // ready == call is answered (allows setting app to foreground)
- if ( IsReadyForCLIEvent() )
- {
- // send event about CLI availability
- CVtEngEventManager::NotifyEvent( KVtEngCLIAvailable );
- }
- else
- {
- // Wait until connected state is reached (see HandleVtEventL)
- __VTPRINT( DEBUG_GEN,
- "CVtEngMdtrMessageListener defer CLI event" )
- iUtils.EventManager().AddObserverL( this );
- }
- }
- }
- __VTPRINTEXIT( "CVtEngMdtrMessageListener.MediatorEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrMessageListener::HandleVtEventL
-//
-// Handles defered CLI event dispatching (to UI). CLI event was defered because
-// engine state was not suitable in MediatorEventL which then started observing
-// state changes.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrMessageListener::HandleVtEventL( TInt aEvent )
- {
- __VTPRINTENTER( "CVtEngMdtrMessageListener.HandleVtEventL" )
- if ( aEvent == KVtEngSessionStateChanged &&
- IsReadyForCLIEvent() ) // <- ready == call is answered
- {
- iUtils.EventManager().RemoveObserver( this );
- __VTPRINT( DEBUG_GEN,
- "CVtEngMdtrMessageListener dispatch defered CLI event" )
- CVtEngEventManager::NotifyEvent( KVtEngCLIAvailable );
- }
-
- __VTPRINTEXIT( "CVtEngMdtrMessageListener.HandleVtEventL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrMessageListener::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMdtrMessageListener::ConstructL()
- {
- __VTPRINTENTER( "CVtEngMdtrMessageListener.ConstructL" )
-
- // for sending command responses
- iMediatorResponder = CMediatorCommandResponder::NewL( this );
-
- // for receiving events from VT Mediator Plugin (dataport/CLI info)
- iMediatorEvents = CMediatorEventConsumer::NewL( this );
-
- TCapabilitySet capSet;
- capSet.SetEmpty();
- // for audio control
- capSet.AddCapability( ECapabilityWriteDeviceData );
-
- // define common attributes for all commands that engine is responsible for
- MediatorService::TCommand command;
- command.iCaps = capSet;
- command.iVersion = TVersion(
- KPhoneToVideotelCmdVersionMajor,
- KPhoneToVideotelCmdVersionMinor,
- KPhoneToVideotelCmdVersionBuild );
- command.iTimeout = KVtEngMdtrCmdTimeout;
-
- // enable microphone command
- command.iCommandId = EVtCmdUnmute;
- iCommandList.Append( command );
-
- // disable microphone command
- command.iCommandId = EVtCmdMute;
- iCommandList.Append( command );
-
- // register VT events that are raised by VT Mediator Plugin.
- // !!! Note !!!!
- // event subscription must be done before command registration because
- // command registration triggers raising the event in the plugin. Different
- // order would cause the engine to miss the event.
- const TVersion commandVersion(
- KVideotelMdtrCommandsVersionMajor,
- KVideotelMdtrCommandsVersionMinor,
- KVideotelMdtrCommandsVersionBuild );
- //capSet.SetEmpty();
- //capSet.AddCapability( ECapabilityPowerMgmt );
-
- iMediatorResponder->RegisterCommand(
- KMediatorVideoTelephonyDomain,
- KCatVideotelInternalCommands,
- EVtMediatorReleaseDataport,
- commandVersion,
- capSet,
- KVtEngMdtrCmdTimeout );
-
- const TVersion eventVersion(
- KTelephonyEventsVersionMajor,
- KTelephonyEventsVersionMinor,
- KTelephonyEventsVersionBuild );
-
- TInt res = iMediatorEvents->SubscribeEvent( KMediatorVideoTelephonyDomain,
- KCatVideotelInternalEvents,
- EVtMediatorEventVideoCallInformation,
- eventVersion );
-
- if ( res == KErrNone )
- {
- // register Mediator commands that we handle
- res = iMediatorResponder->RegisterCommand(
- KMediatorVideoTelephonyDomain,
- KCatPhoneToVideotelCommands,
- iCommandList );
-
- }
- __VTPRINTEXITR( "CVtEngMdtrMessageListener.ConstructL res=%d",res )
- // registering must not fail
- User::LeaveIfError( res );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrMessageListener::CVtEngMdtrMessageListener
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngMdtrMessageListener::CVtEngMdtrMessageListener( CVtEngUtility& aUtils)
- : iUtils( aUtils ), iCommandList( KVtEngMdtrCmdArrayGranularity )
- {
- __VTPRINTENTER( "CVtEngMdtrMessageListener.CVtEngMdtrMessageListener" )
- __VTPRINTEXIT( "CVtEngMdtrMessageListener.CVtEngMdtrMessageListener" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMdtrMessageListener::IsReadyForCLIEvent
-// Checks if engine state is appropriate to send CLI event.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMdtrMessageListener::IsReadyForCLIEvent() const
- {
- __VTPRINTENTER( "CVtEngMdtrMessageListener.IsReadyForCLIEvent" )
- const MVtEngSessionInfo::TSessionState state =
- iUtils.StateManager()->SessionState();
- const TBool isReady =
- ( state == MVtEngSessionInfo::EConnected ||
- state == MVtEngSessionInfo::ENegotiating ||
- state == MVtEngSessionInfo::EOpen );
- __VTPRINTEXITR( "CVtEngMdtrMessageListener.IsReadyForCLIEvent %d>",
- isReady )
- return isReady;
- }
-
-// End of File
-
--- a/vtengines/videoteleng/Src/Base/cvtengmediatorservice.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* 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: Mediator service implementation
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "cvtengmediatorservice.h"
-#include "cvtenginternaloperation.h"
-#include "CVtEngStateManager.h"
-#include "CVtEngEventManager.h"
-#include "VtEngUtils.h"
-#include "CVtEngSettings.h"
-#include <cvtlogger.h>
-#include <MediatorCommandResponder.h>
-#include <mediatordomainuids.h>
-#include <videotelcontrolmediatorapi.h>
-#include <videoteltophonecommandsapi.h>
-#include <vtinternalmediatorapi.h>
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::StartLD
-// Mediator service starter.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediatorService::StartLD(
- CMediatorCommandResponder& aResponder,
- CVtEngUtility& aUtils,
- const TUid aCategory,
- const TInt aCommand )
- {
- __VTPRINTENTER( "CVtEngMediatorService.StartLD" )
- CVtEngMediatorService* self = new ( ELeave ) CVtEngMediatorService(
- aResponder, aUtils, aCategory, aCommand );
- CleanupStack::PushL( self );
- self->ConstructAndDoServiceL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtEngMediatorService.StartLD" )
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVtEngMediatorService::~CVtEngMediatorService()
- {
- // ensure this is removed
- __VTPRINTENTER( "CVtEngMediatorService::~CVtEngMediatorService" )
- iUtils.EventManager().RemoveObserver( this );
-
- // send response if destructed due to leave in ConstructAndDoServiceL
- SendMediatorResponseD( EFalse );
- __VTPRINTEXIT( "CVtEngMediatorService::~CVtEngMediatorService" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::SetOperation
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediatorService::SetOperation( CVtEngOperation* /*aActiveOp*/ )
- {
- __VTPRINTENTER( "CVtEngMediatorService.SetOperation" )
- // no-op
- __VTPRINTEXIT( "CVtEngMediatorService.SetOperation" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::CommandCompleteL
-// callback to internal operation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediatorService::CommandCompleteL(
- const TVtEngCommandId /*aCommand*/,
- const TInt aResult )
- {
- __VTPRINTENTER( "CVtEngMediatorService.CommandCompleteL" )
-
- iServiceStatus = aResult;
-
- // Sends response to Telephony if not already sent by
- // HandleVtEventL -> SendMediatorResponseD
- SendMediatorResponseD( ETrue );
- __VTPRINTEXITR( "CVtEngMediatorService.CommandCompleteL %d", aResult )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::HandleVtEventL
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediatorService::HandleVtEventL( TInt aEvent )
- {
- __VTPRINTENTER( "CVtEngMediatorService.HandleVtEventL" )
-
- // This is registered event observer when shutdown mediator command was
- // received. Now send response if state precondition is met
- if ( aEvent == KVtEngSessionStateChanged &&
- IsShuttingDown() )
- {
- // no interest on events any more, task fulfilled
- iUtils.EventManager().RemoveObserver( this );
-
- // iServiceStatus used for mediator response
- iServiceStatus = KErrNone;
-
- SendMediatorResponseD( EFalse );
- }
- __VTPRINTEXIT( "CVtEngMediatorService.HandleVtEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::CVtEngMediatorService
-// -----------------------------------------------------------------------------
-//
-CVtEngMediatorService::CVtEngMediatorService(
- CMediatorCommandResponder& aResponder,
- CVtEngUtility& aUtils,
- const TUid aCategory,
- const TInt aCommandId ) :
- iResponder( aResponder ),
- iUtils( aUtils ),
- iCategory( aCategory ),
- iCommandId( aCommandId ),
- iServiceStatus( KErrNotReady )
- {
- __VTPRINTENTER( "CVtEngMediatorService.CVtEngMediatorService" )
- __VTPRINTEXIT( "CVtEngMediatorService.CVtEngMediatorService" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::ConstructAndDoServiceL
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediatorService::ConstructAndDoServiceL()
- {
- __VTPRINTENTER( "CVtEngMediatorService.ConstructAndDoServiceL" )
- __VTPRINT2( DEBUG_GEN, " CVtEngMediatorService.ConstructAndDoServiceL command id=%d", iCommandId )
- // if starting of any operation below fails (StartOperationL leaves),
- // this object is deleted. Destructor sends mediator response.
- // non-supported command leads to leave+destructor also (see default case)
- if ( KCatVideotelInternalCommands == iCategory)
- {
- switch ( iCommandId )
- {
- case EVtMediatorReleaseDataport:
- if ( !IsShuttingDown() )
- {
- // Mediator response is sent when state becomes appropriate,
- // indicated by call to HandleVtEventL, or
- // when operation callback CommandCompleteL is called,
- // which ever comes first. However, this object is deleted
- // only after operation callback is received.
- iUtils.EventManager().AddObserverL( this );
- StartOperationL( KVtEngTerminateSession );
- }
- // if already shutting down this is no op (and self destructed)
- // if get this command because endactivecall from vt menu, do not do any op from here
- else
- {
- SendMediatorResponseD(EFalse);
- }
- break;
- default:
- // requested command that is not supported, issue "failed" response
- iServiceStatus = KErrNotSupported;
- break;
- }
- }
- else
- {
- switch ( iCommandId )
- {
- case EVtCmdUnmute:
- case EVtCmdMute:
- {
- TVtEngCommandId engineCmd = ( iCommandId ==
- EVtCmdUnmute ) ? KVtEngUnmuteOutgoingAudio :
- KVtEngMuteOutgoingAudio;
- if ( !IsShuttingDown() )
- {
- StartOperationL( engineCmd );
- }
- else
- {
- SendMediatorResponseD(EFalse);
- }
- }
- break;
- default:
- // requested command that is not supported, issue "failed" response
- iServiceStatus = KErrNotSupported;
- break;
- }
- }
- if ( iServiceStatus != KRequestPending && !IsShuttingDown() )
- { // results in destruction of this object and sending of mediator
- // response with error
- //__VTPRINT2( DEBUG_GEN, "CVtEngMediatorService.ConstructAndDoServiceL leave by iServiceStatus: %d", iServiceStatus )
- User::Leave( iServiceStatus );
- }
-
- __VTPRINTEXIT( "CVtEngMediatorService.ConstructAndDoServiceL" )
- }
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::IsShuttingDown
-// Checks if shutdown is ongoing
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediatorService::IsShuttingDown() const
- {
- __VTPRINTENTER( "CVtEngMediatorService.IsShuttingDown" )
- const MVtEngSessionInfo::TSessionState state =
- iUtils.StateManager()->SessionState();
- TBool isShuttingDown = EFalse;
-
- // consider shutdown true if clearing or idle
- if ( state == MVtEngSessionInfo::EClearing ||
- state == MVtEngSessionInfo::EIdle )
- {
- isShuttingDown = ETrue;
- }
- __VTPRINTEXITR( "CVtEngMediatorService.IsShuttingDown %d",
- isShuttingDown )
- return isShuttingDown;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::StartOperationL
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediatorService::StartOperationL( const TVtEngCommandId aCommand )
- {
- __VTPRINTENTER( "CVtEngMediatorService.StartOperationL" )
- iOperation = CVtEngInternalOperation::NewL(
- aCommand,
- iUtils.StateManager()->Handlers(),
- *this );
- iOperation->ExecuteL();
- iServiceStatus = KRequestPending;
- __VTPRINTEXIT( "CVtEngMediatorService.StartOperationL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediatorService::SendMediatorResponseD
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediatorService::SendMediatorResponseD( const TBool aDeleteThis )
- {
- __VTPRINTENTER( "CVtEngMediatorService.SendMediatorResponseD" )
- __VTPRINT2( DEBUG_GEN, "CVtEngMediatorService.SendMediatorResponseD command: %d", iCommandId )
- if ( iCommandId != KErrNotFound )
- {
- if ( iCategory == KCatVideotelInternalCommands && iCommandId == EVtMediatorReleaseDataport )
- {
- iResponder.IssueResponse(
- KMediatorVideoTelephonyDomain,
- KCatVideotelInternalCommands,
- iCommandId,
- iServiceStatus,
- KNullDesC8() );
- }
- else
- {
- iResponder.IssueResponse(
- KMediatorVideoTelephonyDomain,
- KCatPhoneToVideotelCommands,
- iCommandId,
- iServiceStatus,
- KNullDesC8() );
- }
-
- // prevents further response because destructor also calls this method
- iCommandId = KErrNotFound;
- }
- if ( aDeleteThis )
- {
- // note! check above is mandatory because this method is called
- // also from destructor.
- delete this;
- }
- __VTPRINTEXIT( "CVtEngMediatorService.SendMediatorResponseD" )
- }
-
-// End of File
-
--- a/vtengines/videoteleng/Src/Commands/CVtEngCommandHandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,549 +0,0 @@
-/*
-* Copyright (c) 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: Handles commands from user interface.
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include <e32std.h>
-#include "CVtEngCommandHandler.h"
-#include "CVtEngHandlerContainer.h"
-#include "MVtEngCommandObserver.h"
-#include "CVtEngOperation.h"
-#include <cvtlogger.h>
-#include "CVtEngStateManager.h"
-#include <videotelephonyvariant.hrh>
-#include "VtEngUtils.h"
-
-#include "CVtEngStateIdle.h"
-#include "CVtEngStateInitializing.h"
-#include "CVtEngStateConnected.h"
-#include "CVtEngStateRinging.h"
-#include "CVtEngStateOpen.h"
-#include "CVtEngStateNegotiating.h"
-#include "CVtEngStateClearing.h"
-#include "CVtEngStateAlerting.h"
-
-// CONSTANTS
-const TInt KVtEngCommandPoolCommands = 1;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CVtEngCommandHandler
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngCommandHandler::CVtEngCommandHandler(
- CVtEngHandlerContainer& aHandlers ) :
- iObservers( 1 ),
- iHandlers( aHandlers )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::ConstructL()
- {
- __VTPRINTENTER( "CmdHlr.ConstructL" )
- iCommandPool = new ( ELeave ) CVtEngCmdPool( KVtEngCommandPoolCommands );
-
- // session termination
- AddToPoolL( KVtEngInitializeEngine );
- AddToPoolL( KVtEngInitializeEngineDiag );
- AddToPoolL( KVtEngInitializeEngineTest );
- AddToPoolL( KVtEngPrepareViewFinder );
- AddToPoolL( KVtEngPrepareRemoteRenderDSA );
- AddToPoolL( KVtEngPrepareRemoteRenderDP );
- AddToPoolL( KVtEngPrepareRemoteRenderNGA );
- AddToPoolL( KVtEngResetEngine );
- __VTPRINTEXIT( "CmdHlr.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCommandHandler* CVtEngCommandHandler::NewL( CVtEngHandlerContainer& aHandlers )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_CONSTRUCT, "CmdHlr.New")
- CVtEngCommandHandler* self = new( ELeave ) CVtEngCommandHandler( aHandlers );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
- }
-
-
-// Destructor
-CVtEngCommandHandler::~CVtEngCommandHandler()
- {
- __VTPRINTENTER( "CmdHlr.~" )
- iObservers.Close();
- if ( iActiveOp )
- {
- if ( iCommandPool->Get( iActiveOp->Command() ) == NULL )
- {
- delete iActiveOp;
- }
- }
- delete iCommandPool;
- __VTPRINTEXIT( "CmdHlr.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::ExecuteL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::ExecuteL(
- const TVtEngCommandId aCommandId,
- TDesC8* aParams )
- {
- __VTPRINTENTER( "CmdHlr.ExecuteL" )
-
- __VTPRINT2( DEBUG_GEN, "ComHlr:Exec cmdId=%d", aCommandId )
- ValidateL( aCommandId, aParams );
- CVtEngOperation* opFromPool = iCommandPool->Get( aCommandId );
- CVtEngOperation* op = opFromPool;
- if ( op == NULL )
- {
- op = CVtEngOperation::NewL( aCommandId, iHandlers, *this );
- CleanupStack::PushL( op );
- }
-
- switch ( aCommandId )
- {
- case KVtEngInitializeEngine:
- case KVtEngInitializeEngineTest:
- case KVtEngInitializeEngineDiag:
- case KVtEngResetEngine:
- case KVtEngTerminateSession:
- case KVtEngStartViewFinder:
- case KVtEngStopViewFinder:
- case KVtEngStartRenderRemote:
- case KVtEngStopRenderRemote:
- case KVtEngPauseRenderRemote:
- case KVtEngMuteOutgoingAudio:
- case KVtEngUnmuteOutgoingAudio:
- case KVtEngStopDtmfTone:
- case KVtEngRequestLastRemoteFrame:
- // Handling of different UIIs
- case KVtEngSetUIIDtmfSupport:
- case KVtEngSetUIIBasicStringSupport:
- case KVtEngSetUIIIA5StringSupport:
- case KVtEngSetUIIGeneralStringSupport:
- case KVtEngFreeze:
- case KVtEngUnfreeze:
- case KVtEngHandleLayoutChange:
-
- // Media object sharing (no parameters )
- case KVtEngStartShareImage:
- case KVtEngStopShareImage:
- op->ExecuteL( NULL );
- break;
- // Media
- case KVtEngSetUIForeground:
- case KVtEngPrepareCamera:
- case KVtEngPrepareViewFinder:
- case KVtEngPrepareViewFinderDSA:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareViewFinderDP:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRenderNGA:
- case KVtEngSetSource:
- case KVtEngSetZoomStep:
- case KVtEngSetAudioRouting:
- case KVtEngSetAudioVolume:
- case KVtEngIncreaseAudioVolume:
- case KVtEngDecreaseAudioVolume:
- case KVtEngSendDtmf:
- case KVtEngStartDtmfTone:
- case KVtEngSetVideoQuality:
- case KVtEngSwitchToVoice:
- // Extension commands
- case KVtEngSetContrast:
- case KVtEngSetBrightness:
- case KVtEngSetWhiteBalance:
- case KVtEngSetColorTone:
-#if defined ( RD_VT_RTF )
- case KVtEngStartRecord:
- case KVtEngStopRecord:
-#endif
- // Media object sharing (with parameters )
- case KVtEngInitializeShareImage:
- // Flow through, ok to execute
- op->ExecuteL( aParams );
- break;
- default:
- User::Leave( KErrNotSupported );
- }
- if ( opFromPool == NULL )
- {
- CleanupStack::Pop( ); // op (deletes itself)
- }
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- states->Update();
- __VTPRINTEXIT( "CmdHlr.ExecuteL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CancelCommand
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCommandHandler::CancelCommand( const TVtEngCommandId aCommandId )
- {
- __VTPRINTENTER( "CmdHlr.CancelCommand" )
-
- __VTPRINT2( DEBUG_GEN, "ComHlr.Cancel cmd=%d", aCommandId )
- TInt err( KErrGeneral );
- if ( iActiveOp &&
- iActiveOp->Command() == aCommandId &&
- aCommandId != KVtEngResetEngine &&
- aCommandId != KVtEngInitializeEngineTest &&
- aCommandId != KVtEngInitializeEngineDiag)
- {
- iActiveOp->Cancel();
- err = KErrNone;
- }
- __VTPRINT2( DEBUG_GEN | DEBUG_DETAIL, "ComHlr.Cancel res=%d",err )
- __VTPRINTEXIT( "CmdHlr.CancelCommand" )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::GetCommandCaps
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCommandHandler::GetCommandCaps(
- const TVtEngCommandId aCommand )
- {
- TInt caps( 0 );
- CheckAsynchronity( aCommand, caps );
- CheckSupport( aCommand, caps );
- CheckState( aCommand, caps );
- return caps;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::PendingCommand
-//
-// -----------------------------------------------------------------------------
-//
-TVtEngCommandId CVtEngCommandHandler::PendingCommand()
- {
- if ( iActiveOp )
- {
- return iActiveOp->Command();
- }
- return KVtEngCommandNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::AddObserverL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::AddObserverL(
- MVtEngCommandObserver& aObserver )
- {
- User::LeaveIfError( iObservers.Append( &aObserver ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::RemoveObserver
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::RemoveObserver(
- MVtEngCommandObserver& aObserver )
- {
- const TInt pos( iObservers.Find( &aObserver ) );
- if ( pos >= 0 )
- {
- iObservers.Remove( pos );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CommandCompleteL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::CommandCompleteL(
- const TVtEngCommandId aCommand,
- const TInt aResult )
- {
- __VTPRINTENTER( "CmdHlr.CommandCompleteL" )
- __VTPRINT3( DEBUG_GEN, " completed cmd=%d,res=%d", aCommand, aResult )
- TInt count( iObservers.Count() );
- while ( count-- )
- {
- MVtEngCommandObserver* observer = iObservers[ count ];
- observer->HandleVTCommandPerformedL( aCommand, aResult );
- }
- __VTPRINTEXIT( "CmdHlr.CommandCompleteL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::SetOperation
-// Sets active operation
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::SetOperation( CVtEngOperation* aActiveOp )
- {
- iActiveOp = aActiveOp;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::AddToPoolL
-// Adds a command to command pool. Only commands without parameters and
-// that don't delete themselfs can currently be added.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::AddToPoolL( TVtEngCommandId aCommand )
- {
- CVtEngOperation* op = CVtEngOperation::NewL(
- aCommand, iHandlers, *this, EFalse );
- CleanupStack::PushL( op );
- iCommandPool->AppendL( op );
- CleanupStack::Pop(); // op
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::ValidateL
-// Checks if command can be performed.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::ValidateL(
- const TVtEngCommandId aCommandId,
- TDesC8* /*aParams*/ )
- {
- // check if async command is already pending and new
- // command is async
- TInt caps( 0 );
- CheckState( aCommandId, caps );
- if ( !(caps & EAttribEnabled ) )
- {
- User::Leave( KErrNotReady );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CheckAsynchronity
-// Checks if command is async
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::CheckAsynchronity(
- const TVtEngCommandId aCommandId,
- TInt& aCaps )
- {
- switch ( aCommandId )
- {
- case KVtEngInitializeEngine:
- case KVtEngInitializeEngineTest:
- case KVtEngInitializeEngineDiag:
- case KVtEngResetEngine:
- case KVtEngTerminateSession:
- case KVtEngSetSource:
- case KVtEngPrepareCamera:
- case KVtEngSetAudioRouting:
- case KVtEngMuteOutgoingAudio:
- case KVtEngUnmuteOutgoingAudio:
- case KVtEngSetAudioVolume:
- case KVtEngHandleLayoutChange:
- case KVtEngUnfreeze:
-
- // Media object sharing
- case KVtEngInitializeShareImage:
- case KVtEngStartShareImage:
- case KVtEngStopShareImage:
- case KVtEngSwitchToVoice:
- aCaps |= EAttribAsync;
- break;
- default:
- aCaps &= (~EAttribAsync);
- break;
- }
- __VTPRINT3( DEBUG_GEN | DEBUG_RETURN, "ComHlr:capsA cmd=%d,caps=%d", aCommandId, aCaps )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CheckSupport
-// Checks if command is supported
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::CheckSupport(
- const TVtEngCommandId aCommandId,
- TInt& aCaps )
- {
- switch ( aCommandId )
- {
- case KVtEngInitializeEngine:
- case KVtEngInitializeEngineTest:
- case KVtEngInitializeEngineDiag:
- case KVtEngResetEngine:
- case KVtEngTerminateSession:
- case KVtEngStartViewFinder:
- case KVtEngStopViewFinder:
- case KVtEngPrepareViewFinder:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRenderNGA:
- case KVtEngStartRenderRemote:
- case KVtEngStopRenderRemote:
- case KVtEngSetAudioRouting:
- case KVtEngSetAudioVolume:
- case KVtEngIncreaseAudioVolume:
- case KVtEngDecreaseAudioVolume:
- case KVtEngPauseRenderRemote:
- case KVtEngMuteOutgoingAudio:
- case KVtEngUnmuteOutgoingAudio:
- case KVtEngSetSource:
- case KVtEngPrepareCamera:
- case KVtEngStartDtmfTone:
- case KVtEngStopDtmfTone:
- case KVtEngFreeze:
- case KVtEngUnfreeze:
- case KVtEngSetVideoQuality:
- case KVtEngHandleLayoutChange:
- // Handling of different UIIs, support is there
- case KVtEngSetUIIDtmfSupport:
- case KVtEngSetUIIBasicStringSupport:
- case KVtEngSetUIIIA5StringSupport:
- case KVtEngSetUIIGeneralStringSupport:
- case KVtEngSetUIForeground:
- case KVtEngRequestLastRemoteFrame:
-
- // Media object sharing
- case KVtEngInitializeShareImage:
- case KVtEngStartShareImage:
- case KVtEngStopShareImage:
- case KVtEngSwitchToVoice:
- aCaps |= EAttribSupported;
- break;
-
- // Extension commands
- case KVtEngSetContrast:
- case KVtEngSetBrightness:
- case KVtEngSetWhiteBalance:
- case KVtEngSetColorTone:
-#if defined ( RD_VT_RTF )
- case KVtEngStartRecord:
- case KVtEngStopRecord:
-#endif
- aCaps |= EAttribSupported;
- break;
-
- default:
- aCaps &= (~EAttribSupported);
- __VTPRINT( DEBUG_GEN, "ComHlr.NOT SUPPORTED" )
- break;
- }
- __VTPRINT3( DEBUG_GEN | DEBUG_DETAIL, " capsSupport cmd=%d,caps=%d", aCommandId, aCaps )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CheckState
-// Checks if command is possible in current state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngCommandHandler::CheckState(
- const TVtEngCommandId aCommandId,
- TInt& aCaps )
- {
- aCaps &= (~EAttribEnabled);
- if ( !(iActiveOp && ( aCaps & EAttribAsync ) ) )
- {
- const CVtEngStateManager* states = CVtEngUtility::StateManager();
- if ( states->IsCommandPossible( aCommandId ) )
- {
- aCaps |= EAttribEnabled;
- }
-#ifdef VTDEBUG
- else
- {
- __VTPRINT( DEBUG_GEN, "ComHlr.ChkState INVALID" )
- }
-#endif // VTDEBUG
- }
- __VTPRINT3( DEBUG_GEN | DEBUG_DETAIL, " capsState cmd=%d,caps=%d", aCommandId, aCaps )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CVtEngCmdPool::CVtEngCmdPool
-// C++ constructor
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngCommandHandler::CVtEngCmdPool::CVtEngCmdPool( TInt aGranularity ) :
- CArrayPtrFlat<CVtEngOperation>( aGranularity )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CVtEngCmdPool::CVtEngCmdPool
-// Destructor - deletes operations in the pool.
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngCommandHandler::CVtEngCmdPool::~CVtEngCmdPool( )
- {
- ResetAndDestroy();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCommandHandler::CVtEngCmdPool::Get
-// Returns pointer to an operation in the pool.
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngOperation* CVtEngCommandHandler::CVtEngCmdPool::Get(
- const TVtEngCommandId aId )
- {
- TInt count( Count() );
- CVtEngOperation* ret = NULL;
- while ( count-- )
- {
- CVtEngOperation* op = At( count );
- if ( op->Command() == aId )
- {
- ret = op;
- count = 0; // break
- }
- }
- return ret;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Commands/CVtEngOperation.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* Copyright (c) 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: Operation base class implementation.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngOperation.h"
-#include "CVtEngCommandHandler.h"
-#include "TVtEngOperationUtils.h"
-#include "VtEngUtils.h"
-#include "cvtengmdtrcommandsender.h"
-#include "cvtlogger.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::NewL
-// Symbian two-phase constructor
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngOperation* CVtEngOperation::NewL(
- TVtEngCommandId aCommandId,
- CVtEngHandlerContainer& aHandlers,
- MVtEngOperationObserver& aObserver,
- TBool aDelete )
- {
- CVtEngOperation* self = new ( ELeave )
- CVtEngOperation( aCommandId, aHandlers, aObserver, aDelete );
-
- CleanupStack::PushL( self );
- self->iAsyncCallback = new ( ELeave )
- CAsyncCallBack( CActive::EPriorityStandard );
- self->iAsyncCallback->Set( TCallBack( ASyncHandleOpComplete, self ) );
-
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::CVtEngOperation
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngOperation::CVtEngOperation(
- TVtEngCommandId aCommandId,
- CVtEngHandlerContainer& aHandlers,
- MVtEngOperationObserver& aObserver,
- TBool aDelete ) :
- iCommand( aCommandId ),
- iHandlers( aHandlers ),
- iObserver( aObserver ),
- iDelete( aDelete )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::~CVtEngOperation
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngOperation::~CVtEngOperation()
- {
- Cancel();
- delete iAsyncCallback;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::HandleOpCompleteL
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngOperation::HandleOpComplete( const TInt aResult )
- {
- __VTPRINTENTER( "EngOp.HandleOpComplete" )
- iObserver.SetOperation( NULL );
- CVtEngMdtrCommandSender& mediatorSender =
- CVtEngUtility::EngineUtils()->MediatorCommands();
- switch( iCommand )
- {
- case KVtEngTerminateSession:
- // send mediator command to telephony for call release
- mediatorSender.EndCall();
- break;
- case KVtEngMuteOutgoingAudio:
- case KVtEngUnmuteOutgoingAudio:
- // notify telephony subsystems about new microphone state
- mediatorSender.NotifyOutgoingAudioState(
- iCommand == KVtEngUnmuteOutgoingAudio );
- break;
- default:
- break;
- }
-#ifdef VTDEBUG
- TRAPD( err, iObserver.CommandCompleteL( iCommand, aResult ) );
- __VTPRINT2( DEBUG_GEN, "EngOp.Complete err=", err )
-#else
- TRAP_IGNORE( iObserver.CommandCompleteL( iCommand, aResult ) );
-#endif // VTDEBUG
- if ( iDelete )
- {
- delete this;
- }
- __VTPRINTEXITR( "EngOp.HandleOpComplete %d", aResult )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::ASyncHandleOpComplete
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngOperation::ASyncHandleOpComplete( TAny* aPtr )
- {
- __VTPRINTENTER( "EngOp.ASyncHandleOpComplete" )
- CVtEngOperation* self = reinterpret_cast< CVtEngOperation* >( aPtr );
- TInt error( self->iAsyncErr );
- self->iAsyncErr = KErrNone;
- self->HandleOpComplete( error );
- __VTPRINTEXIT( "EngOp.ASyncHandleOpComplete" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::ExecuteL
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngOperation::ExecuteL( TDesC8* aParams )
- {
- __VTPRINTENTER( "EngOp.ExecuteL" )
- TBool complete( EFalse );
-
- // Offer for synchronous handling.
- TRAPD( err, complete = OfferExecuteSyncL( aParams ) );
-#ifdef VTDEBUG
- if ( err < KErrNone )
- {
- __VTPRINT2( DEBUG_GEN, "EngOp.ExecuteL LEAVE = %d", err )
- }
-#endif
- User::LeaveIfError( err );
- if ( !complete )
- {
- // async request
- switch ( iCommand )
- {
- case KVtEngResetEngine:
- case KVtEngInitializeEngine:
- case KVtEngInitializeEngineTest:
- case KVtEngInitializeEngineDiag:
- case KVtEngTerminateSession:
- case KVtEngSwitchToVoice:
- TVtEngEngineInitUtil::HandleL( *this, iHandlers );
- break;
-
- case KVtEngSetSource:
- case KVtEngPrepareCamera:
- case KVtEngStartViewFinder:
- case KVtEngPauseViewFinder:
- case KVtEngStopViewFinder:
- case KVtEngStartRenderRemote:
- case KVtEngStopRenderRemote:
- case KVtEngHandleLayoutChange:
- case KVtEngUnfreeze:
-
- // Media object sharing
- case KVtEngStopShareImage:
- TVtEngRenderUtil::HandleL( *this, iHandlers );
- break;
-
- // Media object sharing
- // These two commands must be trapped and completed without leave
- // because Application UI has to be able to act according to error.
- case KVtEngInitializeShareImage:
- case KVtEngStartShareImage:
- TRAP( err, TVtEngRenderUtil::HandleL( *this, iHandlers ) );
- break;
-
- case KVtEngSetAudioRouting:
- TVtEngAudioRoutingUtil::HandleL( *this );
- break;
-
- case KVtEngSetAudioVolume:
- case KVtEngMuteOutgoingAudio:
- case KVtEngUnmuteOutgoingAudio:
- TVtEngAudioPlaybackUtil::HandleL( *this, iHandlers );
- break;
- default:
- __VTPRINT( DEBUG_GEN, "EngOp.ExecuteL not handled" )
- break;
- }
-
- iObserver.SetOperation( this );
-
- if ( err != KErrNone )
- {
- __VTPRINT2( DEBUG_GEN, "EngOp.ExecuteL completing command %d", err )
- iAsyncErr = err;
- iAsyncCallback->CallBack();
- }
- }
- else if ( iDelete )
- {
- delete this;
- }
- __VTPRINTEXITR( "EngOp.ExecuteL %d", complete )
- return complete;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::Cancel
-// Cancels operation.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngOperation::Cancel()
- {
- __VTPRINTENTER( "EngOp.Cancel")
- __VTPRINT2( DEBUG_GEN, "Command id = %d", iCommand)
- switch ( iCommand )
- {
- case KVtEngInitializeEngine:
- //TVtEngEngineInitUtil::Cancel( *this );
- break;
- case KVtEngInitializeShareImage:
- TVtEngRenderUtil::Cancel( *this ,iHandlers);
- break;
- default:
- break;
- }
- __VTPRINTEXIT( "EngOp.Cancel" )
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::OfferExecuteSyncL
-//
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngOperation::OfferExecuteSyncL( TDesC8* aParams )
- {
- __VTPRINTENTER( "EngOp.OfferExecuteSyncL" )
- TBool complete( EFalse );
- iParams = aParams; // reset back to null in ExecuteL
- // test
-
- switch ( iCommand )
- {
- case KVtEngIncreaseAudioVolume:
- case KVtEngDecreaseAudioVolume:
- TVtEngAudioPlaybackUtil::HandleL( *this, iHandlers );
- complete = ETrue;
- break;
- case KVtEngPrepareViewFinder:
- case KVtEngPrepareViewFinderDSA:
- case KVtEngPrepareViewFinderDP:
- case KVtEngStartViewFinder:
- case KVtEngPauseViewFinder:
- case KVtEngStopViewFinder:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRenderNGA:
- case KVtEngStartRenderRemote:
- case KVtEngStopRenderRemote:
- case KVtEngPauseRenderRemote:
- case KVtEngSetZoomStep:
- case KVtEngFreeze:
- TVtEngViewFinderConfigureUtil::HandleL( *this, iHandlers );
- complete = ETrue;
- break;
- case KVtEngPrepareRemoteRender:
- break;
- case KVtEngStartDtmfTone:
- case KVtEngStopDtmfTone:
- // Handling of different UIIs, support is there
- case KVtEngSetUIIDtmfSupport:
- case KVtEngSetUIIBasicStringSupport:
- case KVtEngSetUIIIA5StringSupport:
- case KVtEngSetUIIGeneralStringSupport:
-
- TVtEngMediaTransportUtil::HandleL( *this, iHandlers );
- complete = ETrue;
- break;
-
- case KVtEngSetUIForeground:
- case KVtEngSetVideoQuality:
- case KVtEngRequestLastRemoteFrame:
- TVtEngRenderUtil::HandleL( *this, iHandlers );
- complete = ETrue;
- break;
-
- // Extension commands
- case KVtEngSetContrast:
- case KVtEngSetBrightness:
- case KVtEngSetWhiteBalance:
- case KVtEngSetColorTone:
-#if defined ( RD_VT_RTF )
- case KVtEngStartRecord:
- case KVtEngStopRecord:
-#endif
- TVtEngExtensionUtil::HandleL( *this );
- complete = ETrue;
- break;
-
- default:
- __VTPRINT( DEBUG_GEN, "EngOp.ExecuteL not handled sync" )
- break;
- }
- __VTPRINTEXITR( "EngOp.OfferExecuteSyncL %d", complete )
- return complete;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Commands/TVtEngOperationUtils.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* Copyright (c) 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: Handler utilities implementation.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "TVtEngOperationUtils.h"
-#include "VtEngPanic.h"
-#include "CVtEngInitializer.h"
-#include "VtEngUtils.h"
-#include "CVtEngOperation.h"
-#include "CVtEngHandlerContainer.h"
-#include "CVtEngMediaHandler.h"
-#include "CVtEngAudioHandler.h"
-#include "CVtEngSessionHandler.h"
-#include "CVtEngStateManager.h"
-#include "CVtEngSettings.h"
-#include "cvtengmdtrcommandsender.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderUtil::HandleL
-// unpacks and handles a rendering command
-//
-// -----------------------------------------------------------------------------
-//
-void TVtEngRenderUtil::HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers )
- {
- CVtEngMediaHandler& media =
- static_cast<CVtEngMediaHandler&>( aHandlers.Media() );
-
- media.HandleL( aOperation );
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngRenderUtil::Cancel
-// cancel the specify pending command
-//
-// -----------------------------------------------------------------------------
-//
-
-void TVtEngRenderUtil::Cancel(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers )
- {
- const TVtEngCommandId id = aOperation.Command();
- __VTPRINTENTER( "TVtEngRenderUtil.Cancel")
- __VTPRINT2( DEBUG_GEN, "Command id = %d", id)
- if ( id == KVtEngInitializeShareImage )
- {
- CVtEngMediaHandler& media =
- static_cast<CVtEngMediaHandler&>( aHandlers.Media() );
-
- media.CancelInitializeShareImage();
- }
- __VTPRINTEXIT( "TVtEngRenderUtil.Cancel")
- }
-// -----------------------------------------------------------------------------
-// TVtEngAudioRoutingUtil::HandleL
-// unpacks and handles audio routing command.
-//
-// -----------------------------------------------------------------------------
-//
-
-void TVtEngAudioRoutingUtil::HandleL(
- CVtEngOperation& aOperation )
- {
- CVtEngUtility::StateManager()->HandleOperationL( aOperation );
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngAudioPlaybackUtil::HandleL
-// unpacks and handles audio playback command.
-//
-// -----------------------------------------------------------------------------
-//
-void TVtEngAudioPlaybackUtil::HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers )
- {
- __VTPRINTENTER( "AudioPlaybackUtil.HandleL" )
- if ( aOperation.Command() == KVtEngSetAudioVolume )
- {
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const TPckgC<MVtEngAudio::TVtEngOutputVolume>& pckg =
- static_cast<const TPckgC<MVtEngAudio::TVtEngOutputVolume>&>
- ( *aOperation.Parameters() );
-
- settings.SetVolume( pckg().iHandsetVolume, pckg().iHandsfreeVolume,
- ETrue );
- }
-
- // All the commands are though passed to handler
- CVtEngMediaHandler& media =
- static_cast<CVtEngMediaHandler&>( aHandlers.Media() );
- __VTPRINT( DEBUG_DETAIL, "TVtEngAudioPlaybackUtil::HandleL:Handler fetched")
-
- media.HandleL( aOperation );
- __VTPRINTEXIT( "AudioPlaybackUtil.HandleL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngMediaTransportUtil::HandleL
-// unpacks and handles media transport command.
-//
-// -----------------------------------------------------------------------------
-//
-void TVtEngMediaTransportUtil::HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers )
- {
- __VTPRINTENTER( "MediaTransportUtil.HandleL" )
- const TVtEngCommandId command( aOperation.Command() );
- if ( command == KVtEngStopDtmfTone ||
- command == KVtEngStartDtmfTone ||
- // DTMF commands
- command == KVtEngSetUIIDtmfSupport ||
- command == KVtEngSetUIIBasicStringSupport ||
- command == KVtEngSetUIIIA5StringSupport ||
- command == KVtEngSetUIIGeneralStringSupport )
- {
- aHandlers.Dtmf().HandleL( aOperation );
- }
-
- __VTPRINTEXIT( "MediaTransportUtil.HandleL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngViewFinderConfigureUtil::HandleL
-// unpacks and handles
-//
-// -----------------------------------------------------------------------------
-//
-void TVtEngViewFinderConfigureUtil::HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& aHandlers )
- {
- CVtEngMediaHandler& media =
- static_cast<CVtEngMediaHandler&>( aHandlers.Media() );
-
- media.HandleL( aOperation );
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngCameraConfigUtil::HandleL
-// unpacks and handles
-//
-// -----------------------------------------------------------------------------
-//
-void TVtEngCameraConfigUtil::HandleL(
- CVtEngOperation& /*aOperation*/,
- CVtEngHandlerContainer& /*aHandlers*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngEngineInitUtil::HandleL
-// Handles engine initialization and uninitialization command.
-//
-// -----------------------------------------------------------------------------
-//
-void TVtEngEngineInitUtil::HandleL(
- CVtEngOperation& aOperation,
- CVtEngHandlerContainer& /* aHandlers */ )
- {
- __VTPRINTENTER( "EngineInitUtil.HandleL" )
- const TVtEngCommandId id = aOperation.Command();
-
- CVtEngInitializer& initializer =
- CVtEngUtility::EngineUtils()->Initializer();
-
- switch ( id )
- {
- case KVtEngInitializeEngine:
- case KVtEngInitializeEngineDiag:
- case KVtEngInitializeEngineTest:
- initializer.InitializeL( aOperation );
- break;
- case KVtEngResetEngine:
- initializer.Uninitialize( aOperation );
- break;
- case KVtEngTerminateSession:
- CVtEngUtility::StateManager()->HandleOperationL( aOperation );
- break;
- case KVtEngSwitchToVoice:
- CVtEngUtility::MediatorCommands().SwitchToVoiceL( aOperation );
- break;
- default:
- Panic( EVtEngPanicIncorrectUtility );
- break;
- }
- __VTPRINTEXIT( "EngineInitUtil.HandleL" )
- }
-
-void TVtEngEngineInitUtil::Cancel( CVtEngOperation& aOperation )
- {
- const TVtEngCommandId id = aOperation.Command();
- if ( id == KVtEngInitializeEngine )
- {
- CVtEngInitializer& initializer =
- CVtEngUtility::EngineUtils()->Initializer();
- initializer.CancelInit();
- }
- }
-
-// -----------------------------------------------------------------------------
-// TVtEngExtensionUtil::HandleL
-// handles extension operations.
-//
-// -----------------------------------------------------------------------------
-//
-void TVtEngExtensionUtil::HandleL(
- CVtEngOperation& aOperation )
- {
- CVtEngUtility::StateManager()->HandleOperationL( aOperation );
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Commands/cvtenginternaloperation.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* 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: Internal operation class implementation
-*
-*/
-
-
-// INCLUDE FILES
-#include "cvtenginternaloperation.h"
-#include "mvtengoperationobserver.h"
-#include "CVtEngStateManager.h"
-#include "TVtEngOperationUtils.h"
-#include "VtEngUtils.h"
-#include "cvtlogger.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngOperation::NewL
-// Symbian two-phase constructor
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngInternalOperation* CVtEngInternalOperation::NewL(
- TVtEngCommandId aCommandId,
- CVtEngHandlerContainer& aHandlers,
- MVtEngOperationObserver& aObserver,
- TBool aDelete )
- {
- __VTPRINTENTER( "CVtEngInternalOperation.NewL<" )
- CVtEngInternalOperation* self = new ( ELeave )
- CVtEngInternalOperation( aCommandId, aHandlers, aObserver, aDelete );
- __VTPRINTEXIT( "CVtEngInternalOperation.NewL>" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInternalOperation::CVtEngInternalOperation
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngInternalOperation::CVtEngInternalOperation(
- TVtEngCommandId aCommandId,
- CVtEngHandlerContainer& aHandlers,
- MVtEngOperationObserver& aObserver,
- TBool aDelete ) : CVtEngOperation( aCommandId, aHandlers, aObserver,
- aDelete )
- {
- __VTPRINTENTER( "CVtEngInternalOperation.CVtEngInternalOperation" )
- __VTPRINTEXIT( "CVtEngInternalOperation.CVtEngInternalOperation" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInternalOperation::~CVtEngInternalOperation
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngInternalOperation::~CVtEngInternalOperation()
- {
- __VTPRINTENTER( "CVtEngInternalOperation.~" )
- __VTPRINTEXIT( "CVtEngInternalOperation.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInternalOperation::HandleOpCompleteL
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngInternalOperation::HandleOpComplete( const TInt aResult )
- {
- __VTPRINTENTER( "CVtEngInternalOperation.HandleOpComplete" )
- #ifdef VTDEBUG
- TRAPD( err, iObserver.CommandCompleteL( iCommand, aResult ) );
- __VTPRINT2( DEBUG_GEN, "EngOp.Complete err=", err )
-#else
- TRAP_IGNORE( iObserver.CommandCompleteL( iCommand, aResult ) );
-#endif // VTDEBUG
- if ( iDelete )
- {
- delete this;
- }
- __VTPRINTEXITR( "CVtEngInternalOperation.HandleOpComplete %d>", aResult )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// CVtEngInternalOperation::ExecuteL
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngInternalOperation::ExecuteL()
- {
- __VTPRINTENTER( "CVtEngInternalOperation.ExecuteL" )
- const CVtEngStateManager* states = CVtEngUtility::StateManager();
- TInt err( KErrNotReady );
- if ( states->IsCommandPossible( iCommand ) )
- {
- err = KErrNone;
- switch ( iCommand )
- {
- case KVtEngTerminateSession:
- TVtEngEngineInitUtil::HandleL( *this, iHandlers );
- break;
- case KVtEngMuteOutgoingAudio:
- case KVtEngUnmuteOutgoingAudio:
- TVtEngAudioPlaybackUtil::HandleL( *this, iHandlers );
- break;
- default:
- __VTPRINT( DEBUG_GEN, "EngOp.ExecuteL not handled" )
- err = KErrNotSupported;
- break;
- }
- }
- User::LeaveIfError( err );
- __VTPRINTEXIT( "CVtEngInternalOperation.ExecuteL" )
- return EFalse;
- }
-
-// End of File
-
--- a/vtengines/videoteleng/Src/Extensions/CVtEngCameraPreferences.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,437 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng Camera Preferences extension
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngCameraPreferences.h"
-#include "VtEngPanic.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "mvtengcamerapreferencesobserver.h"
-
-#include <capivideosource.h>
-#include <cvtlogger.h>
-
-// LOCAL CONSTANTS AND MACROS
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::CVtEngCameraPreferences
-// C++ constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CVtEngCameraPreferences::CVtEngCameraPreferences():
- CVtEngExtensionBase(
- KVtEngExtensionCameraPreferences )
- {
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CVtEngCameraPreferences::ConstructL()
- {
- __VTPRINTENTER( "CVtEngCameraPreferences.ConstructL" )
- __VTPRINTEXIT( "CVtEngCameraPreferences.ConstructL" )
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CVtEngCameraPreferences* CVtEngCameraPreferences::NewL()
- {
- CVtEngCameraPreferences* self = new( ELeave ) CVtEngCameraPreferences;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::~CVtEngCameraPreferences
-// Destructor. Cannot leave.
-// ----------------------------------------------------------------------------
-//
-CVtEngCameraPreferences::~CVtEngCameraPreferences()
- {
- __VTPRINTENTER( "CameraPreferences.~" )
- if ( iObserver )
- {
- iObserver->Detach( *this );
- }
- __VTPRINTEXIT( "CameraPreferences.~" )
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::GetInterface
-//
-// ----------------------------------------------------------------------------
-//
-TAny* CVtEngCameraPreferences::GetInterface()
- {
- __VTPRINTENTER( "CameraPreferences.GetInterface")
- // Cast first as API MVtEngCameraPreferences* class
- // and after that to TAny*
- __VTPRINTEXIT( "CameraPreferences.GetInterface" )
- return reinterpret_cast< TAny* >( ( MVtEngCameraPreferences* ) this );
-
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::HandleL
-//
-// ----------------------------------------------------------------------------
-//
-TBool CVtEngCameraPreferences::HandleL( CVtEngOperation* aOp )
- {
- __VTPRINTENTER( "CameraPreferences.HandleL" )
- const TVtEngCommandId id( aOp->Command() );
- __VTPRINT2( DEBUG_GEN, "CVtEngCameraPreferences.HandleL CMD ID[%d] ", id )
-
- // Check provider
- if ( iProvider == NULL )
- {
- __VTPRINTEXITR( "CVtEngCameraPreferences.HandleL iProvider [%d]",
- ( TInt )iProvider )
- User::Leave( KErrNotReady );
- }
- // Check which command and call
- // active provider with operation params
- switch ( id )
- {
- case KVtEngSetContrast:
- {
- TInt contrast = 0;
- TVtEngOpParamUtil< TInt >::Set( contrast, *aOp );
- iProvider->SetContrastL( contrast );
- if ( iObserver )
- {
- iObserver->ContrastUpdated( contrast );
- }
- break;
- }
- case KVtEngSetBrightness:
- {
- TInt brightness = 0;
- TVtEngOpParamUtil< TInt >::Set( brightness, *aOp );
- iProvider->SetBrightnessL( brightness );
- if ( iObserver )
- {
- iObserver->BrightnessUpdated( brightness );
- }
- break;
- }
- case KVtEngSetWhiteBalance:
- {
- CCamera::TWhiteBalance whitebalance = CCamera::EWBAuto;
- TVtEngOpParamUtil< CCamera::TWhiteBalance >::Set( whitebalance,
- *aOp );
- iProvider->SetWhiteBalanceL( whitebalance );
- if ( iObserver )
- {
- iObserver->WhiteBalanceUpdated( TWhiteBalance( whitebalance ) );
- }
- break;
- }
- case KVtEngSetColorTone:
- {
- CCamera::CCameraImageProcessing::TEffect colortone =
- CCamera::CCameraImageProcessing::EEffectNone;
- TVtEngOpParamUtil< CCamera::CCameraImageProcessing::TEffect >::Set(
- colortone, *aOp );
- iProvider->SetColorToneL( colortone );
- if ( iObserver )
- {
- iObserver->ColorToneUpdated( TColorTone( colortone ) );
- }
- break;
- }
- //Not supported command
- default:
- __VTPRINTEXITR(
- "CVtEngCameraPreferences.HandleL NOT SUPPORTED CMD[%d]", id )
- return EFalse;
- }
- __VTPRINTEXIT( "CameraPreferences.HandleL" )
- return ETrue;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::ValidateCommand
-//
-// ----------------------------------------------------------------------------
-
-TBool CVtEngCameraPreferences::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINTENTER( "CameraPreferences.ValidateCommand" )
- // Check provider
- if ( iProvider == NULL )
- {
- __VTPRINTEXITR(
- "CVtEngCameraPreferences.ValidateCommand iProvider [%d]",
- ( TInt ) iProvider)
- return EFalse;
- }
- // Take provider info is needed down below
- TVSDataProviderInfo info;
- iProvider->ProviderInfo( info );
-
- // local or hw support
- // set as False
- TBool hworlocalsupport = EFalse;
-
- // Check which command and check if
- // if provider and local variation supports
- __VTPRINT2( DEBUG_GEN,
- "CVtEngCameraPreferences.ValidateCommand CMD ID[%d] ", aCommandId )
- switch ( aCommandId )
- {
- case KVtEngSetContrast:
- {
- if ( info.iOptionsSupported & TCameraInfo::EContrastSupported )
- {
- hworlocalsupport = ETrue;
- }
- break;
- }
- case KVtEngSetBrightness:
- {
- if ( info.iOptionsSupported & TCameraInfo::EBrightnessSupported )
- {
- hworlocalsupport = ETrue;
- }
- break;
- }
- case KVtEngSetWhiteBalance:
- {
- if ( info.iWhiteBalanceModesSupported != CCamera::EWBAuto )
- {
- hworlocalsupport = ETrue;
- }
- break;
- }
- case KVtEngSetColorTone:
- {
- if ( info.iSupportedColorTones !=
- CCamera::CCameraImageProcessing::EEffectNone )
- {
- hworlocalsupport = ETrue;
- }
- break;
- }
- // Not supported command
- default:
- {
- __VTPRINT2( DEBUG_GEN,
- "CVtEngCameraPreferences.ValidateCommand NOT SUPPORTED CMD[%d]",
- aCommandId)
- hworlocalsupport = EFalse;
- }
- }
- __VTPRINTEXITR( "CVtEngCameraPreferences.ValidateCommand return value[%d]",
- hworlocalsupport)
- return hworlocalsupport;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::GetColorTone
-//
-// ----------------------------------------------------------------------------
-//
-TInt CVtEngCameraPreferences::GetColorTone(
- MVtEngCameraPreferences::TColorTone& aColortone ) const
- {
- __VTPRINTENTER( "CameraPreferences.GetColorTone" )
- if ( iProvider == NULL )
- {
- __VTPRINTEXITR( "CVtEngCameraPreferences.GetColorTone iProvider[%d]",
- ( TInt )iProvider)
- return KErrNotReady;
- }
- TInt error;
- CCamera::CCameraImageProcessing::TEffect colortone;
- error = iProvider->GetColorTone( colortone );
- aColortone = ( MVtEngCameraPreferences::TColorTone ) colortone;
- __VTPRINTEXITR( "CameraPreferences.GetColorTone error [%d]",error )
- return error;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::GetSupportedColorTones
-//
-// ----------------------------------------------------------------------------
-//
-TInt CVtEngCameraPreferences::GetSupportedColorTones(
- TUint32& aSupportedColorTones ) const
- {
- __VTPRINTENTER( "CameraPreferences.GetSupportedColorTones" )
- if ( iProvider == NULL )
- {
- __VTPRINTEXITR(
- "CVtEngCameraPreferences.GetSupportedColorTones iProvider[%d]",
- ( TInt )iProvider)
- return KErrNotReady;
- }
-
- TVSDataProviderInfo info;
- iProvider->ProviderInfo( info );
- aSupportedColorTones = info.iSupportedColorTones;
- __VTPRINTEXITR( "CameraPreferences.GetSupportedColorTones [%b]",
- info.iSupportedColorTones)
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::GetWhiteBalance
-//
-// ----------------------------------------------------------------------------
-//
-TInt CVtEngCameraPreferences::GetWhiteBalance(
- MVtEngCameraPreferences::TWhiteBalance& aWhiteBalance ) const
- {
- __VTPRINTENTER( "CameraPreferences.GetWhiteBalance" )
- if ( iProvider == NULL )
- {
- __VTPRINTEXITR(
- "CVtEngCameraPreferences.GetWhiteBalance iProvider [%d]",
- ( TInt )iProvider )
- return KErrNotReady;
- }
- TInt error;
- CCamera::TWhiteBalance whitebalance;
- error = iProvider->GetWhiteBalance( whitebalance );
- aWhiteBalance = (MVtEngCameraPreferences::TWhiteBalance) whitebalance;
- __VTPRINTEXITR( "CameraPreferences.GetWhiteBalance error [%d]",error )
- return error;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::GetSupportedWhiteBalanceModes
-//
-// ----------------------------------------------------------------------------
-//
-TInt CVtEngCameraPreferences::GetSupportedWhiteBalanceModes(
- TUint32& aWhiteBalance ) const
- {
- __VTPRINTENTER( "CameraPreferences.GetSupportedWhiteBalanceModes" )
- if ( iProvider == NULL )
- {
- __VTPRINTEXITR(
- "CVtEngCameraPreferences.GetSupportedWhiteBalanceModes iProvider [%d]",
- ( TInt )iProvider)
- return KErrNotReady;
- }
-
- TVSDataProviderInfo info;
- iProvider->ProviderInfo( info );
- aWhiteBalance = info.iWhiteBalanceModesSupported;
- __VTPRINTEXITR( "CameraPreferences.GetSupportedWhiteBalanceModes [%b]",
- info.iWhiteBalanceModesSupported)
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::GetBrightness
-//
-// ----------------------------------------------------------------------------
-//
-TInt CVtEngCameraPreferences::GetBrightness( TInt& aBrightness ) const
- {
- __VTPRINTENTER( "CameraPreferences.GetBrightness" )
- if ( iProvider == NULL )
- {
- __VTPRINTEXITR( "CVtEngCameraPreferences.GetBrightness iProvider [%d]",
- ( TInt )iProvider)
-
- return KErrNotReady;
- }
- TInt error;
- error = iProvider->GetBrightness( aBrightness );
- __VTPRINTEXITR( "CameraPreferences.GetBrightness error [%d]",error )
- return error;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::GetContrast
-//
-// ----------------------------------------------------------------------------
-//
-TInt CVtEngCameraPreferences::GetContrast( TInt& aContrast ) const
- {
- __VTPRINTENTER( "CameraPreferences.GetContrast" )
- if ( iProvider == NULL )
- {
- __VTPRINTEXITR( "CVtEngCameraPreferences.GetContrast iProvider [%d]",
- ( TInt )iProvider)
- return KErrNotReady;
- }
- TInt error;
- error = iProvider->GetContrast( aContrast );
- __VTPRINTEXITR( "CameraPreferences.GetContrast error [%d]",error )
-
- return error;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::SetProvider
-//
-// ----------------------------------------------------------------------------
-//
-void CVtEngCameraPreferences::SetProvider( CVSDataProvider* aProvider,
- MVtEngCameraPreferencesObserver& aObserver )
- {
- __VTPRINTENTER( "CameraPreferences.SetProvider" )
- if ( iObserver )
- {
- iObserver->Detach( *this );
- iObserver = NULL;
- }
- iProvider = aProvider;
- iObserver = &aObserver;
- if ( iObserver )
- {
- iObserver->Attach( *this );
- }
- __VTPRINTEXIT( "CameraPreferences.SetProvider" )
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngCameraPreferences::Detach
-//
-// ----------------------------------------------------------------------------
-//
-void CVtEngCameraPreferences::Detach( MVtEngCameraPreferencesObserver&
- aObserver )
- {
- __VTPRINTENTER( "CameraPreferences.Detach" )
- if ( iObserver == &aObserver )
- {
- iObserver = NULL;
- }
- __VTPRINTEXITR( "CameraPreferences.Detach $%x", TInt( iObserver ) )
- }
-
-
-
-// End of File
--- a/vtengines/videoteleng/Src/Extensions/CVtEngExtensionBase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng extension base class
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngExtensionBase.h"
-
-// LOCAL CONSTANTS AND MACROS
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CVtEngExtensionBase::CVtEngExtensionBase
-// C++ constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CVtEngExtensionBase::CVtEngExtensionBase( TUid aExtensionUid ):
- iExtensionUid( aExtensionUid )
- {
- }
-// ----------------------------------------------------------------------------
-// CVtEngExtensionBase::Uid
-//
-//
-// ----------------------------------------------------------------------------
-//
-const TUid& CVtEngExtensionBase::Uid() const
- {
- return iExtensionUid;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Extensions/CVtEngExtensions.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng API extension configuration
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngExtensions.h"
-#include "VtEngPanic.h"
-#include "VtEngUtils.h"
-
-#include "CVtEngOperation.h"
-#include "CVtEngMediaHandler.h"
-#include "CVtEngCameraPreferences.h"
-#include "cvtengrecord2file.h"
-
-#include <cvtlogger.h>
-
-// LOCAL CONSTANTS AND MACROS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::CVtEngExtensions
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngExtensions::CVtEngExtensions():
- iExtensionArray( KExtensionGranularity )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngExtensions::ConstructL()
- {
- __VTPRINTENTER( "Extensions.ConstructL" )
- __VTPRINTEXIT( "Extensions.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngExtensions* CVtEngExtensions::NewL()
- {
- CVtEngExtensions* self = new( ELeave ) CVtEngExtensions;
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::~CVtEngExtensions
-// Destructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngExtensions::~CVtEngExtensions()
- {
- __VTPRINTENTER( "Extensions.~" )
- // Clean and destroy pointer array
- iExtensionArray.ResetAndDestroy();
- __VTPRINTEXIT( "Extensions.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::CreateExtensions
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngExtensionBase* CVtEngExtensions::CreateExtensionsL( const TUid& aUid,
- CVtEngMediaHandler& aHandler)
- {
- __VTPRINTENTER( "Extensions.CreateExtensions" )
-
- // init local variables
- TInt error = KErrNotSupported;
- CVtEngExtensionBase* extension = NULL;
-
- // Check if supported UID
- if ( aUid == KVtEngExtensionCameraPreferences ||
- aUid == KVtEngExtensionRecord2File )
- {
- // Create extension
- extension = aHandler.CreateExtensionsL( aUid );
-
- // Push it to clean up stack because
- // it needs to be append in to
- // array and it can be failed
- CleanupStack::PushL( extension );
-
- // append extension in to array
- error = iExtensionArray.Append(extension);
- if ( error != KErrNone )
- {
- // if append fails
- // clear clean up stack and leave
- __VTPRINTEXITR(
- "Extensions.CreateExtensions iExtension.Append failed %d",
- error )
- CleanupStack::PopAndDestroy();
- User::Leave( error );
- }
- // append succesful
- // pop extension from clena up stack and return
- __VTPRINTEXITR(
- "Extensions.CreateExtensions iExtension UID[%d] succesfully Appended",
- aUid.iUid)
- CleanupStack::Pop();
- return extension;
- }
- // not supported UID
- // leave with error
- else
- {
- __VTPRINTEXITR(
- "Extensions.CreateExtensions Extension NOTSUPPORTED UID%d",
- aUid.iUid )
- User::Leave( error );
- return extension;
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::GetClientInterface
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngExtensions::GetClientInterface( TAny** aInterfacePtr,
- const TUid& aUid , CVtEngMediaHandler& aHandler)
- {
- __VTPRINTENTER( "Extensions.GetClientInterface" )
- // if aInterfacePtr pointer is NULL -> panic
- __ASSERT_ALWAYS( aInterfacePtr,Panic( EVtEngPanicInvalidPointer ) );
-
- // init local variables
- CVtEngExtensionBase* extension = NULL;
- TInt error = KErrGeneral;
-
- // initialize IF pointer to be NULL
- // if correct extension API IF is found
- // then changed to valid pointer
- *aInterfacePtr = NULL;
-
- // Check if extension is allready in pointer array
- TInt index = LookupExtensions( aUid );
- if ( index != KErrNotFound )
- {
- *aInterfacePtr = iExtensionArray[index]->GetInterface();
- __VTPRINTEXITR( "Extensions.GetClientInterface error [%d]", KErrNone )
- return KErrNone;
- }
- // Create extension
- else
- {
- TRAP( error, extension = CreateExtensionsL( aUid, aHandler ) );
- if ( extension && error == KErrNone )
- {
- *aInterfacePtr = extension->GetInterface();
- error = KErrNone;
- }
- __VTPRINTEXITR( "Extensions.GetClientInterface error [%d]", error )
- return error;
- }
- }
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::LookupExtensions
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngExtensions::LookupExtensions( const TUid& aUid) const
- {
- __VTPRINTENTER( "Extensions.LookupExtensions" )
- TInt index( iExtensionArray.Count() );
-
- // Loop whole extension array
- while( index-- )
- {
- // If matches in one of arrays UIDs
- if( aUid == iExtensionArray[index]->Uid() )
- {
- __VTPRINTEXITR( "Extensions.LookupExtensions index [%d]", index)
- return index;
- }
- }
- __VTPRINTEXITR("Extensions.LookupExtensions Not Found index [%d]",
- KErrNotFound)
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::OfferOperationL
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngExtensions::OfferOperationL( CVtEngOperation* aOp )
- {
- __VTPRINTENTER( "Extensions.OfferOperationL" )
-
- TInt index( iExtensionArray.Count() );
-
- // Format cmdComleted as false
- TBool cmdCompleted = EFalse;
- // Offer operation to all extension in array
- while( index-- )
- {
- // If valid extension found
- if ( iExtensionArray[index]->HandleL( aOp ) )
- {
- cmdCompleted = ETrue;
- break;
- }
- }
- __VTPRINTEXITR( "Extensions.OfferOperationL cmdCompleted [%d]",
- cmdCompleted)
- return cmdCompleted;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngExtensions::ValidateCommand
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngExtensions::ValidateCommand( const TVtEngCommandId aCommandId )
- {
- __VTPRINTENTER( "Extensions.ValidateCommand" )
- TInt index( iExtensionArray.Count() );
-
- // Format oKToPerform as false
- TBool oKToPerform = EFalse;
- // Try validate command in all extensions in array
- while( index-- )
- {
- // If valid extension found
- if ( iExtensionArray[index]->ValidateCommand( aCommandId ) )
- {
- oKToPerform = ETrue;
- break;
- }
- }
- __VTPRINTEXITR( "Extensions.ValidateCommand oKToPerform [%d]",
- oKToPerform)
- return oKToPerform;
- }
-
-// End of File
-
--- a/vtengines/videoteleng/Src/Extensions/cvtengr2ftoneplayer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* Copyright (c) 2003, 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: Plays snap, self-timer and video start/stop sounds.
-*
-*/
-
-
-// INCLUDES
-#include <videotelui.rsg>
-
-#include <avkon.rsg>
-
-#include <AudioPreference.h>
-#include <StringLoader.h>
-
-#include <CVtLogger.h>
-
-#include "cvtengr2ftoneplayer.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ----------------------------------------------------------
-// CVtEngR2FTonePlayer::CVtEngR2FTonePlayer
-// C++ constructor
-// ----------------------------------------------------------
-//
-CVtEngR2FTonePlayer::CVtEngR2FTonePlayer()
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtEngR2FTonePlayer::NewL
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------------------------
-//
-CVtEngR2FTonePlayer* CVtEngR2FTonePlayer::NewL()
- {
- CVtEngR2FTonePlayer* self = new ( ELeave ) CVtEngR2FTonePlayer();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-
-// ----------------------------------------------------------
-// CVtEngR2FTonePlayer::ConstructL
-// Symbian OS 2nd phase constructor
-// ----------------------------------------------------------
-//
-void CVtEngR2FTonePlayer::ConstructL()
- {
- __VTPRINTENTER( "CVtEngR2FTonePlayer.ConstructL" )
- iAudioPlayer = CMdaAudioPlayerUtility::NewL( *this,
- KAudioPriorityVideoRecording,
- TMdaPriorityPreference( KAudioPrefCamera ) );
-
- iVideoStartSound = StringLoader::LoadL( R_VIDEOTELUI_VIDEO_RECORD_START_SOUND_PATH );
- iVideoStopSound = StringLoader::LoadL( R_VIDEOTELUI_VIDEO_RECORD_STOP_SOUND_PATH );
- iSoundInProgress = EFalse;
- iOpenFileInProgress = EFalse;
- __VTPRINTEXIT( "CVtEngR2FTonePlayer.ConstructL" )
- }
-
-
-// Destructor.
-CVtEngR2FTonePlayer::~CVtEngR2FTonePlayer()
- {
- if ( iAudioPlayer )
- {
- iAudioPlayer->Close();
- delete iAudioPlayer;
- }
-
- delete iVideoStartSound;
- delete iVideoStopSound;
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtEngR2FTonePlayer::PlaySound
-// Play a sound with given id.
-// ---------------------------------------------------------------------------
-//
-TInt CVtEngR2FTonePlayer::PlaySound( TInt aSound )
- {
- __VTPRINTENTER( "CVtEngR2FTonePlayer.PlaySound" )
- TInt err = KErrNone;
- iAudioPlayer->Stop();
- iAudioPlayer->Close();
-
- switch ( aSound )
- {
- case EVtR2FVideoStartSoundId:
- case EVtR2FVideoStopSoundId:
- {
- __VTPRINT( DEBUG_GEN,"CVtEngR2FTonePlayer.PlaySound() user sound" )
-
- // Set correct sound file
- TPtrC soundFile = *iVideoStartSound;
- if ( aSound == EVtR2FVideoStopSoundId )
- {
- soundFile.Set( *iVideoStopSound );
- }
-
- // Video recording start sound using MMF
- if ( !iOpenFileInProgress && !iSoundInProgress )
- {
- TRAP( err, iAudioPlayer->OpenFileL( soundFile ) );
- if ( !err )
- {
- __VTPRINT( DEBUG_GEN,"CVtEngR2FTonePlayer.PlaySound() open now in progress" )
- iOpenFileInProgress = ETrue;
- }
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "CVtEngR2FTonePlayer.PlaySound() err, in use" )
- // The last OpenFileL call still hasnt completed.
- // Cannot start playing a new file.
- err = KErrInUse;
- }
- break;
- }
-
- default:
- {
- // Other sounds are not supported
- err = KErrArgument;
- break;
- }
- }
- __VTPRINTEXIT( "CVtEngR2FTonePlayer.PlaySound" )
- return err;
- }
-
-// ---------------------------------------------------------------------------
-// CVtEngR2FTonePlayer::Stop
-// Stop any ongoing sound.
-// ---------------------------------------------------------------------------
-//
-void CVtEngR2FTonePlayer::StopSound()
- {
- __VTPRINTENTER( "CVtEngR2FTonePlayer.StopSound" )
-
- iAudioPlayer->Stop();
- iAudioPlayer->Close();
-
- __VTPRINTEXIT( "CVtEngR2FTonePlayer.StopSound" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtEngR2FTonePlayer::MapcInitComplete
-// CMdaAudioPlayerUtility initialization complete
-// ---------------------------------------------------------------------------
-//
-void CVtEngR2FTonePlayer::MapcInitComplete(
- TInt aError, const TTimeIntervalMicroSeconds& aDuration )
- {
- __VTPRINTENTER( "CVtEngR2FTonePlayer.MapcInitComplete" )
- __VTPRINT3( DEBUG_GEN, "CVtEngR2FTonePlayer.MapcInitComplete(%d, %d) ",
- aError, I64INT( aDuration.Int64()) )
-
- (void) aDuration;
-
- iOpenFileInProgress = EFalse;
-
- // If tone can be played
- if ( !aError )
- {
- __VTPRINT( DEBUG_GEN, "CVtEngR2FTonePlayer.MapcInitComplete() play" )
- iSoundInProgress = ETrue;
- iAudioPlayer->Play();
- }
- // error occured during tone player init
- else
- {
- __VTPRINT( DEBUG_GEN,"CVtEngR2FTonePlayer.MapcInitComplete() error" )
- }
- __VTPRINTEXIT( "CVtEngR2FTonePlayer.MapcInitComplete" )
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtEngR2FTonePlayer::MapcPlayComplete
-// Playback complete, notify observer
-// ---------------------------------------------------------------------------
-//
-void CVtEngR2FTonePlayer::MapcPlayComplete( TInt aError )
- {
- __VTPRINTENTER( "CVtEngR2FTonePlayer.MapcPlayComplete" )
- __VTPRINT2( DEBUG_GEN, "CVtEngR2FTonePlayer.MapcPlayComplete(%d)", aError)
-
- (void) aError;
-
- iSoundInProgress = EFalse;
- __VTPRINTEXIT( "CVtEngR2FTonePlayer.MapcPlayComplete" )
- }
-
-
-// End of File
--- a/vtengines/videoteleng/Src/Extensions/cvtengrecord2file.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-/*
-* Copyright (c) 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: Videoteleng Record to file extension
-*
-*/
-
-
-// INCLUDE FILES
-#include "cvtengrecord2file.h"
-#include "VtEngPanic.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "cvtengr2ftoneplayer.h"
-
-#include <CVtLogger.h>
-
-// LOCAL CONSTANTS AND MACROS
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CVtEngRecord2File::CVtEngRecord2File
-// C++ constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CVtEngRecord2File::CVtEngRecord2File():
- CVtEngExtensionBase(
- KVtEngExtensionRecord2File )
- {
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngRecord2File::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CVtEngRecord2File::ConstructL()
- {
- __VTPRINTENTER( "CVtEngRecord2File.ConstructL" )
-
- iTonePlayer = CVtEngR2FTonePlayer::NewL();
- __VTPRINTEXIT( "CVtEngRecord2File.ConstructL" )
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngRecord2File::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CVtEngRecord2File* CVtEngRecord2File::NewL()
- {
- CVtEngRecord2File* self = new( ELeave ) CVtEngRecord2File;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngRecord2File::~CVtEngRecord2File
-// Destructor. Cannot leave.
-// ----------------------------------------------------------------------------
-//
-CVtEngRecord2File::~CVtEngRecord2File()
- {
-
- __VTPRINTENTER( "CVtEngRecord2File.~" )
- if ( iTonePlayer )
- {
- iTonePlayer->StopSound();
- delete iTonePlayer;
- }
- __VTPRINTEXIT( "CVtEngRecord2File.~" )
- }
-// ----------------------------------------------------------------------------
-// CVtEngRecord2File::GetInterface
-//
-// ----------------------------------------------------------------------------
-//
-TAny* CVtEngRecord2File::GetInterface()
- {
- __VTPRINTENTER( "CVtEngRecord2File.GetInterface")
- // Cast first as API MVtEngRecord2File* class
- // and after that to TAny*
- __VTPRINTEXIT( "CVtEngRecord2File.GetInterface" )
- return reinterpret_cast< TAny* >( ( MVtEngRecord2File* ) this );
-
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngRecord2File::HandleL
-//
-// ----------------------------------------------------------------------------
-//
-TBool CVtEngRecord2File::HandleL( CVtEngOperation* aOp )
- {
- __VTPRINTENTER( "CVtEngRecord2File.HandleL" )
- const TVtEngCommandId id( aOp->Command() );
- __VTPRINT2( DEBUG_GEN, "CVtEngRecord2File.HandleL CMD ID[%d] ", id )
-
- // Check which command and call
- // active provider with operation params
- switch ( id )
- {
- case KVtEngStartRecord:
- {
-
- iTonePlayer->PlaySound( CVtEngR2FTonePlayer::EVtR2FVideoStartSoundId );
- break;
- }
- case KVtEngStopRecord:
- {
-
- iTonePlayer->PlaySound( CVtEngR2FTonePlayer::EVtR2FVideoStopSoundId );
- break;
- }
- //Not supported command
- default:
- __VTPRINTEXITR(
- "CVtEngRecord2File.HandleL NOT SUPPORTED CMD[%d]", id )
- return EFalse;
- }
- __VTPRINTEXIT( "CVtEngRecord2File.HandleL" )
- return ETrue;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngRecord2File::ValidateCommand
-//
-// ----------------------------------------------------------------------------
-
-TBool CVtEngRecord2File::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINTENTER( "CVtEngRecord2File.ValidateCommand" )
-
- // local or hw support
- // set as False
- TBool support = EFalse;
-
- // Check which command and check if
- // if provider and local variation supports
- __VTPRINT2( DEBUG_GEN,
- "CVtEngRecord2File.ValidateCommand CMD ID[%d] ", aCommandId )
- switch ( aCommandId )
- {
- case KVtEngStartRecord:
- {
- support = ETrue;
- break;
- }
-
- case KVtEngStopRecord:
- {
- support = ETrue;
- break;
- }
- // Not supported command
- default:
- {
- __VTPRINT2( DEBUG_GEN,
- "CVtEngRecord2File.ValidateCommand NOT SUPPORTED CMD[%d]",
- aCommandId)
- support = EFalse;
- }
- }
- __VTPRINTEXITR( "CVtEngRecord2File.ValidateCommand return value[%d]",
- support)
- return support;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngRecord2File::IsTonePlaySupported
-// FOR TESTING PURPOSES REMOVE!
-// ----------------------------------------------------------------------------
-
-TInt CVtEngRecord2File::IsTonePlaySupported( TBool& aSupported) const
- {
- if (iTonePlayer)
- {
- aSupported = ETrue;
- }
- else
- {
- aSupported = EFalse;
- }
- __VTPRINT2( DEBUG_GEN, "CVtEngRecord2File.IsTonePlaySupported bool[%d] ", (TInt)aSupported )
- return KErrNone;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Media/CVtEngDrawDP.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2026 +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: Remote video handler.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "CVtEngDrawDP.h"
-#include "CVtEngEventManager.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "MVtEngFrameObserver.h"
-#include <videotelephonyvariant.hrh>
-#include <tdisplaysinkparamsdp.h>
-#include <cvtlogger.h>
-#include <posting_surface_factory.h>
-
-#include <cvtimagebitmap.h>
-
-// LOCAL CONSTANTS AND MACROS
-
-// YCbCr conversion constants
-
-// Luma
-static const TUint32 KYLut[ 256 ] =
- {
- 0x00000000, 0x00400801, 0x00801002, 0x00C01803,
- 0x01002004, 0x01402805, 0x01803006, 0x01C03807,
- 0x02004008, 0x02404809, 0x0280500A, 0x02C0580B,
- 0x0300600C, 0x0340680D, 0x0380700E, 0x03C0780F,
- 0x04008010, 0x04408811, 0x04809012, 0x04C09813,
- 0x0500A014, 0x0540A815, 0x0580B016, 0x05C0B817,
- 0x0600C018, 0x0640C819, 0x0680D01A, 0x06C0D81B,
- 0x0700E01C, 0x0740E81D, 0x0780F01E, 0x07C0F81F,
- 0x08010020, 0x08410821, 0x08811022, 0x08C11823,
- 0x09012024, 0x09412825, 0x09813026, 0x09C13827,
- 0x0A014028, 0x0A414829, 0x0A81502A, 0x0AC1582B,
- 0x0B01602C, 0x0B41682D, 0x0B81702E, 0x0BC1782F,
- 0x0C018030, 0x0C418831, 0x0C819032, 0x0CC19833,
- 0x0D01A034, 0x0D41A835, 0x0D81B036, 0x0DC1B837,
- 0x0E01C038, 0x0E41C839, 0x0E81D03A, 0x0EC1D83B,
- 0x0F01E03C, 0x0F41E83D, 0x0F81F03E, 0x0FC1F83F,
- 0x10020040, 0x10420841, 0x10821042, 0x10C21843,
- 0x11022044, 0x11422845, 0x11823046, 0x11C23847,
- 0x12024048, 0x12424849, 0x1282504A, 0x12C2584B,
- 0x1302604C, 0x1342684D, 0x1382704E, 0x13C2784F,
- 0x14028050, 0x14428851, 0x14829052, 0x14C29853,
- 0x1502A054, 0x1542A855, 0x1582B056, 0x15C2B857,
- 0x1602C058, 0x1642C859, 0x1682D05A, 0x16C2D85B,
- 0x1702E05C, 0x1742E85D, 0x1782F05E, 0x17C2F85F,
- 0x18030060, 0x18430861, 0x18831062, 0x18C31863,
- 0x19032064, 0x19432865, 0x19833066, 0x19C33867,
- 0x1A034068, 0x1A434869, 0x1A83506A, 0x1AC3586B,
- 0x1B03606C, 0x1B43686D, 0x1B83706E, 0x1BC3786F,
- 0x1C038070, 0x1C438871, 0x1C839072, 0x1CC39873,
- 0x1D03A074, 0x1D43A875, 0x1D83B076, 0x1DC3B877,
- 0x1E03C078, 0x1E43C879, 0x1E83D07A, 0x1EC3D87B,
- 0x1F03E07C, 0x1F43E87D, 0x1F83F07E, 0x1FC3F87F,
- 0x20040080, 0x20440881, 0x20841082, 0x20C41883,
- 0x21042084, 0x21442885, 0x21843086, 0x21C43887,
- 0x22044088, 0x22444889, 0x2284508A, 0x22C4588B,
- 0x2304608C, 0x2344688D, 0x2384708E, 0x23C4788F,
- 0x24048090, 0x24448891, 0x24849092, 0x24C49893,
- 0x2504A094, 0x2544A895, 0x2584B096, 0x25C4B897,
- 0x2604C098, 0x2644C899, 0x2684D09A, 0x26C4D89B,
- 0x2704E09C, 0x2744E89D, 0x2784F09E, 0x27C4F89F,
- 0x280500A0, 0x284508A1, 0x288510A2, 0x28C518A3,
- 0x290520A4, 0x294528A5, 0x298530A6, 0x29C538A7,
- 0x2A0540A8, 0x2A4548A9, 0x2A8550AA, 0x2AC558AB,
- 0x2B0560AC, 0x2B4568AD, 0x2B8570AE, 0x2BC578AF,
- 0x2C0580B0, 0x2C4588B1, 0x2C8590B2, 0x2CC598B3,
- 0x2D05A0B4, 0x2D45A8B5, 0x2D85B0B6, 0x2DC5B8B7,
- 0x2E05C0B8, 0x2E45C8B9, 0x2E85D0BA, 0x2EC5D8BB,
- 0x2F05E0BC, 0x2F45E8BD, 0x2F85F0BE, 0x2FC5F8BF,
- 0x300600C0, 0x304608C1, 0x308610C2, 0x30C618C3,
- 0x310620C4, 0x314628C5, 0x318630C6, 0x31C638C7,
- 0x320640C8, 0x324648C9, 0x328650CA, 0x32C658CB,
- 0x330660CC, 0x334668CD, 0x338670CE, 0x33C678CF,
- 0x340680D0, 0x344688D1, 0x348690D2, 0x34C698D3,
- 0x3506A0D4, 0x3546A8D5, 0x3586B0D6, 0x35C6B8D7,
- 0x3606C0D8, 0x3646C8D9, 0x3686D0DA, 0x36C6D8DB,
- 0x3706E0DC, 0x3746E8DD, 0x3786F0DE, 0x37C6F8DF,
- 0x380700E0, 0x384708E1, 0x388710E2, 0x38C718E3,
- 0x390720E4, 0x394728E5, 0x398730E6, 0x39C738E7,
- 0x3A0740E8, 0x3A4748E9, 0x3A8750EA, 0x3AC758EB,
- 0x3B0760EC, 0x3B4768ED, 0x3B8770EE, 0x3BC778EF,
- 0x3C0780F0, 0x3C4788F1, 0x3C8790F2, 0x3CC798F3,
- 0x3D07A0F4, 0x3D47A8F5, 0x3D87B0F6, 0x3DC7B8F7,
- 0x3E07C0F8, 0x3E47C8F9, 0x3E87D0FA, 0x3EC7D8FB,
- 0x3F07E0FC, 0x3F47E8FD, 0x3F87F0FE, 0x3FC7F8FF
- };
-
-// Chroma1 (Cb)
-static const TUint32 KCbLut[ 256 ] =
- {
- 0x0001531C, 0x00014B1E, 0x00014B20, 0x00014B22,
- 0x00014324, 0x00014325, 0x00014327, 0x00013B29,
- 0x00013B2B, 0x00013B2D, 0x0001332E, 0x00013330,
- 0x00013332, 0x00012B34, 0x00012B35, 0x00012B37,
- 0x00012339, 0x0001233B, 0x0001233D, 0x00011B3E,
- 0x00011B40, 0x00011B42, 0x00011344, 0x00011345,
- 0x00011347, 0x00010B49, 0x00010B4B, 0x00010B4D,
- 0x0001034E, 0x00010350, 0x00010352, 0x0000FB54,
- 0x0000FB55, 0x0000FB57, 0x0000F359, 0x0000F35B,
- 0x0000F35D, 0x0000EB5E, 0x0000EB60, 0x0000EB62,
- 0x0000E364, 0x0000E366, 0x0000E367, 0x0000DB69,
- 0x0000DB6B, 0x0000DB6D, 0x0000D36E, 0x0000D370,
- 0x0000D372, 0x0000CB74, 0x0000CB76, 0x0000CB77,
- 0x0000C379, 0x0000C37B, 0x0000C37D, 0x0000BB7E,
- 0x0000BB80, 0x0000BB82, 0x0000B384, 0x0000B386,
- 0x0000B387, 0x0000AB89, 0x0000AB8B, 0x0000AB8D,
- 0x0000AB8E, 0x0000A390, 0x0000A392, 0x0000A394,
- 0x00009B96, 0x00009B97, 0x00009B99, 0x0000939B,
- 0x0000939D, 0x0000939F, 0x00008BA0, 0x00008BA2,
- 0x00008BA4, 0x000083A6, 0x000083A7, 0x000083A9,
- 0x00007BAB, 0x00007BAD, 0x00007BAF, 0x000073B0,
- 0x000073B2, 0x000073B4, 0x00006BB6, 0x00006BB7,
- 0x00006BB9, 0x000063BB, 0x000063BD, 0x000063BF,
- 0x00005BC0, 0x00005BC2, 0x00005BC4, 0x000053C6,
- 0x000053C7, 0x000053C9, 0x00004BCB, 0x00004BCD,
- 0x00004BCF, 0x000043D0, 0x000043D2, 0x000043D4,
- 0x00003BD6, 0x00003BD8, 0x00003BD9, 0x000033DB,
- 0x000033DD, 0x000033DF, 0x00002BE0, 0x00002BE2,
- 0x00002BE4, 0x000023E6, 0x000023E8, 0x000023E9,
- 0x00001BEB, 0x00001BED, 0x00001BEF, 0x000013F0,
- 0x000013F2, 0x000013F4, 0x00000BF6, 0x00000BF8,
- 0x00000BF9, 0x000003FB, 0x000003FD, 0x000003FF,
- 0x00000000, 0x00000001, 0x00000003, 0x00000005,
- 0x001FF807, 0x001FF808, 0x001FF80A, 0x001FF00C,
- 0x001FF00E, 0x001FF010, 0x001FE811, 0x001FE813,
- 0x001FE815, 0x001FE017, 0x001FE018, 0x001FE01A,
- 0x001FD81C, 0x001FD81E, 0x001FD820, 0x001FD021,
- 0x001FD023, 0x001FD025, 0x001FC827, 0x001FC828,
- 0x001FC82A, 0x001FC02C, 0x001FC02E, 0x001FC030,
- 0x001FB831, 0x001FB833, 0x001FB835, 0x001FB037,
- 0x001FB039, 0x001FB03A, 0x001FA83C, 0x001FA83E,
- 0x001FA840, 0x001FA041, 0x001FA043, 0x001FA045,
- 0x001F9847, 0x001F9849, 0x001F984A, 0x001F904C,
- 0x001F904E, 0x001F9050, 0x001F8851, 0x001F8853,
- 0x001F8855, 0x001F8057, 0x001F8059, 0x001F805A,
- 0x001F785C, 0x001F785E, 0x001F7860, 0x001F7061,
- 0x001F7063, 0x001F7065, 0x001F6867, 0x001F6869,
- 0x001F686A, 0x001F606C, 0x001F606E, 0x001F6070,
- 0x001F5872, 0x001F5873, 0x001F5875, 0x001F5877,
- 0x001F5079, 0x001F507A, 0x001F507C, 0x001F487E,
- 0x001F4880, 0x001F4882, 0x001F4083, 0x001F4085,
- 0x001F4087, 0x001F3889, 0x001F388A, 0x001F388C,
- 0x001F308E, 0x001F3090, 0x001F3092, 0x001F2893,
- 0x001F2895, 0x001F2897, 0x001F2099, 0x001F209A,
- 0x001F209C, 0x001F189E, 0x001F18A0, 0x001F18A2,
- 0x001F10A3, 0x001F10A5, 0x001F10A7, 0x001F08A9,
- 0x001F08AB, 0x001F08AC, 0x001F00AE, 0x001F00B0,
- 0x001F00B2, 0x001EF8B3, 0x001EF8B5, 0x001EF8B7,
- 0x001EF0B9, 0x001EF0BB, 0x001EF0BC, 0x001EE8BE,
- 0x001EE8C0, 0x001EE8C2, 0x001EE0C3, 0x001EE0C5,
- 0x001EE0C7, 0x001ED8C9, 0x001ED8CB, 0x001ED8CC,
- 0x001ED0CE, 0x001ED0D0, 0x001ED0D2, 0x001EC8D3,
- 0x001EC8D5, 0x001EC8D7, 0x001EC0D9, 0x001EC0DB,
- 0x001EC0DC, 0x001EB8DE, 0x001EB8E0, 0x001EB8E2
- };
-
-// Chroma1 (Cr)
-static const TUint32 KCrLut[ 256 ] =
- {
- 0xD302D000, 0xD382C800, 0xD3C2C000, 0xD442B800,
- 0xD482B800, 0xD502B000, 0xD542A800, 0xD582A800,
- 0xD602A000, 0xD6429800, 0xD6C29000, 0xD7029000,
- 0xD7428800, 0xD7C28000, 0xD8028000, 0xD8827800,
- 0xD8C27000, 0xD9027000, 0xD9826800, 0xD9C26000,
- 0xDA425800, 0xDA825800, 0xDAC25000, 0xDB424800,
- 0xDB824800, 0xDC024000, 0xDC423800, 0xDC823800,
- 0xDD023000, 0xDD422800, 0xDDC22000, 0xDE022000,
- 0xDE421800, 0xDEC21000, 0xDF021000, 0xDF820800,
- 0xDFC20000, 0xE041F800, 0xE081F800, 0xE0C1F000,
- 0xE141E800, 0xE181E800, 0xE201E000, 0xE241D800,
- 0xE281D800, 0xE301D000, 0xE341C800, 0xE3C1C000,
- 0xE401C000, 0xE441B800, 0xE4C1B000, 0xE501B000,
- 0xE581A800, 0xE5C1A000, 0xE601A000, 0xE6819800,
- 0xE6C19000, 0xE7418800, 0xE7818800, 0xE7C18000,
- 0xE8417800, 0xE8817800, 0xE9017000, 0xE9416800,
- 0xE9816800, 0xEA016000, 0xEA415800, 0xEAC15000,
- 0xEB015000, 0xEB814800, 0xEBC14000, 0xEC014000,
- 0xEC813800, 0xECC13000, 0xED412800, 0xED812800,
- 0xEDC12000, 0xEE411800, 0xEE811800, 0xEF011000,
- 0xEF410800, 0xEF810800, 0xF0010000, 0xF040F800,
- 0xF0C0F000, 0xF100F000, 0xF140E800, 0xF1C0E000,
- 0xF200E000, 0xF280D800, 0xF2C0D000, 0xF300D000,
- 0xF380C800, 0xF3C0C000, 0xF440B800, 0xF480B800,
- 0xF4C0B000, 0xF540A800, 0xF580A800, 0xF600A000,
- 0xF6409800, 0xF6C09000, 0xF7009000, 0xF7408800,
- 0xF7C08000, 0xF8008000, 0xF8807800, 0xF8C07000,
- 0xF9007000, 0xF9806800, 0xF9C06000, 0xFA405800,
- 0xFA805800, 0xFAC05000, 0xFB404800, 0xFB804800,
- 0xFC004000, 0xFC403800, 0xFC803800, 0xFD003000,
- 0xFD402800, 0xFDC02000, 0xFE002000, 0xFE401800,
- 0xFEC01000, 0xFF001000, 0xFF800800, 0xFFC00000,
- 0x00000000, 0x00400000, 0x009FF800, 0x011FF000,
- 0x015FF000, 0x01DFE800, 0x021FE000, 0x025FE000,
- 0x02DFD800, 0x031FD000, 0x039FC800, 0x03DFC800,
- 0x041FC000, 0x049FB800, 0x04DFB800, 0x055FB000,
- 0x059FA800, 0x05DFA800, 0x065FA000, 0x069F9800,
- 0x071F9000, 0x075F9000, 0x079F8800, 0x081F8000,
- 0x085F8000, 0x08DF7800, 0x091F7000, 0x095F7000,
- 0x09DF6800, 0x0A1F6000, 0x0A9F5800, 0x0ADF5800,
- 0x0B5F5000, 0x0B9F4800, 0x0BDF4800, 0x0C5F4000,
- 0x0C9F3800, 0x0D1F3000, 0x0D5F3000, 0x0D9F2800,
- 0x0E1F2000, 0x0E5F2000, 0x0EDF1800, 0x0F1F1000,
- 0x0F5F1000, 0x0FDF0800, 0x101F0000, 0x109EF800,
- 0x10DEF800, 0x111EF000, 0x119EE800, 0x11DEE800,
- 0x125EE000, 0x129ED800, 0x12DED800, 0x135ED000,
- 0x139EC800, 0x141EC000, 0x145EC000, 0x149EB800,
- 0x151EB000, 0x155EB000, 0x15DEA800, 0x161EA000,
- 0x169E9800, 0x16DE9800, 0x171E9000, 0x179E8800,
- 0x17DE8800, 0x185E8000, 0x189E7800, 0x18DE7800,
- 0x195E7000, 0x199E6800, 0x1A1E6000, 0x1A5E6000,
- 0x1A9E5800, 0x1B1E5000, 0x1B5E5000, 0x1BDE4800,
- 0x1C1E4000, 0x1C5E4000, 0x1CDE3800, 0x1D1E3000,
- 0x1D9E2800, 0x1DDE2800, 0x1E1E2000, 0x1E9E1800,
- 0x1EDE1800, 0x1F5E1000, 0x1F9E0800, 0x1FDE0800,
- 0x205E0000, 0x209DF800, 0x211DF000, 0x215DF000,
- 0x21DDE800, 0x221DE000, 0x225DE000, 0x22DDD800,
- 0x231DD000, 0x239DC800, 0x23DDC800, 0x241DC000,
- 0x249DB800, 0x24DDB800, 0x255DB000, 0x259DA800,
- 0x25DDA800, 0x265DA000, 0x269D9800, 0x271D9000,
- 0x275D9000, 0x279D8800, 0x281D8000, 0x285D8000,
- 0x28DD7800, 0x291D7000, 0x295D7000, 0x29DD6800,
- 0x2A1D6000, 0x2A9D5800, 0x2ADD5800, 0x2B1D5000,
- 0x2B9D4800, 0x2BDD4800, 0x2C5D4000, 0x2C9D3800
- };
-
-
-// Posting surface factory DLL's name
-_LIT( KDPAPIDLLName, "PostingSurfaceFactory.dll" );
-
-// Reversed enumeration for the bitmaps.
-static const MDisplaySink::TBitmapNo KVtEngBitmapNoReversed[] =
- {
- MDisplaySink::ESecondBitmap,
- MDisplaySink::EFirstBitmap
- };
-
-// Default posting format (if this or KDefaultPostingFormat420 is not
-// supported, BaseConstructL() will leave with KErrNotSupported)
-const CPostingSurface::TPostingFormat KDefaultPostingFormat422 =
- CPostingSurface::EYuv422LeBt601Range0;
-
-// Default posting format (if this or KDefaultPostingFormat422 is not
-// supported, BaseConstructL() will leave with KErrNotSupported)
-const CPostingSurface::TPostingFormat KDefaultPostingFormat420 =
- CPostingSurface::EYuv420PlanarBt601Range0;
-
-// Default posting buffering flags.
-const TUint KDefaultPostingBufferingFlags =
- // Double buffering
- CPostingSurface::EDoubleBuffering |
- // Progressive frames (no interlacing)
- CPostingSurface::EProgressiveFrames |
- // Do not allow frameskip
- CPostingSurface::EDisAllowFrameSkip |
- // Use internal buffers (allocated by DP)
- CPostingSurface::EInternalBuffers;
-
-// Default pixel aspect ratio num. Aspect ratio = Num/Denom.
-const TUint16 KDefaultPixelAspectRatioNum = 1;
-
-// Default pixel aspect ratio denom. Aspect ratio = Num/Denom.
-const TUint16 KDefaultPixelAspectRatioDenom = 1;
-
-// LOCAL METHODS
-
-// -----------------------------------------------------------------------------
-// DoConvertYuv420toXRGB0888
-// -----------------------------------------------------------------------------
-//
-inline void DoConvertYuv420toXRGB0888(
- TInt aWidth, // width in pixels
- const TUint8*& aSourceDataPtrY1, // pointer to Y data row 1
- const TUint8*& aSourceDataPtrY2, // pointer to Y data row 2
- const TUint8*& aSourceDataPtrU, // pointer to U data row
- const TUint8*& aSourceDataPtrV, // pointer to V data row
- TUint8* aDestDataPtr1, // pointer to destination row 1
- TUint8* aDestDataPtr2 // pointer to destination row 2
- )
- {
- TUint32* destDataPtr1 = reinterpret_cast< TUint32* >( aDestDataPtr1 );
- TUint32* destDataPtr2 = reinterpret_cast< TUint32* >( aDestDataPtr2 );
- // width assumed to be even
- TInt pixelsLeft = aWidth / 2;
-
- TUint32 r, g, b;
- TUint32 LutY0, LutY1, LutC;
- TUint32 pixel;
- TUint32 OverflowMask = 0xC0180300U;
-
- // One scanline at the time
- while ( pixelsLeft-- )
- {
-
- // row 1, 2 pixels
-
- LutY0 = KYLut[*aSourceDataPtrY1++];
- LutY1 = KYLut[*aSourceDataPtrY1++];
- LutC = KCbLut[*aSourceDataPtrU++];
- LutC += KCrLut[*aSourceDataPtrV++];
-
- pixel = LutY0 + LutC;
-
- if (pixel & OverflowMask)
- {
- if (pixel & 0xC0000000U)
- {
- if (pixel & 0x80000000U)
- {
- pixel &= ~0x3FC00000U;
- }
- else
- {
- pixel |= 0x3FC00000U;
- }
- }
- if (pixel & 0x00180000U)
- {
- if (pixel & 0x00100000U)
- {
- pixel &= ~0x0007F800U;
- }
- else
- {
- pixel |= 0x0007F800U;
- }
- }
- if (pixel & 0x00000300U)
- {
- if (pixel & 0x00000200U)
- {
- pixel &= ~0x000000FFU;
- }
- else
- {
- pixel |= 0x000000FFU;
- }
- }
- }
-
- r = (pixel >> 6) & 0xFF0000;
- g = (pixel >> 3) & 0x00FF00;
- b = pixel & 0x0000FF;
-
- *destDataPtr1++ = 0xFF000000 | r | g | b;
-
- pixel = LutY1 + LutC;
-
- if (pixel & OverflowMask)
- {
- if (pixel & 0xC0000000U)
- {
- if (pixel & 0x80000000U)
- {
- pixel &= ~0x3FC00000U;
- }
- else
- {
- pixel |= 0x3FC00000U;
- }
- }
- if (pixel & 0x00180000U)
- {
- if (pixel & 0x00100000U)
- {
- pixel &= ~0x0007F800U;
- }
- else
- {
- pixel |= 0x0007F800U;
- }
- }
- if (pixel & 0x00000300U)
- {
- if (pixel & 0x00000200U)
- {
- pixel &= ~0x000000FFU;
- }
- else
- {
- pixel |= 0x000000FFU;
- }
- }
- }
-
- r = (pixel >> 6) & 0xFF0000;
- g = (pixel >> 3) & 0x00FF00;
- b = pixel & 0x0000FF;
-
- *destDataPtr1++ = 0xFF000000 | r | g | b;
-
- // row, 2 pixels
-
- LutY0 = KYLut[*aSourceDataPtrY2++];
- LutY1 = KYLut[*aSourceDataPtrY2++];
-
- pixel = LutY0 + LutC;
-
- if (pixel & OverflowMask)
- {
- if (pixel & 0xC0000000U)
- {
- if (pixel & 0x80000000U)
- {
- pixel &= ~0x3FC00000U;
- }
- else
- {
- pixel |= 0x3FC00000U;
- }
- }
- if (pixel & 0x00180000U)
- {
- if (pixel & 0x00100000U)
- {
- pixel &= ~0x0007F800U;
- }
- else
- {
- pixel |= 0x0007F800U;
- }
- }
- if (pixel & 0x00000300U)
- {
- if (pixel & 0x00000200U)
- {
- pixel &= ~0x000000FFU;
- }
- else
- {
- pixel |= 0x000000FFU;
- }
- }
- }
-
- r = (pixel >> 6) & 0xFF0000;
- g = (pixel >> 3) & 0x00FF00;
- b = pixel & 0x0000FF;
-
- *destDataPtr2++ = 0xFF000000 | r | g | b;
-
- pixel = LutY1 + LutC;
-
- if (pixel & OverflowMask)
- {
- if (pixel & 0xC0000000U)
- {
- if (pixel & 0x80000000U)
- {
- pixel &= ~0x3FC00000U;
- }
- else
- {
- pixel |= 0x3FC00000U;
- }
- }
- if (pixel & 0x00180000U)
- {
- if (pixel & 0x00100000U)
- {
- pixel &= ~0x0007F800U;
- }
- else
- {
- pixel |= 0x0007F800U;
- }
- }
- if (pixel & 0x00000300U)
- {
- if (pixel & 0x00000200U)
- {
- pixel &= ~0x000000FFU;
- }
- else
- {
- pixel |= 0x000000FFU;
- }
- }
- }
-
- r = (pixel >> 6) & 0xFF0000;
- g = (pixel >> 3) & 0x00FF00;
- b = pixel & 0x0000FF;
-
- *destDataPtr2++ = 0xFF000000 | r | g | b;
-
- }
- }
-
-// -----------------------------------------------------------------------------
-// DoConvertYuv422toXRGB0888
-// -----------------------------------------------------------------------------
-//
-inline void DoConvertYuv422toXRGB0888(
- TInt aWidth, // width in pixels
- const TUint8*& aSourceDataPtr, // pointer to source row
- TUint8* aDestDataPtr // pointer to destination row
- )
- {
- TUint32* destDataPtr = reinterpret_cast< TUint32* >( aDestDataPtr );
- // width assumed to be even
- TInt pixelsLeft = aWidth / 2;
-
- TUint32 r, g, b;
- TUint32 LutY0, LutY1, LutC;
- TUint32 pixel;
- TUint32 OverflowMask = 0xC0180300U;
-
- // One scanline at the time
- while ( pixelsLeft-- )
- {
-
- LutC = KCbLut[*aSourceDataPtr++];
- LutY0 = KYLut[*aSourceDataPtr++];
- LutC += KCrLut[*aSourceDataPtr++];
- LutY1 = KYLut[*aSourceDataPtr++];
-
- pixel = LutY0 + LutC;
-
- if (pixel & OverflowMask)
- {
- if (pixel & 0xC0000000U)
- {
- if (pixel & 0x80000000U)
- {
- pixel &= ~0x3FC00000U;
- }
- else
- {
- pixel |= 0x3FC00000U;
- }
- }
- if (pixel & 0x00180000U)
- {
- if (pixel & 0x00100000U)
- {
- pixel &= ~0x0007F800U;
- }
- else
- {
- pixel |= 0x0007F800U;
- }
- }
- if (pixel & 0x00000300U)
- {
- if (pixel & 0x00000200U)
- {
- pixel &= ~0x000000FFU;
- }
- else
- {
- pixel |= 0x000000FFU;
- }
- }
- }
-
- r = (pixel >> 6) & 0xFF0000;
- g = (pixel >> 3) & 0x00FF00;
- b = pixel & 0x0000FF;
-
- *destDataPtr++ = 0xFF000000 | r | g | b;
-
- pixel = LutY1 + LutC;
-
- if (pixel & OverflowMask)
- {
- if (pixel & 0xC0000000U)
- {
- if (pixel & 0x80000000U)
- {
- pixel &= ~0x3FC00000U;
- }
- else
- {
- pixel |= 0x3FC00000U;
- }
- }
- if (pixel & 0x00180000U)
- {
- if (pixel & 0x00100000U)
- {
- pixel &= ~0x0007F800U;
- }
- else
- {
- pixel |= 0x0007F800U;
- }
- }
- if (pixel & 0x00000300U)
- {
- if (pixel & 0x00000200U)
- {
- pixel &= ~0x000000FFU;
- }
- else
- {
- pixel |= 0x000000FFU;
- }
- }
- }
-
- r = (pixel >> 6) & 0xFF0000;
- g = (pixel >> 3) & 0x00FF00;
- b = pixel & 0x0000FF;
-
- *destDataPtr++ = 0xFF000000 | r | g | b;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::NewL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDP* CVtEngDrawDP::NewL(
- MDisplaySinkObserver* aObserver )
- {
- __VTPRINTENTER( "RVD(DP).NewL" )
- CVtEngDrawDP* self = new ( ELeave ) CVtEngDrawDP( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
- __VTPRINTEXIT( "RVD(DP).NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::~CVtEngDrawDP
-// Destructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDP::~CVtEngDrawDP()
- {
- __VTPRINTENTER( "RVD(DP).~" )
- Cancel();
- delete iFrameBuffer;
- delete iBufferWaiter;
- delete iPostingSurface;
- __VTPRINT( DEBUG_MEDIA , "RVD(DP).~ RRegion::Close()" )
- iClipRegion.Close();
- CloseDPLibrary();
-
- delete iTarget;
- delete iSource;
- delete iImageScaler;
- __VTPRINTEXIT( "RVD(DP).~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CVtEngDraw
-// C++ constructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDP::CVtEngDrawDP( MDisplaySinkObserver* aObserver ) :
- CVtEngDraw( aObserver ), iClipRegion( 1 ),
- iPostingFormat( KDefaultPostingFormat422 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseConstructL
-// Base construction.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseConstructL()
- {
- __VTPRINTENTER( "RVD(DP).BaseConstructL" )
- if ( IsFlag( EFlagUIForeground ) )
- {
- DoBaseConstructL();
- }
- else
- {
- SetFlag( EBaseConstructCalled );
- }
- __VTPRINTEXIT( "RVD(DP).BaseConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CreateSinkL
-// Instantiates display sink.
-// -----------------------------------------------------------------------------
-//
-MDisplaySink* CVtEngDrawDP::CreateSinkL()
- {
- __VTPRINTENTER( "RVD(DP).CreateSinkL" )
- TDisplaySinkParamsDP params;
- GetSinkParams( params );
- MDisplaySink* sink = ::CreateSinkL( params, KNullDesC8 );
- if ( IsFlag( EBaseConstructCalled ) )
- {
- sink->Pause();
- SetFlag( ESinkParamUpdateRequired | ESinkResumeRequired );
- }
- __VTPRINTEXIT( "RVD(DP).CreateSinkL" )
- return sink;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::BaseRefreshL
-// Draw a frame.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseRefreshL()
- {
- __VTPRINTENTER( "RVD(DP).BaseRefreshL" )
- __VTPRINTEXIT( "RVD(DP).BaseRefreshL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseRefreshBitmapsL
-// Refreshes bitmaps sizes and display mode if needed.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseRefreshBitmapsL()
- {
- __VTPRINTENTER( "RVD(DP).BaseRefreshBitmapsL" )
- BaseConstructL();
- InitializePostingSurfaceL();
- // set the params for DS
- UpdateSinkParamsL();
- ClearFlag( EFirstFrameReceived );
- __VTPRINTEXIT( "RVD(DP).BaseRefreshBitmapsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseDoCancel
-// DoCancel for derived class.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseDoCancel()
- {
- __VTPRINTENTER( "RVD(DP).BaseDoCancel" )
- __VTPRINTEXIT( "RVD(DP).BaseDoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseVerifyConfigL
-// Checks current configuration against DP implementation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseVerifyConfigL()
- {
- __VTPRINTENTER( "RVD(DP).BaseVerifyConfigL" )
- // Check support for requested size
- if ( !SupportsSize( iSourceSize ) )
- {
- __VTPRINT( DEBUG_MEDIA ,
- "RVD(DP).BaseVerifyConfigL Size NOT supported" )
- User::Leave( KErrNotSupported );
- }
- RecalculateClipRegionL();
- __VTPRINTEXIT( "RVD(DP).BaseVerifyConfigL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseRestartL
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseRestartL()
- {
- __VTPRINTENTER( "RVD(DP).BaseRestartL" )
- if ( IsFlag( EFlagUIForeground ) )
- {
- RecalculateClipRegionL();
- iBufferWaiter->FetchBuffer();
- }
- __VTPRINTEXIT( "RVD(DP).BaseRestartL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseAbortNow
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseAbortNow()
- {
- __VTPRINTENTER( "RVD(DP).BaseAbortNow" )
- UpdateVtFrame();
- __VTPRINTEXIT( "RVD(DP).BaseAbortNow" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::StartDrawL
-// Starts the drawing.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseStartDrawL()
- {
- __VTPRINTENTER( "RVD(DP).BaseStartDrawL" )
- if ( IsFlag( EBaseConstructCalled ) )
- {
- SetFlag( EBaseBaseStartDrawCalled );
- }
- else
- {
- DoBaseStartDrawL();
- }
- __VTPRINTEXIT( "RVD(DP).BaseStartDrawL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseStopDraw
-// Stop the drawing.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseStopDraw()
- {
- // Cancel the timer in any case.
- __VTPRINTENTER( "RVD(DP).BaseStopDraw" )
- ClearFlag( EBaseBaseStartDrawCalled );
- iWatcher->Cancel();
- if ( iDSA )
- {
- ClearFlag( ERemoteVideoDrawing | EStarted );
- iDSA->Cancel();
- }
- iBufferWaiter->Cancel();
- Cancel();
- __VTPRINTEXIT( "RVD(DP).BaseStopDraw" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseSetConfigL
-// Sets new configuration.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseSetConfigL( const TVtEngRenderConfig& aConfig )
- {
- __VTPRINTENTER( "RVD(DP).BaseSetConfigL" )
- Mem::FillZ( &iConfig, sizeof( TVtEngRenderConfigDP ) );
- iConfig = aConfig;
- if ( IsFlag( EBaseConstructCalled ) )
- {
- SetFlag( EBaseSetConfigCalled );
- }
- else
- {
- ConfigUpdatedL();
- }
- __VTPRINTEXIT( "RVD(DP).BaseSetConfigL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseSetUIForegroundL
-// Sets UI foreground status.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseSetUIForegroundL( TBool aForeground )
- {
- __VTPRINTENTER( "RVD(DP).BaseSetUIForegroundL" )
- if( aForeground )
- {
- TBool wasSentToBackground( IsFlag( ESentToBackground ) );
- SetFlag( EFlagUIForeground );
- ClearFlag( ESentToBackground );
- if( IsFlag( EDelayedCallsMask ) )
- {
- HandleDelayedCallsL();
- }
- if ( wasSentToBackground )
- {
- BaseRefreshBitmapsL();
- Restart( RDirectScreenAccess::ETerminateCancel );
- BaseStartDrawL();
- }
- }
- else
- {
- if ( !IsFlag( EBaseConstructCalled ) )
- {
- BaseStopDraw();
- delete iPostingSurface;
- iPostingSurface = 0;
- for ( TInt i = MDisplaySink::EFirstBitmap;
- i < MDisplaySink::EFirstBitmap + KVtEngMaxBuffers; i++ )
- {
- iBuffers[ i ].UnSet();
- }
- SetFlag( ESentToBackground );
- }
- ClearFlag( EFlagUIForeground );
- }
- __VTPRINTEXIT( "RVD(DP).BaseSetUIForegroundL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseRequestLastFrame
-// Request update last remote video frame through MVtEngFrameObserver::vtSetFrame
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseRequestLastFrame()
- {
- __VTPRINTENTER( "RVD(DP).BaseRequestLastFrame" )
- UpdateVtFrame();
- __VTPRINTEXIT( "RVD(DP).BaseRequestLastFrame" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BaseVideoFrameSizeChangedL
-// Called when incoming frame buffer size changes.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BaseVideoFrameSizeChangedL( const TSize& aTo )
- {
- __VTPRINTENTER( "RVD(DP).BaseVideoFrameSizeChangedL" )
- CreateFrameBufferL( aTo );
- __VTPRINTEXIT( "RVD(DP).BaseVideoFrameSizeChangedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::Config
-// Returns current configuration.
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderConfig& CVtEngDrawDP::Config()
- {
- return iConfig;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::RunL
-// CActive heir execution method.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::RunL()
- {
- __VTPRINTENTER( "RVD(DP).RunL" )
-
- TInt bitmapNo( iStatus.Int() );
-
- if ( bitmapNo < KErrNone )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(DP).RunL notify rvd problem" )
- CVtEngEventManager::NotifyEvent( KVtEngRemoteRenderingProblem );
- return;
- }
-
- TVtEngBuffer& buffer = iBuffers[ bitmapNo ];
-
- if ( !iDSUpdated )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(DP).RunL !Updated" )
- __VTPRINTEXIT( "RVD(DP).RunL" )
- return;
- }
- else if ( !IsFlag( EFlagUIForeground ) )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(DP).RunL !Flag( EFlagUIForeground )" )
- __VTPRINTEXIT( "RVD(DP).RunL" )
- if ( iPostingSurface )
- {
- iPostingSurface->PostBuffer( buffer.Buffer() );
- buffer.UnSet();
- iBufferWaiter->FetchBuffer();
- }
- return;
- }
- else if ( buffer.Buffer() == NULL )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(DP).RunL signalled with NULL buffer" )
- TInt result( iBufferWaiter->FetchBuffer() );
- __VTPRINT2( DEBUG_MEDIA,
- "RVD(DP).RunL FetchBuffer %d", result )
- User::LeaveIfError( result );
- __VTPRINTEXIT( "RVD(DP).RunL" )
- return;
- }
-
- // Image received, reset counter.
- iCheckpoint = KVtEngWatcherThreshold;
-
- StoreFrameBuffer( buffer.Buffer() );
- __VTPRINT2( DEBUG_MEDIA, "RVD(DP).RunL flags=%d", iFlags )
- TBool firstFrame( !IsFlag ( EFirstFrameReceived ) );
- SetFlag( EFirstFrameReceived );
- // Remote video is about to start?
- if ( !IsFlag( EStarted ) && IsFlag( EReadyInternal ) )
- {
- if ( !iDSA->IsActive() )
- {
- iDSA->StartL();
- }
- SetFlag( EStarted );
- if ( !iConfig.iClipRect.IsEmpty() )
- {
- SetFlag( EReadyForeground );
- iDSA->Gc()->SetClippingRect( iConfig.iClipRect );
- RecalculateClipRegionL();
- }
- __VTPRINT( DEBUG_MEDIA, "RVD(DP).RunL notify rvd start" )
- //CVtEngEventManager::NotifyEvent( KVtEngRemoteVideoStarted );
- }
- if ( firstFrame )
- {
- CVtEngEventManager::NotifyEvent( KVtEngRemoteVideoStarted );
- }
- TRAPD( setClipRegResult, SetClipRegionL() );
- if ( setClipRegResult )
- {
- __VTPRINT2( DEBUG_MEDIA, "RVD(DP).RunL SetClipRegionL failed %d",
- setClipRegResult );
- }
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).RunL received buffer %d $%x",
- bitmapNo,
- reinterpret_cast< TUint >( buffer.Buffer() ) )
- TInt result
- ( iPostingSurface->PostBuffer( buffer.Buffer() ) );
- __VTPRINT2( DEBUG_MEDIA, "RVD(DP).RunL PostBuffer %d", result )
- buffer.UnSet();
- if ( iBuffers[ KVtEngBitmapNoReversed[ bitmapNo ] ].IsSet() )
- {
- __VTPRINT2( DEBUG_MEDIA, "RVD(DP).RunL reactivating for buffer %d",
- KVtEngBitmapNoReversed[ bitmapNo ] )
- Activate();
- DisplaySink().NextFrame();
- }
-
- if ( result == KErrNotReady )
- {
- BaseRefreshBitmapsL();
- result = KErrNone;
- }
-
- User::LeaveIfError( result );
- result = iBufferWaiter->FetchBuffer();
- __VTPRINT2( DEBUG_MEDIA,
- "RVD(DP).RunL FetchBuffer %d", result )
- User::LeaveIfError( result );
-
- __VTPRINTEXIT( "RVD(DP).RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::BufferReady
-// BufferReady
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::BufferReady( CPostingSurface::TPostingBuff* aBuffer )
- {
- __VTPRINTENTER( "RVD(DP).BufferReady" )
- SetAvailableToSink( aBuffer );
- __VTPRINTEXIT( "RVD(DP).BufferReady" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::FetchError
-// Buffer fetching error
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::FetchError( TInt )
- {
- __VTPRINTENTER( "RVD(DP).FetchError" )
- CVtEngEventManager::NotifyEvent( KVtEngRemoteRenderingProblem );
- __VTPRINTEXIT( "RVD(DP).FetchError" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::HandleDelayedCallsL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::HandleDelayedCallsL()
- {
- __VTPRINTENTER( "RVD(DP).HandleDelayedCallsL" )
- if ( IsFlag( EBaseConstructCalled ) )
- {
- DoBaseConstructL();
- }
- if ( IsFlag( EBaseSetConfigCalled ) )
- {
- ConfigUpdatedL();
- ClearFlag( EBaseSetConfigCalled );
- }
- if ( IsFlag( EInitializePostingSurfaceCalled ) )
- {
- DoInitializePostingSurfaceL();
- }
- if ( IsFlag( ESinkParamUpdateRequired ) )
- {
- DoUpdateSinkParamsL();
- }
- if ( IsFlag( EBaseBaseStartDrawCalled ) )
- {
- DoBaseStartDrawL();
- }
- __VTPRINTEXIT( "RVD(DP).HandleDelayedCallsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::DoBaseConstructL
-// Base construction implementation
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::DoBaseConstructL()
- {
- __VTPRINTENTER( "RVD(DP).DoBaseConstructL" )
-
- if ( !iImageScaler )
- {
- iImageScaler =
- CVtImageScaler::NewL( *this, CVtImageScaler::EBilinear );
- }
- delete iBufferWaiter;
- iBufferWaiter = NULL;
- delete iPostingSurface;
- iPostingSurface = NULL;
-
- // Load DP API library
- LoadDPLibraryL();
-
- // Create posting surface instance
- iPostingSurface = CreatePostingSurfaceL();
-
- CPostingSurface::TPostingFormat previousPostingFormat( iPostingFormat );
-
- // Check support for format
- if ( !SupportsFormat( KDefaultPostingFormat420 ) )
- {
- if ( !SupportsFormat( KDefaultPostingFormat422 ) )
- {
- __VTPRINT( DEBUG_MEDIA ,
- "RVD(DP).BaseConstructL Format NOT supported" )
- User::Leave( KErrNotSupported );
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA , "RVD(DP).BaseConstructL using 422" )
- iPostingFormat = KDefaultPostingFormat422;
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA , "RVD(DP).BaseConstructL using 420" )
- iPostingFormat = KDefaultPostingFormat420;
- }
- iPostingSurface->GetCapabilities( iPostingCaps );
- iBufferWaiter =
- new ( ELeave ) CVtEngBufferWaiter( *iPostingSurface, *this );
- for ( TInt i = MDisplaySink::EFirstBitmap;
- i < MDisplaySink::EFirstBitmap + KVtEngMaxBuffers; i++ )
- {
- iBuffers[ i ].UnSet();
- }
-
- // If posting for is different from previous, then free frame buffer
- if ( ( previousPostingFormat != iPostingFormat ) || !iFrameBuffer )
- {
- CreateFrameBufferL( iSourceSize );
- }
- ClearFlag( EBaseConstructCalled );
- __VTPRINTEXIT( "RVD(DP).DoBaseConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::UpdateSinkParamsL
-// Updates sink params
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::UpdateSinkParamsL()
- {
- __VTPRINTENTER( "RVD(DP).UpdateSinkParamsL" )
- if ( IsFlag( EBaseConstructCalled ) )
- {
- SetFlag( ESinkParamUpdateRequired );
- }
- else
- {
- DoUpdateSinkParamsL();
- }
- __VTPRINTEXIT( "RVD(DP).UpdateSinkParamsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::DoBaseStartDrawL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::DoBaseStartDrawL()
- {
- __VTPRINTENTER( "RVD(DP).DoBaseStartDrawL" )
- UpdateVtFrame();
- if ( iDSA )
- {
- SetFlag( EReadyInternal );
- if ( !iWatcher->IsActive() )
- {
- iWatcher->Start( KVtEngWatcherTimeout, KVtEngWatcherTimeout,
- iCallback );
- }
- User::LeaveIfError( iBufferWaiter->FetchBuffer() );
- SetFlag( ERemoteVideoDrawing );
- }
- else
- {
- User::Leave( KErrNotReady );
- }
- ClearFlag( EBaseBaseStartDrawCalled );
- __VTPRINTEXIT( "RVD(DP).DoBaseStartDrawL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::DoInitializePostingSurfaceL
-// Initializes posting surface.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::DoInitializePostingSurfaceL()
- {
- __VTPRINTENTER( "RVD(DP).DoInitializePostingSurfaceL" )
- CPostingSurface::TPostingSourceParams postingSourceParams;
- GetPostingSourceParams( postingSourceParams );
- CPostingSurface::TPostingParams postingParams;
- GetPostingParams( postingParams );
- // Create and start DSA for getting access to DP
- CreateAndStartDSAL();
-
- /*S60 Display Posting API has a limitation that only one surface instance can be
- created at a time. Unfortunately there's no way to check when posting is really
- free. PostingSurface initialization maybe returns KErrInUse.
- Please refer to TSW error EAKC-7R3TME.
- The transition effect between landscape and portrait uses ATID to achieve smooth
- transition. ATID and PostingSurface share the same buffers and cannot be used
- simultaneously. PostingSurface initialization maybe returns KErrNotReady.
- Please refer to TSW error EWXO-7P4DV3.
- So it probably requires some kind of timer based retry to bypass these cases.*/
- TInt err;
- while (1)
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(DP).DoInitializePostingSurfaceL Initialize PostingSurface" );
- TRAP( err, iPostingSurface->InitializeL(postingSourceParams, postingParams) );
- if ( err == KErrNone)
- {
- break;
- }
- else
- {
- //time interval for each PostingSurface initialization is 0.2 second.
- __VTPRINT2( DEBUG_MEDIA, "RVD(DP).DoInitializePostingSurfaceL InitPS error = %d", err )
- User::After(200000);
- }
- }
-
- delete iTarget; iTarget = NULL;
- iTarget = CVtImageBitmap::NewL(
- postingParams.iDisplayedRect.Size(), EColor16MU );
- if ( iSource )
- {
- if ( IsFlag( EFrameBufferFilled ) &&
- !IsFlag( EFrameBufferNeedsConvertAndScale ) )
- {
- iImageScaler->ScaleNowL( *iSource, *iTarget );
- Config().iObserver->vtSetFrame(
- MVtEngFrameObserver::ERemoteVideoFrame,
- &iTarget->Bitmap() );
- }
- else
- {
- Config().iObserver->vtSetFrame(
- MVtEngFrameObserver::ERemoteVideoFrame, NULL );
- }
- }
- else
- {
- //delete iSource; iSource = NULL;
- iSource = CVtImageBitmap::NewL( iSourceSize, EColor16MU );
- Config().iObserver->vtSetFrame( MVtEngFrameObserver::ERemoteVideoFrame,
- NULL );
- }
- RecalculateClipRegionL();
- ClearFlag( EInitializePostingSurfaceCalled );
- __VTPRINTEXIT( "RVD(DP).DoInitializePostingSurfaceL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::DoUpdateSinkParamsL
-// Updates sink params
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::DoUpdateSinkParamsL()
- {
- __VTPRINTENTER( "RVD(DP).DoUpdateSinkParamsL" )
- TDisplaySinkParamsDP params;
- GetSinkParams( params );
- DisplaySink().UpdateSinkParamsL( params, iDSUpdated );
- ClearFlag( ESinkParamUpdateRequired );
- if ( IsFlag( ESinkResumeRequired ) )
- {
- DisplaySink().Resume();
- ClearFlag( ESinkResumeRequired );
- }
- __VTPRINTEXIT( "RVD(DP).DoUpdateSinkParamsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::IsAlphaTrashed
-// Checks if the alpha has been trashed on screen buffer.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::IsAlphaTrashed() const
- {
- __VTPRINTENTER( "RVD(DP).IsAlphaTrashed" )
- TBool isTrashed( EFalse );
- const CFbsScreenDevice& sdev( *iDSA->ScreenDevice() );
- if ( sdev.DisplayMode() == EColor16MA )
- {
- TRgb color;
- TPoint point( iClipRegion.BoundingRect().Center() );
- sdev.GetPixel( color, point );
- isTrashed = ( color.Alpha() != 0 );
- }
- __VTPRINTEXITR( "RVD(DP).IsAlphaTrashed %d", isTrashed )
- return isTrashed;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SetClipRegionL
-// Sets clipping region for DP.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::SetClipRegionL()
- {
- __VTPRINTENTER( "RVD(DP).SetClipRegionL" )
- if ( iClipRegionUpdated || IsAlphaTrashed() )
- {
- iClipRegionUpdated = EFalse;
- CFbsBitGc* gc = iDSA->Gc();
- gc->SetClippingRegion( iDSA->DrawingRegion() );
- gc->SetDrawMode( CGraphicsContext::EDrawModeAND );
- gc->SetBrushColor( TRgb( 255, 255, 255, 0 ) );
- gc->Clear();
- iDSA->ScreenDevice()->Update();
- User::LeaveIfError(
- iPostingSurface->SetClipRegion( iClipRegion ) );
- }
- __VTPRINTEXIT( "RVD(DP).SetClipRegionL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::InitializePostingSurfaceL
-// Initializes posting surface.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::InitializePostingSurfaceL()
- {
- __VTPRINTENTER( "RVD(DP).InitializePostingSurfaceL" )
- if ( IsFlag( EBaseConstructCalled ) )
- {
- SetFlag( EInitializePostingSurfaceCalled );
- }
- else
- {
- DoInitializePostingSurfaceL();
- }
- __VTPRINTEXIT( "RVD(DP).InitializePostingSurfaceL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::GetPostingSourceParams
-// Fills posting source params structure.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::GetPostingSourceParams(
- CPostingSurface::TPostingSourceParams& aParams ) const
- {
- __VTPRINTENTER( "RVD(DP).GetPostingSourceParams" )
- Mem::FillZ( &aParams, sizeof( CPostingSurface::TPostingSourceParams ) );
- aParams.iPostingBuffering = KDefaultPostingBufferingFlags;
- aParams.iBufferType = CPostingSurface::EStandardBuffer;
- aParams.iPostingUsage = CPostingSurface::EVideoCapture;
- aParams.iSourceImageSize = iSourceSize;
- aParams.iPostingFormat = iPostingFormat;
- aParams.iPixelAspectRatioNum = KDefaultPixelAspectRatioNum;
- aParams.iPixelAspectRatioDenom = KDefaultPixelAspectRatioDenom;
- aParams.iContentCopyRestricted = EFalse;
- __VTPRINTEXIT( "RVD(DP).GetPostingSourceParams" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::GetPostingParams
-// Fills posting params structure.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::GetPostingParams(
- CPostingSurface::TPostingParams& aParams ) const
- {
- __VTPRINTENTER( "RVD(DP).GetPostingParams" )
- Mem::FillZ( &aParams, sizeof( CPostingSurface::TPostingParams ) );
-
- aParams.iDisplayedRect = iConfig.iClipRect;
-
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).GetPostingParams DRect.iTl (%d, %d)",
- aParams.iDisplayedRect.iTl.iX, aParams.iDisplayedRect.iTl.iY );
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).GetPostingParams DRect.iBr (%d, %d)",
- aParams.iDisplayedRect.iBr.iX, aParams.iDisplayedRect.iBr.iY );
-
- TRect& dispRect( aParams.iDisplayedRect );
- dispRect.Move( iConfig.iOffset );
- FixRectForDP( dispRect );
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).GetPostingParams OffsDRect.iTl (%d, %d)",
- dispRect.iTl.iX, dispRect.iTl.iY );
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).GetPostingParams OffsDRect.iBr (%d, %d)",
- dispRect.iBr.iX, dispRect.iBr.iY );
-
- aParams.iScaleToRect = TRect( aParams.iDisplayedRect.Size() );
-
- aParams.iInputCrop = iSourceSize;
-
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).GetPostingParams InputCrop.iTl (%d, %d)",
- aParams.iInputCrop.iTl.iX, aParams.iInputCrop.iTl.iY );
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).GetPostingParams InputCrop.iBr (%d, %d)",
- aParams.iInputCrop.iBr.iX, aParams.iInputCrop.iBr.iY );
-
- aParams.iBackGround = iConfig.iBackGround;
- __VTPRINTEXIT( "RVD(DP).GetPostingParams" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SupportsFormat
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::SupportsFormat(
- const CPostingSurface::TPostingFormat& aFormat ) const
- {
- return iPostingSurface->FormatSupported( aFormat );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SupportsSize
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::SupportsSize( const TSize& aSize ) const
- {
- return ( iPostingCaps.iMaxPixelSize.iWidth >= aSize.iWidth ) &&
- ( iPostingCaps.iMaxPixelSize.iHeight >= aSize.iHeight );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SupportsRotation
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::SupportsRotation(
- CPostingSurface::TRotationType aRotation ) const
- {
- return ( ( aRotation & iPostingCaps.iSupportedRotations ) == aRotation );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SupportsMirroring
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::SupportsMirroring() const
- {
- return iPostingCaps.iSupportsMirroring;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SupportsScaling
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::SupportsScaling() const
- {
- return iPostingCaps.iSupportsScaling;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SupportsBrightness
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::SupportsBrightness() const
- {
- return iPostingCaps.iSupportsBrightnessControl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SupportsContrast
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::SupportsContrast() const
- {
- return iPostingCaps.iSupportsContrastControl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::GetFrameBufferSize
-// Returns size of frame buffer in bytes for given pixel size and current
-// posting format.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngDrawDP::GetFrameBufferSize( const TSize& aSize ) const
- {
- TInt size( -1 );
- __VTPRINTENTER( "RVD(DP).GetFrameBufferSize" )
- switch( iPostingFormat )
- {
- case KDefaultPostingFormat420:
- size = ( aSize.iWidth * aSize.iHeight * 3 ) >> 1;
- break;
-
- case KDefaultPostingFormat422:
- size = ( aSize.iWidth * aSize.iHeight ) * 2;
- break;
-
- default:
- break;
- }
- __VTPRINTEXITR( "RVD(DP).GetFrameBufferSize %d", size )
- return size;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::RecalculateClipRegionL
-// Updates clipregion.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::RecalculateClipRegionL()
- {
- __VTPRINTENTER( "RVD(DP).RecalculateClipRegionL" )
- // Clip region needs to be updated
- iClipRegionUpdated = ETrue;
- iClipRegion.Clear();
- TRect clippingRect( iConfig.iClipRect );
- clippingRect.Move( iConfig.iOffset );
- FixRectForDP( clippingRect );
- iClipRegion.AddRect( clippingRect );
- if ( iClipRegion.CheckError() )
- {
- __VTPRINT( DEBUG_MEDIA ,
- "RVD(DP).RecalculateClipRegionL failed to add cliprect" )
- User::Leave( KErrNoMemory );
- }
-
- if ( IsFlag( EStarted ) && iDSA && iDSA->DrawingRegion() )
- {
- iClipRegion.Intersect( *iDSA->DrawingRegion() );
- if ( iClipRegion.CheckError() )
- {
- __VTPRINT( DEBUG_MEDIA ,
- "RVD(DP).RecalculateClipRegionL failed to intersect" )
- User::Leave( KErrNoMemory );
- }
-
-#ifdef VTDEBUG
-
- TRect bRect( iClipRegion.BoundingRect() );
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).RecalculateClipRegionL BRect.iTl (%d, %d)",
- bRect.iTl.iX, bRect.iTl.iY );
- __VTPRINT3( DEBUG_MEDIA, "RVD(DP).RecalculateClipRegionL BRect.iBr (%d, %d)",
- bRect.iBr.iX, bRect.iBr.iY );
-#endif // VTDEBUG
- }
- __VTPRINTEXIT( "RVD(DP).RecalculateClipRegionL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::FixRectForDP
-// Fixes rect for DP (i.e. width is made even and starting X coordinate is made
-// even as well)
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::FixRectForDP( TRect& aRect ) const
- {
- __VTPRINTENTER( "RVD(DP).FixRectForDP" )
- if ( aRect.iTl.iX & 1 )
- {
- aRect.Move( 1, 0 );
- aRect.SetWidth( Max( 0, aRect.Width() - 1 ) );
- }
- if ( aRect.Width() & 1 )
- {
- aRect.SetWidth( aRect.Width() - 1 );
- }
- __VTPRINTEXIT( "RVD(DP).FixRectForDP" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::RecalculateClipRegionL
-// Fills sink params.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::GetSinkParams( TDisplaySinkParamsDP& aSinkParams )
- {
- __VTPRINTENTER( "RVD(DP).GetSinkParams" )
- Mem::FillZ( &aSinkParams, sizeof( TDisplaySinkParamsDP ) );
- aSinkParams.iThreadId = RThread().Id();
- aSinkParams.iRequestStatusPtr = &iStatus;
- aSinkParams.iObserver = iObserver;
- aSinkParams.iPostingBuffer1 = &iBuffers[ 0 ].Buffer();
- aSinkParams.iPostingBuffer2 = &iBuffers[ 1 ].Buffer();
- aSinkParams.iFrameSize = iSourceSize;
- aSinkParams.iPostingFormat = iPostingFormat;
- aSinkParams.iFlags = TDisplaySinkParams::EDisplaySinkDP;
- __VTPRINTEXITR( "RVD(DP).GetSinkParams flags=%d",
- (TInt) aSinkParams.iFlags )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::DisplaySink
-// Returns reference to sink.
-// -----------------------------------------------------------------------------
-//
-MDisplaySink& CVtEngDrawDP::DisplaySink()
- {
- return *iDisplaySink;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::StoreFrameBuffer
-// Stores given frame buffer.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::StoreFrameBuffer(
- CPostingSurface::TPostingBuff* aPostingBuffer )
- {
- __VTPRINTENTER( "RVD(DP).StoreFrameBuffer" )
- if ( iPostingFormat == KDefaultPostingFormat422 )
- {
- const TInt height( iSourceSize.iHeight );
- const TInt srcStride( aPostingBuffer->GetStride() );
- const TInt dstStride( iSourceSize.iWidth * 2 );
- TUint8* dst =
- const_cast< TUint8* >( iFrameBuffer->Des().Ptr() );
- const TUint8* src =
- reinterpret_cast< const TUint8* >( aPostingBuffer->GetBuffer() );
- for ( TInt y = height - 1; y >= 0; y-- )
- {
- dst = Mem::Copy( dst, src, dstStride );
- src += srcStride;
- }
- }
- else
- {
- TInt frameBufferSizeInBytes( GetFrameBufferSize( iSourceSize ) );
- TPtrC8 postingBufferDesC(
- reinterpret_cast< const TUint8* >( aPostingBuffer->GetBuffer() ),
- frameBufferSizeInBytes );
- *iFrameBuffer = postingBufferDesC;
- }
- SetFlag( EFrameBufferFilled | EFrameBufferNeedsConvertAndScale );
- __VTPRINTEXIT( "RVD(DP).StoreFrameBuffer" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CreateFrameBufferL
-// Creates frame buffer.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::CreateFrameBufferL( const TSize& aSize )
- {
- __VTPRINTENTER( "RVD(DP).CreateFrameBufferL" )
- delete iFrameBuffer; iFrameBuffer = NULL;
- iFrameBuffer = HBufC8::NewL( GetFrameBufferSize( aSize ) );
- ClearFlag( EFrameBufferFilled | EFrameBufferNeedsConvertAndScale );
- __VTPRINTEXIT( "RVD(DP).CreateFrameBufferL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SetAvailableToSink
-// Sets posting buffer available to sink.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::SetAvailableToSink( CPostingSurface::TPostingBuff* aBuffer )
- {
- __VTPRINTENTER( "RVD(DP).SetAvailableToSink" )
- for ( TInt i = MDisplaySink::EFirstBitmap;
- i < MDisplaySink::EFirstBitmap + KVtEngMaxBuffers; i++ )
- {
- if ( !iBuffers[ i ].IsSet() )
- {
- __VTPRINT3( DEBUG_MEDIA,
- "RVD(DP).SetAvailableToSink buffer %d: $%x",
- i, reinterpret_cast< TUint >( aBuffer->GetBuffer() ) );
- iBuffers[ i ].Set( aBuffer );
- Activate();
- DisplaySink().SetBitmapAvailable(
- static_cast< MDisplaySink::TBitmapNo >( i ) );
- break;
- }
- }
- __VTPRINTEXIT( "RVD(DP).SetAvailableToSink" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::SetAvailableToSink
-// Sets posting buffer available to sink.
-// -----------------------------------------------------------------------------
-//
-CPostingSurface* CVtEngDrawDP::CreatePostingSurfaceL()
- {
- __VTPRINTENTER( "RVD(DP).CreatePostingSurfaceL" )
- CPostingSurface* postingSurface = NULL;
- CPostingSurfaceFactory* ( *createFactoryL )() =
- reinterpret_cast< CPostingSurfaceFactory*(*)() >( iDPLib->Lookup( 1 ) );
- if ( createFactoryL )
- {
- CPostingSurfaceFactory* factory = createFactoryL();
- CleanupStack::PushL( factory );
- postingSurface = factory->NewPostingSurfaceL( EMainDisplay );
- CleanupStack::PopAndDestroy(); // factory
- }
- __VTPRINTEXIT( "RVD(DP).CreatePostingSurfaceL" )
- return postingSurface;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CloseDPLibrary
-// Close the DP API library and free the allocated instance.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::CloseDPLibrary()
- {
- if ( iDPLib )
- {
- iDPLib->Close();
- delete iDPLib;
- iDPLib = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::LoadDPLibraryL
-// Loads DP API library.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::LoadDPLibraryL()
- {
- CloseDPLibrary();
- iDPLib = new ( ELeave ) RLibrary();
- TInt error( iDPLib->Load( KDPAPIDLLName() ) );
- if ( error )
- {
- delete iDPLib;
- iDPLib = NULL;
- User::Leave( error );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::Convert420ToVtImg
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::Convert420ToVtImg( HBufC8* aSource,
- CVtImageBitmap& aTarget )
- {
- __VTPRINTENTER( "RVD(DP).Convert420ToVtImg" )
-
- CFbsBitmap& bitmap( aTarget.Bitmap() );
- TSize size( bitmap.SizeInPixels() );
- TInt height( size.iHeight );
- TInt width( size.iWidth );
- TInt bytes( bitmap.ScanLineLength( width, bitmap.DisplayMode() ) );
-
- const TUint8* y1ptr = aSource->Ptr();
- const TUint8* y2ptr = y1ptr + width;
- const TUint8* uptr = y1ptr + ( width * height );
- const TUint8* vptr = uptr + ( width * height ) / 4;
-
- bitmap.LockHeap();
-
- TUint8* d1ptr = reinterpret_cast< TUint8* >( bitmap.DataAddress() );
- TUint8* d2ptr = d1ptr + bytes;
-
- height /= 2; // divide by 2 because we process to rows at time
- bytes *= 2; // multiply by 2 so we don't need to do it in loop
-
- while ( height-- )
- {
- DoConvertYuv420toXRGB0888( width, y1ptr, y2ptr, uptr, vptr, d1ptr,
- d2ptr );
- y1ptr = y2ptr;
- y2ptr += width;
- d1ptr += bytes;
- d2ptr += bytes;
- }
-
- bitmap.UnlockHeap();
-
- __VTPRINTEXIT( "RVD(DP).Convert420ToVtImg" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::Convert422ToVtImg
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::Convert422ToVtImg( HBufC8* aSource, CVtImageBitmap& aTarget )
- {
- __VTPRINTENTER( "RVD(DP).Convert422ToVtImg" )
- CFbsBitmap& bitmap( aTarget.Bitmap() );
- TSize size( bitmap.SizeInPixels() );
- TInt height( size.iHeight );
- TInt width( size.iWidth );
- TInt bytes( bitmap.ScanLineLength( width, bitmap.DisplayMode() ) );
-
- const TUint8* sptr = aSource->Ptr();
-
- bitmap.LockHeap();
-
- TUint8* dptr = reinterpret_cast< TUint8* >( bitmap.DataAddress() );
- while ( height-- )
- {
- DoConvertYuv422toXRGB0888( width, sptr, dptr );
- dptr += bytes;
- }
-
- bitmap.UnlockHeap();
-
- __VTPRINTEXIT( "RVD(DP).Convert422ToVtImg" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::UpdateVtFrame
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::UpdateVtFrame()
- {
- __VTPRINTENTER( "RVD(DP).UpdateVtFrame" )
- if ( IsFlag( EFrameBufferFilled ) )
- {
- CFbsBitmap* bitmap = NULL;
- if ( IsFlag( EFrameBufferNeedsConvertAndScale ) )
- {
- if ( iPostingFormat == KDefaultPostingFormat422 )
- {
- Convert422ToVtImg( iFrameBuffer, *iSource );
- }
- else
- {
- Convert420ToVtImg( iFrameBuffer, *iSource );
- }
- TRAPD( error, iImageScaler->ScaleNowL( *iSource, *iTarget ) );
- if ( !error )
- {
- bitmap = &iTarget->Bitmap();
- }
- ClearFlag( EFrameBufferNeedsConvertAndScale );
- }
- else
- {
- bitmap = &iTarget->Bitmap();
- }
- Config().iObserver->vtSetFrame( MVtEngFrameObserver::ERemoteVideoFrame,
- bitmap );
- }
- __VTPRINTEXIT( "RVD(DP).UpdateVtFrame" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::ScalingFinished
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::ScalingFinished( TInt )
- {
- }
-
-// Implementation for CVtEngDrawDP::TVtEngBuffer
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::TVtEngBuffer::TVtEngBuffer
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDP::TVtEngBuffer::TVtEngBuffer()
- : iBuffer( 0 )
- {
- __VTPRINTENTER( "RVD(DP).Buffer.Ctor" )
- __VTPRINTEXIT( "RVD(DP).Buffer.Ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::TVtEngBuffer::Set
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::TVtEngBuffer::Set( CPostingSurface::TPostingBuff* aBuffer )
- {
- __VTPRINTENTER( "RVD(DP).Buffer.Set" )
- __VTPRINT2( DEBUG_MEDIA, "RVD(DP).Buffer.Set $%x",
- reinterpret_cast< TUint >( aBuffer->GetBuffer() ) )
- iBuffer = aBuffer;
- __VTPRINTEXIT( "RVD(DP).Buffer.Set" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::TVtEngBuffer::UnSet
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::TVtEngBuffer::UnSet()
- {
- __VTPRINTENTER( "RVD(DP).Buffer.UnSet" )
- iBuffer = 0;
- __VTPRINTEXIT( "RVD(DP).Buffer.UnSet" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::TVtEngBuffer::IsSet
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawDP::TVtEngBuffer::IsSet() const
- {
- return ( iBuffer != 0 );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::TVtEngBuffer::Buffer
-//
-// -----------------------------------------------------------------------------
-//
-CPostingSurface::TPostingBuff*& CVtEngDrawDP::TVtEngBuffer::Buffer()
- {
- return iBuffer;
- }
-
-// Implementation for CVtEngDrawDP::CVtEngBufferWaiter
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CVtEngBufferWaiter::CVtEngBufferWaiter
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDP::CVtEngBufferWaiter::CVtEngBufferWaiter
- ( CPostingSurface& aPostingSurface, MVtEngBufferWaiterObserver& aObserver )
- : CActive( CActive::EPriorityStandard ),
- iPostingSurface( &aPostingSurface ), iObserver( &aObserver )
- {
- __VTPRINTENTER( "RVD(DP).BufferWaiter.Ctor" )
- CActiveScheduler::Add( this );
- __VTPRINTEXIT( "RVD(DP).BufferWaiter.Ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CVtEngBufferWaiter::~CVtEngBufferWaiter
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDP::CVtEngBufferWaiter::~CVtEngBufferWaiter()
- {
- __VTPRINTENTER( "RVD(DP).BufferWaiter.~" )
- Cancel();
- __VTPRINTEXIT( "RVD(DP).BufferWaiter.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CVtEngBufferWaiter::Activate
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::CVtEngBufferWaiter::Activate()
- {
- __VTPRINTENTER( "RVD(DP).BufferWaiter.Activate" )
- iStatus = KRequestPending;
- SetActive();
- __VTPRINTEXIT( "RVD(DP).BufferWaiter.Activate" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CVtEngBufferWaiter::FetchBuffer
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngDrawDP::CVtEngBufferWaiter::FetchBuffer()
- {
- __VTPRINTENTER( "RVD(DP).BufferWaiter.FetchBuffer" )
- // do nothing if we're already active
- if ( IsActive() )
- {
- __VTPRINTEXIT( "RVD(DP).BufferWaiter.FetchBuffer" )
- return KErrNone;
- }
- // else start fetching
- Activate();
- __VTPRINTEXIT( "RVD(DP).BufferWaiter.FetchBuffer" )
- return iPostingSurface->WaitForNextBuffer( iStatus );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CVtEngBufferWaiter::RunL
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::CVtEngBufferWaiter::RunL()
- {
- __VTPRINTENTER( "RVD(DP).BufferWaiter.RunL" )
- __VTPRINT2( DEBUG_MEDIA, "RVD(DP).BufferWaiter.RunL %d", iStatus.Int() );
- TInt result( iStatus.Int() );
- if ( result == KErrNone )
- {
- iObserver->BufferReady( iPostingSurface->NextBuffer() );
- }
- else
- {
- iObserver->FetchError( result );
- }
- __VTPRINTEXIT( "RVD(DP).BufferWaiter.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDP::CVtEngBufferWaiter::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDP::CVtEngBufferWaiter::DoCancel()
- {
- __VTPRINTENTER( "RVD(DP).BufferWaiter.DoCancel" )
- iPostingSurface->CancelBuffer();
- __VTPRINTEXIT( "RVD(DP).BufferWaiter.DoCancel" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Media/CVtEngDrawDSA.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,586 +0,0 @@
-/*
-* Copyright (c) 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: Remote video handler.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "CVtEngDrawDSA.h"
-#include "CVtEngEventManager.h"
-#include "VtEngPanic.h"
-#include "MVtEngFrameObserver.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include <videotelephonyvariant.hrh>
-#include <tdisplaysinkparamsdsa.h>
-#include <cvtlogger.h>
-
-// LOCAL CONSTANTS
-
-// Default display mode.
-const TDisplayMode KVtEngDefaultDisplayMode( EColor64K );
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::NewL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDSA* CVtEngDrawDSA::NewL(
- MDisplaySinkObserver* aObserver )
- {
- CVtEngDrawDSA* self = new ( ELeave ) CVtEngDrawDSA( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::~CVtEngDrawDSA
-// Destructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDSA::~CVtEngDrawDSA()
- {
- __VTPRINTENTER( "RVD(DSA).~" )
- Cancel();
- delete iBitmap1;
- delete iBitmap2;
- if ( iImageScaler )
- {
- iImageScaler->Release();
- }
- __VTPRINTEXIT( "RVD(DSA).~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::CVtEngDrawDSA
-// C++ constructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawDSA::CVtEngDrawDSA( MDisplaySinkObserver* aObserver ) :
- CVtEngDraw( aObserver ), iBitmapSetAvail( ETrue )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseConstructL
-// Base construction.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseConstructL( )
- {
- __VTPRINTENTER( "RVD(DSA).BaseConstructL" )
- TSize vtEngRemoteVideoDefaultSize( KVtEngRemoteVideoDefaultWidth,
- KVtEngRemoteVideoDefaultHeight );
-
- iBitmap1 = new ( ELeave ) CFbsBitmap();
- User::LeaveIfError( iBitmap1->Create(
- vtEngRemoteVideoDefaultSize, KVtEngDefaultDisplayMode ) );
- iBitmap2 = new ( ELeave ) CFbsBitmap();
- User::LeaveIfError( iBitmap2->Create(
- vtEngRemoteVideoDefaultSize, KVtEngDefaultDisplayMode ) );
- iImageScaler = VtEngScalerFactory::CreateScalerL( *this );
- __VTPRINT2( DEBUG_MEDIA | DEBUG_CONSTRUCT,
- "RVD.ConL scaler ok %d", iImageScaler != NULL )
- __VTPRINTEXIT( "RVD(DSA).BaseConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::CreateSinkL
-// Instantiates display sink.
-// -----------------------------------------------------------------------------
-//
-MDisplaySink* CVtEngDrawDSA::CreateSinkL()
- {
- __VTPRINTENTER( "RVD(DSA).CreateSinkL" )
- TDisplaySinkParamsDSA params;
- GetSinkParams( params );
- MDisplaySink* sink = ::CreateSinkL( params, KNullDesC8 );
- __VTPRINTEXITR( "RVD(DSA).CreateSinkL flags=%d", params.iFlags )
- return sink;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseDoCancel
-// DoCancel for derived class.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseDoCancel()
- {
- __VTPRINTENTER( "RVD(DSA).BaseDoCancel" )
- __VTPRINTEXIT( "RVD(DSA).BaseDoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseVerifyConfigL
-// Checks current configuration against DSA implementation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseVerifyConfigL()
- {
- __VTPRINTENTER( "RVD(DSA).BaseVerifyConfigL" )
- __VTPRINTEXIT( "RVD(DSA).BaseVerifyConfigL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseRestartL
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseRestartL()
- {
- __VTPRINTENTER( "RVD(DSA).BaseRestartL" )
- __VTPRINTEXIT( "RVD(DSA).BaseRestartL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseAbortNow
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseAbortNow()
- {
- __VTPRINTENTER( "RVD(DSA).BaseAbortNow" )
- __VTPRINTEXIT( "RVD(DSA).BaseAbortNow" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseStartDrawL
-// Starts the drawing.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseStartDrawL()
- {
- __VTPRINTENTER( "RVD(DSA).BaseStartDrawL" )
- if ( iDSA )
- {
- SetFlag( EReadyInternal );
- if ( !IsActive() )
- {
- Activate();
- iDisplaySink->SetBitmapAvailable( MDisplaySink::EFirstBitmap );
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "RVD(DSA).BaseStartDrawL bmp avail done" )
- iWatcher->Start( KVtEngWatcherTimeout, KVtEngWatcherTimeout,
- iCallback );
- }
- SetFlag( ERemoteVideoDrawing );
- }
- else
- {
- User::Leave( KErrNotReady );
- }
- __VTPRINTEXIT( "RVD(DSA).BaseStartDrawL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseStopDraw
-// Stop the drawing.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseStopDraw()
- {
- // Cancel the timer in any case.
- __VTPRINTENTER( "RVD(DSA).BaseStopDraw" )
- iWatcher->Cancel();
- if ( iDSA )
- {
- ClearFlag( ERemoteVideoDrawing | EStarted );
- iDSA->Cancel();
- }
-
- // Stop also scaling
- if ( iImageScaler )
- {
- iImageScaler->Cancel();
- }
-
- Cancel();
- __VTPRINTEXIT( "RVD(DSA).BaseStopDraw" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseSetConfigL
-// Sets new configuration.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseSetConfigL( const TVtEngRenderConfig& aConfig )
- {
- __VTPRINTENTER( "RVD(DSA).BaseSetConfigL" )
- Mem::FillZ( &iConfig, sizeof( TVtEngRenderConfigDSA ) );
- iConfig = aConfig;
- ConfigUpdatedL();
- __VTPRINTEXIT( "RVD(DSA).BaseSetConfigL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseSetUIForegroundL
-// Sets UI foreground status.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseSetUIForegroundL( TBool aForeground )
- {
- __VTPRINTENTER( "RVD(DSA).BaseSetUIForegroundL" )
- if ( aForeground )
- {
- TBool wasSentToBackground( IsFlag( ESentToBackground ) );
- SetFlag( EFlagUIForeground );
- ClearFlag( ESentToBackground );
- if ( wasSentToBackground )
- {
- BaseRefreshBitmapsL();
- Restart( RDirectScreenAccess::ETerminateCancel );
- BaseStartDrawL();
- }
- }
- else
- {
- BaseStopDraw();
- ClearFlag( EFlagUIForeground );
- SetFlag( ESentToBackground );
- }
- __VTPRINTEXIT( "RVD(DSA).BaseSetUIForegroundL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseVideoFrameSizeChangedL
-// Called when incoming frame buffer size changes.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseVideoFrameSizeChangedL( const TSize& /*aTo*/ )
- {
- __VTPRINTENTER( "RVD(DSA).BaseVideoFrameSizeChangedL" )
- __VTPRINTEXIT( "RVD(DSA).BaseVideoFrameSizeChangedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseRequestLastFrame
-// Request update last remote video frame through MVtEngFrameObserver::vtSetFrame
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseRequestLastFrame()
- {
- __VTPRINTENTER( "RVD(DSA).BaseRequestLastFrame" )
- __VTPRINTEXIT( "RVD(DSA).BaseRequestLastFrame" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::Config
-// Returns current configuration.
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderConfig& CVtEngDrawDSA::Config()
- {
- return iConfig;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::RunL
-// CActive heir execution method.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::RunL()
- {
- __VTPRINTENTER( "RVD(DSA).RunL" )
- __VTPRINT2( DEBUG_MEDIA, " bmpNo=%d", iBitmapNo )
- iBitmapNo = iStatus.Int() == 0 ?
- MDisplaySink::ESecondBitmap :
- MDisplaySink::EFirstBitmap ;
-
- iBitmapSetAvail = EFalse;
-
- TBool dropFrame( EFalse );
-
- if ( !iDSUpdated )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(DSA).RunL !Updated" )
- dropFrame = ETrue;
- }
- else if ( !IsFlag( EFlagUIForeground ) )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(DSA).RunL !Flag( EFlagUIForeground )" )
- dropFrame = ETrue;
- }
-
- if ( dropFrame )
- {
- iBitmapSetAvail = ETrue;
- Activate();
- iDisplaySink->SetBitmapAvailable( iBitmapNo );
- __VTPRINTEXIT( "RVD(DSA).RunL" )
- return;
- }
-
- // Image received, reset counter.
- iCheckpoint = KVtEngWatcherThreshold;
-
- __VTPRINT2( DEBUG_MEDIA, "RVD(DSA).RunL iStatus=%d", iStatus.Int() )
- if ( iStatus >= KErrNone )
- {
- __VTPRINT2( DEBUG_MEDIA, "RVD(DSA).RunL flags=%d", iFlags )
- TBool firstFrame( !IsFlag ( EFirstFrameReceived ) );
- SetFlag( EFirstFrameReceived );
-
- // Remote video is about to start?
- if ( !IsFlag( EStarted ) && IsFlag( EReadyInternal ) )
- {
- SetFlag( EStarted );
- iDSA->StartL();
- if ( !iConfig.iClipRect.IsEmpty() )
- {
- SetFlag( EReadyForeground );
- iDSA->Gc()->SetClippingRect( iConfig.iClipRect );
- }
- __VTPRINT( DEBUG_MEDIA, "RVD(DSA).RunL notify rvd start" )
- //CVtEngEventManager::NotifyEvent( KVtEngRemoteVideoStarted );
- }
- if ( firstFrame )
- {
- CVtEngEventManager::NotifyEvent( KVtEngRemoteVideoStarted );
- }
- if ( IsFlag( EStarted ) )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(DSA).RunL refresh" )
- BaseRefreshL();
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, "RVD.RunL notify rvd problem" )
- CVtEngEventManager::NotifyEvent( KVtEngRemoteRenderingProblem );
- __VTPRINTEXIT( "RVD(DSA).RunL" )
- return;
- }
-
- __VTPRINT( DEBUG_MEDIA, "RVD.RunL setting active" )
- Activate();
-
- // Set bitmap only if not to be scaled
- if( !iImageScaler )
- {
- if ( !iBitmapSetAvail )
- {
- iDisplaySink->SetBitmapAvailable( iBitmapNo );
- iBitmapSetAvail = ETrue;
- }
- __VTPRINT( DEBUG_MEDIA, "RVD(DSA).ScalingCompleted set bmp available" )
- }
-
- __VTPRINTEXIT( "RVD(DSA).RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::ScalingCompleted
-// Callback to receive scaled images.
-// Draws received image.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::ScalingCompleted(
- CFbsBitmap* aBitmap,
- TInt aError )
- {
- __VTPRINTENTER( "RVD(DSA).ScalingCompleted" )
- __VTPRINT2( DEBUG_MEDIA, "RVD(DSA).ScalingReady %d", aError )
- __VTPRINT2( DEBUG_MEDIA, "RVD(DSA).ScalingReady image %d", aBitmap ? 1 : 0 )
- if ( aError == KErrNone &&
- aBitmap != NULL )
- {
- DrawBitmap( *aBitmap );
- if ( !iBitmapSetAvail )
- {
- // Set bitmap available if not already set
- __VTPRINT( DEBUG_MEDIA, "RVD(DSA).ScalingCompleted set bmp available" )
- Activate();
- iDisplaySink->SetBitmapAvailable( iBitmapNo );
- iBitmapSetAvail = ETrue;
- }
- __VTPRINT( DEBUG_MEDIA, "RVD(DSA).ScalingCompleted available?" )
- }
- else if ( aError != KErrCancel )
- {
- // Notification of failed scaling.
- CVtEngEventManager::NotifyEvent( KVtEngRemoteRenderingProblem );
- __VTPRINT( DEBUG_MEDIA, "RVD(DSA).ScalingReady problems" )
- }
- __VTPRINTEXITR( "RVD(DSA).ScalingCompleted err=%d", aError )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseRefreshL
-// If using scaler, start the scaling otherwise draw a bitmap.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseRefreshL()
- {
- __VTPRINTENTER( "RVD(DSA).BaseRefreshL" )
- if ( iConfig.iWindow )
- {
- if ( IsFlag( EReady ) && IsFlag( EFirstFrameReceived ) &&
- IsFlag( EFlagUIForeground ) )
- {
- CFbsBitmap* current = iBitmapNo != 0 ? iBitmap1 : iBitmap2;
- if ( current )
- {
- if ( iImageScaler )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "RVD(DSA).BaseRefreshL scaling" )
- TInt index = 0;
- if ( current == iBitmap2 )
- {
- index = 1;
- }
- iImageScaler->Cancel();
- iImageScaler->ScaleL( index );
- }
- else
- {
- DrawBitmap( *current );
- }
- }
- }
- }
- __VTPRINTEXIT( "RVD(DSA).BaseRefreshL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::BaseRefreshBitmapsL
-// Refreshes bitmaps sizes and display mode if needed.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::BaseRefreshBitmapsL()
- {
- __VTPRINTENTER( "RVD(DSA).BaseRefreshBitmapsL" )
- const TDisplayMode currentMode( iConfig.iWsSreenDevice->DisplayMode() );
- TBool refreshDisplayMode = EFalse;
- TSize newSize( KVtEngRemoteVideoDefaultWidth,
- KVtEngRemoteVideoDefaultHeight );
-
- // Use new size if supplied
- if ( iSourceSize.iHeight > 0 && iSourceSize.iWidth > 0 )
- {
- newSize = iSourceSize;
- iSourceSize.iHeight = 0;
- iSourceSize.iWidth = 0;
- }
-
- __VTPRINT( DEBUG_MEDIA , "================== RVD.RFBM ==================" )
- __VTPRINT2( DEBUG_MEDIA , " newSize.iWidth: %d", newSize.iWidth)
- __VTPRINT2( DEBUG_MEDIA , " newSize.iHeight: %d ", newSize.iHeight )
- __VTPRINT( DEBUG_MEDIA , "================== RVD.RFBM ==================" )
-
- TBool refreshSize = EFalse;
- if ( iBitmap1 )
- {
- refreshDisplayMode = ( iBitmap1->DisplayMode() != currentMode );
- refreshSize = ( newSize != iBitmap1->SizeInPixels() );
- }
-
- // Delete and create the bitmaps
- if ( refreshDisplayMode || refreshSize || !iBitmap1 || !iBitmap2 )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "RVD(DSA).BaseRefreshBitmapsL bmp create" )
- if ( iImageScaler )
- {
- iImageScaler->Cancel();
- }
-
- iConfig.iObserver->vtSetFrame(
- MVtEngFrameObserver::ERemoteVideoFrame, 0 );
- delete iBitmap1;
- iBitmap1 = NULL;
- delete iBitmap2;
- iBitmap2 = NULL;
-
- iBitmap1 = new ( ELeave ) CFbsBitmap();
- User::LeaveIfError( iBitmap1->Create(
- newSize, currentMode ) );
- iBitmap2 = new ( ELeave ) CFbsBitmap();
- User::LeaveIfError( iBitmap2->Create(
- newSize, currentMode ) );
- ClearFlag( EFirstFrameReceived );
- }
-
- // set the params for DS
- TDisplaySinkParamsDSA params;
- GetSinkParams( params );
-
- // Update the scaler
- if ( iImageScaler )
- {
- // Try to configure first, if returns true
- // configure again
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "RVD(DSA).BaseRefreshBitmapsL cnfg" )
-
- iImageScaler->ConfigureL( currentMode,
- iConfig.iRect.Size(), params.iBitmap1Handle,
- params.iBitmap2Handle );
-
- if ( IsFlag( EFirstFrameReceived ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "CVtEngDrawDSA::RefreshBitmapsL RFR" )
- BaseRefreshL();
- }
-
- }
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "RVD(DSA).BaseRefreshBitmapsL USP" )
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "RVD(DSA).BaseRefreshBitmapsL USP flag" )
- iDisplaySink->UpdateSinkParamsL( params, iDSUpdated );
- Activate();
- iDisplaySink->SetBitmapAvailable( MDisplaySink::EFirstBitmap );
- __VTPRINTEXIT( "RVD(DSA).BaseRefreshBitmapsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::DrawBitmap
-// Draws bitmap
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::DrawBitmap( CFbsBitmap& aBitmap )
- {
- __VTPRINTENTER( "RVD(DSA).DrawBitmap" )
- __ASSERT_ALWAYS( aBitmap.Handle(),
- Panic( EVtEngPanicInvalidBitmapHandle ) );
- __ASSERT_ALWAYS( iDSA, Panic( EVtEngPanicInvalidPointer ) );
- iDSA->Gc()->SetFaded( iConfig.iWindow->IsFaded() );
- iDSA->Gc()->BitBlt( iConfig.iRect.iTl, &aBitmap );
- iDSA->ScreenDevice()->Update();
- iConfig.iObserver->vtSetFrame( MVtEngFrameObserver::ERemoteVideoFrame,
- &aBitmap );
- __VTPRINTEXITR( "RVD(DSA).DrawBitmap h=%d", aBitmap.Handle() )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::GetSinkParams
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawDSA::GetSinkParams( TDisplaySinkParamsDSA& aSinkParams )
- {
- __VTPRINTENTER( "RVD(DSA).GetSinkParams" )
- aSinkParams.iThreadId = RThread().Id();
- aSinkParams.iRequestStatusPtr = &iStatus;
- aSinkParams.iObserver = iObserver;
- aSinkParams.iBitmap1Handle = iBitmap1->Handle();
- aSinkParams.iBitmap2Handle = iBitmap2->Handle();
- aSinkParams.iFlags = TDisplaySinkParams::EDisplaySinkDSA;
- __VTPRINTEXIT( "RVD(DSA).GetSinkParams" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Media/CVtEngDrawNGA.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1143 +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: Class for NGA Drawer.
-*
-*/
-
-// INCLUDE FILES
-
-#include "CVtEngDrawNGA.h"
-#include "CVtEngEventManager.h"
-#include "VtEngPanic.h"
-#include "MVtEngFrameObserver.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include <videotelephonyvariant.hrh>
-#include <tdisplaysinkparamsnga.h>
-#include <cvtlogger.h>
-#include <graphics/surfaceconfiguration.h>
-
-// Reversed enumeration for the bitmaps.
-static const MDisplaySink::TBitmapNo KVtEngBitmapNoReversed[] =
- {
- MDisplaySink::ESecondBitmap,
- MDisplaySink::EFirstBitmap
- };
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVTSurfaceBuffer::TVTSurfaceBuffer
-//
-// -----------------------------------------------------------------------------
-//
-TVTSurfaceBuffer::TVTSurfaceBuffer( TUint8* aBuffer, TInt aSurfaceNo )
- : iBuffer( aBuffer ), iSurfaceBufferNo(aSurfaceNo)
- {
- __VTPRINTENTER( "RVD(NGA).TVTSurfaceBuffer.Ctor" )
- __VTPRINTEXIT( "RVD(NGA).TVTSurfaceBuffer.Ctor" )
- }
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVTSurfaceBuffer::Buffer
-//
-// -----------------------------------------------------------------------------
-//
-TUint8*& TVTSurfaceBuffer::Buffer()
- {
- return iBuffer;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVTSurfaceBuffer::SurfaceNo
-//
-// -----------------------------------------------------------------------------
-//
-TInt TVTSurfaceBuffer::SurfaceNo()
- {
- return iSurfaceBufferNo;
- }
-
-void TVTSurfaceBuffer::Set( TUint8* aBuffer, TInt aSurfaceNo )
- {
- iBuffer = aBuffer;
- iSurfaceBufferNo = aSurfaceNo;
- }
-
-void TVTSurfaceBuffer::UnSet()
- {
- iBuffer = NULL;
- iSurfaceBufferNo = KErrNotFound;
- }
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::NewL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawNGA* CVtEngDrawNGA::NewL(
- MDisplaySinkObserver* aObserver )
- {
- CVtEngDrawNGA* self = new ( ELeave ) CVtEngDrawNGA( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::~CVtEngDrawNGA
-// Destructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawNGA::~CVtEngDrawNGA()
- {
- __VTPRINTENTER( "RVD(NGA).~" )
- Cancel();
-
- if(iSurfaceCreated)
- {
-
- if (iSurfaceManager)
- {
- iConfig.iRemoteWindow->RemoveBackgroundSurface(ETrue);
- iConfig.iWsSession->UnregisterSurface(0, iSurfaceId);
- iSurfaceChunk->Close();
- delete iSurfaceChunk;
- iSurfaceChunk = NULL;
- iSurfaceManager->CloseSurface(iSurfaceId);
- iSurfaceUpdateSession.CancelAllUpdateNotifications();
- iSurfaceUpdateSession.Close();
-
- /* Close the surface manager handle */
- iSurfaceManager->Close();
-
- delete iSurfaceManager;
- iSurfaceManager = 0;
- }
-
- for ( TInt i = KVtEngMaxSurfaceBuffers-1; i >= 0 ; i-- )
- {
- if (iCallBackTable[i])
- {
- iCallBackTable[i]->Cancel();
- delete iCallBackTable[i];
- iCallBackTable[i] = NULL;
- }
- }
-
- iSurfaceBuffers[ 0 ].UnSet();
- iSurfaceBuffers[ 1 ].UnSet();
- iSurfaceBuffer0.UnSet();
- iSurfaceBuffer1.UnSet();
- }
- delete iBufferWaiter;
- iWaitingBuffers.Reset();
-
- __VTPRINTEXIT( "RVD(NGA).~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CVtEngDrawNGA
-// C++ constructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawNGA::CVtEngDrawNGA( MDisplaySinkObserver* aObserver ) :
- CVtEngDraw( aObserver ),
- iSurfaceFormat( EUidPixelFormatYUV_420Planar )
-
- {
- iConfig.iRemoteWindow = NULL;
- iConfig.iWsSession = NULL;
- iSurfaceCreated = EFalse;
- iWaitingBuffers.Reset();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseConstructL
-// Base construction.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseConstructL( )
- {
- __VTPRINTENTER( "RVD(NGA).BaseConstructL" )
- DoBaseConstructL();
- __VTPRINTEXIT( "RVD(NGA).BaseConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CreateSinkL
-// Instantiates display sink.
-// -----------------------------------------------------------------------------
-//
-MDisplaySink* CVtEngDrawNGA::CreateSinkL()
- {
- __VTPRINTENTER( "RVD(NGA).CreateSinkL" )
- TDisplaySinkParamsNGA params;
- GetSinkParams( params );
- MDisplaySink* sink = ::CreateSinkL( params, KNullDesC8 );
- if ( IsFlag( EBaseConstructCalled ) )
- {
- sink->Pause();
- SetFlag( ESinkParamUpdateRequired | ESinkResumeRequired );
- }
- __VTPRINTEXITR( "RVD(NGA).CreateSinkL flags=%d", params.iFlags )
- return sink;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseRefreshL
-// If using scaler, start the scaling otherwise draw a bitmap.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseRefreshL()
- {
- __VTPRINTENTER( "RVD(NGA).BaseRefreshL" )
- __VTPRINTEXIT( "RVD(NGA).BaseRefreshL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseRefreshBitmapsL
-// Refreshes bitmaps sizes and display mode if needed.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseRefreshBitmapsL()
- {
- __VTPRINTENTER( "RVD(NGA).BaseRefreshBitmapsL" )
- BaseConstructL();
- CreateSurfaceL();
- // set the params for DS
- UpdateSinkParamsL();
- ClearFlag( EFirstFrameReceived );
- __VTPRINTEXIT( "RVD(NGA).BaseRefreshBitmapsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseDoCancel
-// DoCancel for derived class.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseDoCancel()
- {
- __VTPRINTENTER( "RVD(NGA).BaseDoCancel" )
- __VTPRINTEXIT( "RVD(NGA).BaseDoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseVerifyConfigL
-// Checks current configuration against DSA implementation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseVerifyConfigL()
- {
- __VTPRINTENTER( "RVD(NGA).BaseVerifyConfigL" )
- __VTPRINTEXIT( "RVD(NGA).BaseVerifyConfigL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseRestartL
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseRestartL()
- {
- __VTPRINTENTER( "RVD(NGA).BaseRestartL" )
- __VTPRINTEXIT( "RVD(NGA).BaseRestartL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseAbortNow
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseAbortNow()
- {
- __VTPRINTENTER( "RVD(NGA).BaseAbortNow" )
- __VTPRINTEXIT( "RVD(NGA).BaseAbortNow" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseStartDrawL
-// Starts the drawing.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseStartDrawL()
- {
- __VTPRINTENTER( "RVD(NGA).BaseStartDrawL" )
- if ( IsFlag( EBaseConstructCalled ) )
- {
- SetFlag( EBaseBaseStartDrawCalled );
- }
- else
- {
- DoBaseStartDrawL();
- }
- __VTPRINTEXIT( "RVD(NGA).BaseStartDrawL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseStopDraw
-// Stop the drawing.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseStopDraw()
- {
- // Cancel the timer in any case.
- __VTPRINTENTER( "RVD(NGA).BaseStopDraw" )
- ClearFlag( EBaseBaseStartDrawCalled );
- iWatcher->Cancel();
- iBufferWaiter->Cancel();
- ClearFlag( ERemoteVideoDrawing | EStarted );
- for ( TInt i = KVtEngMaxSurfaceBuffers-1; i >= 0 ; i-- )
- {
- if (iCallBackTable[i])
- {
- iCallBackTable[i]->Cancel();
- }
- }
- Cancel();
-
- __VTPRINTEXIT( "RVD(NGA).BaseStopDraw" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseSetConfigL
-// Sets new configuration.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseSetConfigL( const TVtEngRenderConfig& aConfig )
- {
- __VTPRINTENTER( "RVD(NGA).BaseSetConfigL" )
- Mem::FillZ( &iConfig, sizeof( TVtEngRenderConfigNGA ) );
- iConfig = aConfig;
- if ( IsFlag( EBaseConstructCalled ) )
- {
- SetFlag( EBaseSetConfigCalled );
- }
- else
- {
- ConfigUpdatedL();
- }
- __VTPRINTEXIT( "RVD(NGA).BaseSetConfigL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseSetUIForegroundL
-// Sets UI foreground status.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseSetUIForegroundL( TBool aForeground )
- {
- __VTPRINTENTER( "RVD(NGA).BaseSetUIForegroundL" )
- __VTPRINTEXIT( "RVD(NGA).BaseSetUIForegroundL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseRequestLastFrame
-// Request update last remote video frame through MVtEngFrameObserver::vtSetFrame
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseRequestLastFrame()
- {
- __VTPRINTENTER( "RVD(NGA).BaseRequestLastFrame" )
- __VTPRINTEXIT( "RVD(NGA).BaseRequestLastFrame" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BaseVideoFrameSizeChangedL
-// Called when incoming frame buffer size changes.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BaseVideoFrameSizeChangedL( const TSize& /*aTo*/ )
- {
- __VTPRINTENTER( "RVD(NGA).BaseVideoFrameSizeChangedL" )
- BaseConstructL();
-
- TInt err;
-
- iConfig.iRemoteWindow->RemoveBackgroundSurface(ETrue);
- iConfig.iWsSession->UnregisterSurface(0, iSurfaceId);
-
- iSurfaceChunk->Close();
- delete iSurfaceChunk;
- iSurfaceChunk = NULL;
- iSurfaceManager->CloseSurface(iSurfaceId);
- iSurfaceUpdateSession.CancelAllUpdateNotifications();
- iSurfaceUpdateSession.Close();
-
- /* Close the surface manager handle */
- iSurfaceManager->Close();
- delete iSurfaceManager;
- iSurfaceManager = 0;
-
- for ( TInt i = KVtEngMaxSurfaceBuffers-1; i >= 0 ; i-- )
- {
- if (iCallBackTable[i])
- {
- iCallBackTable[i]->Cancel();
- delete iCallBackTable[i];
- iCallBackTable[i] = NULL;
- }
- }
- iSurfaceBuffers[ 0 ].UnSet();
- iSurfaceBuffers[ 1 ].UnSet();
- iSurfaceBuffer0.UnSet();
- iSurfaceBuffer1.UnSet();
- iWaitingBuffers.Reset();
-
- err = iSurfaceUpdateSession.Connect();
- User::LeaveIfError(err);
-
- iSurfaceManager = new RSurfaceManager();
-
- User::LeaveIfNull(iSurfaceManager);
- err = iSurfaceManager->Open();
- User::LeaveIfError(err);
-
- RSurfaceManager::TSurfaceCreationAttributesBuf attributes;
- attributes().iPixelFormat = iSurfaceFormat;
- attributes().iSize = iSourceSize;
- attributes().iBuffers = KVtEngMaxSurfaceBuffers;
-
- //attributes().iStride = iSourceSize.iWidth*2;
- attributes().iStride = iSourceSize.iWidth*3/2;
-
- attributes().iOffsetToFirstBuffer = 0;
- attributes().iAlignment = 4;
- attributes().iContiguous = EFalse;
- attributes().iMappable = ETrue;
-
- err = iSurfaceManager->CreateSurface(attributes, iSurfaceId);
- User::LeaveIfError(err);
-
- // Map to chunk
- iSurfaceChunk = new RChunk();
- User::LeaveIfNull(iSurfaceChunk);
- err = iSurfaceManager->MapSurface(iSurfaceId, *iSurfaceChunk);
- User::LeaveIfError(err);
-
- // Get the info from the surfaceManager
- RSurfaceManager::TInfoBuf info;
- err = iSurfaceManager->SurfaceInfo(iSurfaceId, info);
- User::LeaveIfError(err);
-
- TInt offset;
- iSurfaceManager->GetBufferOffset(iSurfaceId, 0, offset);
- iSurfaceBuffer0.Set(iSurfaceChunk->Base() + offset, 0 );
- iSurfaceManager->GetBufferOffset(iSurfaceId, 1, offset);
- iSurfaceBuffer1.Set(iSurfaceChunk->Base() + offset, 1 );
-
- iConfig.iWsSession->RegisterSurface(0, iSurfaceId);
- iConfig.iRemoteWindow->SetBackgroundSurface(iSurfaceId);
-
- iCallBackTable[0] = new(ELeave) CActiveCallBack(
- TCallBack(SurfaceBuffer0Ready, this),
- CActive::EPriorityStandard-1);
- CActiveScheduler::Add(iCallBackTable[0]);
-
- iCallBackTable[1] = new(ELeave) CActiveCallBack(
- TCallBack(SurfaceBuffer1Ready, this),
- CActive::EPriorityStandard-1);
- CActiveScheduler::Add(iCallBackTable[1]);
-
- iSurfaceCreated = ETrue;
-
- ClearFlag( EInitializePostingSurfaceCalled );
-
- // set the params for DS
- UpdateSinkParamsL();
- ClearFlag( EFirstFrameReceived );
-
- __VTPRINTEXIT( "RVD(NGA).BaseVideoFrameSizeChangedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawDSA::Config
-// Returns current configuration.
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderConfig& CVtEngDrawNGA::Config()
- {
- return iConfig;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::RunL
-// CActive heir execution method.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::RunL()
- {
- __VTPRINTENTER( "RVD(NGA).RunL" )
-
- TInt bitmapNo( iStatus.Int() );
-
- if ( bitmapNo < KErrNone )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(NGA).RunL notify rvd problem" )
- CVtEngEventManager::NotifyEvent( KVtEngRemoteRenderingProblem );
- return;
- }
-
- TVtEngBuffer& buffer = iSurfaceBuffers[ bitmapNo ];
-
- if ( !iDSUpdated )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(NGA).RunL !Updated" )
- __VTPRINTEXIT( "RVD(NGA).RunL" )
- return;
- }
- else if ( buffer.SurfaceBuffer() == NULL )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(NGA).RunL signalled with NULL buffer" )
- TInt result( iBufferWaiter->FetchBuffer() );
- User::LeaveIfError( result );
- __VTPRINTEXIT( "RVD(NGA).RunL" )
- return;
- }
-
- // Image received, reset counter.
- iCheckpoint = KVtEngWatcherThreshold;
-
- __VTPRINT2( DEBUG_MEDIA, "RVD(NGA).RunL flags=%d", iFlags )
- TBool firstFrame( !IsFlag ( EFirstFrameReceived ) );
- SetFlag( EFirstFrameReceived );
- if ( firstFrame )
- {
- CVtEngEventManager::NotifyEvent( KVtEngRemoteVideoStarted );
- }
-
- TInt surfaceno = buffer.SurfaceBuffer()->SurfaceNo();
- __VTPRINT2( DEBUG_MEDIA, "RVD(NGA).RunL received buffer surface id %d", surfaceno )
- if ( iSubmitPending )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD(NGA).RunL submit pending")
- iWaitingBuffers.AddLast(buffer);
- }
- else
- {
- iCallBackTable[surfaceno]->iStatus = KRequestPending;
- iCallBackTable[surfaceno]->SetActive();
- iSurfaceUpdateSession.NotifyWhenDisplayed(iCallBackTable[surfaceno]->iStatus, iTimeStamp);
- iSubmitPending = ETrue;
- iSurfaceUpdateSession.SubmitUpdate(0, iSurfaceId, surfaceno, NULL);
- buffer.UnSet();
- }
- if ( iSurfaceBuffers[ KVtEngBitmapNoReversed[ bitmapNo ] ].IsSet() )
- {
- __VTPRINT2( DEBUG_MEDIA, "RVD(NGA).RunL reactivating for buffer %d",
- KVtEngBitmapNoReversed[ bitmapNo ] )
- Activate();
- DisplaySink().NextFrame();
- }
- TInt result = iBufferWaiter->FetchBuffer();
- User::LeaveIfError( result );
-
- __VTPRINTEXIT( "RVD(NGA).RunL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::BufferReadyL
-// BufferReadyL
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::BufferReadyL( TVTSurfaceBuffer* aBuffer )
- {
- __VTPRINTENTER( "RVD(NGA).BufferReadyL" )
- SetAvailableToSink( aBuffer );
- __VTPRINTEXIT( "RVD(NGA).BufferReadyL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::FetchError
-// Buffer fetching error
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::FetchError( TInt )
- {
- __VTPRINTENTER( "RVD(NGA).FetchError" )
- CVtEngEventManager::NotifyEvent( KVtEngRemoteRenderingProblem );
- __VTPRINTEXIT( "RVD(NGA).FetchError" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::DoBaseConstructL
-// Base construction implementation
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::DoBaseConstructL()
- {
- __VTPRINTENTER( "RVD(NGA).DoBaseConstructL" )
- delete iBufferWaiter;
- iBufferWaiter = NULL;
-
- iBufferWaiter =
- new ( ELeave ) CVtEngBufferWaiter( *this );
-
- for ( TInt i = MDisplaySink::EFirstBitmap;
- i < MDisplaySink::EFirstBitmap + KVtEngMaxSurfaceBuffers; i++ )
- {
- iSurfaceBuffers[ i ].UnSet();
- }
- ClearFlag( EBaseConstructCalled );
- __VTPRINTEXIT( "RVD(NGA).DoBaseConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::UpdateSinkParamsL
-// Updates sink params
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::UpdateSinkParamsL()
- {
- __VTPRINTENTER( "RVD(NGA).UpdateSinkParamsL" )
- if ( IsFlag( EBaseConstructCalled ) )
- {
- SetFlag( ESinkParamUpdateRequired );
- }
- else
- {
- DoUpdateSinkParamsL();
- }
- __VTPRINTEXIT( "RVD(NGA).UpdateSinkParamsL" )
- }
-
-
- // -----------------------------------------------------------------------------
-// CVtEngDrawNGA::DoBaseStartDrawL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::DoBaseStartDrawL()
- {
- __VTPRINTENTER( "RVD(NGA).DoBaseStartDrawL" )
- SetFlag( EReadyInternal );
- if ( !iWatcher->IsActive() )
- {
- iWatcher->Start( KVtEngWatcherTimeout, KVtEngWatcherTimeout,
- iCallback );
- }
-
- DoSurfaceBuffer0Ready();
- DoSurfaceBuffer1Ready();
-
- User::LeaveIfError( iBufferWaiter->FetchBuffer() );
-
-
- SetFlag( ERemoteVideoDrawing );
- ClearFlag( EBaseBaseStartDrawCalled );
- __VTPRINTEXIT( "RVD(NGA).DoBaseStartDrawL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::DoCreateSurfaceL
-// Create surface implementation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::DoCreateSurfaceL()
- {
- __VTPRINTENTER( "RVD(NGA).DoCreateSurfaceL" )
- TInt err;
-
- if(iSurfaceCreated)
- {
-
- if (iSurfaceManager)
- {
- /* Change log for recreate surface objects
- * Surface staffs should NOT be recreated once created,
- * but unregister and register needs to be done since the
- * bounding window change its position and size. At this
- * moment, reset the iWaitingBuffers and reset the callbacks
- * are recommended.
- */
- iConfig.iRemoteWindow->RemoveBackgroundSurface(ETrue);
- iConfig.iWsSession->UnregisterSurface(0, iSurfaceId);
-
- /* Comment out below code to prevent delete the surface objects
- * at this current stage, code below should NOT be removed due to
- * potential future uses.
- */
- /*
- iSurfaceChunk->Close();
- delete iSurfaceChunk;
- iSurfaceChunk = NULL;
- iSurfaceManager->CloseSurface(iSurfaceId);
- iSurfaceUpdateSession.CancelAllUpdateNotifications();
- iSurfaceUpdateSession.Close();
- */
-
- /* Close the surface manager handle */
- /*
- iSurfaceManager->Close();
- delete iSurfaceManager;
- iSurfaceManager = 0;
- */
- }
- for ( TInt i = KVtEngMaxSurfaceBuffers-1; i >= 0 ; i-- )
- {
- if (iCallBackTable[i])
- {
- iCallBackTable[i]->Cancel();
- delete iCallBackTable[i];
- iCallBackTable[i] = NULL;
- }
- }
- /* Comment out below code to prevent delete the surface buffers,
- * otherwise the last buffer would not store the last frame.
- * Code below should NOT be removed due to potential future uses.
- */
- /*
- iSurfaceBuffers[ 0 ].UnSet();
- iSurfaceBuffers[ 1 ].UnSet();
- iSurfaceBuffer0.UnSet();
- iSurfaceBuffer1.UnSet();
- */
- iWaitingBuffers.Reset();
- }
- /* Add else branch to escape the recreate of the surface objects,
- * it could be changed in future.
- */
- else
- {
- err = iSurfaceUpdateSession.Connect();
- User::LeaveIfError(err);
-
- iSurfaceManager = new RSurfaceManager();
-
- User::LeaveIfNull(iSurfaceManager);
- err = iSurfaceManager->Open();
- User::LeaveIfError(err);
-
- RSurfaceManager::TSurfaceCreationAttributesBuf attributes;
- attributes().iPixelFormat = iSurfaceFormat;
- attributes().iSize = iSourceSize;
- attributes().iBuffers = KVtEngMaxSurfaceBuffers;
-
- //attributes().iStride = iSourceSize.iWidth*2;
- attributes().iStride = iSourceSize.iWidth*3/2;
-
- attributes().iOffsetToFirstBuffer = 0;
- attributes().iAlignment = 4;
- attributes().iContiguous = EFalse;
- attributes().iMappable = ETrue;
-
- err = iSurfaceManager->CreateSurface(attributes, iSurfaceId);
- User::LeaveIfError(err);
-
- // Map to chunk
- iSurfaceChunk = new RChunk();
- User::LeaveIfNull(iSurfaceChunk);
- err = iSurfaceManager->MapSurface(iSurfaceId, *iSurfaceChunk);
- User::LeaveIfError(err);
-
- // Get the info from the surfaceManager
- RSurfaceManager::TInfoBuf info;
- err = iSurfaceManager->SurfaceInfo(iSurfaceId, info);
- User::LeaveIfError(err);
-
- TInt offset;
- iSurfaceManager->GetBufferOffset(iSurfaceId, 0, offset);
- iSurfaceBuffer0.Set(iSurfaceChunk->Base() + offset, 0 );
- iSurfaceManager->GetBufferOffset(iSurfaceId, 1, offset);
- iSurfaceBuffer1.Set(iSurfaceChunk->Base() + offset, 1 );
- }
-
- iConfig.iWsSession->RegisterSurface(0, iSurfaceId);
- iConfig.iRemoteWindow->SetBackgroundSurface(iSurfaceId);
-
- iCallBackTable[0] = new(ELeave) CActiveCallBack(
- TCallBack(SurfaceBuffer0Ready, this),
- CActive::EPriorityStandard-1);
- CActiveScheduler::Add(iCallBackTable[0]);
-
- iCallBackTable[1] = new(ELeave) CActiveCallBack(
- TCallBack(SurfaceBuffer1Ready, this),
- CActive::EPriorityStandard-1);
- CActiveScheduler::Add(iCallBackTable[1]);
-
- iSurfaceCreated = ETrue;
-
- ClearFlag( EInitializePostingSurfaceCalled );
- __VTPRINTEXIT( "RVD(NGA).DoCreateSurfaceL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::DoUpdateSinkParamsL
-// Updates sink params
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::DoUpdateSinkParamsL()
- {
- __VTPRINTENTER( "RVD(NGA).DoUpdateSinkParamsL" )
- TDisplaySinkParamsNGA params;
- GetSinkParams( params );
- DisplaySink().UpdateSinkParamsL( params, iDSUpdated );
- ClearFlag( ESinkParamUpdateRequired );
- if ( IsFlag( ESinkResumeRequired ) )
- {
- DisplaySink().Resume();
- ClearFlag( ESinkResumeRequired );
- }
- __VTPRINTEXIT( "RVD(DP).DoUpdateSinkParamsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CreateSurfaceL
-// Create surface.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::CreateSurfaceL()
- {
- __VTPRINTENTER( "RVD(NGA).CreateSurfaceL" )
- if ( IsFlag( EBaseConstructCalled ) )
- {
- SetFlag( EInitializePostingSurfaceCalled );
- }
- else
- {
- DoCreateSurfaceL();
- }
- __VTPRINTEXIT( "RVD(NGA).CreateSurfaceL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::GetSinkParams
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::GetSinkParams( TDisplaySinkParamsNGA& aSinkParams )
- {
- __VTPRINTENTER( "RVD(NGA).GetSinkParams" )
- Mem::FillZ( &aSinkParams, sizeof( TDisplaySinkParamsNGA ) );
- aSinkParams.iThreadId = RThread().Id();
- aSinkParams.iRequestStatusPtr = &iStatus;
- aSinkParams.iObserver = iObserver;
- aSinkParams.iSurfaceBuffer1 = &iSurfaceBuffers[ 0 ].Buffer();
- aSinkParams.iSurfaceBuffer2 = &iSurfaceBuffers[ 1 ].Buffer();
- aSinkParams.iFrameSize = iSourceSize;
- aSinkParams.iSurfaceFormat = iSurfaceFormat;
- aSinkParams.iFlags = TDisplaySinkParams::EDisplaySinkNGA;
- __VTPRINTEXITR( "RVD(NGA).GetSinkParams flags=%d",
- (TInt) aSinkParams.iFlags )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::DisplaySink
-// Returns reference to sink.
-// -----------------------------------------------------------------------------
-//
-MDisplaySink& CVtEngDrawNGA::DisplaySink()
- {
- return *iDisplaySink;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::SetToSink
-// Sets posting buffer to sink.
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::SetAvailableToSink( TVTSurfaceBuffer* aBuffer )
- {
- __VTPRINTENTER( "RVD(NGA).SetAvailableToSink" )
- for ( TInt i = MDisplaySink::EFirstBitmap;
- i < MDisplaySink::EFirstBitmap + KVtEngMaxSurfaceBuffers; i++ )
- {
- if ( !iSurfaceBuffers[ i ].IsSet() )
- {
- iSurfaceBuffers[ i ].Set( aBuffer );
- Activate();
- DisplaySink().SetBitmapAvailable(
- static_cast< MDisplaySink::TBitmapNo >( i ) );
- break;
- }
- }
- __VTPRINTEXIT( "RVD(NGA).SetAvailableToSink" )
- }
-
-TInt CVtEngDrawNGA::SurfaceBuffer0Ready( TAny* aAny )
- {
- __VTPRINTENTER( "RVD(NGA).SurfaceBuffer0Ready" )
- __VTPRINTEXIT( "RVD(NGA).SurfaceBuffer0Ready" )
- return ((CVtEngDrawNGA*)aAny)->DoSurfaceBuffer0Ready();
- }
-
-TBool CVtEngDrawNGA::DoSurfaceBuffer0Ready()
- {
- __VTPRINTENTER( "RVD(NGA).DoSurfaceBuffer0Ready" )
- if ( iSubmitPending )
- {
- iSubmitPending = EFalse;
- }
- if (!iWaitingBuffers.IsEmpty())
- {
- TVtEngBuffer* buffer = iWaitingBuffers.First();
- TInt surfaceno = buffer->SurfaceBuffer()->SurfaceNo();
- __VTPRINT2( DEBUG_MEDIA, "RVD(NGA).DoSurfaceBuffer0Ready, surface buffer %d is in waitingqueue", surfaceno )
- iCallBackTable[surfaceno]->iStatus = KRequestPending;
- iCallBackTable[surfaceno]->SetActive();
- iSurfaceUpdateSession.NotifyWhenDisplayed(iCallBackTable[surfaceno]->iStatus, iTimeStamp);
- iSubmitPending = ETrue;
- iSurfaceUpdateSession.SubmitUpdate(0, iSurfaceId, surfaceno, NULL);
- iWaitingBuffers.Remove(*buffer);
- buffer->UnSet();
- }
- iBufferWaiter->BufferAvailable(iSurfaceBuffer0);
- __VTPRINTEXIT( "RVD(NGA).DoSurfaceBuffer0Ready" )
- return ETrue;
- }
-
-TInt CVtEngDrawNGA::SurfaceBuffer1Ready( TAny* aAny )
- {
- __VTPRINTENTER( "RVD(NGA).SurfaceBuffer1Ready" )
- __VTPRINTEXIT( "RVD(NGA).SurfaceBuffer1Ready" )
- return ((CVtEngDrawNGA*)aAny)->DoSurfaceBuffer1Ready();
- }
-
-TBool CVtEngDrawNGA::DoSurfaceBuffer1Ready()
- {
- __VTPRINTENTER( "RVD(NGA).DoSurfaceBuffer1Ready" )
- if ( iSubmitPending )
- {
- iSubmitPending = EFalse;
- }
-
- if (!iWaitingBuffers.IsEmpty())
- {
- TVtEngBuffer* buffer = iWaitingBuffers.First();
- TInt surfaceno = buffer->SurfaceBuffer()->SurfaceNo();
- __VTPRINT2( DEBUG_MEDIA, "RVD(NGA).DoSurfaceBuffer0Ready, surface buffer %d is in waitingqueue", surfaceno )
- iCallBackTable[surfaceno]->iStatus = KRequestPending;
- iCallBackTable[surfaceno]->SetActive();
- iSurfaceUpdateSession.NotifyWhenDisplayed(iCallBackTable[surfaceno]->iStatus, iTimeStamp);
- iSubmitPending = ETrue;
- iSurfaceUpdateSession.SubmitUpdate(0, iSurfaceId, surfaceno, NULL);
- iWaitingBuffers.Remove(*buffer);
- buffer->UnSet();
- }
- iBufferWaiter->BufferAvailable(iSurfaceBuffer1);
- __VTPRINTEXIT( "RVD(NGA).DoSurfaceBuffer1Ready" )
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVtEngBuffer::TVtEngBuffer
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawNGA::TVtEngBuffer::TVtEngBuffer()
- : iBuffer( 0 ), iSurfaceBuffer(0)
- {
- __VTPRINTENTER( "RVD(NGA).Buffer.Ctor" )
- __VTPRINTEXIT( "RVD(NGA).Buffer.Ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVtEngBuffer::Set
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::TVtEngBuffer::Set( TVTSurfaceBuffer* aBuffer )
- {
- __VTPRINTENTER( "RVD(NGA).Buffer.Set" )
- iSurfaceBuffer = aBuffer;
- iBuffer = aBuffer->Buffer();
- __VTPRINTEXIT( "RVD(NGA).Buffer.Set" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVtEngBuffer::UnSet
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::TVtEngBuffer::UnSet()
- {
- __VTPRINTENTER( "RVD(NGA).Buffer.UnSet" )
- iSurfaceBuffer = 0;
- iBuffer = 0;
- __VTPRINTEXIT( "RVD(NGA).Buffer.UnSet" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVtEngBuffer::IsSet
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDrawNGA::TVtEngBuffer::IsSet() const
- {
- return ( iSurfaceBuffer != NULL );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVtEngBuffer::Buffer
-//
-// -----------------------------------------------------------------------------
-//
-TVTSurfaceBuffer* &CVtEngDrawNGA::TVtEngBuffer::SurfaceBuffer()
- {
- return iSurfaceBuffer;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::TVtEngBuffer::Buffer
-//
-// -----------------------------------------------------------------------------
-//
-TUint8* &CVtEngDrawNGA::TVtEngBuffer::Buffer()
- {
- return iBuffer;
- }
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CVtEngBufferWaiter::CVtEngBufferWaiter
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawNGA::CVtEngBufferWaiter::CVtEngBufferWaiter
- //( CVideoRenderer& aVideoRenderer, MVtEngNGABufferWaiterObserver& aObserver )
- ( MVtEngNGABufferWaiterObserver& aObserver )
- : CActive( CActive::EPriorityStandard ),
- iObserver( &aObserver )
- {
- __VTPRINTENTER( "RVD(NGA).BufferWaiter.Ctor" )
- for ( TInt i = 0; i < KVtEngMaxSurfaceBuffers; i++ )
- {
- this->iBuffers[ i ] = NULL;
- }
- CActiveScheduler::Add( this );
- __VTPRINTEXIT( "RVD(NGA).BufferWaiter.Ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CVtEngBufferWaiter::~CVtEngBufferWaiter
-// -----------------------------------------------------------------------------
-//
-CVtEngDrawNGA::CVtEngBufferWaiter::~CVtEngBufferWaiter()
- {
- __VTPRINTENTER( "RVD(NGA).BufferWaiter.~" )
- Cancel();
- __VTPRINTEXIT( "RVD(NGA).BufferWaiter.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CVtEngBufferWaiter::Activate
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::CVtEngBufferWaiter::Activate()
- {
- __VTPRINTENTER( "RVD(NGA).BufferWaiter.Activate" )
- iStatus = KRequestPending;
- SetActive();
- __VTPRINTEXIT( "RVD(NGA).BufferWaiter.Activate" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CVtEngBufferWaiter::FetchBuffer
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngDrawNGA::CVtEngBufferWaiter::FetchBuffer()
- {
- __VTPRINTENTER( "RVD(NGA).BufferWaiter.FetchBuffer" )
- if ( IsActive() )
- {
- __VTPRINTEXIT( "RVD(NGA).BufferWaiter.FetchBuffer 1" )
- return KErrNone;
- }
-
- Activate();
- if (iStatus == KRequestPending)
- {
- for ( TInt i = 0; i < KVtEngMaxSurfaceBuffers; i++ )
- {
- if(this->iBuffers[ i ] != NULL)
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- break;
- }
- }
- }
- __VTPRINTEXIT( "RVD(NGA).BufferWaiter.FetchBuffer 2" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CVtEngBufferWaiter::BufferAvailable
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::CVtEngBufferWaiter::BufferAvailable(TVTSurfaceBuffer& aBuffer)
-{
- __VTPRINTENTER( "RVD(NGA).BufferWaiter.BufferAvailable" )
- for ( TInt i = 0; i < KVtEngMaxSurfaceBuffers; i++ )
- {
- if(this->iBuffers[ i ] == NULL )
- {
- this->iBuffers[ i ]= &aBuffer;
- break;
- }
- }
-
- if(iStatus == KRequestPending )
- {
- for ( TInt i = 0; i < KVtEngMaxSurfaceBuffers; i++ )
- {
- if(this->iBuffers[ i ] != NULL)
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- break;
- }
- }
- }
-
- __VTPRINTEXIT( "RVD(NGA).BufferWaiter.BufferAvailable" )
-}
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CVtEngBufferWaiter::RunL
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::CVtEngBufferWaiter::RunL()
- {
- __VTPRINTENTER( "RVD(NGA).BufferWaiter.RunL" )
- TInt result( iStatus.Int() );
- if ( result == KErrNone )
- {
- for ( TInt i = 0; i < KVtEngMaxSurfaceBuffers; i++ )
- {
- if(this->iBuffers[ i ] != NULL)
- {
- TRAP_IGNORE( iObserver->BufferReadyL( this->iBuffers[ i ] ) );
- this->iBuffers[ i ] = NULL;
- break;
- }
- }
- }
- else
- {
- iObserver->FetchError( result );
- }
- __VTPRINTEXIT( "RVD(NGA).BufferWaiter.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDrawNGA::CVtEngBufferWaiter::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVtEngDrawNGA::CVtEngBufferWaiter::DoCancel()
- {
- __VTPRINTENTER( "RVD(NGA).BufferWaiter.DoCancel" )
-
- if ( iStatus == KRequestPending )
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete(status, KErrCancel);
- }
-
- __VTPRINTEXIT( "RVD(NGA).BufferWaiter.DoCancel" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Media/CVtEngDtmfHandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,363 +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: Handler for DTMF sending.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngDtmfHandler.h"
-#include "CVtEngMediaHandler.h"
-#include "VtEngPanic.h"
-#include "cvtlogger.h"
-
-// LOCAL MACROS
-#define DTMF_STATES_COUNT 3
-const TInt KProtoDtmfCommandId = -1;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::NewL
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfHandler* CVtEngDtmfHandler::NewL( MVtH324ConfigCommand& aH324Config )
- {
- __VTPRINTENTER( "DTMF.New" )
- CVtEngDtmfHandler* self = new ( ELeave ) CVtEngDtmfHandler( aH324Config );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "DTMF.New" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::~CVtEngDtmfHandler
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfHandler::~CVtEngDtmfHandler()
- {
- __VTPRINTENTER( "DTMF.~" )
- if ( iDtmfStates )
- {
- iDtmfStates->ResetAndDestroy();
- }
- delete iDtmfStates;
- if( iProtoDtmf )
- {
- VTProtocolFactory::DeleteUserInputIndication(iProtoDtmf);
- }
- iProtoDtmf = NULL;
- __VTPRINTEXIT( "DTMF.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::HandleL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfHandler::HandleL( CVtEngOperation& aOp )
- {
- __VTPRINTENTER( "DTMF.HandleL" )
-
- const TVtEngCommandId cmdId( aOp.Command() );
- switch ( cmdId )
- {
- case KVtEngStartDtmfTone:
- {
- __VTPRINT( DEBUG_MEDIA , "DTMF. start tone" )
- TChar tone;
- TVtEngOpParamUtil<TChar>::Set( tone, aOp );
- CVtEngDtmfState* state = (*iDtmfStates)[iCurrentState];
- if ( state )
- {
- TVtEngDtmfTone dtmfTone( tone );
- state->SendDtmfL( dtmfTone );
- }
- }
- break;
- case KVtEngStopDtmfTone:
- __VTPRINT( DEBUG_MEDIA , "DTMF. stop tone (no op)" )
- break;
- // Handling of different UIIs
- case KVtEngSetUIIDtmfSupport:
- SetUIISupport( EDTMFString );
- __VTPRINT( DEBUG_MEDIA , "DTMF Support enabled" )
- break;
- case KVtEngSetUIIBasicStringSupport:
- SetUIISupport( EBasicString );
- __VTPRINT( DEBUG_MEDIA , "Basic string Support enabled" )
- break;
- case KVtEngSetUIIIA5StringSupport:
- SetUIISupport( EIA5String );
- __VTPRINT( DEBUG_MEDIA , "IA5 String Support enabled" )
- break;
- case KVtEngSetUIIGeneralStringSupport:
- SetUIISupport( EGeneralString );
- __VTPRINT( DEBUG_MEDIA , "General String Support enabled" )
- break;
- default:
- __VTPRINT( DEBUG_MEDIA , "DTMF.Handle cmd not supported" )
- User::Leave( KErrNotSupported );
- }
- __VTPRINTEXIT( "DTMF.HandleL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::ActivateState
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfState& CVtEngDtmfHandler::ActivateState( TVtEngDtmfState aNewState )
- {
- __VTPRINTENTER( "DTMF.ActivateState" )
- __VTPRINT2( DEBUG_MEDIA , " new state=%d", aNewState )
- __ASSERT_ALWAYS( aNewState >= EVtDtmfStateIdle &&
- aNewState <= EVtDtmfStateBuffered,
- Panic( EVtEngPanicInvalidDtmfState) );
- iCurrentState = aNewState;
- __VTPRINTEXIT( "DTMF.ActivateState" )
- return *(*iDtmfStates)[iCurrentState];
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::SendComplete
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfHandler::SendComplete( TInt aError )
- {
- __VTPRINTENTER( "DTMF.SendComplete" )
-#ifdef VTDEBUG
- TRAPD( ignore, HandleSendCompleteL( aError ) );
- __VTPRINT2( DEBUG_MEDIA , "DTMF.SendComplete err=%d", ignore )
-#else
- TRAP_IGNORE( HandleSendCompleteL( aError ) );
-#endif // VTDEBUG
- __VTPRINTEXIT( "DTMF.SendComplete" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::ProtoDtmf
-//
-// -----------------------------------------------------------------------------
-//
-MVTUserInput& CVtEngDtmfHandler::ReserveProtoDtmfL(
- const TVtEngDtmfTone& aTone )
- {
- __VTPRINTENTER( "DTMF.ReserveProtoDtmfL" )
- if ( iProtoDtmf != NULL )
- {
- __VTPRINT( DEBUG_MEDIA , "DTMF.ReserveProtoDtmfL IN USE" )
- User::Leave( KErrInUse );
- }
- TUint8 val = (TUint8) aTone.iTone;
-
-#ifdef VTDEBUG
- if ( CVtLogger::Flags() & CVtLogger::ELogMedia )
- {
- const TChar ch( val );
- _LIT( KVtDtmfBufferTrace, "VT: DTMF. tone value=" );
- TBuf<25> buffer( KVtDtmfBufferTrace() );
- buffer.Append( ch );
- RDebug::Print( buffer );
- }
-#endif
-
-
-
- // NOTE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // IT MUST BE CHECKED IS GIVEN LETTER SUPPORTED BY
- // USED ENCODING SCHEME. NOW WE PASS ONLY NUMBERS AND * AND #
- // AND THEY ARE SAFE TO USE BUT USING POWERFULL UIIs GIVE POSSIBILITY
- // TO SEND ALL DIGITS AND NUMBERS. IN THAT CASE SET OF CHARS MUST BE CHECKED
- // IN VTENGINE. (THAT IS THE REASON WHY THERE IS SEPARATE IF ELSEs)
- // NOTE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- __VTPRINT2( DEBUG_MEDIA , "DTMF. Proto USERINPUT %d", iUIISupport )
- switch ( iUIISupport )
- {
- case EBasicString:
- case EIA5String:
- case EGeneralString:
- __VTPRINT( DEBUG_MEDIA , "DTMF. Proto USERINPUT alphanumeric" )
- iProtoDtmf = VTProtocolFactory::CreateUserInputIndication( EVtUiiDTFM, val );
- break;
- case EDTMFString:
- __VTPRINT( DEBUG_MEDIA , "DTMF. Proto USERINPUT iDTMFString" )
- iProtoDtmf = VTProtocolFactory::CreateUserInputIndication( EVtUiiAlphaNumeric, val);
- break;
- default:
- __VTPRINT( DEBUG_MEDIA , "DTMF. Proto USERINPUT unsupported" )
- break;
- }
- __VTPRINTEXIT( "DTMF.ReserveProtoDtmfL" )
- return *iProtoDtmf;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::ReleaseProtoDtmf
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfHandler::ReleaseProtoDtmf()
- {
- __VTPRINTENTER( "DTMF.ReleaseProtoDtmf" )
- if( iProtoDtmf )
- {
- VTProtocolFactory::DeleteUserInputIndication(iProtoDtmf);
- }
- iProtoDtmf = NULL;
- __VTPRINTEXIT( "DTMF.ReleaseProtoDtmf" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::CVtEngDtmfHandler
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfHandler::CVtEngDtmfHandler( MVtH324ConfigCommand& aH324Config ) :
- iCurrentState( EVtDtmfStateIdle ), iH324Config( aH324Config ),
- iUIISupport( EIA5String ), iIssuedDtmfCommandId(KProtoDtmfCommandId)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::ConstructL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfHandler::ConstructL()
- {
- __VTPRINTENTER( "DTMF.ConstructL" )
- iDtmfStates = new ( ELeave )
- CArrayPtrFlat<CVtEngDtmfState>( DTMF_STATES_COUNT );
-
- for ( TInt state = EVtDtmfStateIdle;
- state <= EVtDtmfStateBuffered;
- state++ )
- {
- CreateStateL( state );
- }
- __VTPRINTEXIT( "DTMF.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::HandleSendCompleteL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfHandler::HandleSendCompleteL( TInt aError )
- {
- __VTPRINTENTER( "DTMF.HandleSendCompleteL" )
-
- __VTPRINT2( DEBUG_MEDIA , " HandleSendCompleteL err=%d", aError )
- if ( iDtmfStates )
- {
- CVtEngDtmfState* state = (*iDtmfStates)[iCurrentState];
- if ( state )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "DTMF. complete on state %d", iCurrentState )
- state->DtmfSendCompleteL( aError );
- }
- }
- __VTPRINTEXIT( "DTMF.HandleSendCompleteL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::CreateState
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfHandler::CreateStateL( TInt aState )
- {
- __VTPRINTENTER( "DTMF.CreateStateL" )
- CVtEngDtmfState* dtmfState = NULL;
- switch ( aState )
- {
- case EVtDtmfStateIdle:
- dtmfState = CVtEngDtmfIdle::NewL( *this, iH324Config );
- break;
- case EVtDtmfStateSending:
- dtmfState = CVtEngDtmfSending::NewL( *this, iH324Config );
- break;
- case EVtDtmfStateBuffered:
- dtmfState = CVtEngDtmfBuffered::NewL( *this, iH324Config );
- break;
- default:
- Panic( EVtEngPanicInvalidDtmfState );
- break;
- }
- CleanupStack::PushL( dtmfState );
- iDtmfStates->AppendL( dtmfState );
- CleanupStack::Pop();
- __VTPRINTEXIT( "DTMF.CreateStateL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::GetUIISupport
-// returns the current UII support
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfHandler::TUIISupport CVtEngDtmfHandler::GetUIISupport() const
- {
- __VTPRINT2( DEBUG_MEDIA , "DTMF. GETUSERINPUT support=%d", iUIISupport )
- return iUIISupport;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::SetUIISupport
-// Sets the UII support mode
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfHandler::SetUIISupport( CVtEngDtmfHandler::TUIISupport aValue )
- {
- __VTPRINT2( DEBUG_MEDIA , "DTMF. SETUSERINPUT support=%d", aValue )
- iUIISupport = aValue;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::CheckCommandId
-// Compares last issued DTMF command ID to parameter given command ID
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngDtmfHandler::CheckCommandId( TInt aCheckCommandId ) const
- {
- __VTPRINT3( DEBUG_MEDIA , "DTMF. CHKCMID aCheckCommandId=%d iIssuedDtmfCommandId=%d",\
- aCheckCommandId, iIssuedDtmfCommandId )
-
- if( iIssuedDtmfCommandId == aCheckCommandId )
- {
- return ETrue;
- }
-
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfHandler::StoreCommandId
-// Stores given command ID
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfHandler::StoreCommandId( TInt aStoreCommandId )
- {
- __VTPRINT2( DEBUG_MEDIA , "DTMF. STORECOMMANDID aStoreCommandId=%d", aStoreCommandId )
-
- iIssuedDtmfCommandId = aStoreCommandId;
- }
-// End of File
--- a/vtengines/videoteleng/Src/Media/CVtEngImageScaler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +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: Image scaler
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "CVtEngImageScaler.h"
-#include <cvtimagebitmap.h>
-#include <fbs.h>
-#include <videotelephonyvariant.hrh>
-#include <cvtlogger.h>
-
-// CONSTANTS
-// The number of used bitmaps as scaling targets.
-const TInt KVtEngTargetBitmapCount = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-MVtEngImageScaler* CVtEngImageScaler::NewL(
- MVtEngScalerObserver& aObserver )
- {
- __VTPRINTENTER( "Scaler.NewL" )
- CVtEngImageScaler* scaler = new ( ELeave ) CVtEngImageScaler( aObserver );
- CleanupStack::PushL( scaler );
- scaler->ConstructL();
- CleanupStack::Pop( scaler );
- __VTPRINTEXIT( "Scaler.NewL" )
- return scaler;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngImageScaler::ConstructL()
- {
- iVtScaler = CVtImageScaler::NewL( *this );
- GetScalingMethodL();
- iVtScaler->SetQualityL( iScalingMethod );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::ScaleL
-// Scaling method.
-// -----------------------------------------------------------------------------
-//
-void CVtEngImageScaler::ScaleL(
- TInt aSourceIndex )
- {
- __VTPRINTENTER( "Scaler.ScaleL" )
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:ScaleL index=%d",
- aSourceIndex )
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:ScaleL target index=%d",
- iTargetBitmapInUse )
- if ( iVtScaler->IsActive() )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:ScaleL NActive" )
- User::Leave( KErrInUse );
- }
-
- // If there is no bitmaps done, do leave.
- // The caller should call ConfigureL.
- if ( iSources.Count() <= 0 || iTargets.Count() <= 0 )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:ScaleL: not conf" )
- User::Leave( KErrNotReady );
- }
- iVtScaler->ScaleL( *iSources[ aSourceIndex ] ,
- *iTargets[iTargetBitmapInUse] );
- __VTPRINTEXIT( "Scaler.ScaleL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::Configure
-// Configure scaling.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngImageScaler::ConfigureL(
- TDisplayMode aDisplayMode,
- TSize aSize,
- TInt aSourceHandle1,
- TInt aSourceHandle2 )
- {
- __VTPRINTENTER( "Scaler.ConfigureL" )
- __VTPRINT( DEBUG_MEDIA , "================== Scaler.Config ==================" )
- __VTPRINT2( DEBUG_MEDIA, " aSize.iWidth:%d ", aSize.iWidth)
- __VTPRINT2( DEBUG_MEDIA, " aSize.iHeight:%d ", aSize.iHeight )
- __VTPRINT2( DEBUG_MEDIA, " aDisplayMode:%d", aDisplayMode )
- __VTPRINT( DEBUG_MEDIA , "================== Scaler.Config ==================" )
-
- TInt sourceHandle1( 0 );
- if ( iSources.Count() > 0 )
- {
- CVtImageBitmap* bmp = iSources[ EFirstBitmap ];
- if ( bmp )
- {
- sourceHandle1 = bmp->Bitmap().Handle();
- }
- }
- TInt sourceHandle2( 0 );
- if ( iSources.Count() > 1 )
- {
- CVtImageBitmap* bmp = iSources[ ESecondBitmap ];
- if ( bmp )
- {
- sourceHandle2 = bmp->Bitmap().Handle();
- }
- }
-
- // Do we have to cancel scaling first?
- TBool cancelled( iVtScaler->IsActive() );
-
- if ( aSourceHandle1 != sourceHandle1 || aSourceHandle2 != sourceHandle2
- || aSize != iSize || iMode != aDisplayMode )
- {
- if ( cancelled )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:Config cancel" )
- Cancel();
- }
- }
- else
- {
- // Do we need the update => NO
- __VTPRINTEXITR( "Scaler.ConfigureL %d", EFalse )
- return EFalse;
- }
-
- // Store new mode and size.
- iMode = aDisplayMode;
- iSize = aSize;
-
- // The RVD source images have changed.
- if ( aSourceHandle1 != sourceHandle1 || aSourceHandle2 != sourceHandle2 )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "Scaler:ConfigureL create bitmaps" )
- CVtImageBitmap* vtBitmap = CVtImageBitmap::NewL( aSourceHandle1 );
- CleanupStack::PushL( vtBitmap );
- CVtImageBitmap* vtBitmap2 = CVtImageBitmap::NewL( aSourceHandle2 );
- CleanupStack::PushL( vtBitmap2 );
-
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:ConfigureL source reset" )
- iSources.ResetAndDestroy();
- iSources.AppendL( vtBitmap );
- iSources.AppendL( vtBitmap2 );
- CleanupStack::Pop( KVtEngTargetBitmapCount ); // vtBitMaps
- }
-
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:ConfigureL create targets" )
- CVtImageBitmap* vtBitmapT = CVtImageBitmap::NewL( aSize, aDisplayMode );
- CleanupStack::PushL( vtBitmapT );
- CVtImageBitmap* vtBitmapT2 = CVtImageBitmap::NewL( aSize, aDisplayMode );
- CleanupStack::PushL( vtBitmapT2 );
-
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:ConfigureL target reset" )
- iTargets.ResetAndDestroy();
- iTargets.AppendL( vtBitmapT );
- iTargets.AppendL( vtBitmapT2 );
- CleanupStack::Pop( KVtEngTargetBitmapCount ); // vtBitMapTs
-
- __VTPRINTEXITR( "Scaler.ConfigureL %d", cancelled )
- return cancelled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::ScalingFinished
-// Callback telling that scaling is done.
-// -----------------------------------------------------------------------------
-//
-void CVtEngImageScaler::ScalingFinished( TInt aError )
- {
- __VTPRINTENTER( "Scaler.ScalingFinished" )
-
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:ScaleFin ", aError )
-
- if ( aError == KErrNone )
- {
- CFbsBitmap& bitmap = iTargets [ iTargetBitmapInUse ]->Bitmap();
- __VTPRINT2( DEBUG_MEDIA, "Scaler.ScalingFin index", iTargetBitmapInUse )
-
- if ( iTargetBitmapInUse == EFirstBitmap )
- {
- iTargetBitmapInUse = ESecondBitmap;
- }
- else
- {
- iTargetBitmapInUse = EFirstBitmap;
- }
- // Notify client of done scaling
- iObserver.ScalingCompleted( &bitmap, aError );
- }
- else
- {
- iObserver.ScalingCompleted( NULL, aError );
- }
- __VTPRINTEXIT( "Scaler.ScalingFinished" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::~CVtEngImageScaler
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngImageScaler::~CVtEngImageScaler()
- {
- __VTPRINTENTER( "Scaler.~" )
-
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "Scaler:Dtor" )
- iTargets.ResetAndDestroy();
- iTargets.Close();
- iSources.ResetAndDestroy();
- iSources.Close();
- delete iVtScaler;
- __VTPRINTEXIT( "Scaler.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::CVtEngImageScaler
-// C++ constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngImageScaler::CVtEngImageScaler(
- MVtEngScalerObserver& aObserver ) :
- iObserver( aObserver ), iTargetBitmapInUse ( EFirstBitmap ),
- iScalingMethod( CVtImageScaler::EWeightedAverage )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::Release
-// Interface function implementation to delete the implementation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngImageScaler::Release()
- {
- // Delete myself
- __VTPRINTENTER( "Scaler.Release" )
- delete this;
- __VTPRINTEXIT( "Scaler.Release" )
- }
-
-// -----------------------------------------------------------------------------
-// VtEngScalerFactory::CreateScalerL
-// Creates the image scaler.
-// -----------------------------------------------------------------------------
-//
-MVtEngImageScaler* VtEngScalerFactory::CreateScalerL(
- MVtEngScalerObserver& aObserver )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "VtEngScalerFactory::CreateScalerL" )
- return CVtEngImageScaler::NewL( aObserver );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::Cancel
-// Cancels the conversion.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngImageScaler::Cancel()
- {
- __VTPRINTENTER( "Scaler.Cancel" )
- iVtScaler->Cancel();
- __VTPRINTEXIT( "Scaler.Cancel" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngImageScaler::GetScalingMethodL
-// Gets the used scaling method from local variation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngImageScaler::GetScalingMethodL()
- {
- __VTPRINTENTER( "Scaler.GetScalingMethodL" )
- // Check if the scaling method is non-default
- CVtEngSettings& settings = CVtEngUtility::Settings();
- if( settings.CheckBits(
- KVTLVFlagScalingMethodENearest ) )
- {
- iScalingMethod = CVtImageScaler::ENearest;
- }
- else if ( settings.CheckBits(
- KVTLVFlagScalingMethodEBilinear ) )
- {
- iScalingMethod = CVtImageScaler::EBilinear;
- }
- __VTPRINTEXITR( "Scaler.GetScalingMethodL %d", (TInt) iScalingMethod )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Media/CVtEngLocalVideo.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4532 +0,0 @@
-/*
-* Copyright (c) 2004-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: Local video configuration
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngLocalVideo.h"
-#include "CVtEngMediaHandler.h"
-#include "VtEngPanic.h"
-#include "MVtEngFrameObserver.h"
-#include "CVtEngStateManager.h"
-#include "CVtEngEventManager.h"
-#include "MVtEngMedia.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "VtEngEvents.h"
-#include <videotelephonydomainpskeys.h>
-#include <videotelephonyvariant.hrh>
-#include <capivideosource.h>
-#include <cvtlogger.h>
-#include <mvtprotocolhandler.h>
-
-#include "CVtEngCameraPreferences.h"
-
-// LOCAL CONSTANTS AND MACROS
-
-// Maximum count of providers stored (cameras, still, blank)
-const TInt KVtEngProviderCountMax = 4;
-
-// Max zoom step count.
-const TInt KVtMaxZoomStep = 10;
-
-// If prepare camera is called when provider is ready signal
-// immediately back with positive value.
-const TInt KVtEngAlreadySelected = 1;
-
-// If source is already active signal with this.
-const TInt KVtEngAlreadyActive = 2;
-
-// Number of providers buffered in image sharer
-const TInt KVtEngNumProvidersBuffered = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngLocalVideo
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::CVtEngLocalVideo(
- CVtEngMediaHandler& aObserver )
-
- /** priority is high to ensure that this AO gets scheduled as soon as
- * possible after signaling. If local video is requested a service, e.g.
- * source switch while its signaled but not yet scheduled, local video's
- * internal state may be compromised (signal AO => start selecting new source
- * => RunL [this would break ongoing source selection]
- */
- : CActive( EPriorityHigh ),
- iRenderingMethod( EUnspecified ),
- iObserver( aObserver ),
- iCurrentCamera( MVtEngMedia::ESecondaryCamera ),
- iLayoutChangeHandler( *this )
- {
- ResetIndices();
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "LocVideo.c++")
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::ConstructL()
- {
- __VTPRINTENTER( "LocVideo.ConstructL" )
-
- iAsyncCallBack = new ( ELeave ) CAsyncCallBack(
- TCallBack( CallBackFunc, this ), EPriorityStandard );
-
- TInt indexMobile( KErrNotFound );
- iShareImage = CVtEngShareImage::NewL( *this );
- iSourceController = CVSController::NewL( this );
- iVideoProviders =
- new ( ELeave ) CArrayFixFlat<TProviderItem>( KVtEngProviderCountMax );
- iSource = iSourceController->CreateDataSourceL( this );
- PauseVideoSending();
- TInt providers( iSourceController->ProvidersAvailable() );
- iNumSupportedCameras = providers - 1;
- ResetIndices();
- __VTPRINT2( DEBUG_MEDIA | DEBUG_CONSTRUCT, "LocVideo.providers=%d",providers)
- // Get the device specified default camera.
- TInt cameraId( iCurrentCamera );
- TInt err( SetCameraTrackingL( cameraId ) );
- if ( err == KErrNone && cameraId != EPSPreferredCameraUnknown )
- {
- // Only if valid camera.
- iCurrentCamera = MapCameraInternally( cameraId );
- err = KErrAlreadyExists;
- }
-
- while ( providers-- )
- {
- CVSDataProvider* provider = NULL;
- TRAP_IGNORE( provider =
- iSourceController->CreateDataProviderL( providers, this, iSource ) );
- if ( provider )
- {
- CleanupStack::PushL( provider );
- TProviderItem item;
- TVSDataProviderInfo info;
- provider->ProviderInfo( info );
- TBool destroy( ETrue );
- __VTPRINT2( DEBUG_MEDIA | DEBUG_CONSTRUCT, "LocVideo.Orient=%d",
- info.iOrientation )
- switch ( info.iOrientation )
- {
- case TCameraInfo::EOrientationInwards:
- SetFlag( EFlagCamera1Available );
- item.iType = KVtEngProviderCam1;
- if ( err != KErrAlreadyExists )
- {
- // Set only if value not obtained from PubSub
- iCurrentCamera = MVtEngMedia::EPrimaryCamera;
- }
- iProviderInfoIndexCam1 = providers;
- __VTPRINT2( DEBUG_MEDIA | DEBUG_CONSTRUCT, "LocVideo.ConL ID C1=%d",
- iProviderInfoIndexCam1 )
- break;
- case TCameraInfo::EOrientationOutwards:
- // Configures outwards camera, it is treated as camera 1
- // if there is only one camera in the device.
- ConfigureOutwardsCameraItem( item, providers );
- break;
- case TCameraInfo::EOrientationMobile:
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "LocVideo.Mobile")
- item.iType = KVtEngProviderTempImage;
- indexMobile = providers;
- __VTPRINT2( DEBUG_MEDIA | DEBUG_CONSTRUCT, "LocVideo.Mobile ID=%d",
- indexMobile )
- break;
- case TCameraInfo::EOrientationUnknown:
- {
- item.iType = KVtEngProviderImage;
- item.iProvider = provider;
- item.iProviderState = EPermanent;
- destroy = EFalse; // don't delete still provider
- CreateBlankProviderL( providers );
-
- if ( CVtEngUtility::Settings().
- IsDefaultStillImageDefined() )
- {
- CreateDefaultStillImageProviderL( providers );
- }
-
- iProviderInfoIndexStill = providers;
- __VTPRINT2( DEBUG_MEDIA | DEBUG_CONSTRUCT,
- "LocVideo.ConL ID Still=%d",iProviderInfoIndexStill )
- }
- break;
- default:
- break;
- }
- iVideoProviders->AppendL( item );
- CleanupStack::Pop();
- if ( destroy )
- {
- delete provider;
- provider = NULL;
- }
- }
- }
- iObserver.SetSelectedCameraId( iCurrentCamera );
- // Check if mobile is there, and either 1 or 2 is not.
-
- if ( indexMobile != KErrNotFound )
- {
- TProviderItem* item = NULL;
- const TInt err = GetProviderByType( KVtEngProviderTempImage, item );
- __ASSERT_ALWAYS( err != KErrNotFound,
- Panic( EVtEngPanicInvalidInitializationState ) );
- if ( iProviderInfoIndexCam1 == KErrNotFound )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "LocVideo.ConL Switch 1" )
- item->iType = KVtEngProviderCam1;
- iProviderInfoIndexCam1 = indexMobile;
- SetFlag( EFlagCamera1Available );
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "LocVideo.ConL Switch 2" )
- DeleteProvider( KVtEngProviderCam2 );
- item->iType = KVtEngProviderCam2;
- iProviderInfoIndexCam2 = indexMobile;
- SetFlag( EFlagCamera2Available );
- }
- }
- __VTPRINTEXIT( "LocVideo.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ConfigureOutwardsCameraItem
-// Creates providers item for outwards camera type. It is treated as
-// a) primary camera in single camera configurations
-// b) secondary camera in two camera configurations
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::ConfigureOutwardsCameraItem(
- TProviderItem& aItem,
- const TInt aCurrentIndex )
- {
- __VTPRINTENTER( "LocVideo.ConfigureOutwardsCameraItem" )
- if ( iNumSupportedCameras == 1 )
- {
- SetFlag( EFlagCamera1Available );
- aItem.iType = KVtEngProviderCam1;
- iProviderInfoIndexCam1 = aCurrentIndex;
- iCurrentCamera = MVtEngMedia::EPrimaryCamera;
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.ConL ID C1=%d", iProviderInfoIndexCam1 )
- }
- else
- {
- SetFlag( EFlagCamera2Available );
- aItem.iType = KVtEngProviderCam2;
- iProviderInfoIndexCam2 = aCurrentIndex;
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.ConL ID C2=%d", iProviderInfoIndexCam2 )
- }
- __VTPRINTEXITR( "LocVideo.ConfigureOutwardsCameraItem iCurrentCamera=%d",
- iCurrentCamera )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CallBackFunc
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CompleteOperation( const TInt aResult )
- {
- __VTPRINTENTER( "LocVideo.CompleteOperation" )
- SetResult( aResult );
- iAsyncCallBack->CallBack();
- __VTPRINTEXITR( "LocVideo.CompleteOperation %d", aResult )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::VideoChannelOpenedL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::VideoChannelOpenedL()
- {
- __VTPRINTENTER( "LocVideo.VideoChannelOpenedL" )
- if ( iDelayedSelect.IsDelayedSelectPending() )
- {
- SelectSourceL( iDelayedSelect.DelayedSelectTarget() );
- }
- __VTPRINTEXIT( "LocVideo.VideoChannelOpenedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CallBackFunc
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::CallBackFunc( TAny* aPtr )
- {
- __VTPRINTENTER( "LocVideo.CallBackFunc" )
- CVtEngLocalVideo* self = reinterpret_cast< CVtEngLocalVideo* >( aPtr );
- TInt result( KErrNone );
- TRAP( result,
- self->iObserver.HandleLocalVideoOperationCompleteL(
- self->Result() ) );
- __VTPRINTEXITR( "LocVideo.CallBackFunc %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::Result
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::Result() const
- {
- __VTPRINTENTER( "LocVideo.Result" )
- __VTPRINTEXITR( "LocVideo.Result %d", iResult )
- return iResult;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetResult
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetResult( const TInt aResult )
- {
- __VTPRINTENTER( "LocVideo.SetResult" )
- iResult = aResult;
- __VTPRINTEXITR( "LocVideo.SetResult %d", iResult )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo* CVtEngLocalVideo::NewL(
- CVtEngMediaHandler& aObserver )
- {
- __VTPRINTENTER( "LocVid.NewL" )
- CVtEngLocalVideo* self = new( ELeave )
- CVtEngLocalVideo( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop();
- __VTPRINTEXIT( "LocVid.NewL" )
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::~CVtEngLocalVideo
-// Destructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::~CVtEngLocalVideo()
- {
- __VTPRINTENTER( "LocVid.~" )
- // Cancel the object
- if ( iActiveProvider )
- {
- iActiveProvider->DetachFromCameraPreferences();
- }
- if ( iAsyncCallBack )
- {
- iAsyncCallBack->Cancel();
- delete iAsyncCallBack;
- }
- Cancel();
- if ( iVideoProviders )
- {
- while ( iVideoProviders->Count() )
- {
- TProviderItem& item = (*iVideoProviders)[0];
- CVSDataProvider* provider = item.iProvider;
- delete provider;
- iVideoProviders->Delete( 0 );
- }
- delete iVideoProviders;
- }
-
- delete iCameraListener;
- iCameraListener = NULL;
-
- delete iSource;
- delete iSourceController;
- DeleteAudioSource();
- delete iShareImage;
- __VTPRINTEXIT( "LocVid.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::vsProviderError
-// Handles error in provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::vsProviderError( TInt aError )
- {
- if( aError == KErrCancel )
- {
- vsProviderReady();
- return;
- }
- __VTPRINTENTER( "LocVid.vsProviderError" )
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.ProviderError=%d", aError )
- iInitializingProvider = NULL;
- if ( aError != KErrNone )
- {
- iShareImage->Error( aError );
- if ( !iLayoutChangeHandler.ProviderError( aError ) )
- {
- const TState previousState = iState;
- iState = ELocNone;
- __VTPRINT( DEBUG_MEDIA, " STATE TO NONE" )
-
- // If the error indicates that camera is in use
- if ( aError == KErrInUse && previousState == ELocInitializing )
- {
- // Store the error to be used later
- if( iSelectedProvider )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.ProviderError in use")
- iSelectedProvider->iErrorCode = aError;
- if ( iSelectedProvider->iType == KVtEngProviderCam1 )
- {
- ClearFlag( EFlagCamera1Available );
- }
- else if ( iSelectedProvider->iType == KVtEngProviderCam2 )
- {
- ClearFlag( EFlagCamera2Available );
- }
- }
- }
- // Camera has been lost
- if ( aError == KVsErrCameraNoLongerReserved )
- {
- if ( !IsActive() )
- {
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, aError );
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.ProviderError AO start" )
- __VTPRINTEXITR(
- "LocVid.vsProviderError err=%d", aError )
-
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.ProviderError iSelectedProvider NULL" )
- if ( iSelectedProvider )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.ProviderError iSelectedProvider NULL" )
- iSelectedProvider->iInitialized = EFalse;
- iSelectedProvider->iProviderState =
- (CVtEngLocalVideo::TProviderState) aError;
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.ProviderError iSelectedProvider NULL" )
- }
- return;
- }
- }
- if ( iSelectedProvider )
- {
- // Try to select the last known to function camera
- if ( iSelectedProvider->iType == KVtEngProviderCam1 ||
- iSelectedProvider->iType == KVtEngProviderCam2 )
- {
- if ( !IsActive() )
- {
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, aError );
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.ProviderError AO start" )
- __VTPRINTEXITR(
- "LocVid.vsProviderError err=%d", aError )
- return;
- }
- }
- //Error code needed later
- iSelectedProvider->iInitialized = EFalse;
- iSelectedProvider->iProviderState =
- (CVtEngLocalVideo::TProviderState) aError;
- iSelectedProvider = NULL;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- " selected provider nulled" )
- }
- else if ( iActiveProvider &&
- !IsFlag( EFlagInitializeOnly ) &&
- previousState == ELocSwichingProvider )
- {
- iActiveProvider = iFadingProvider;
- iFadingProvider = NULL;
- }
- if ( IsFlag( EFlagSignalSourceSelection ) )
- {
- ClearFlag( EFlagSignalSourceSelection );
- TRAP_IGNORE(
- iObserver.HandleLocalVideoOperationCompleteL( aError ) );
- }
- }
- }
- __VTPRINTEXIT( "LocVid.vsProviderError" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::vsProviderReady
-// Provider is ready to be taken into use.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::vsProviderReady()
- {
- __VTPRINTENTER( "LocVid.vsProviderReady" )
-
- __VTPRINT3( DEBUG_MEDIA, "LocVideo.ProviderReady state=%d, initOnly=%d",
- iState, IsFlag( EFlagInitializeOnly ) )
- const TState prevState( iState );
-
- if ( iInitializingProvider )
- {
- iInitializingProvider->iInitialized = ETrue;
-
- // Set camera flags in order to recover
- // error situation (error occured during init)
- if ( iInitializingProvider->iType == KVtEngProviderCam1 )
- {
- __VTPRINT( DEBUG_MEDIA, " LocVid.vsProviderReady KVtEngProviderCam1" )
- SetFlag( EFlagCamera1Available );
- }
- else if ( iInitializingProvider->iType == KVtEngProviderCam2 )
- {
- __VTPRINT( DEBUG_MEDIA, " LocVid.vsProviderReady KVtEngProviderCam2" )
- SetFlag( EFlagCamera2Available );
- }
-
- iInitializingProvider = NULL;
- }
-
- iState = ELocReady;
- __VTPRINT( DEBUG_MEDIA, " STATE TO READY" )
-
- if ( iLayoutChangeHandler.ProviderReady() )
- {
- __VTPRINTEXIT( "LocVid.vsProviderReady" )
- return;
- }
-
- if ( prevState == ELocInitializing && !IsFlag( EFlagInitializeOnly ) )
- {
- TProviderItem* switchTo = iActiveProvider;
- if ( iSelectedProvider )
- {
- iSelectedProvider->iErrorCode = KErrNone;
- switchTo = iSelectedProvider;
- iSelectedProvider = NULL;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, " selected provider nulled" )
- }
- __VTPRINT( DEBUG_MEDIA, "LocVideo.ProviderReady switching")
- SwitchProvider( switchTo );
- __VTPRINTEXIT( "LocVid.vsProviderReady" )
- return;
- }
- else
- {
- iSelectedProvider = NULL;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "Selected provider nulled, UDS" )
- UpdateState();
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.vsProviderReady KVtEngSourceCapsChanged")
- CVtEngEventManager::NotifyEvent( KVtEngSourceCapsChanged );
- }
-
- if ( IsFlag( EFlagSignalSourceSelection ) )
- {
- ClearFlag( EFlagSignalSourceSelection );
- TRAP_IGNORE( iObserver.HandleLocalVideoOperationCompleteL( KErrNone ) );
- }
- __VTPRINTEXIT( "LocVid.vsProviderReady" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::vsProviderSwitchDone
-// Provider switched.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::vsProviderSwitchDone( CVSDataProvider* aOldProvider )
- {
- __VTPRINTENTER( "LocVid.vsProviderSwitchDone" )
- iState = ELocReady;
- __VTPRINT( DEBUG_MEDIA, " STATE TO READY" )
-
- iFadingProvider = NULL;
-
- if ( iActiveProvider && iActiveProvider->iProvider )
- {
- iActiveProvider->iProvider->ProviderInfo( iProviderInfo );
- TInt error( iActiveProvider->RestoreZoomFactor() );
- if ( error )
- {
- __VTPRINT2( DEBUG_MEDIA,
- "LocVid.vsProviderSwitchDone restoring stored zoom FAILED %d",
- error )
- }
- }
-
- iShareImage->ProviderSwitchDone( aOldProvider );
-
- if ( iActiveProvider && iActiveProvider->iType == KVtEngProviderCam1 )
- {
- iCurrentCamera = MVtEngMedia::EPrimaryCamera;
- iObserver.SetSelectedCameraId( iCurrentCamera );
- }
- else if ( iActiveProvider && iActiveProvider->iType == KVtEngProviderCam2 )
- {
- iCurrentCamera = MVtEngMedia::ESecondaryCamera;
- iObserver.SetSelectedCameraId( iCurrentCamera );
- }
-
- // Let layout change handler handle providerswitch
- if ( iLayoutChangeHandler.ProviderSwitchDone( aOldProvider ) )
- {
- CVtEngEventManager::NotifyEvent( KVtEngLCHProviderSwitchDone );
- __VTPRINTEXIT( "LocVid.vsProviderSwitchDone" )
- return;
- }
-
- ClearFlag( EFlagFrozen );
-
- // If initilization of the waiting provider fails fall back to the last one.
- TVtEngProviderType backupProviderType( KVtEngProviderNone );
-
- // Delete non-permanent old provider
- const TInt indexI( ProviderIndexByInstance( aOldProvider ) );
-
- // delete provider that became unavailable
- if ( indexI != KErrNotFound )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.providerSwitchDone indexInstance=%d", indexI )
- TProviderItem& item( ( *iVideoProviders )[ indexI ] );
- if ( item.iProviderState != EPermanent &&
- item.iProviderState != ERefreshing )
- {
- DeleteProvider( item );
- TRAP_IGNORE( item.iProvider = CreateDataProviderL( item.iType ) );
- }
- }
-
- // Uninitialize fading provider
- const TInt indexF = ProviderIndexByState( EFading );
- if ( indexF != KErrNotFound )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.providerSwitchDone fading indexFading=%d", indexF )
- TProviderItem& item = (*iVideoProviders)[indexF];
-
- // Mark up type of the last provider.
- backupProviderType = item.iType;
-
- DeleteProvider( item );
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.providerSwitchDone fading=%d", item.iType )
- TRAP_IGNORE( item.iProvider = CreateDataProviderL( item.iType ) );
- }
-
- // Initialize waiting provider
- TInt err( KErrNone );
- const TInt indexW( ProviderIndexByState( EWaiting ) );
- if ( indexW != KErrNotFound )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.providerSwitchDone waiting=%d", indexW )
- TProviderItem& item = (*iVideoProviders)[indexW];
- item.iProviderState = EUndefined;
- TRAP( err, InitializeProviderL( item ) );
- if ( err == KErrNone)
- {
- iSelectedProvider = &item;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, " selected provider set" )
- backupProviderType = KVtEngProviderNone;
- }
- else
- {
- iState = ELocNone;
- __VTPRINT( DEBUG_MEDIA, " STATE TO NONE" )
- __VTPRINT2( DEBUG_MEDIA, "failed initializing provider=%d", err )
- // If initialization failed indicate that provider is not available
- if ( item.iType == KVtEngProviderCam1 )
- {
- ClearFlag( EFlagCamera1Available );
- }
- else if ( item.iType == KVtEngProviderCam2 )
- {
- ClearFlag( EFlagCamera2Available );
- }
- else if( item.iType == KVtEngProviderShareImage )
- {
- iShareImage->Error( err );
- }
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- }
- }
-
- // Reconstruct refreshing (new still image) provider.
- const TInt indexR( ProviderIndexByState( ERefreshing ) );
- if ( indexR != KErrNotFound )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.providerSwitchDone refreshing")
- TProviderItem& item = (*iVideoProviders)[indexR];
- DeleteProvider( item );
-
- // If still image disabled in settings.
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const CVtEngSettings::TVtEngVideoCallConfig& config =
- settings.Config();
- const TBool stillImageValid( config.iVideo.iImageIsValid );
- TRAP( err,
- {
- item.iProvider = CreateDataProviderL( item.iType );
- if ( stillImageValid )
- {
- InitializeProviderL( item );
- }
- else
- {
- item.iProviderState = EPermanent; // change back to original
- }
- } );
- if ( err == KErrNone && stillImageValid )
- {
- iSelectedProvider = &item;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, " selected provider set" )
- }
- else
- {
- iState = ELocNone;
- __VTPRINT2( DEBUG_MEDIA, " STATE TO NONE initerr=%d", err )
- }
- }
-
- // If we have delayed select pending -> initiate new switch and return
- if ( iDelayedSelect.IsDelayedSelectPending() )
- {
- ClearFlag( EFlagCheckRevertToPrevious );
- TVtEngProviderType pending = iDelayedSelect.DelayedSelectTarget();
- __VTPRINT2( DEBUG_MEDIA, " delayed select pending type = %d", pending )
- if( iActiveProvider && iActiveProvider->iType == pending )
- {
- // clear the iDelayedSelect to KVtEngProviderUndefined
- // and no need to select again,continue complete this vsProviderSwitchDone
- iDelayedSelect.DelayedSelectTarget();
- }
- else
- {
- TRAP_IGNORE( SelectSourceL( pending ) );
- __VTPRINTEXIT( "LocVid.vsProviderSwitchDone" )
- return;
- }
- }
-
- if ( IsFlag( EFlagSignalSourceSelection ) &&
- iState != ELocInitializing && // Set in InitializeProviderL if called
- err == KErrNone && // but not if init (or create provider in
- // there) failed.
- !IsFlag( EFlagCheckRevertToPrevious ) )
- {
- // Signal only if we're in final state (i.e. not if blank provider
- // was switched and just started initializing a camera).
- ClearFlag( EFlagSignalSourceSelection );
- TRAP_IGNORE( iObserver.HandleLocalVideoOperationCompleteL( KErrNone ) );
- }
- else if ( IsFlag( EFlagCheckRevertToPrevious ) &&
- ( iState == ELocReady || iState == ELocNone ) )
- {
- ClearFlag( EFlagCheckRevertToPrevious );
- MVtEngMedia::TCameraId currentCam( MVtEngMedia::EPrimaryCamera );
- iObserver.GetCurrentCameraId( currentCam );
- backupProviderType =
- ( currentCam==MVtEngMedia::EPrimaryCamera ) ?
- KVtEngProviderCam1 : KVtEngProviderCam2;
- }
-
- __VTPRINT2( DEBUG_MEDIA, " switch done iState=%d", iState )
-
- //Inform camera preferences that valid provider is set
- // Check that valid provider exist
- // and set it as provider to camera
- // preferences
- if ( iActiveProvider )
- {
- __VTPRINT2( DEBUG_MEDIA, "switch done prov.state=%d",
- iActiveProvider->iProviderState )
- // Set provider to camera preferences
- // only if camera preferences exist
- if ( iCameraPref)
- {
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.providerSwitchDone iCameraPref->SetProvider type=%d",
- iActiveProvider->iType )
- iCameraPref->SetProvider( iActiveProvider->iProvider,
- *iActiveProvider );
-
- TInt error( iActiveProvider->RestorePreferences() );
- if ( error )
- {
- __VTPRINT2( DEBUG_MEDIA, " restoring preferences FAILED %d",
- error )
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.providerSwitchDone camera pref not created" )
- }
- }
-
- if ( IsFlag( EFlagInitialized ) && iState != ELocInitializing )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.providerSwitchDone KVtEngSourceCapsChanged" )
- CVtEngEventManager::NotifyEvent( KVtEngSourceChanged );
- }
-
- TRAP( err, StartViewFinderIfWasStartedL() ); // err is ignored
-
- if ( backupProviderType != KVtEngProviderNone )
- {
- // Initialization of new provider failed,
- // try reverting back to last one.
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.providerSwitchDone revert to %d", backupProviderType )
- TRAP( err, SelectSourceL( backupProviderType ) );
- if ( err != KErrNone )
- {
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- }
- }
-
- __VTPRINTEXIT( "LocVid.vsProviderSwitchDone" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::vsViewFinderFrameReady
-// View finder image can be set.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::vsViewFinderFrameReady( CFbsBitmap& aFrame )
- {
- __VTPRINTENTER( "LocVid.vsViewFinderFrameReady" )
- if ( iActiveProvider &&
- iActiveProvider->iType != KVtEngProviderNone )
- {
- TRAP_IGNORE( iOptions.iObserver->vtHandleFrameL(
- MVtEngFrameObserver::ELocalVideoFrame, &aFrame ) );
- }
- __VTPRINTEXIT( "LocVid.vsViewFinderFrameReady" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::vsProvidersChanged
-// Provider state has changed.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::vsProvidersChanged( TBool aAttached )
- {
- __VTPRINTENTER( "LocVid.vsProvidersChanged" )
-
- __VTPRINT2( DEBUG_MEDIA, " vsProvidersChanged attached=%d", aAttached )
- __VTPRINT2( DEBUG_MEDIA, " vsProvidersChanged state=%d",iState )
- if ( iAudioSource == NULL )
- {
- // If this is called from ConstructL (indirectly) return immediately
- if ( aAttached || iCurrentCamera == MVtEngMedia::EPrimaryCamera )
- {
- SetFlag( EFlagCamera1Available );
- iObserver.SetSelectedCameraId( MVtEngMedia::EPrimaryCamera, ETrue );
- }
- else
- {
- ClearFlag( EFlagCamera1Available );
- iObserver.SetSelectedCameraId(
- MVtEngMedia::ESecondaryCamera, ETrue );
- }
- __VTPRINTEXIT( "LocVid.vsProvidersChanged" )
- return;
- }
-
- // If primary camera was not available and state is not "open"
- // UI should be requested for answer. Precondition is also that
- // primary camera is now available.
- TBool notifyAnswer( EFalse );
- TInt activeMedia( 0 );
-
- const MVtEngSessionInfo::TSessionState state(
- CVtEngUtility::StateManager()->SessionState() );
-
- __VTPRINT2( DEBUG_MEDIA, " vsProvidersChanged, call state=%d", state )
- if ( state == MVtEngSessionInfo::EReceiving )
- {
- __VTPRINT2( DEBUG_MEDIA, " vsProvidersChanged attached=%d", aAttached )
- if ( !IsFlag( EFlagCamera1Available ) && aAttached )
- {
- notifyAnswer = ETrue;
- }
- }
-
- __VTPRINT2( DEBUG_MEDIA,
- " vsProvidersChanged answer=%d", notifyAnswer )
- CVtEngLocalVideo::TVtEngProviderType providerToSelect( KVtEngProviderNone );
- TRAPD( err, providerToSelect = UpdateAvailableProvidersL() );
- if ( err == KErrNone )
- {
- // Now get the state to check if video has been disabled
- GetMediaState( activeMedia );
- __VTPRINT2( DEBUG_MEDIA,
- " vsProvidersChanged mediastate=%d", activeMedia )
- __VTPRINT2( DEBUG_MEDIA,
- " vsProvidersChanged iState=%d", iState )
-
- // values for checking if switch is allowed
- TBool activeIsStillOrBlank ( EFalse );
- TBool activeIsBlankAndNewCam1( EFalse );
- if ( iActiveProvider )
- {
- __VTPRINT2( DEBUG_MEDIA,
- " vsProvidersChanged iActivePType=%d", iActiveProvider->iType )
- if ( iActiveProvider->iType == KVtEngProviderImage ||
- iActiveProvider->iType == KVtEngProviderNone )
- {
- activeIsStillOrBlank = ETrue;
- if ( providerToSelect == KVtEngProviderCam1 &&
- iActiveProvider->iType == KVtEngProviderNone )
- {
- activeIsBlankAndNewCam1 = ETrue;
- }
- }
- }
- __VTPRINT2( DEBUG_MEDIA,
- " vsProvidersChanged blank active new cam1=%d",
- activeIsBlankAndNewCam1 )
-
- __VTPRINT2( DEBUG_MEDIA,
- " vsProvidersChanged provider=%d", providerToSelect )
-
- if ( providerToSelect == KVtEngProviderCam1 )
- {
- iObserver.SetSelectedCameraId( MVtEngMedia::EPrimaryCamera );
- }
- else if ( providerToSelect == KVtEngProviderCam2 )
- {
- // delete provider that became unavailable
- iObserver.SetSelectedCameraId( MVtEngMedia::ESecondaryCamera );
- }
-
- // Check if SelectSource should be called
- if ( !notifyAnswer && // for incoming calls automatic switch not allowed
- ( iState == ELocNone || iState == ELocReady ) &&
- IsFlag( EFlagInitialized ) )
- {
- __VTPRINT( DEBUG_MEDIA, " vsProvidersChanged ok to select" )
- // Allow switch if video disabled (still/blank active)
- // and cam1 available.
- ClearFlag( EFlagInitializeOnly );
- ClearFlag( EFlagCheckRevertToPrevious );
- if ( activeIsStillOrBlank &&
- providerToSelect == KVtEngProviderCam2 )
- {
- SetFlag( EFlagInitializeOnly );
- }
- else if ( activeIsBlankAndNewCam1 )
- {
- iObserver.AutoEnableVideo();
- }
- else if ( providerToSelect == KVtEngProviderNone )
- {
- iObserver.AutoEnableVideo( EFalse );
- }
- SetFlag( EFlagAutomaticSwitchCallback );
- TRAP( err, SelectSourceL( providerToSelect ) );
- ClearFlag( EFlagAutomaticSwitchCallback );
-
- if ( err != KErrNone )
- {
- __VTPRINT2( DEBUG_MEDIA,
- " vsProvidersChanged,select failed=%d", err )
- if ( providerToSelect == KVtEngProviderCam1 &&
- iNumSupportedCameras > 1 )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.vsProvidersChanged 2 2" )
- SetFlag( EFlagCamera2Available );
- ClearFlag( EFlagCamera1Available );
- TRAP( err, SelectSourceL( KVtEngProviderCam2 ) );
- }
- else if ( providerToSelect == KVtEngProviderCam2 )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.vsProvidersChanged 2 still")
- ClearFlag( EFlagCamera2Available );
- TRAP( err, SelectSourceL( KVtEngProviderImage ) );
- }
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, " vsProvidersChanged Not Changed" )
- if ( iState == ELocInitializing &&
- iSelectedProvider &&
- iSelectedProvider->iType != providerToSelect )
- {
- SetFlag( EFlagCheckRevertToPrevious );
- }
- }
-
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- states->Update();
-
- if ( IsFlag( EFlagCamera1Available ) ||
- IsFlag( EFlagCamera2Available ) )
- {
- if ( notifyAnswer )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.vsProvidersChanged KVtEngSessionAnswerPossible")
- CVtEngEventManager::NotifyEvent( KVtEngSessionAnswerPossible );
- }
- else if ( !notifyAnswer &&
- // Don't notify before selection is done.
- ( iState == ELocReady ||
- iState == ELocNone ) )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.vsProvidersChanged KVtEngSourceCapsChanged" )
- CVtEngEventManager::NotifyEvent( KVtEngSourceCapsChanged );
- }
- }
- else if ( !IsFlag( EFlagCamera1Available ) &&
- !IsFlag( EFlagCamera2Available ) )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.vsProvidersChanged NO CAMS" )
- CVtEngEventManager::NotifyEvent( KVtEngSourceCapsChanged );
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.vsProvidersChanged KVtEngResourceMemAllocFailure" )
- CVtEngEventManager::NotifyEvent( KVtEngResourceMemAllocFailure );
- }
- __VTPRINTEXITR( "LocVid.vsProvidersChanged err=%d", err )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetViewFinderParameters
-// Configures parameters for rendering via window server.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetViewFinderParameters(
- const TVtEngRenderingOptions& aParams )
- {
- __VTPRINTENTER( "LocVid.SetViewFinderParameters" )
-
- // Before setting the params, stop VF
- if( ViewFinderStarted() )
- {
- StopViewFinder();
- }
-
- iOptions.iSize = aParams.iSize;
- __VTPRINT2( DEBUG_MEDIA,
- " width = %d", iOptions.iSize.iWidth );
- __VTPRINT2( DEBUG_MEDIA,
- " height = %d", iOptions.iSize.iHeight );
-
- iOptions.iObserver = aParams.iObserver;
- iRenderingMethod = EWindowServer;
- __VTPRINTEXIT( "LocVid.SetViewFinderParameters" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetViewFinderParameters
-// Configures parameters for rendering with direct screen access.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetViewFinderParameters(
- const TVtEngRenderingOptionsDSA& aDSA )
- {
- __VTPRINTENTER( "LocVid.SetVFParamsDSA" )
-
- // Before setting the params, stop VF
- if( ViewFinderStarted() )
- {
- StopViewFinder();
- }
-
- iRenderingMethod = EDSA;
- iDsaOptions.iClipRect = aDSA.iClipRect;
- iDsaOptions.iRect = aDSA.iRect;
- iDsaOptions.iWindow = &aDSA.iWindow;
- iDsaOptions.iWs = &aDSA.iWs;
- iDsaOptions.iWsSD = &aDSA.iWsSD;
- __VTPRINTEXIT( "LocVid.SetVFParamsDSA" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetViewFinderParameters
-// Configures parameters for rendering with display posting.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetViewFinderParameters(
- const TVtEngRenderingOptionsDP& aDP )
- {
- __VTPRINTENTER( "LocVid.SetVFParamsDP" )
-
- // Before setting the params, stop VF
- if( ViewFinderStarted() )
- {
- StopViewFinder();
- }
-
- iRenderingMethod = EDP;
- iDsaOptions.iClipRect = aDP.iClipRect;
- iDsaOptions.iRect = aDP.iRect;
- iDsaOptions.iWindow = &aDP.iWindow;
- iDsaOptions.iWs = &aDP.iWs;
- iDsaOptions.iWsSD = &aDP.iWsSD;
- __VTPRINTEXIT( "LocVid.SetVFParamsDP" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetDefaultStillImageL
-// Sets default still image.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetDefaultStillImageL()
- {
- __VTPRINTENTER( "LocVid.SetDefaultStillImageL" )
-
- TProviderItem* item = NULL;
- GetProviderByType( KVtEngProviderDefaultStillImage, item );
- if ( item )
- {
- CVSDataProvider* provider = item->iProvider;
-
- if ( provider && item->iType == KVtEngProviderDefaultStillImage )
- {
- if ( item->iInitialized )
- {
- StopViewFinder();
-
- TInt providerIndex =
- ProviderIndex( KVtEngProviderDefaultStillImage );
-
- TProviderItem* defaultStillProviderItem =
- &( *iVideoProviders )[providerIndex];
- SwitchProvider( defaultStillProviderItem );
- }
- else
- {
- InitializeProviderL( *item );
- iSelectedProvider = item;
- }
- }
- }
- __VTPRINTEXIT( "LocVid.SetDefaultStillImageL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetStillImageL
-// Sets still image.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetStillImageL( TBool aSetAsActive )
- {
- __VTPRINTENTER( "LocVid.SetStillImageL" )
-
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const CVtEngSettings::TVtEngVideoCallConfig& config =
- settings.Config();
- const TBool stillImageValid( config.iVideo.iImageIsValid );
- if ( iState == ELocInitializing && stillImageValid )
- {
- __VTPRINT( DEBUG_MEDIA, " setStill failed" )
- User::Leave( KErrNotReady );
- }
-
- TInt count( iVideoProviders->Count() );
- TBool done( EFalse );
- while ( count-- )
- {
- TProviderItem& item = ( *iVideoProviders )[count];
- CVSDataProvider* provider = item.iProvider;
-
- if ( item.iType == KVtEngProviderImage )
- {
- if ( provider && item.iInitialized )
- {
- // If still image provider is active change to temp provider
- if ( iActiveProvider &&
- ( iActiveProvider->iType == KVtEngProviderImage ) )
- {
- __VTPRINT( DEBUG_MEDIA, "Act.prov. must be deleted" )
- StopViewFinder();
- iActiveProvider->iProviderState = ERefreshing;
- TInt providerIndex = ProviderIndex( KVtEngProviderNone );
- TProviderItem* blankProviderItem =
- &( *iVideoProviders )[providerIndex];
- SwitchProvider( blankProviderItem );
- __VTPRINTEXIT( "LocVideo.SetStillImageL" )
- return;
- }
-
- //Only way to change image is first delete the provider
- delete provider;
- item.iProvider = NULL;
-
- // Create it again.
- // If there is a provider info for still.
- if ( iProviderInfoIndexStill != KErrNotFound )
- {
- item.iProvider = iSourceController->CreateDataProviderL(
- iProviderInfoIndexStill,
- this, iSource );
- item.iType = KVtEngProviderImage;
- item.iInitialized = EFalse;
- }
- }
- // Do initialization only if valid image (still not
- // cleared in settings).
- if ( stillImageValid )
- {
- InitializeProviderL( item );
- if ( aSetAsActive )
- {
- iSelectedProvider = &item;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- " selected provider set" )
- }
- }
- done = ETrue;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.SetStillImageL ok" )
- }
- }
- if ( !done )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.SetStillImageL fail")
- User::Leave( KErrGeneral );
- }
- __VTPRINTEXIT( "LocVid.SetStillImageL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::InitializeL
-// Initializes default blank provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::InitializeL()
- {
- __VTPRINTENTER( "LocVid.InitializeL" )
- const TInt index( ProviderIndex( KVtEngProviderNone ) );
- TProviderItem* item = &(*iVideoProviders)[index];
- if ( iActiveProvider &&
- iActiveProvider->iType == KVtEngProviderImage )
- {
- // Blank provider is set to active only
- // if there is not valid still image.
- SetFlag( EFlagInitializeOnly );
- iSelectedProvider = item;
- }
- else
- {
- iActiveProvider = item;
- }
- InitializeProviderL( *item );
- SetFlag( EFlagSignalSourceSelection );
- SetFlag( EFlagInitialized );
- __VTPRINTEXIT( "LocVid.InitializeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SelectSourceL
-// Selects source.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::SelectSourceL( TVtEngProviderType aSource )
- {
- __VTPRINTENTER( "LocVid.SelectSourceL" )
-
- __VTPRINT2( DEBUG_MEDIA, " source=%d", aSource )
-
- if ( iDelayedSelect.IsDelayedSelectPending() &&
- ( aSource != KVtEngProviderShareImage ) &&
- ( aSource == KVtEngProviderCam1 ||
- aSource == KVtEngProviderCam2 ||
- aSource == KVtEngProviderImage ) )
- {
- aSource = iDelayedSelect.DelayedSelectTarget();
- }
-
- if( IsProviderWaiting( aSource ) )
- {
- // If waiting for provide switch and a provider initialization
- // don't allow selection.
- __VTPRINT( DEBUG_MEDIA, "LocVideo.SelectSourceL already waiting" )
- User::Leave( KErrNotReady );
- }
-
- // To be selected source is already active
- if ( IsActiveProvider( aSource ) )
- {
- Cancel();
- TRequestStatus* status = &iStatus;
- SetActive();
- User::RequestComplete( status, KVtEngAlreadyActive );
- SetFlag( EFlagSignalSourceSelection );
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.SelectSourceL start AO=%d",
- KVtEngAlreadyActive )
- if ( iActiveProvider )
- {
- __VTPRINT2( DEBUG_MEDIA, "LocVideo. activeProv type=%d",
- iActiveProvider->iType )
- }
- // In case there were errors, NULL the selected provider
- // to be able to initialize it when needed
- if( iSelectedProvider )
- {
- if( iSelectedProvider->iErrorCode )
- {
- iSelectedProvider->iInitialized = EFalse;
- iSelectedProvider->iProviderState =
- (CVtEngLocalVideo::TProviderState)
- iSelectedProvider->iErrorCode;
- iSelectedProvider = NULL;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, " selprovider nulled" )
- }
- }
- // Not actually switching but virtually doing it because
- // async callback will be made.
- __VTPRINTEXITR( "LocVid.SelectSourceL %d", ETrue )
- return ETrue;
- }
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.Selectsource iState=%d", iState )
- if ( iState == ELocInitializing &&
- aSource == KVtEngProviderImage &&
- iActiveProvider &&
- iActiveProvider->iType != KVtEngProviderNone )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.SelectSource initialization pending" )
- User::Leave( KErrNotReady );
- }
- // We have switch pending
- else if ( iState == ELocSwichingProvider )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.SelectSource switching -> set delayed select" )
- iDelayedSelect.NotifyDelayedSelect( aSource );
- __VTPRINTEXITR( "LocVid.SelectSourceL %d", ETrue )
- return ETrue;
- }
-
- TBool initialized( EFalse );
- TProviderItem item;
- TInt providerIndex( GetProviderByType( aSource, item ) );
-
- if ( providerIndex != KErrNotFound )
- {
- // requested provider found, set initialization status
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.SelectSource index=%d", providerIndex )
- initialized = item.iInitialized;
- }
- else
- { // requested provider not found
- __VTPRINT( DEBUG_MEDIA, "LocVideo.SelectSource create provider" )
- // Try to create provider
- TInt index = KErrNotFound;
- switch ( aSource )
- {
- case KVtEngProviderCam2:
- index = iProviderInfoIndexCam2;
- break;
- case KVtEngProviderNone:
- case KVtEngProviderImage:
- case KVtEngProviderDefaultStillImage:
- // Image sharing
- case KVtEngProviderShareImage:
- index = iProviderInfoIndexStill;
- break;
- case KVtEngProviderCam1:
- index = iProviderInfoIndexCam1;
- default:
- break;
- }
-
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.SelectSource create provider ID=%d", index )
- if ( index != KErrNotFound )
- {
- TProviderItem newItem;
- newItem.iProvider =
- iSourceController->CreateDataProviderL(
- index, this, iSource );
- newItem.iType = aSource;
- CleanupStack::PushL( newItem.iProvider );
- iVideoProviders->AppendL( newItem );
- CleanupStack::Pop();
- providerIndex = iVideoProviders->Count() - 1;
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.SelectSource create provider ok=%d",
- newItem.iProvider != NULL )
- }
- }
-
- TBool initOrSwitch = EFalse;
-
- // Initialize provider
- if ( providerIndex != KErrNotFound && !initialized )
- {
- if ( iActiveProvider->iProviderState != EPermanent )
- {
- // Active provider must be destroyed and new one initialized
- __VTPRINT( DEBUG_MEDIA, "LocVideo.SelectSource del Act.prov" )
- (*iVideoProviders)[providerIndex].iProviderState = EWaiting;
- iActiveProvider->iProviderState = EFading;
- StopViewFinder();
- providerIndex = ProviderIndex( KVtEngProviderNone );
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.SelectSource index for none=%d",
- providerIndex )
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.SelectSource do init" )
- UninitializeProviderL();
- TProviderItem& initItem = ( *iVideoProviders )[providerIndex];
- InitializeProviderL( initItem );
- // This item is stored, make it initialized only when callback
- // received.
- iSelectedProvider = &initItem;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, " selected provider set" )
- initOrSwitch = InitializingOrSwitching();
- __VTPRINTEXITR( "LocVid.SelectSourceL %d", initOrSwitch )
- return initOrSwitch;
- }
- }
-
- // Switch provider
- if ( providerIndex != KErrNotFound )
- {
- if ( !IsFlag( EFlagInitializeOnly ) )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.SelectSource ready for switch")
- StopViewFinder();
- TProviderItem* switchItem = &(*iVideoProviders)[providerIndex];
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.SelectSource switchItem %d", switchItem->iType )
- SwitchProvider( switchItem );
- }
- else if ( initialized && IsFlag( EFlagInitializeOnly ) )
- {
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.SelectSource already initialized start AO %d",
- KVtEngAlreadySelected )
- TProviderItem* switchItem = &( *iVideoProviders )[providerIndex];
- iActiveProvider = switchItem;
- Cancel();
- TRequestStatus* status = &iStatus;
- SetActive();
- User::RequestComplete( status, KVtEngAlreadySelected );
- }
- else
- {
- __VTPRINT3( DEBUG_MEDIA, " initialized=%d,flags=%d",
- initialized, iFlags )
- }
- }
-
- // Error
- if ( iActiveProvider == NULL )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.SelectSource leave" )
- User::Leave( KErrNotFound );
- }
-
- initOrSwitch = InitializingOrSwitching();
- __VTPRINTEXITR( "LocVid.SelectSourceL %d", initOrSwitch )
- return initOrSwitch;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngLocalVideo::InitializeProviderL
-// Initializes a provider.
-// ----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::InitializeProviderL(
- TProviderItem& aProviderItem )
- {
- __VTPRINTENTER( "LocVid.InitializeProviderL" )
-
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.InitProv type=%d", aProviderItem.iType )
-
- if ( iInitializingProvider )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.InitProv ERROR, already initializing" )
- User::Leave( KErrNotReady );
- }
-
- iInitializingProvider = &aProviderItem;
-
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const CVtEngSettings::TVtEngVideoCallConfig& config =
- settings.Config();
- TPckgBuf< TVSStillImageDataProviderParams > pckg;
-
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.InitProv type=%d", aProviderItem.iType )
- CVSDataProvider* provider = aProviderItem.iProvider;
- if ( provider == NULL )
- {
- aProviderItem.iInitialized = EFalse;
- aProviderItem.iProvider = CreateDataProviderL( aProviderItem.iType );
- provider = aProviderItem.iProvider;
- }
- else if ( aProviderItem.iInitialized )
- {
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.InitProv AO start %d", KErrNone )
- Cancel();
- TRequestStatus* status = &iStatus;
- SetActive();
- User::RequestComplete( status, KErrNone );
- __VTPRINTEXIT( "LocVid.InitializeProviderL" )
- return;
- }
- User::LeaveIfNull( provider );
- switch ( aProviderItem.iType )
- {
- case KVtEngProviderCam1:
- case KVtEngProviderCam2:
- provider->InitializeL( KNullDesC8 );
- iState = ELocInitializing;
- __VTPRINT( DEBUG_MEDIA, " STATE TO INITIALIZING" )
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.InitProv type=%d",
- aProviderItem.iType )
- break;
- case KVtEngProviderNone:
- // Blank provider.
- pckg().iInitialize =
- TVSStillImageDataProviderParams::EInitializeAsBlankImage;
- provider->InitializeL( pckg );
- iState = ELocInitializing;
- __VTPRINT( DEBUG_MEDIA, " STATE TO INITIALIZING" )
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.InitProv type=%d",
- aProviderItem.iType )
- break;
- case KVtEngProviderImage:
- {
- if ( config.iVideo.iImageIsValid )
- {
- pckg().iInitialize =
- TVSStillImageDataProviderParams::EInitializeFromGeneralSettings;
- provider->InitializeL( pckg );
- iState = ELocInitializing;
- __VTPRINT( DEBUG_MEDIA, " STATE TO INITIALIZING" )
- __VTPRINT( DEBUG_MEDIA, "LocVideo.InitProv Still image")
- }
- else
- {
- User::Leave( KErrPathNotFound );
- }
- }
- break;
- case KVtEngProviderDefaultStillImage:
- pckg().iInitialize =
- TVSStillImageDataProviderParams::EInitializeAsDefaultStillImage;
-
- provider->InitializeL( pckg );
- iState = ELocInitializing;
- __VTPRINT( DEBUG_MEDIA, " STATE TO INITIALIZING" )
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.InitProv type=%d",
- aProviderItem.iType )
- break;
- default:
- Panic( EVtEngPanicNoVideoProvider );
- break;
- }
- //aProviderItem.iInitialized = ETrue;
- __VTPRINTEXIT( "LocVid.InitializeProviderL" )
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngLocalVideo::InitializeShareProviderL
-// Initializes a provider that is used for sharing.
-// ----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::InitializeShareProviderL(
- TProviderItem& aProviderItem, const TDesC8& aParams )
- {
- __VTPRINTENTER( "LocVid.InitializeShareProviderL" )
- aProviderItem.iProvider->InitializeL( aParams );
- aProviderItem.iInitialized = ETrue;
- iState = ELocInitializing;
- SetFlag( EFlagSignalSourceSelection | EFlagInitializeOnly );
- __VTPRINTEXIT( "LocVid.InitializeShareProviderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ReCreateProviderL
-// -----------------------------------------------------------------------------
-void CVtEngLocalVideo::ReCreateProviderL(
- TProviderItem& aProviderItem, const TVtEngProviderType aType )
- {
- __VTPRINTENTER( "LocVid.ReCreateProviderL" )
-
- TInt index( KErrNotFound );
-
- switch ( aType )
- {
- case KVtEngProviderShareImage:
- index = iProviderInfoIndexStill;
- break;
-
- default:
- User::Leave( KErrNotSupported );
- }
-
- // Delete old instance
- DeleteProvider( aProviderItem );
-
- // Create new instance
- aProviderItem.iProvider = iSourceController->CreateDataProviderL(
- index, this, iSource );
- aProviderItem.iType = aType;
-
- __VTPRINTEXIT( "LocVid.ReCreateProviderL" )
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngLocalVideo::CameraIdToType
-// Camera ID to type mapping.
-// ----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TVtEngProviderType CVtEngLocalVideo::CameraIdToType(
- MVtEngMedia::TCameraId aId )
- {
- TVtEngProviderType type( KVtEngProviderCam2 );
- switch ( aId )
- {
- case MVtEngMedia::EPrimaryCamera:
- type = KVtEngProviderCam1;
- break;
- case MVtEngMedia::ESecondaryCamera:
- type = KVtEngProviderCam2;
- break;
- default:
- type = KVtEngProviderNone;
- break;
- }
- return type;
- }
-
-// ----------------------------------------------------------------------------
-// CVtEngLocalVideo::RunL
-// CActive heir, acts according to status.
-// ----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::RunL()
- {
- __VTPRINTENTER( "LocVid.RunL" )
-
- const TInt status( iStatus.Int() );
- TVtEngProviderType providerType = KVtEngProviderNone;
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.RunL %d", status )
- switch ( status )
- {
- case KVtEngAlreadySelected:
- SetFlag( EFlagSignalSourceSelection );
- vsProviderReady();
- break;
- case KVtEngAlreadyActive:
- TRAP_IGNORE(
- iObserver.HandleLocalVideoOperationCompleteL( KErrNone ) );
- break;
- case KErrNone:
- vsProviderSwitchDone( NULL );
- UpdateState();
- break;
- // Camera has been lost during VT
- case KVsErrCameraNoLongerReserved:
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.status =%d",
- status )
- //delete provider here and null pointer
- if ( iSelectedProvider )
- {
- DeleteProvider( *iSelectedProvider );
- iSelectedProvider = NULL;
- }
-
- // Check if still is in use
- providerType = KVtEngProviderImage;
- GetHighestSelectableProvider( providerType );
-
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.providerType=%d",
- providerType )
-
- iObserver.AutoEnableVideo( EFalse );
- SetFlag( EFlagAutomaticSwitchCallback );
- TRAPD( err, SelectSourceL( providerType ) );
- ClearFlag( EFlagAutomaticSwitchCallback );
-
- if ( err != KErrNone )
- {
- TRAP( err, iObserver.HandleLocalVideoOperationCompleteL( err) );
- }
- break;
- default:
- // error
- {
- switch( iSelectedProvider->iType )
- {
- case KVtEngProviderCam1:
- ClearFlag( EFlagCamera1Available );
- break;
- case KVtEngProviderCam2:
- ClearFlag( EFlagCamera2Available );
- break;
- default:
- break;
- }
- DeleteProvider( *iSelectedProvider );
- iSelectedProvider = NULL;
- MVtEngMedia::TCameraId currentCam( MVtEngMedia::EPrimaryCamera );
- iObserver.GetCurrentCameraId( currentCam );
- TVtEngProviderType providerType( CameraIdToType( currentCam ) );
- GetHighestSelectableProvider( providerType );
- TRAPD( err, SelectSourceL( providerType ) );
- if ( err != KErrNone )
- {
- TRAP( err, iObserver.HandleLocalVideoOperationCompleteL( err) );
- }
- }
- }
- __VTPRINTEXIT( "LocVid.RunL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::IsActiveProvider
-// Returns ETrue if given provider is already active.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::IsActiveProvider( TVtEngProviderType aType ) const
- {
- __VTPRINTENTER( "LocVid.IsActiveProvider" )
- const TBool active(
- ( iActiveProvider && iActiveProvider->iType == aType ) ||
- ( iSelectedProvider && iSelectedProvider->iType == aType ) );
- __VTPRINTEXITR( "LocVid.IsActiveProvider %d", active )
- return active;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::DoCancel
-// Does nothing.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::DoCancel()
- {
- __VTPRINTENTER( "LocVid.DoCancel" )
- __VTPRINTEXIT( "LocVid.DoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ActiveProvider
-// Returns active provider.
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TVtEngProviderType CVtEngLocalVideo::ActiveProvider() const
- {
- if ( iActiveProvider )
- {
- return iActiveProvider->iType;
- }
- return KVtEngProviderNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::StartViewFinderIfWasStartedL
-// View finder image can be set.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::StartViewFinderIfWasStartedL()
- {
- __VTPRINTENTER( "LocVid.StartViewFinderIfWasStartedL" )
- if ( IsFlag( EFlagUIForeground ) && IsFlag( EFlagVFEnabled ) &&
- iState == ELocReady )
- {
- StartViewFinderL();
- }
- __VTPRINTEXIT( "LocVid.StartViewFinderIfWasStartedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::StartViewFinderL
-// Starts view finder.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::StartViewFinderL( TBool aClientRequest )
- {
- __VTPRINTENTER( "LocVid.StartViewFinderL" )
- __ASSERT_ALWAYS( iVideoProviders->Count(),
- Panic ( EVtEngPanicNoVideoProvider ) );
-
- if ( aClientRequest )
- {
- SetFlag( EFlagVFEnabled );
- }
- if ( iRenderingMethod == EUnspecified || !iActiveProvider )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.startVF error")
- User::Leave( KErrNotReady );
- }
- CVSDataProvider* provider = iActiveProvider->iProvider;
- if ( !provider )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.startVF error no provider")
- User::Leave( KErrNotReady );
- }
- else if ( provider->ViewFinderActive() )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.startVF already started")
- iViewFinderState = ( iRenderingMethod == EWindowServer ) ?
- EVFReceivingBitmaps : EVFRenderingDsa;
- __VTPRINTEXIT( "LocVid.StartViewFinderL" )
- return;
- }
- else if ( !IsFlag( EFlagInitialized ) )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.startVF not initialized")
- __VTPRINTEXIT( "LocVid.StartViewFinderL" )
- return;
- }
- else if ( iState != ELocReady )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_RETURN,
- "LocVideo.startVF incorrect iState=%d", iState )
- }
- else
- {
- // Lint requires this one
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.startVF unsupported clause" )
- }
-
- CheckOthersStopped( *provider );
- if ( iRenderingMethod == EWindowServer )
- {
- TSize size( iOptions.iSize );
- provider->StartViewFinderBitmapsL( size );
- iViewFinderState = EVFReceivingBitmaps;
- __VTPRINT( DEBUG_MEDIA | DEBUG_RETURN, " started" )
- }
- else
- {
- provider->StartViewFinderDirectL(
- *(iDsaOptions.iWs),
- *(iDsaOptions.iWsSD),
- *(iDsaOptions.iWindow),
- iDsaOptions.iRect,
- iDsaOptions.iClipRect );
- iViewFinderState = EVFRenderingDsa;
- }
-
- if( iActiveProvider->iType == CVtEngLocalVideo::KVtEngProviderCam1 &&
- !provider->ViewFinderMirror() )
- {
- provider->SetViewFinderMirrorL( ETrue );
- }
-
- __VTPRINTEXIT( "LocVid.StartViewFinderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::StopViewFinder
-// Stops view finder.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::StopViewFinder( TBool aClientRequest )
- {
- __VTPRINTENTER( "LocVid.StopViewFinder" )
- if ( aClientRequest )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.stopVF clearing EFlagVFEnabled" )
- ClearFlag( EFlagVFEnabled );
- }
- if ( iActiveProvider &&
- iViewFinderState != EVFNone &&
- iActiveProvider->iProvider &&
- iActiveProvider->iProvider->ViewFinderActive() )
- {
- TRAP_IGNORE( iOptions.iObserver->vtHandleFrameL(
- MVtEngFrameObserver::ELocalVideoFrame, NULL ) );
- iActiveProvider->iProvider->StopViewFinder();
- __VTPRINT( DEBUG_MEDIA, "LocVideo.stopVF Stopped" )
- if ( IsFlag( EFlagAutomaticSwitchCallback ) ||
- IsFlag( EFlagUIBackground ) )
- {
- // UI needs to be notified if stop done due to automatic
- // source switch (from vsProvidersChanged).
- ClearFlag( EFlagAutomaticSwitchCallback );
- CVtEngEventManager::NotifyEvent( KVtEngViewFinderStopped );
- __VTPRINT( DEBUG_MEDIA, "LocVideo.stopVF Notified" )
- }
- }
- iViewFinderState = EVFNone;
- __VTPRINTEXIT( "LocVid.StopViewFinder" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::FreezeL
-// Freezes provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::FreezeL()
- {
- __VTPRINTENTER( "LocVid.FreezeL" )
- if( OkToFreeze() )
- {
- iActiveProvider->iProvider->FreezeL();
- SetFlag( EFlagFrozen );
- }
- __VTPRINTEXIT( "LocVid.FreezeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::UnfreezeL
-// Unfreezes provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::UnfreezeL()
- {
- __VTPRINTENTER( "LocVid.UnfreezeL" )
- if( OkToUnfreeze() )
- {
- if ( !iLayoutChangeHandler.UnfreezeL() )
- {
- iActiveProvider->iProvider->UnfreezeL();
- if ( iDelayedSelect.IsDelayedSelectPending() )
- {
- TVtEngProviderType type( iDelayedSelect.DelayedSelectTarget() );
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.UnfreezeL delayed switch to %d", type )
- SelectSourceL( type );
- }
- else
- {
- CompleteOperation( KErrNone );
- }
- }
- ClearFlag( EFlagFrozen );
- }
- __VTPRINTEXIT( "LocVid.UnfreezeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CheckOthersStopped
-// Stops view finder of other providers than the one given as parameter.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CheckOthersStopped( const CVSDataProvider& aProvider )
- {
- __VTPRINTENTER( "LocVid.CheckOthersStopped" )
- TInt count( iVideoProviders->Count() );
- while ( count-- )
- {
- TProviderItem& item = ( *iVideoProviders )[count];
- if ( item.iProvider &&
- item.iProvider != &aProvider &&
- item.iProvider->ViewFinderActive() )
- {
- item.iProvider->StopViewFinder();
- __VTPRINT( DEBUG_MEDIA | DEBUG_RETURN, "LocVideo.OtherStop" )
- }
- }
- __VTPRINTEXIT( "LocVid.CheckOthersStopped" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::Source
-// Returns video source.
-// -----------------------------------------------------------------------------
-//
-MVTVideoSource* CVtEngLocalVideo::Source() const
- {
- return iSource;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::AudioSource
-// Returns audio source.
-// -----------------------------------------------------------------------------
-//
-MVTAudioSource* CVtEngLocalVideo::AudioSource() const
- {
- return iAudioSource;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetMediaState
-// Returns media state.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetMediaState( TInt& aActiveMedia )
- {
- aActiveMedia = 0;
- if ( !IsFlag( EFlagAudioMuted ) )
- {
- aActiveMedia |= MVtEngMedia::EMediaAudio;
- // Check if the thing is muted
- }
-
- if ( iActiveProvider )
- {
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.GetMediaState provider type=%d",
- iActiveProvider->iType )
- switch ( iActiveProvider->iType )
- {
- case KVtEngProviderCam1:
- case KVtEngProviderCam2:
- case KVtEngProviderImage:
- case KVtEngProviderShareImage:
- aActiveMedia |= MVtEngMedia::EMediaVideo;
- break;
- default:
- break;
- }
- }
- __VTPRINT2( DEBUG_MEDIA | DEBUG_RETURN,
- "LocVideo.GetMediaState media state=%d", aActiveMedia )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetMediaSource
-// Returns media source.
-// -----------------------------------------------------------------------------
-//
-MVtEngMedia::TMediaSource CVtEngLocalVideo::GetMediaSource()
- {
- MVtEngMedia::TMediaSource source( MVtEngMedia::EMediaNone );
- if ( iActiveProvider )
- {
- switch ( iActiveProvider->iType )
- {
- case KVtEngProviderCam1:
- case KVtEngProviderCam2:
- source = MVtEngMedia::EMediaCamera;
- break;
- case KVtEngProviderShareImage:
- source = MVtEngMedia::EMediaShare;
- break;
- case KVtEngProviderImage:
- case KVtEngProviderDefaultStillImage:
- source = MVtEngMedia::EMediaStillImage;
- break;
- default:
- source = MVtEngMedia::EMediaNone;
- break;
- }
- }
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.GetMediaSource src=%d", (TInt) source )
- return source;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetSourceCaps
-// Returns capability of providers .
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetSourceCaps( TInt& aCaps )
- {
- aCaps = 0;
- TInt count( iVideoProviders->Count() );
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.GetSourceCaps count=%d", count )
- while ( count-- )
- {
- switch ( iVideoProviders->At(count).iType )
- {
- case KVtEngProviderCam1:
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.GetSourceCaps cam1" )
- if ( IsFlag( EFlagCamera1Available ) )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.GetSourceCaps cam1 flagged" )
- aCaps |= MVtEngMedia::ESourceCapsPrimaryCamera;
- }
- break;
- case KVtEngProviderCam2:
- __VTPRINT( DEBUG_MEDIA, "LocVideo.GetSourceCaps cam2" )
- if ( IsFlag( EFlagCamera2Available ) )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.GetSourceCaps cam2 flagged" )
- aCaps |= MVtEngMedia::ESourceCapsSecondaryCamera;
- }
- break;
- case KVtEngProviderImage:
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.GetSourceCaps image" )
- // Make sure that image is valid
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const CVtEngSettings::TVtEngVideoCallConfig& config =
- settings.Config();
- if( config.iVideo.iImageIsValid )
- {
- aCaps |= MVtEngMedia::ESourceCapsStillImage;
- }
- }
- break;
- default:
- break;
- }
- }
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.GetSourceCaps caps=%d", aCaps )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::InitializeOnly
-// Sets boolean to indicate if the provider is to be initialized only.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::InitializeOnly( TBool aInitOnly )
- {
- InitializeOnlyEx( GetMediaSource() != MVtEngMedia::EMediaCamera &&
- aInitOnly );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::InitializeOnlyEx
-// Sets boolean to indicate if the provider is to be initialized only. Does
-// not check current media source.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::InitializeOnlyEx( TBool aInitOnly )
- {
- SetFlag( EFlagSignalSourceSelection );
- ClearFlag( EFlagInitializeOnly );
- if ( aInitOnly )
- {
- SetFlag( EFlagInitializeOnly );
- }
-#ifdef VTDEBUG
- if ( IsFlag( EFlagInitializeOnly ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, " initOnly SET" )
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, " initOnly CLEARED" )
- }
-#endif
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetProviderByType
-// Return provider of particular type.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetProviderByType(
- TVtEngProviderType aType,
- TProviderItem& aItem )
- {
- TInt ret( KErrNotFound );
- TInt count( iVideoProviders->Count() );
- while ( count-- )
- {
- if ( ( *iVideoProviders )[count].iType == aType )
- {
- aItem = ( *iVideoProviders )[count];
- ret = count;
- count = 0;
- }
- }
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.GetProviderByType idx=%d", ret )
- return ret;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetProviderByType
-// Return provider of particular type.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetProviderByType(
- TVtEngProviderType aType,
- TProviderItem*& aItem )
- {
- TInt ret( KErrNotFound );
- TInt count( iVideoProviders->Count() );
- while ( count-- )
- {
- if ( ( *iVideoProviders )[count].iType == aType )
- {
- aItem = &( *iVideoProviders )[count];
- ret = count;
- count = 0;
- }
- }
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.GetProviderByType* idx=%d", ret )
- return ret;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetProviderByInstance
-// Return provider with particular provider instance.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetProviderByInstance(
- const CVSDataProvider* aInstance,
- TProviderItem*& aItem ) const
- {
- TInt indexI( ProviderIndexByInstance( aInstance ) );
- if ( indexI != KErrNotFound )
- {
- aItem = &( *iVideoProviders )[ indexI ];
- }
- else
- {
- aItem = NULL;
- }
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.GetProviderByType* idx=%d", indexI )
- return indexI;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ProviderIndex
-// Returns provider index by type.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::ProviderIndex( TVtEngProviderType aType ) const
- {
- for( TInt count = iVideoProviders->Count() - 1; count >= 0; count-- )
- {
- if ( ( *iVideoProviders )[ count ].iType == aType )
- {
- return count;
- }
- }
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ProviderIndexByState
-// Gets a provider index by state.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::ProviderIndexByState( TProviderState aState ) const
- {
- for( TInt count = iVideoProviders->Count() - 1; count >= 0; count-- )
- {
- if ( ( *iVideoProviders )[ count ].iProviderState == aState )
- {
- return count;
- }
- }
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ProviderIndexByInstance
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::ProviderIndexByInstance(
- const CVSDataProvider* aInstance) const
- {
- for( TInt count = iVideoProviders->Count() - 1; count >= 0; count-- )
- {
- if ( ( *iVideoProviders )[ count ].iProvider == aInstance )
- {
- return count;
- }
- }
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CreateDataProviderL
-// Creates VideoSource provider by type.
-// -----------------------------------------------------------------------------
-//
-CVSDataProvider* CVtEngLocalVideo::CreateDataProviderL(
- TVtEngProviderType aType )
- {
- __VTPRINTENTER( "LocVid.CreateDataProviderL" )
- __VTPRINT2( DEBUG_MEDIA, " provider type=%d", aType )
- TInt index = KErrNotFound;
- switch ( aType )
- {
- case KVtEngProviderNone:
- case KVtEngProviderImage:
- case KVtEngProviderShareImage:
- case KVtEngProviderDefaultStillImage:
- __VTPRINT( DEBUG_MEDIA, "LocVideo.CreateDataProviderL Still" )
- index = iProviderInfoIndexStill;
- break;
- case KVtEngProviderCam1:
- __VTPRINT( DEBUG_MEDIA, "LocVideo.CreateDataProviderL Cam1" )
- index = iProviderInfoIndexCam1;
- break;
- case KVtEngProviderCam2:
- __VTPRINT( DEBUG_MEDIA, "LocVideo.CreateDataProviderL Cam2" )
- index = iProviderInfoIndexCam2;
- break;
- default:
- __VTPRINT( DEBUG_MEDIA, "LocVideo.CreateDataProviderL Mobile" )
- break;
- }
-
- CVSDataProvider* provider = NULL;
- if ( index != KErrNotFound )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.CreateDataProviderL provider is" )
- provider =
- iSourceController->CreateDataProviderL(
- index, this, iSource );
- }
-
- __VTPRINT2( DEBUG_MEDIA, " provider created=%d",
- ( TInt ) ( provider != NULL ) )
- __VTPRINTEXIT( "LocVid.CreateDataProviderL" )
- return provider;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CreateBlankProvider
-// Creates blank provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CreateBlankProviderL( const TInt aIndex )
- {
- __VTPRINTENTER( "LocVid.CreateBlankProviderL" )
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.CreateBlankProviderL idx=%d", aIndex )
- CVSDataProvider* provider = NULL;
- TRAP_IGNORE( provider = iSourceController->CreateDataProviderL(
- aIndex, this, iSource ) );
- CleanupStack::PushL( provider );
- TProviderItem item;
- item.iProvider = provider;
- item.iType = KVtEngProviderNone;
- item.iInitialized = EFalse;
- item.iProviderState = EPermanent;
- iVideoProviders->AppendL( item );
- CleanupStack::Pop();
- __VTPRINTEXIT( "LocVid.CreateBlankProviderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CreateDefaultStillImageProviderL
-// Creates default still image provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CreateDefaultStillImageProviderL( const TInt aIndex )
- {
- __VTPRINTENTER( "LocVid.CreateDefaultStillImageProviderL" )
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.CreateDefaultStillImageProviderL idx=%d", aIndex )
- CVSDataProvider* provider = NULL;
- TRAP_IGNORE( provider = iSourceController->CreateDataProviderL(
- aIndex, this, iSource ) );
- CleanupStack::PushL( provider );
- TProviderItem item;
- item.iProvider = provider;
- item.iType = KVtEngProviderDefaultStillImage;
- item.iInitialized = EFalse;
- item.iProviderState = EPermanent;
- iVideoProviders->AppendL( item );
- CleanupStack::Pop();
- __VTPRINTEXIT( "LocVid.CreateDefaultStillImageProviderL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::UpdateAvailableProvidersL
-// Updates current providers and their information.
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TVtEngProviderType
- CVtEngLocalVideo::UpdateAvailableProvidersL()
- {
- __VTPRINTENTER( "LocVid.UpdateAvailableProvidersL" )
- TVtEngProviderType type( KVtEngProviderNone );
- TInt count( iSourceController->ProvidersAvailable() );
- iNumSupportedCameras = count - 1;
- TVSDataProviderInfo providerInfo;
- TBool primaryAvailable( EFalse );
- TBool secondaryAvailable( EFalse );
- TBool mobileAvailable( EFalse );
- TInt indexMobile( KErrNotFound );
- ClearFlag( EFlagCamera1Available );
- ClearFlag( EFlagCamera2Available );
- ResetIndices();
- while ( count-- )
- {
- iSourceController->ProviderInfoL( count, providerInfo );
- if ( providerInfo.iOrientation == TCameraInfo::EOrientationInwards ||
- // treat outwards camera as primary when only 1 cam in the system
- ( providerInfo.iOrientation == TCameraInfo::EOrientationOutwards &&
- iNumSupportedCameras == 1 ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP inw" )
- type = KVtEngProviderCam1;
- primaryAvailable = ETrue;
- SetFlag( EFlagCamera1Available );
- iProviderInfoIndexCam1 = count;
- }
- else if (
- providerInfo.iOrientation == TCameraInfo::EOrientationOutwards )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP outw" )
- secondaryAvailable = ETrue;
- SetFlag( EFlagCamera2Available );
- iProviderInfoIndexCam2 = count;
- }
- else if ( providerInfo.iOrientation == TCameraInfo::EOrientationMobile )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP mobile" )
- mobileAvailable = ETrue;
- indexMobile = count;
- }
- else if ( providerInfo.iOrientation == TCameraInfo::EOrientationUnknown )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP still" )
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const CVtEngSettings::TVtEngVideoCallConfig& config =
- settings.Config();
- if ( config.iVideo.iImageIsValid )
- {
- iProviderInfoIndexStill = count;
- }
- }
- }
- if ( !primaryAvailable && mobileAvailable )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP 1 upd" )
- type = KVtEngProviderCam1;
- iProviderInfoIndexCam1 = indexMobile;
- primaryAvailable = ETrue;
- SetFlag( EFlagCamera1Available );
- }
- else if ( primaryAvailable && mobileAvailable )
- {
- // No 1, 2 and mobile.
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP 2 upd" )
- DeleteProvider( KVtEngProviderCam2 );
- secondaryAvailable = ETrue;
- iProviderInfoIndexCam2 = indexMobile;
- SetFlag( EFlagCamera2Available );
- }
- else if ( !primaryAvailable && secondaryAvailable )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP !1 & 2" )
- type = KVtEngProviderCam2;
- }
- else if ( type == KVtEngProviderNone )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP none" )
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const CVtEngSettings::TVtEngVideoCallConfig& config =
- settings.Config();
- if ( config.iVideo.iImageIsValid )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.UAP valid image" )
- type = KVtEngProviderImage;
- }
- }
-
- __VTPRINTEXITR( "LocVid.UpdateAvailableProvidersL %d", type )
- return type;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SwitchProvider
-// Switches to active provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SwitchProvider( TProviderItem* aSwitchToItem )
- {
- __VTPRINTENTER( "LocVid.SwitchProvider" )
-
- iState = ELocSwichingProvider;
- __VTPRINT( DEBUG_MEDIA, " STATE TO SWITCHING" )
- iFadingProvider = iActiveProvider;
- iActiveProvider = aSwitchToItem;
- TRAPD( err, iSource->SwitchDataProviderL( iActiveProvider->iProvider ) );
- if ( err != KErrNone )
- {
- iState = ELocReady; // go to AO
- __VTPRINT( DEBUG_MEDIA, " STATE TO READY" )
- }
- switch ( iState )
- {
- case ELocReady: // Switch done. Sync.
- {
- // Entered here if SwitchDataProviderL causes direct call to
- // vsProviderSwitchDone. Since provider switch should be async
- // from client point of view now start AO and signal in RunL.
- Cancel();
- TRequestStatus* status = &iStatus;
- SetActive();
- User::RequestComplete( status, err );
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.SwitchProvider AO start %d", err )
- }
- // fall through
- case ELocSwichingProvider: // Async.
- case ELocNone:
- SetFlag( EFlagSignalSourceSelection );
- break;
- default:
- break;
- }
- __VTPRINTEXIT( "LocVid.SwitchProvider" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SwitchProvider
-// Overloaded method that takes new active provider as a parameter.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SwitchProvider( TProviderItem& aProviderItem )
- {
- __VTPRINTENTER( "LocVid.SwitchProvider by aProviderItem" )
- StopViewFinder( EFalse );
- SwitchProvider( &aProviderItem );
- __VTPRINTEXIT( "LocVid.SwitchProvider by aProviderItem" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::IsInitialized
-// Checks if a provider with given id is initialized.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::IsInitialized(
- MVtEngMedia::TCameraId aId,
- TBool& aInitialized )
- {
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.IsInitialized ID:%d", aId )
- TInt count( iVideoProviders->Count() );
- TVtEngProviderType type = CameraIdToType( aId );
- aInitialized = EFalse;
- TInt err( KErrNotFound );
- while ( count-- )
- {
- TProviderItem& item = ( *iVideoProviders )[count];
- if ( item.iType == type )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.IsInitialized found" )
- aInitialized = item.iInitialized;
- if ( ( !aInitialized && item.iProviderState < KErrNone ) ||
- item.iErrorCode < KErrNone )
- {
- __VTPRINT( DEBUG_MEDIA, "LocVideo.IsInitialized problems" )
- err = item.iErrorCode;
- }
- else
- {
- err = KErrNone;
- }
- count = 0; // break
- }
- }
- __VTPRINT3( DEBUG_MEDIA | DEBUG_RETURN,
- "LocVideo.IsInitialized isInitialized=%d,err=%d", aInitialized, err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::UpdateState
-// Updates view finder state.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::UpdateState()
- {
- __VTPRINTENTER( "LocVid.UpdateState" )
-
- if ( iActiveProvider )
- {
- CVSDataProvider* provider = iActiveProvider->iProvider;
- __VTPRINT2 ( DEBUG_MEDIA, "LocVideo.UpdateState, provider active",
- provider->ViewFinderActive() )
- if ( provider && provider->ViewFinderActive())
- {
- iViewFinderState = ( iRenderingMethod == EWindowServer ) ?
- EVFReceivingBitmaps : EVFRenderingDsa;
- }
- }
- ClearFlag( EFlagInitializeOnly );
- __VTPRINT2( DEBUG_MEDIA | DEBUG_RETURN,
- "LocVideo.UpdateState iViewFinderState %d", iViewFinderState )
- __VTPRINTEXIT( "LocVid.UpdateState" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::InitializingOrSwitching
-// Is either initializing or doing a provider switch.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::InitializingOrSwitching() const
- {
- return ( iState == ELocInitializing ||
- iState == ELocSwichingProvider );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::UninitializeProviderL
-// Uninitializes initialized non-permanent provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::UninitializeProviderL()
- {
- __VTPRINTENTER( "LocVid.UninitializeProviderL" )
- TInt count( iVideoProviders->Count() );
- while ( count-- )
- {
- TProviderItem& item = ( *iVideoProviders )[count];
- if ( item.iProviderState == EUndefined && item.iInitialized )
- {
- DeleteProvider( item );
- item.iProvider = CreateDataProviderL( item.iType );
- }
- }
- __VTPRINTEXIT( "LocVid.UninitializeProviderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetCameraInfo
-// Gets camera info.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetCameraInfo( MVtEngMedia::TCameraId aId,
- MVtEngMedia::TCameraInfo& aInfo )
- {
- TBool initialized( EFalse );
- TInt err( IsInitialized( aId, initialized ) );
- TVSDataProviderInfo info;
- if ( initialized && err == KErrNone )
- {
- TVtEngProviderType type = CameraIdToType( aId );
- TProviderItem item;
- GetProviderByType( type, item );
- item.iProvider->ProviderInfo( info );
- aInfo.iMaxDigitalZoom = info.iMaxDigitalZoom;
- aInfo.iMaxZoom = info.iMaxZoom;
- aInfo.iMinZoom = info.iMinZoom;
- aInfo.iMajorZoomStepCount =
- CalculateMajorDigitalZoomStepCount( item.iProvider );
- }
- return initialized ? err : KErrNotReady;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetDigitalZoomFactor
-// Gets current zoom step.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetDigitalZoomFactor( TInt& aCurrentStep )
- {
- if ( !iActiveProvider ||
- !iActiveProvider->iProvider )
- {
- return KErrNotReady;
- }
- aCurrentStep = iActiveProvider->iProvider->DigitalZoomFactor();
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.GetZ %d", aCurrentStep )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetMaxDigitalZoomStep
-// Gets max. digital zoom step.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetMaxDigitalZoomStep( TInt& aMaxZoomStep )
- {
- if ( !iActiveProvider ||
- !iActiveProvider->iProvider )
- {
- return KErrNotReady;
- }
- aMaxZoomStep = iProviderInfo.iMaxDigitalZoom;
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.MaxZStep %d", aMaxZoomStep )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetMajorDigitalZoomStepCount
-// Gets number of major zoom level leaps.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::
- GetMajorDigitalZoomStepCount( TInt& aCount, TBool /*aProviderSupplied*/ )
- {
- /*__VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.GetMajZStepCount %d", aProviderSupplied )*/
- if ( !iActiveProvider || !iActiveProvider->iProvider )
- {
- return KErrNotReady;
- }
- aCount = CalculateMajorDigitalZoomStepCount( iProviderInfo );
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.GetMajZStepCount %d", aCount )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetMajorDigitalZoomStep
-// Maps major step to zoom step. Note: aIndex is given in range
-// [0 .. CalculateMajorDigitalZoomStepCount() - 1]
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::GetMajorDigitalZoomStep( const TInt aIndex, TInt& aStep )
- {
- if ( !iActiveProvider || !iActiveProvider->iProvider )
- {
- // No active provider.
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "LocVideo.GetMajZStep NO active")
- return;
- }
- if ( iProviderInfo.iMaxDigitalZoom > KVtMaxZoomStep )
- {
- aStep = iProviderInfo.iMaxDigitalZoom *
- Min( KVtMaxZoomStep, Max( 0, aIndex ) ) / KVtMaxZoomStep;
- }
- else
- {
- aStep = Min( iProviderInfo.iMaxDigitalZoom, Max( 0, aIndex ) );
- }
- __VTPRINT3( DEBUG_MEDIA | DEBUG_DETAIL,
- "LocVideo.GetMajZStep idx=%d,step=%d", aIndex, aStep )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetFreezeSupported
-// Gets freeze supported value from provider.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::GetFreezeSupported( TBool& aFreezeSupported ) const
- {
- __VTPRINTENTER( "LocVideo.GetFreezeSupported" )
- if ( !iActiveProvider ||
- !iActiveProvider->iProvider )
- {
- __VTPRINTEXIT( "LocVideo.GetFreezeSupported KErrNotReady")
- return KErrNotReady;
- }
- aFreezeSupported = iProviderInfo.iFreezeSupported;
- __VTPRINTEXITR( "LocVideo.GetFreezeSupported %d", aFreezeSupported )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::OkToFreeze
-// Returns ETrue if it is ok to freeze provider (i.e. freeze is supported AND
-// provider is not currently frozen)
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::OkToFreeze() const
- {
- __VTPRINTENTER( "LocVideo.OkToFreeze" )
- TBool isOk( EFalse );
- if ( iActiveProvider &&
- iActiveProvider->iProvider )
- {
- isOk = ( iProviderInfo.iFreezeSupported && !IsFlag( EFlagFrozen ) );
- }
- __VTPRINTEXITR( "LocVideo.OkToFreeze %d", isOk )
- return isOk;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::OkToUnfreeze
-// Returns ETrue if it is ok to unfreeze provider (i.e. freeze is supported AND
-// provider is currently frozen)
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::OkToUnfreeze() const
- {
- __VTPRINTENTER( "LocVideo.OkToUnfreeze" )
- TBool isOk( EFalse );
- if ( iActiveProvider &&
- iActiveProvider->iProvider )
- {
- isOk = ( iProviderInfo.iFreezeSupported && IsFlag( EFlagFrozen ) );
- }
- __VTPRINTEXITR( "LocVideo.OkToUnfreeze %d", isOk )
- return isOk;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::Mute
-// Sets the audio state as muted.
-// -----------------------------------------------------------------------------
-void CVtEngLocalVideo::Mute()
- {
- SetFlag( EFlagAudioMuted );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::UnMute
-// Sets the audio state on again.
-// -----------------------------------------------------------------------------
-void CVtEngLocalVideo::UnMute()
- {
- ClearFlag( EFlagAudioMuted );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetUIForeground
-// Sets UI foreground state.
-// -----------------------------------------------------------------------------
-void CVtEngLocalVideo::SetUIForeground( TBool aForeground )
- {
- __VTPRINTENTER( "LocVideo.SetUIForeground" )
- __VTPRINT2( DEBUG_GEN, " foreground=%d", aForeground )
-
- //Error indicator
- TInt err = KErrNone;
- if ( aForeground )
- {
- if ( iDelayedSelect.IsDelayedSelectPending() )
- {
- TVtEngProviderType type( iDelayedSelect.DelayedSelectTarget() );
- __VTPRINT2( DEBUG_MEDIA,
- "LocVideo.SetUIForeground delayed switch to %d", type )
- SelectSourceL( type );
- }
-
- SetFlag( EFlagUIForeground );
- ClearFlag( EFlagUIBackground );
- if ( IsFlag( EFlagVFEnabled ) )
- {
- //Ignore error
- TRAP (err, StartViewFinderL( EFalse ));
- }
- else
- {
- MVtEngMedia::TShareObjectState sharingState;
- GetObjectSharingState( sharingState );
- if ( sharingState == MVtEngMedia::ESharingImage )
- {
- //Ignore error
- TRAP (err, StartViewFinderL( ETrue ));
- }
- }
- }
- else
- {
- ClearFlag( EFlagUIForeground );
- SetFlag( EFlagUIBackground );
- StopViewFinder( EFalse );
- ClearFlag( EFlagUIBackground );
- }
- __VTPRINTEXIT( "LocVideo.SetUIForeground" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetObjectSharingState
-// Get current media object sharing state.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::GetObjectSharingState(
- MVtEngMedia::TShareObjectState& aObjectSharingState ) const
- {
- __VTPRINTENTER( "LocVid.GetObjectSharingState" )
- if( iActiveProvider && iActiveProvider->iProvider )
- {
- iShareImage->GetObjectSharingState( aObjectSharingState );
- }
- else
- {
- aObjectSharingState = MVtEngMedia::ENotAbleToShare;
- }
- __VTPRINTEXITR( "LocVid.GetObjectSharingState %d", aObjectSharingState )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::InitializeShareImageL
-// Start Image sharing initialization.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::InitializeShareImageL(
- const MVtEngMedia::TShareObjectImageParameters& aParameters,
- TBool& aFirstTime )
- {
- __VTPRINTENTER( "LocVid.InitializeShareImageL" )
-
- iShareImage->InitializeL( aParameters,
- iActiveProvider->iType, aFirstTime );
-
- __VTPRINTEXIT( "LocVid.InitializeShareImageL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::StartShareImageL
-// Stop sharing Image.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::StartShareImageL()
- {
- __VTPRINTENTER( "LocVid.StartShareImageL" )
- const TBool delayed( iDelayedSelect.IsDelayedSelectPending() );
- const TVtEngProviderType type( iDelayedSelect.DelayedSelectTarget() );
- iShareImage->ShareL();
- if ( delayed )
- {
- __VTPRINT2( DEBUG_MEDIA,
- "LocVid.StartShareImageL IsDelayedSelectPending type = %d",
- type )
- iShareImage->NotifyCameraChanged( type );
- }
- __VTPRINTEXIT( "LocVid.StartShareImageL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::StopShareImageL
-// Stop sharing Image.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::StopShareImageL()
- {
- __VTPRINTENTER( "LocVid.StopShareImageL" )
- iShareImage->StopL();
- __VTPRINTEXIT( "LocVid.StopShareImageL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ShareError
-// Report error to image sharer.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::ShareError( TInt aError )
- {
- __VTPRINTENTER( "LocVid.ShareError" )
- iShareImage->Error( aError );
- __VTPRINTEXIT( "LocVid.ShareError" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ShareStoredSource
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TVtEngProviderType CVtEngLocalVideo::ShareStoredSource() const
- {
- __VTPRINTENTER( "LocVid.ShareStoredSource" )
- const TVtEngProviderType stored( iShareImage->StoredSource() );
- __VTPRINTEXITR( "LocVid.ShareStoredSource = %d", stored )
- return stored;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SettingsChanged
-// Called when GS settings changed.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SettingsChanged()
- {
- __VTPRINTENTER( "LocVid.SettingsChanged" )
- iShareImage->SettingsChanged();
- __VTPRINTEXIT( "LocVid.SettingsChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetIsPrepareCameraCalled
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetIsPrepareCameraCalled( TBool aCalled )
- {
- __VTPRINTENTER( "LocVid.SetIsPrepareCameraCalled" )
- iPrepareCameraCalled = aCalled;
- __VTPRINTEXITR( "LocVid.SetIsPrepareCameraCalled %d", iPrepareCameraCalled )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::IsPrepareCameraCalled
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::IsPrepareCameraCalled() const
- {
- __VTPRINTENTER( "LocVid.IsPrepareCameraCalled" )
- __VTPRINTEXITR( "LocVid.IsPrepareCameraCalled %d", iPrepareCameraCalled )
- return iPrepareCameraCalled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::HandleLayoutChangeL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::HandleLayoutChangeL()
- {
- __VTPRINTENTER( "LocVid.HandleLayoutChangeL" )
- iLayoutChangeHandler.HandleLayoutChangeL();
- __VTPRINTEXIT( "LocVid.HandleLayoutChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::IsDelayedSelectPending
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::IsDelayedSelectPending() const
- {
- return iDelayedSelect.IsDelayedSelectPending();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::DeleteProvider
-// Deletes provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::DeleteProvider(
- TProviderItem& aItem )
- {
- __VTPRINTENTER( "LocVid.DeleteProvider" )
- aItem.iProviderState = EUndefined;
- if ( aItem.iProvider &&
- aItem.iInitialized &&
- aItem.iProvider->ViewFinderActive() )
- {
- aItem.iProvider->StopViewFinder();
- }
- delete aItem.iProvider;
- aItem.iInitialized = EFalse;
- aItem.iProvider = NULL;
- __VTPRINTEXIT( "LocVid.DeleteProvider" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::DeleteProvider
-// Deletes provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::DeleteProvider( const TVtEngProviderType aType )
- {
- TProviderItem dummy;
- const TInt pos( GetProviderByType( aType, dummy ) );
- if ( pos >= 0 ) // valid index
- {
- TProviderItem& item = ( *iVideoProviders )[pos];
- DeleteProvider( item );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::Reset
-// Resets local video handler.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::Reset()
- {
- __VTPRINTENTER( "LocVid.Reset" )
-
- __VTPRINT( DEBUG_MEDIA, "LocVideo.Reset" )
- DeleteProvider( KVtEngProviderCam1 );
- DeleteProvider( KVtEngProviderCam2 );
- DeleteAudioSource();
-
- ClearFlag( EFlagAudioMuted |
- EFlagSignalSourceSelection |
- EFlagInitialized |
- EFlagVFEnabled |
- EFlagFrozen );
-
- __VTPRINT( DEBUG_MEDIA, "LocVideo.Reset clearing EFlagVFEnabled and other" )
-
- StopViewFinder();
- __VTPRINTEXIT( "LocVid.Reset" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetDigitalZoomFactorL
-// Sets video provider's digital zoom step.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetDigitalZoomFactorL( TInt aDigitalZoomFactor )
- {
- __VTPRINTENTER( "LocVid.SetDigitalZoomFactorL" )
- __VTPRINT2( DEBUG_MEDIA, "LocVideo.SetZoom %d", aDigitalZoomFactor )
- if ( !iActiveProvider ||
- !iActiveProvider->iProvider )
- {
- User::Leave( KErrNotReady );
- }
- CVSDataProvider* provider( iActiveProvider->iProvider );
- provider->SetDigitalZoomFactorL( aDigitalZoomFactor );
- iActiveProvider->iStoredZoomFactor = provider->DigitalZoomFactor();
- __VTPRINTEXIT( "LocVid.SetDigitalZoomFactorL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetFlag
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetFlag( const TInt aFlag )
- {
- iFlags |= aFlag;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ClearFlag
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::ClearFlag( const TInt aFlag )
- {
- iFlags &= ~aFlag;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::IsFlag
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::IsFlag( const TInt aFlag ) const
- {
- return ( ( iFlags & aFlag ) != 0 );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CalculateMajorDigitalZoomStepCount
-// Utility function to calculate amount of major zoom steps.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::CalculateMajorDigitalZoomStepCount(
- CVSDataProvider* aProvider )
- {
- TVSDataProviderInfo info;
- aProvider->ProviderInfo( info );
- return CalculateMajorDigitalZoomStepCount( info );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CalculateMajorDigitalZoomStepCount
-// Utility function to calculate amount of major zoom steps.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::CalculateMajorDigitalZoomStepCount(
- const TVSDataProviderInfo& aInfo ) const
- {
- TInt zStepCount( aInfo.iMaxDigitalZoom ?
- aInfo.iMaxDigitalZoom + 1 : 0 );
- TInt maxZStepCount( KVtMaxZoomStep + 1 );
- return zStepCount > maxZStepCount ? maxZStepCount : zStepCount;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::TProviderItem
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TProviderItem::TProviderItem() :
- iProvider( NULL ),
- iType( KVtEngProviderUndefined ),
- iInitialized( EFalse ),
- iErrorCode( 0 ),
- iProviderState( EUndefined ),
- iStoredZoomFactor( 0 ),
- iZFErr( KErrNone ),
- iCamPrefs( NULL ),
- iFirstTime( ETrue )
- {
- __VTPRINTENTER( "LocVid.TProviderItem.ctor" )
- ResetStoredValues();
- __VTPRINTEXITR( "LocVid.TProviderItem.ctor $%x", TInt( this ) )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::~TProviderItem
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TProviderItem::~TProviderItem()
- {
- __VTPRINTENTER( "LocVid.TProviderItem.~" )
- DetachFromCameraPreferences();
- __VTPRINTEXITR( "LocVid.TProviderItem.~ $%x", TInt( this ) )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::ResetStoredValues
-// Resets stored values.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TProviderItem::ResetStoredValues()
- {
- __VTPRINTENTER( "LocVid.ResetStoredValues" )
- DetachFromCameraPreferences();
- __VTPRINTEXIT( "LocVid.ResetStoredValues" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::RestoreZoomFactor
-// Tries to restore zoom factor.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::TProviderItem::RestoreZoomFactor()
- {
- __VTPRINTENTER( "LocVid.RestoreZoomFactor" )
- TRAP( iZFErr,
- {
- if ( iProvider && !iZFErr )
- {
- iProvider->SetDigitalZoomFactorL( iStoredZoomFactor );
- iStoredZoomFactor = iProvider->DigitalZoomFactor();
- __VTPRINT2( DEBUG_GEN, "LocVideo.RestoreZoomFactor ZF now = %d",
- iStoredZoomFactor )
- }
- } );
- __VTPRINTEXITR( "LocVid.RestoreZoomFactor %d", iZFErr )
- return iZFErr;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::RestorePreferences
-// Tries to restore preferences.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::TProviderItem::RestorePreferences()
- {
- __VTPRINTENTER( "LocVid.RestorePreferences" )
- TRAPD( error,
- {
- if ( iCamPrefs && iProvider && !iFirstTime )
- {
- if ( !iCtErr )
- {
- iProvider->SetColorToneL(
- CCamera::CCameraImageProcessing::TEffect( iColorTone ) );
- }
- if ( !iWbErr )
- {
- iProvider->SetWhiteBalanceL(
- CCamera::TWhiteBalance( iWhiteBalance ) );
- }
- if ( !iBrErr )
- {
- iProvider->SetBrightnessL( iBrightness );
- }
- if ( !iCrErr )
- {
- iProvider->SetContrastL( iContrast );
- }
- }
- } );
- __VTPRINTEXITR( "LocVid.RestorePreferences %d", error )
- return error;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::Attach
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TProviderItem::Attach( MVtEngCameraPreferences&
- aCamPrefs )
- {
- __VTPRINTENTER( "LocVid.Attach" )
- iCamPrefs = &aCamPrefs;
- if ( iFirstTime )
- {
- iCtErr = iCamPrefs->GetColorTone( iColorTone );
- iWbErr = iCamPrefs->GetWhiteBalance( iWhiteBalance );
- iBrErr = iCamPrefs->GetBrightness( iBrightness );
- iCrErr = iCamPrefs->GetContrast( iContrast );
- iFirstTime = EFalse;
- }
- __VTPRINTEXITR( "LocVid.Attach $%x", TInt( iCamPrefs ) )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::ColorToneUpdated
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TProviderItem::ColorToneUpdated(
- MVtEngCameraPreferences::TColorTone aColorTone )
- {
- __VTPRINTENTER( "LocVid.ColorToneUpdated" )
- iCtErr = KErrNone;
- iColorTone = aColorTone;
- __VTPRINTEXITR( "LocVid.ColorToneUpdated %d", aColorTone )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::WhiteBalanceUpdated
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TProviderItem::WhiteBalanceUpdated(
- MVtEngCameraPreferences::TWhiteBalance aWhiteBalance )
- {
- __VTPRINTENTER( "LocVid.WhiteBalanceUpdated" )
- iWbErr = KErrNone;
- iWhiteBalance = aWhiteBalance;
- __VTPRINTEXITR( "LocVid.WhiteBalanceUpdated %d", aWhiteBalance )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::BrightnessUpdated
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TProviderItem::BrightnessUpdated( TInt aBrightness )
- {
- __VTPRINTENTER( "LocVid.BrightnessUpdated" )
- iBrErr = KErrNone;
- iBrightness = aBrightness;
- __VTPRINTEXITR( "LocVid.BrightnessUpdated %d", aBrightness )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::ContrastUpdated
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TProviderItem::ContrastUpdated( TInt aContrast )
- {
- __VTPRINTENTER( "LocVid.ContrastUpdated" )
- iCrErr = KErrNone;
- iContrast = aContrast;
- __VTPRINTEXITR( "LocVid.ContrastUpdated %d", aContrast )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::Detach
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TProviderItem::Detach( MVtEngCameraPreferences& )
- {
- __VTPRINTENTER( "LocVid.Detach" )
- iCamPrefs = NULL;
- __VTPRINTEXIT( "LocVid.Detach" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TProviderItem::DetachFromCameraPreferences
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TProviderItem::DetachFromCameraPreferences()
- {
- __VTPRINTENTER( "LocVid.DetachFromCameraPreferences" )
- if ( iCamPrefs )
- {
- static_cast< CVtEngCameraPreferences* >( iCamPrefs )->Detach( *this );
- iCamPrefs = NULL;
- }
- __VTPRINTEXIT( "LocVid.DetachFromCameraPreferences" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CreateAudioSource
-// Creates audio source.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::CreateAudioSource()
- {
- __VTPRINTENTER( "LocVid.CreateAudioSource" )
- TInt err = KErrNone;
- // Check if this really a target compilation
-#if !defined( __WINS__ )
- iAudioSource = VTProtocolFactory::CreateAudioSource();
- if ( !iAudioSource )
- {
- err = KErrNoMemory;
- }
-#endif // !(__WINS__)
- __VTPRINTEXITR( "LocVid.CreateAudioSource %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::DeleteAudioSource
-// Deletes audio source.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::DeleteAudioSource()
- {
- __VTPRINTENTER( "LocVid.DeleteAudioSource" )
- if( iAudioSource )
- {
- VTProtocolFactory::DeletAudioSource(iAudioSource);
- iAudioSource = NULL;
- }
- __VTPRINTEXIT( "LocVid.DeleteAudioSource" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::PauseVideoSending
-// Pause video sending.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::PauseVideoSending()
- {
- __VTPRINTENTER( "LocVid.PauseVideoSending" )
- if ( iSource )
- {
- iSource->PauseSending();
- }
- __VTPRINTEXIT( "LocVid.PauseVideoSending" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ResumeVideoSending
-// Resume video sending.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::ResumeVideoSending()
- {
- __VTPRINTENTER( "LocVid.ResumeVideoSending" )
- if ( iSource )
- {
- iSource->ResumeSending();
- }
- __VTPRINTEXIT( "LocVid.ResumeVideoSending" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ViewFinderStarted
-// Is view finder started.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::ViewFinderStarted() const
- {
- CVSDataProvider* provider = NULL;
- if( iActiveProvider )
- {
- provider = iActiveProvider->iProvider;
- }
- if ( !provider )
- {
- return EFalse;
- }
- return provider->ViewFinderActive();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ViewFinderStarted
-// Is view finder started.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::IsFrozen() const
- {
- TBool result = IsFlag( EFlagFrozen );
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::ResetIndices
-// Resets the provider info indices.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::ResetIndices()
- {
- iProviderInfoIndexCam1 = KErrNotFound;
- iProviderInfoIndexCam2 = KErrNotFound;
- iProviderInfoIndexStill = KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetCameraTracking
-// Sets a listener for camera P & S data.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::SetCameraTrackingL( TInt& aProviderIndex )
- {
- __VTPRINTENTER( "LocVideo.SetCameraTracking" )
- iCameraListener = CVtEngPubSubsListener::NewL( KPSUidVTMediaConfiguration,
- KPSPreferredCamera, this );
-
- __VTPRINTEXIT( "LocVideo.SetCameraTracking" )
- return iCameraListener->Get( aProviderIndex );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngInitializer::HandleNotifyPSL
-// Notification of changed port value.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::HandleNotifyPSL(
- const TUid /*aUid */, const TInt& /* aKey */,
- const TRequestStatus& aStatus )
- {
- __VTPRINTENTER( "LocVideo.handleNotifyPSL " )
- if ( aStatus.Int() == KErrNone )
- {
- // Get the new camera value.
- TInt cameraId( EPSPreferredCameraUnknown );
- iCameraListener->Get( cameraId );
- // No need to check error, since MapCameraInternally will return
- // current camera, and no actions will be taken.
- MVtEngMedia::TCameraId camId( MapCameraInternally( cameraId ) );
-
- TVtEngProviderType providerType( KVtEngProviderUndefined );
- TInt result( KErrNone );
- switch( camId )
- {
- case MVtEngMedia::EPrimaryCamera:
- if( IsFlag( EFlagCamera1Available ) )
- {
- providerType = KVtEngProviderCam1;
- }
- else
- {
- result = KErrNotFound;
- }
- break;
-
- case MVtEngMedia::ESecondaryCamera:
- if( IsFlag( EFlagCamera2Available ) )
- {
- providerType = KVtEngProviderCam2;
- }
- else
- {
- result = KErrNotFound;
- }
- break;
-
- default:
- result = KErrNotSupported;
- break;
- }
-
- User::LeaveIfError( result );
-
- // If we're sharing, then notify camera change to image sharer
- if ( GetMediaSource() == MVtEngMedia::EMediaShare ||
- iShareImage->IsInitializingShare() )
- {
- iShareImage->NotifyCameraChanged( providerType );
- }
- // If current provider is camera
- else if ( GetMediaSource() == MVtEngMedia::EMediaCamera )
- {
- // If current camera is different than new
- if ( iCurrentCamera != camId )
- {
- // If VT is in the foreground and Provider is unfrozen
- if ( IsFlag( EFlagUIForeground ) && !IsFrozen() && !iObserver.IsVideoChannelClosed() )
- {
- // select camera..
- SelectSourceL( providerType );
- }
- else
- {
- iObserver.SetSelectedCameraId( camId );
- // ..else notify delayed select
- iLayoutChangeHandler.CancelHandleLayoutChange();
- iDelayedSelect.NotifyDelayedSelect( providerType );
- }
- }
- else
- {
- // else ignore
- }
- }
- // Else store camera type and on next SelectSourceL() use this instead
- else
- {
- iObserver.SetSelectedCameraId( camId );
- // If prepare camera has not been called, then just
- // update preferred camera
- if ( GetMediaSource()!= MVtEngMedia::EMediaNone &&
- ( IsPrepareCameraCalled() || iObserver.IsVideoChannelClosed() ) )
- {
- iLayoutChangeHandler.CancelHandleLayoutChange();
- iDelayedSelect.NotifyDelayedSelect( providerType );
- }
- else
- {
- iCurrentCamera = camId;
- }
- }
- }
- __VTPRINTEXIT( "LocVideo.HandleNotifyPSL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::SetCurrentCameraId
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::SetCurrentCameraId( MVtEngMedia::TCameraId aCamId )
- {
- __VTPRINTENTER( "LocVideo.SetCurrentCameraId" )
- iCurrentCamera = aCamId;
- iObserver.SetSelectedCameraId( aCamId );
- __VTPRINTEXITR( "LocVideo.SetCurrentCameraId camId = %d", aCamId )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::MapCameraInternally
-// Maps camera id to internal data structures.
-// -----------------------------------------------------------------------------
-//
-MVtEngMedia::TCameraId CVtEngLocalVideo::MapCameraInternally( TInt aCameraId )
- {
- __VTPRINT2( DEBUG_GEN, "LocVideo.MapCameraInternally cameraId=%d",
- aCameraId )
- if ( aCameraId == EPSPreferredCameraInwards ||
- iNumSupportedCameras == 1 )
- {
- return MVtEngMedia::EPrimaryCamera;
- }
- else if ( aCameraId == EPSPreferredCameraOutwards )
- {
- return MVtEngMedia::ESecondaryCamera;
- }
- __VTPRINT2( DEBUG_GEN, "LocVideo.MapCameraInternally curCam=%d", iCurrentCamera )
- return iCurrentCamera;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CameraAvailable
-// Checks camera availabitility.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::
- CameraAvailable( CVtEngLocalVideo::TVtEngProviderType &aType )
- {
- __VTPRINT2( DEBUG_GEN, "LocVideo.CameraAvailable In.type=%d ", aType )
- if ( iCurrentCamera == MVtEngMedia::EPrimaryCamera )
- {
- if ( IsFlag( EFlagCamera1Available ) )
- {
- aType = KVtEngProviderCam1;
- }
- }
- else if ( iCurrentCamera == MVtEngMedia::ESecondaryCamera )
- {
- if ( IsFlag( EFlagCamera2Available ) )
- {
- aType = KVtEngProviderCam2;
- }
- }
- __VTPRINT2( DEBUG_GEN, "LocVideo.CameraAvailable Out.type=%d", aType )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::IsProviderWaiting
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::IsProviderWaiting( TVtEngProviderType aType ) const
- {
- __VTPRINTENTER( "LocVid.IsProviderWaiting" )
- TBool isWaiting( EFalse );
- TInt indexWaiting( ProviderIndexByState( EWaiting ) );
- if ( indexWaiting != KErrNotFound )
- {
- TProviderItem& item = ( *iVideoProviders )[ indexWaiting ];
- isWaiting = ( item.iType == aType );
- }
- __VTPRINTEXITR( "LocVid.IsProviderWaiting %d", isWaiting )
- return isWaiting;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::GetHighestSelectableProvider
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::GetHighestSelectableProvider(
- CVtEngLocalVideo::TVtEngProviderType& aPreferred ) const
- {
- __VTPRINTENTER( "LocVid.GetHighestSelectableProvider" )
- const TVtEngProviderType preferred = aPreferred;
- switch ( preferred )
- {
- case KVtEngProviderCam1:
- if ( IsFlag( EFlagCamera1Available ) )
- {
- // cam1 is selectable, jump out
- break;
- }
- // othwerwise fall through to next in priority order
- case KVtEngProviderCam2:
- if ( IsFlag( EFlagCamera2Available ) &&
- // Do not allow change to another camera without user permission,
- // i.e. test preferred was cam1 but it wasn't available.
- preferred != KVtEngProviderCam1 )
- {
- // cam2 is selectable
- aPreferred = KVtEngProviderCam2;
- break;
- }
- // othwerwise fall through to next in priority order
- case KVtEngProviderImage:
- if ( CVtEngUtility::Settings().Config().iVideo.iImageIsValid )
- {
- aPreferred = KVtEngProviderImage;
- break;
- }
- // othwerwise fall through to next in priority order
- case KVtEngProviderNone:
- default:
- // always available
- aPreferred = KVtEngProviderNone;
- break;
- }
- __VTPRINTEXITR( "LocVid.GetHighestSelectableProvider %d", aPreferred )
- return ( preferred == aPreferred );
- }
-
-// Implementation of CVtEngLocalVideo::CVtEngShareImage
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::NewL
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::CVtEngShareImage* CVtEngLocalVideo::CVtEngShareImage::NewL(
- CVtEngLocalVideo& aLocalVideo )
- {
- CVtEngShareImage* self = new ( ELeave ) CVtEngShareImage( aLocalVideo );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::~CVtEngShareImage
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::CVtEngShareImage::~CVtEngShareImage()
- {
- DeleteProviders();
- iBuffered.ResetAndDestroy();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::InitializeL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::InitializeL(
- const MVtEngMedia::TShareObjectImageParameters& aParameters,
- TVtEngProviderType aCurrent,
- TBool& aFirstTime )
- {
- __VTPRINTENTER( "LocVid.ShareImage.InitializeL" )
- if ( IsInitializing() )
- {
- // Already initializing.
- User::Leave( KErrNotReady );
- }
-
-
- CVtEngLocalVideo::TProviderItem* freeProviderItem = FetchProviderItem();
- if ( !freeProviderItem )
- {
- User::Leave( KErrInUse );
- }
-
- iParameters = aParameters;
- CreateProviderL( *freeProviderItem );
- InitializeProviderL( *freeProviderItem );
-
- // Only set stored type when sharing is started, if resharing (i.e. sharing
- // new image when already sharing other image), then don't change stored
- // type.
- if ( iStoredType == KVtEngProviderUndefined )
- {
- iSettingsChanged = EFalse;
- iOriginalStoredType = iStoredType = aCurrent;
- aFirstTime = ETrue;
- }
- else
- {
- aFirstTime = EFalse;
- }
- iInitializingProvider = freeProviderItem;
- SetState( EInitializing );
- __VTPRINTEXIT( "LocVid.ShareImage.InitializeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::ShareL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::ShareL()
- {
- __VTPRINTENTER( "LocVid.ShareImage.ShareL" )
- if ( !IsInitializing() && iInitializingProvider )
- {
- User::Leave( KErrNotReady );
- }
- iActiveProvider = iInitializingProvider;
- iInitializingProvider = NULL;
- iLocalVideo->SwitchProvider( *iActiveProvider );
- SetState( ESharing );
- __VTPRINTEXIT( "LocVid.ShareImage.ShareL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::StopL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::StopL()
- {
- __VTPRINTENTER( "LocVid.ShareImage.StopL" )
- iLocalVideo->InitializeOnly( EFalse );
-
- CVtEngLocalVideo::TVtEngProviderType target( StoredSource() );
- if ( iOriginalStoredType != target )
- {
- TProviderItem* item = NULL;
- if ( iLocalVideo->GetProviderByType( iOriginalStoredType, item )
- != KErrNotFound )
- {
- if ( item->iProviderState != EPermanent )
- {
- iLocalVideo->DeleteProvider( *item );
- }
- }
- }
-
- if ( iSettingsChanged )
- {
- if ( target == KVtEngProviderDefaultStillImage )
- {
- DeleteProvider( target );
- }
- DeleteProvider( KVtEngProviderImage );
- }
-
- __VTPRINT2( DEBUG_MEDIA, "LocVid.ShareImage.StopL select %d",
- target )
- iLocalVideo->SelectSourceL( target );
-
- if ( iStoredType == KVtEngProviderCam1 ||
- iStoredType == KVtEngProviderCam2 )
- {
- MVtEngMedia::TCameraId camId(
- iStoredType == KVtEngProviderCam1 ?
- MVtEngMedia::EPrimaryCamera :
- MVtEngMedia::ESecondaryCamera );
- iLocalVideo->SetCurrentCameraId( camId );
- __VTPRINT2( DEBUG_MEDIA, "LocVid.ShareImage.StopL set camId %d",
- camId )
- }
- SetState( EStopped );
- __VTPRINTEXIT( "LocVid.ShareImage.StopL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::Error
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::Error( TInt
-#ifdef _DEBUG
- aError
-#endif // _DEBUG
- )
- {
- TState stateAfter( EStopped );
- __VTPRINTENTER( "LocVid.ShareImage.Error" )
- if ( IsInitializing() )
- {
- iInitializingProvider = NULL;
- stateAfter = iPreviousState;
- }
- else if ( iState == ESharing )
- {
- if ( iLocalVideo->iObserver.GetPendingCommand() != KVtEngInitializeShareImage )
- {
- CVtEngEventManager::NotifyEvent( KVtEngShareImageDecodingError );
- }
- stateAfter = ESharing;
- //iActiveProvider = NULL;
- }
- SetState( stateAfter );
-#ifdef _DEBUG
- __VTPRINTEXITR( "LocVid.ShareImage.Error %d", aError )
-#endif // _DEBUG
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::StoredSource
-//
-// Returns stored source for this share session. Stored source may have changed
-// during share (e.g. when GS still image is being sent but during share
-// GS still image is disabled => still image cannot be used anymore and thus
-// None provider must be activated). All these conditions are checked by this
-// method.
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TVtEngProviderType
- CVtEngLocalVideo::CVtEngShareImage::StoredSource() const
- {
- __VTPRINTENTER( "LocVid.ShareImage.StoredSource" )
- CVtEngLocalVideo::TVtEngProviderType stored( iStoredType );
-
- if ( iOriginalStoredType == KVtEngProviderNone ||
- iOriginalStoredType == KVtEngProviderImage ||
- iOriginalStoredType == KVtEngProviderDefaultStillImage )
- {
- if ( CVtEngUtility::Settings().Config().iVideo.iImageIsValid )
- {
- stored = KVtEngProviderImage;
- }
- else if ( CVtEngUtility::Settings().IsDefaultStillImageDefined() )
- {
- stored = KVtEngProviderDefaultStillImage;
- }
- else
- {
- stored = KVtEngProviderNone;
- }
- }
- __VTPRINTEXITR( "LocVid.ShareImage.StoredSource = %d", stored )
- return stored;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::CVtEngShareImage
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::CVtEngShareImage::CVtEngShareImage(
- CVtEngLocalVideo& aLocalVideo )
- : iLocalVideo( &aLocalVideo ), iState( EStopped ),
- iStoredType( KVtEngProviderUndefined ),
- iOriginalStoredType( KVtEngProviderUndefined ),
- iBuffered( 2 ), iSettingsChanged( EFalse )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::ConstructL()
- {
- __VTPRINTENTER( "LocVid.ShareImage.ConstructL" )
- for ( TInt i = 0; i < KVtEngNumProvidersBuffered; i++ )
- {
- TProviderItem* item = new (ELeave) TProviderItem();
- CleanupStack::PushL( item );
- User::LeaveIfError( iBuffered.Append( item ) );
- CleanupStack::Pop(); // item
- }
- __VTPRINTEXIT( "LocVid.ShareImage.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::Parameters
-// -----------------------------------------------------------------------------
-//
-const MVtEngMedia::TShareObjectImageParameters&
- CVtEngLocalVideo::CVtEngShareImage::Parameters() const
- {
- __VTPRINTENTER( "LocVid.ShareImage.Parameters" )
- __VTPRINTEXIT( "LocVid.ShareImage.Parameters" )
- return iParameters;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::IsInitializing
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::CVtEngShareImage::IsInitializing() const
- {
- TBool isInitializing( iState == EInitializing );
- __VTPRINTENTER( "LocVid.ShareImage.IsInitializing" )
- __VTPRINTEXITR( "LocVid.ShareImage.IsInitializing %d", isInitializing )
- return isInitializing;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::SetState
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::SetState( const TState aNewState )
- {
- __VTPRINTENTER( "LocVid.ShareImage.SetState" )
- // Signal UI when entering or leaving initializing state
- if ( aNewState == EInitializing )
- {
- CVtEngEventManager::NotifyEvent( KVtEngShareImageInitializeBegin );
- }
- else if ( iState == EInitializing )
- {
- CVtEngEventManager::NotifyEvent( KVtEngShareImageInitializeEnd );
- }
- // Reset stored type when stopping
- if( aNewState == EStopped )
- {
- iOriginalStoredType = iStoredType = KVtEngProviderUndefined;
- iSettingsChanged = EFalse;
- }
- iPreviousState = iState;
- iState = aNewState;
- __VTPRINTEXITR( "LocVid.ShareImage.SetState iState = %d", iState )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::GetProviderItemL
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TProviderItem*
- CVtEngLocalVideo::CVtEngShareImage::FetchProviderItem() const
- {
- __VTPRINTENTER( "LocVid.ShareImage.FetchProviderItem" )
- for( TInt i = 0; i < iBuffered.Count(); i++ )
- {
- if( ( iBuffered[ i ] != iActiveProvider ) &&
- ( iBuffered[ i ] != iInitializingProvider ) )
- {
- __VTPRINTEXIT( "LocVid.ShareImage.FetchProviderItem" )
- return iBuffered[ i ];
- }
- }
- __VTPRINTEXIT( "LocVid.ShareImage.FetchProviderItem" )
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::CreateProviderL
-// -----------------------------------------------------------------------------
-void CVtEngLocalVideo::CVtEngShareImage::CreateProviderL(
- TProviderItem& aProviderItem )
- {
- __VTPRINTENTER( "LocVid.ShareImage.CreateProviderL" )
- iLocalVideo->ReCreateProviderL( aProviderItem, KVtEngProviderShareImage );
- __VTPRINTEXIT( "LocVid.ShareImage.CreateProviderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::InitializeProviderL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::InitializeProviderL(
- TProviderItem& aProviderItem )
- {
- __VTPRINTENTER( "LocVid.ShareImage.InitializeProviderL" )
- if( IsInitializing() )
- {
- User::Leave( KErrNotReady );
- }
- TPckgBuf< TVSStillImageDataProviderParams > pckg( Parameters() );
-#ifdef _DEBUG
- RDebug::Print( _L( "LocVid.ShareImage.InitializeProviderL: %S" ),
- &( pckg().iFileName ) );
-#endif // _DEBUG
- iLocalVideo->InitializeShareProviderL( aProviderItem, pckg );
- __VTPRINTEXIT( "LocVid.ShareImage.InitializeProviderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::DeleteProvider
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::DeleteProvider(
- TVtEngProviderType aProviderType )
- {
- __VTPRINTENTER( "LocVid.ShareImage.DeleteProvider" )
- TProviderItem* pItem;
- if ( iLocalVideo->GetProviderByType( aProviderType, pItem )
- != KErrNotFound )
- {
- iLocalVideo->DeleteProvider( *pItem );
- }
- __VTPRINTEXIT( "LocVid.ShareImage.DeleteProvider" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::GetObjectSharingState
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::GetObjectSharingState(
- MVtEngMedia::TShareObjectState& aObjectSharingState ) const
- {
- __VTPRINTENTER( "LocVid.ShareImage.GetObjectSharingState" )
- switch ( iState )
- {
- case EStopped:
- aObjectSharingState = MVtEngMedia::ENotSharing;
- break;
-
- case EInitializing:
- aObjectSharingState = MVtEngMedia::EInitializingShareImage;
- break;
-
- case ESharing:
- aObjectSharingState = MVtEngMedia::ESharingImage;
- break;
-
- default:
- aObjectSharingState = MVtEngMedia::ENotAbleToShare;
- break;
- }
- __VTPRINTEXIT( "LocVid.ShareImage.GetObjectSharingState" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::IsInitializingShare
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::CVtEngShareImage::IsInitializingShare() const
- {
- __VTPRINTENTER( "LocVid.ShareImage.IsInitializingShare" )
- const TBool result( iState == EInitializing );
- __VTPRINTEXITR( "LocVid.ShareImage.IsInitializingShare %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::SettingsChanged
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::SettingsChanged()
- {
- __VTPRINTENTER( "LocVid.ShareImage.SettingsChanged" )
- iSettingsChanged = ETrue;
- __VTPRINTEXIT( "LocVid.ShareImage.SettingsChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::ProviderSwitchDone
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::ProviderSwitchDone(
- CVSDataProvider* aOldProvider )
- {
- __VTPRINTENTER( "LocVid.ShareImage.ProviderSwitchDone" )
- //if ( iState == EStopped )
- {
- for ( TInt i = iBuffered.Count() - 1; i >= 0; i-- )
- {
- if ( iBuffered[ i ]->iProvider == aOldProvider )
- {
- iLocalVideo->DeleteProvider( *iBuffered[ i ] );
- break;
- }
- }
- }
- __VTPRINTEXIT( "LocVid.ShareImage.ProviderSwitchDone" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::NotifyCameraChanged
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::NotifyCameraChanged(
- const TVtEngProviderType& aProviderType )
- {
- __VTPRINTENTER( "LocVid.ShareImage.NotifyCameraChanged" )
- if ( ( iState == EInitializing ) || ( iState == ESharing ) )
- {
- iStoredType = aProviderType;
- }
- __VTPRINTEXIT( "LocVid.ShareImage.NotifyCameraChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::DeleteProviders
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::DeleteProviders()
- {
- __VTPRINTENTER( "LocVid.ShareImage.DeleteProviders" )
- for ( TInt i = 0; i < iBuffered.Count(); i++ )
- {
- iLocalVideo->DeleteProvider( *iBuffered[ i ] );
- }
- __VTPRINTEXIT( "LocVid.ShareImage.DeleteProviders" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CVtEngShareImage::CancelInitialize
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CVtEngShareImage::CancelInitialize()
- {
- __VTPRINTENTER( "CVtEngLocalVideo.CVtEngShareImage.CancelInitialize");
- if( iInitializingProvider )
- {
- if(iInitializingProvider->iProvider)
- {
- __VTPRINT( DEBUG_MEDIA,"iInitializingProvider->iProvider->CancelInitializing()");
- iInitializingProvider->iProvider->CancelInitializing();
- }
- }
- __VTPRINTEXIT( "CVtEngLocalVideo.CVtEngShareImage.CancelInitialize");
- }
-// Implementation of CVtEngLocalVideo::TVtEngDelayedSelect
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngDelayedSelect::TVtEngDelayedSelect
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TVtEngDelayedSelect::TVtEngDelayedSelect()
- : iDelayedProviderType( KVtEngProviderUndefined )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngDelayedSelect::NotifyDelayedSelect
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TVtEngDelayedSelect::NotifyDelayedSelect(
- const TVtEngProviderType& aProviderType )
- {
- __VTPRINTENTER( "LocVid.DelSel.NotifyDelayedSelect" )
- iDelayedProviderType = aProviderType;
- __VTPRINTEXIT( "LocVid.DelSel.NotifyDelayedSelect" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngDelayedSelect::IsDelayedSelectPending
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::TVtEngDelayedSelect::IsDelayedSelectPending() const
- {
- __VTPRINTENTER( "LocVid.DelSel.IsDelayedSelectPending" )
- const TBool result( iDelayedProviderType != KVtEngProviderUndefined );
- __VTPRINTEXITR( "LocVid.DelSel.IsDelayedSelectPending %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngDelayedSelect::DelayedSelectTarget
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TVtEngProviderType
-CVtEngLocalVideo::TVtEngDelayedSelect::DelayedSelectTarget()
- {
- __VTPRINTENTER( "LocVid.DelSel.DelayedSelectTarget" )
- TVtEngProviderType current( iDelayedProviderType );
- iDelayedProviderType = KVtEngProviderUndefined;
- __VTPRINTEXITR( "LocVid.DelSel.DelayedSelectTarget %d", current )
- return current;
- }
-
-// Implementation of CVtEngLocalVideo::TVtEngLayoutChangeHandler
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::TVtEngLayoutChangeHandler
-// -----------------------------------------------------------------------------
-//
-CVtEngLocalVideo::TVtEngLayoutChangeHandler::TVtEngLayoutChangeHandler(
- CVtEngLocalVideo& aLocalVideo )
- : iLocalVideo( &aLocalVideo ), iState( EIdle ),
- iStored( KVtEngProviderUndefined )
- {
- __VTPRINTEXIT( "LocVid.LayoutCH.Ctor" )
- __VTPRINTEXIT( "LocVid.LayoutCH.Ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::UnfreezeL
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::TVtEngLayoutChangeHandler::UnfreezeL()
- {
- TBool result( EFalse );
- __VTPRINTENTER( "LocVid.LayoutCH.UnfreezeL" )
- if ( iState == ELayoutChangePending )
- {
- result = ETrue;
- DoHandleLayoutChangeL();
- }
- __VTPRINTEXITR( "LocVid.LayoutCH.UnfreezeL %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::HandleLayoutChangeL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TVtEngLayoutChangeHandler::HandleLayoutChangeL()
- {
- __VTPRINTENTER( "LocVid.LayoutCH.HandleLayoutChangeL" )
- TInt error( KErrNone );
- if ( iState != EIdle )
- {
- if ( iState == ELayoutChangePending )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.HandleLayoutChangeL PENDING" )
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.HandleLayoutChangeL NOT ready" )
- error = KErrNotReady;
- }
- CompleteOperation( error );
- }
- else
- {
- // Only do reinitialize if camera is active source
- if ( iLocalVideo->GetMediaSource() == MVtEngMedia::EMediaCamera &&
- !iLocalVideo->IsDelayedSelectPending() )
- {
- if ( !iLocalVideo->IsFrozen() )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.HandleLayoutChangeL camera active, reinitialize" )
- DoHandleLayoutChangeL();
- }
- else
- {
- iState = ELayoutChangePending;
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.HandleLayoutChangeL flag set, frozen" )
- CompleteOperation( error );
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.HandleLayoutChangeL no op, camera is not active" )
- CompleteL( error );
- }
- }
- __VTPRINTEXITR( "LocVid.LayoutCH.HandleLayoutChangeL %d", error )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::CancelHandleLayoutChange
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TVtEngLayoutChangeHandler::CancelHandleLayoutChange()
- {
- __VTPRINTENTER( "LocVid.LayoutCH.CancelHandleLayoutChange" )
- if ( iState == ELayoutChangePending )
- {
- iState = EIdle;
- }
- __VTPRINTEXITR( "LocVid.LayoutCH.CancelHandleLayoutChange iState = %d",
- iState )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::DoHandleLayoutChangeL
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TVtEngLayoutChangeHandler::DoHandleLayoutChangeL()
- {
- __VTPRINTENTER( "LocVid.LayoutCH.DoHandleLayoutChangeL" )
- iStored = iLocalVideo->ActiveProvider();
- iState = ESwitchingBlank;
- TVtEngProviderType providerType( KVtEngProviderNone );
- // Use user defined image, if available
- if ( CVtEngUtility::Settings().IsDefaultStillImageDefined() )
- {
- providerType = KVtEngProviderDefaultStillImage;
- }
- iLocalVideo->SelectSourceL( providerType );
- __VTPRINTEXIT( "LocVid.LayoutCH.DoHandleLayoutChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::Complete
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngLocalVideo::TVtEngLayoutChangeHandler::Complete( const TInt aError )
- {
- __VTPRINTENTER( "LocVid.LayoutCH.Complete" )
- TRAPD( error, CompleteL( aError ) );
- __VTPRINTEXITR( "LocVid.LayoutCH.Complete %d", error )
- return error;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::CompleteL
-// Resets internal state and completes asynchronous operation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TVtEngLayoutChangeHandler::CompleteL( const TInt aError )
- {
- __VTPRINTENTER( "LocVid.LayoutCH.CompleteL" )
- iStored = KVtEngProviderUndefined;
- iState = EIdle;
- CompleteOperation( aError );
- __VTPRINTEXIT( "LocVid.LayoutCH.CompleteL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::CompleteOperation
-// Completes asynchronous operation.
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::TVtEngLayoutChangeHandler::CompleteOperation(
- const TInt aError )
- {
- __VTPRINTENTER( "LocVid.LayoutCH.CompleteOperation" )
- iLocalVideo->CompleteOperation( aError );
- __VTPRINTEXIT( "LocVid.LayoutCH.CompleteOperation" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::ProviderError
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::TVtEngLayoutChangeHandler::ProviderError( TInt aError )
- {
- TBool handled( EFalse );
- __VTPRINTENTER( "LocVid.LayoutCH.ProviderError" )
- if ( iState != EIdle && iState != ELayoutChangePending )
- {
- handled = ETrue;
- Complete( aError );
- }
- __VTPRINTEXITR( "LocVid.LayoutCH.ProviderError %d", handled )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::ProviderReady
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::TVtEngLayoutChangeHandler::ProviderReady()
- {
- TBool handled( EFalse );
- __VTPRINTENTER( "LocVid.LayoutCH.ProviderReady" )
- switch ( iState )
- {
- case ESwitchingCamera:
- case EIdle:
- break;
-
- case EInitializingCamera:
- handled = ETrue;
- iState = ESwitchingCamera;
- TRAPD( error, iLocalVideo->SelectSourceL( iStored ) );
- if ( error )
- {
- Complete( error );
- }
- break;
-
- case ESwitchingBlank:
- handled = ETrue;
- break;
- }
- __VTPRINTEXITR( "LocVid.LayoutCH.ProviderReady %d", handled )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::TVtEngLayoutChangeHandler::ProviderSwitchDone
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngLocalVideo::TVtEngLayoutChangeHandler::ProviderSwitchDone(
- CVSDataProvider* aOldProvider )
- {
- TBool handled( EFalse );
- __VTPRINTENTER( "LocVid.LayoutCH.ProviderSwitchDone" )
- switch ( iState )
- {
- case EIdle:
- // nothing to do
- break;
-
- case ESwitchingBlank:
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.ProviderSwitchDone ESwitchingBlank" )
- handled = ETrue;
- iState = EInitializingCamera;
- TProviderItem* providerItem;
- const TInt result(
- iLocalVideo->GetProviderByInstance( aOldProvider, providerItem ) );
- if ( result != KErrNotFound )
- {
- iLocalVideo->DeleteProvider( *providerItem );
- iLocalVideo->iCameraPref->SetProvider( NULL,
- *iLocalVideo->iActiveProvider );
-
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.ProviderSwitchDone initializing provider" )
-
- TRAPD( error, iLocalVideo->InitializeProviderL( *providerItem ) );
-
- if ( error )
- {
- __VTPRINT2( DEBUG_MEDIA,
- "LocVid.LayoutCH.ProviderSwitchDone ERROR %d in initialize",
- error )
- Complete( error );
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.ProviderSwitchDone provider NOT found" )
- Complete( result );
- }
- }
- break;
-
- case EInitializingCamera:
- handled = ETrue;
- break;
-
- case ESwitchingCamera:
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.ProviderSwitchDone ESwitchingCamera" )
- TRAP_IGNORE( iLocalVideo->StartViewFinderIfWasStartedL() );
- //Re-Set provider to camera preference. Otherwise, after layout change, the provider in camera preference will be invalid
- iLocalVideo->iCameraPref->SetProvider( iLocalVideo->iActiveProvider->iProvider,
- *iLocalVideo->iActiveProvider );
- handled = ETrue;
- __VTPRINT( DEBUG_MEDIA,
- "LocVid.LayoutCH.ProviderSwitchDone reinit done" )
- Complete( KErrNone );
- break;
- }
- __VTPRINTEXITR( "LocVid.LayoutCH.ProviderSwitchDone %d", handled )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CreateCameraPreferencesL
-// -----------------------------------------------------------------------------
-//
-CVtEngCameraPreferences* CVtEngLocalVideo::CreateCameraPreferencesL()
- {
- __VTPRINTENTER( "LocVid.CreateCameraPreferencesL" )
- iCameraPref = CVtEngCameraPreferences::NewL();
-
- // Check if provider exist and set it
- // as provider to camera preferences
- if ( iActiveProvider )
- {
- __VTPRINT( DEBUG_MEDIA,
- "LocVideo.CreateCameraPreferencesL SetProvider" )
- iCameraPref->SetProvider( iActiveProvider->iProvider,
- *iActiveProvider );
- }
-
- __VTPRINTEXIT( "LocVid.CreateCameraPreferencesL" )
- return iCameraPref;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngLocalVideo::CancelInitializeShareImage
-// -----------------------------------------------------------------------------
-//
-void CVtEngLocalVideo::CancelInitializeShareImage()
- {
- __VTPRINTENTER( "CVtEngLocalVideo.CancelInitializeShareImage");
- iShareImage->CancelInitialize();
- __VTPRINTEXIT( "CVtEngLocalVideo.CancelInitializeShareImage");
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Media/CVtEngMediaHandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4580 +0,0 @@
-/*
-* Copyright (c) 2004-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: Implementation of video session interface.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngMediaHandler.h"
-#include "CVtEngLocalVideo.h"
-#include "CVtEngRemoteVideo.h"
-#include "MVtEngFrameObserver.h"
-#include "CVtEngStateManager.h"
-#include "CVtEngOperation.h"
-#include "TVtEngRendering.h"
-#include "TVtEngRenderingDSA.h"
-#include "TVtEngRenderingDP.h"
-#include "TVtEngRenderingNGA.h"
-#include "VtEngUtils.h"
-#include "CVtEngInitializer.h"
-#include "CVtEngEventManager.h"
-#include "CVtEngSettings.h"
-#include "CVtEngHandlerContainer.h"
-#include "MVtEngDtmfHandler.h"
-#include "cvtengmdtrcommandsender.h"
-#include "VtEngPanic.h"
-#include <sysutil.h>
-#include <cvtlogger.h>
-#include <mvtprotocolhandler.h>
-#include <e32des8.h>
-#include <videotelephonyvariant.hrh>
-#include <es_sock.h> // BigEndian
-
-#include <mvtengcamerapreferences.h>
-#include "cvtengrecord2file.h"
-
-// MACROS
-#ifdef VTDEBUG
-// In debug mode sinks and sources are not necessarily added.
-#define ADD_VIDEO_SINK { \
- if ( DEBUG_CFG_NO_VIDEO_SINK == 0 ) { AddVideoSink(); } }
-#define ADD_VIDEO_SOURCE { \
- if ( DEBUG_CFG_NO_VIDEO_SOURCE == 0 ) { AddVideoSource(); } }
-#define ADD_AUDIO_SOURCE \
- { if ( DEBUG_CFG_NO_AUDIO_SOURCE == 0 ) { AddAudioSource(); } }
-#define ADD_AUDIO_SINK \
- { if ( DEBUG_CFG_NO_AUDIO_SINK == 0 ) { AddAudioSink(); } }
-#else
-// In release mode they are added.
-#define ADD_VIDEO_SINK AddVideoSink();
-#define ADD_VIDEO_SOURCE AddVideoSource();
-#define ADD_AUDIO_SOURCE AddAudioSource();
-#define ADD_AUDIO_SINK AddAudioSink();
-#endif // VTDEBUG
-
-// CONSTANTS
-const TInt KVtEngOperationArraySize = 2;
-// System version string buffer length.
-const TInt KVtEngSwVersionTextLength = KSysUtilVersionTextLength;
-// Country code for version information.
-const TUint8 KVtEngCountryCodeForProto = 60;
-// Extension code for version information (unknown).
-const TUint8 KVtEngExtensionForProto = 0;
-// Manufacturer code for version information (unknown).
-const TUint32 KVtEngManufacturerForProto = 0;
-// Timer to detect too long disconnect.
-const TInt KVtEngDisconnectionTimer = 20000000;
-// Space character constant.
-const TText KVtEngCharacterSpace( ' ' );
-// New line (\n) character constant.
-const TInt KVtEngCharacterEndLine( 10 );
-
-// Multiplex delay in milliseconds
-const TInt KVtEngMultiplexingDelay = 150;
-
-// TradeOff values
-const TInt KVtEngTradeOffDetailMax = 9;
-const TInt KVtEngTradeOffNormalMax = 19;
-const TInt KVtEngTradeOffMotionMax = 31;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::CVtEngMediaHandler
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler::CVtEngMediaHandler() :
- iProtoState( MVtProtocolCommand::EIdle ),
- iAudioCtrl(0),
- iProtoMaxVolume(0),
- iTempProviderInfo( CVtEngLocalVideo::KVtEngProviderNone ),
- iH324Config( 0 ),
- iH263Encoder( 0 )
- {
- if ( CVtEngUtility::Settings().IsDefaultStillImageDefined() )
- {
- iTempProviderInfo = CVtEngLocalVideo::KVtEngProviderDefaultStillImage;
- }
-
- // Check is AMR-WB supported or not in platform. Adjusted using local
- // variation.
- if ( CVtEngUtility::Settings().CheckBits( KVTLVFlagEnableAMR_WB ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "MH.c++ AMR-WB set ON" )
- iSdkInitInfo.iAMRWBOn = ETrue;
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "MH.c++ AMR-WB set OFF" )
- iSdkInitInfo.iAMRWBOn = EFalse;
- }
-
- if ( CVtEngUtility::Settings().CheckBits( KVTLVFlagDisableMpeg4 ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "MH.c++ Mpeg4 set OFF" )
- iSdkInitInfo.iDisableMpeg4 = ETrue;
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "MH.c++ Mpeg4 set ON" )
- iSdkInitInfo.iDisableMpeg4 = EFalse;
- }
-
- __VTPRINT( DEBUG_MEDIA | DEBUG_CONSTRUCT, "MH.c++" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::ConstructL()
- {
- __VTPRINTENTER( "MH.ConstructL" )
-
- iAsyncCallback = CIdle::NewL( CActive::EPriorityHigh );
- iPendingOps = new ( ELeave)
- CArrayFixFlat<TCmdOpPair>( KVtEngOperationArraySize );
- iPendingOps->SetReserveL( KVtEngOperationArraySize );
-
- __VTPRINT2( DEBUG_MEDIA, "DebugFlags used are %d", CVtLogger::Flags() )
-
- iLocalVideo = CVtEngLocalVideo::NewL( *this );
- __VTPRINTEXIT( "MH.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler* CVtEngMediaHandler::NewL()
- {
- CVtEngMediaHandler* self = new( ELeave )CVtEngMediaHandler();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::~CVtEngMediaHandler
-// Destructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler::~CVtEngMediaHandler()
- {
- __VTPRINTENTER( "MH.~" )
- if ( iPendingOps )
- {
- iPendingOps->Reset(); // Make sure this is empty
- delete iPendingOps;
- }
- delete iPendingOp;
- delete iTimer;
- delete iAsyncCallback;
- delete iLocalVideo;
- delete iRemoteVideo;
- __VTPRINTEXIT( "MH.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetMediaState
-// Returns media state.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetMediaState(
- const TMediaDirection aMediaDirection,
- TInt& aActiveMedia ) const
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.GetMediaState direction=%d", aMediaDirection )
- aActiveMedia = 0;
- switch ( aMediaDirection )
- {
- case EMediaOutgoing:
- {
- const TInt result( iLocalVideo->GetMediaState( aActiveMedia ) );
- if ( !IsFlag( EOutVideoChannelClosed ) )
- {
- aActiveMedia |= EMediaVideoChannelOpen;
- }
- if ( !IsFlag( EOutAudioChannelClosed ) )
- {
- aActiveMedia |= EMediaAudioChannelOpen;
- }
- return result;
- }
-
- case EMediaIncoming:
- aActiveMedia = iRemoteMediaState;
- if ( ( iRemoteVideo && !iRemoteVideo->GetDsaState() ) )
- {
- aActiveMedia &= (~EMediaVideo);
- }
- __VTPRINT2( DEBUG_MEDIA, "MH.remoteState=%d", aActiveMedia )
- return KErrNone;
-
- default:
- break;
- }
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::RenderingStarted
-// Returns the state of video.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::RenderingStarted(
- const TMediaDirection aDirection ) const
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.RS %d", aDirection )
- TBool started( EFalse );
- if( aDirection == EMediaOutgoing )
- {
- started = iLocalVideo->ViewFinderStarted();
- }
- else // EMediaIncoming
- {
- started = iRemoteVideo->GetDsaState();
- }
-
- __VTPRINT2( DEBUG_MEDIA, "MH.RS started %d", started )
- return started;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetSource
-// Returns active source.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetSource( TMediaSource& aSource ) const
- {
- TInt err( KErrNotReady );
- if ( iLocalVideo )
- {
- aSource = iLocalVideo->GetMediaSource();
- err = KErrNone;
- }
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetSourcesCaps
-// Returns source selection capabilities.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetSourcesCaps( TInt& aCaps ) const
- {
- TInt err( KErrNotReady );
- if ( iLocalVideo )
- {
- err = iLocalVideo->GetSourceCaps( aCaps );
- }
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetCurrentCameraId
-// Returns current camera.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetCurrentCameraId( TCameraId& aId ) const
- {
- __VTPRINT( DEBUG_GEN, "MH.GetCurrentCameraId")
- aId = iSelectedCameraId;
- TInt err( KErrNotReady );
-
- TBool initialized( EFalse );
- err = iLocalVideo->IsInitialized( aId, initialized );
- if ( !initialized && ( err != KErrInUse ) )
- {
- __VTPRINT2( DEBUG_GEN, "MH.GetCurrentCameraId err=%d", KErrNotReady )
- return KErrNotReady;
- }
- __VTPRINT2( DEBUG_GEN, "MH.GetCurrentCameraId initialized err=%d", err )
- return err;//Not initialized
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetCameraInfo
-// Returns camera information.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetCameraInfo(
- const TCameraId aId, TCameraInfo& aInfo ) const
- {
- return iLocalVideo->GetCameraInfo( aId, aInfo );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetCurrentZoomStep
-// Returns current zooming.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetCurrentZoomStep( TInt& aCurrentStep )
- {
- return iLocalVideo->GetDigitalZoomFactor( aCurrentStep );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetMaxZoomStep
-// Returns maximum zooming.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetMaxZoomStep( TInt& aMaxZoomStep )
- {
- return iLocalVideo->GetMaxDigitalZoomStep( aMaxZoomStep );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetMajorZoomStepCount
-// Gets number of major zoom level leaps.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetMajorZoomStepCount( TInt& aCount )
- {
- return iLocalVideo->GetMajorDigitalZoomStepCount( aCount );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetMajorZoomStep
-// Maps major zoom leap step to corresponding step index.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::GetMajorZoomStep( TInt aIndex, TInt& aStep )
- {
- if ( iLocalVideo )
- {
- iLocalVideo->GetMajorDigitalZoomStep( aIndex, aStep );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetFreezeSupported
-// Maps major zoom leap step to corresponding step index.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetFreezeSupported( TBool& aFreezeSupported) const
- {
- if ( iLocalVideo )
- {
- return iLocalVideo->GetFreezeSupported( aFreezeSupported );
- }
- return KErrNotReady;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetFreezeState
-// Returns KErrNotReady if provider is not ready yet. If KErrNone is returned
-// then aFrozen will be ETrue if the provider is frozen, EFalse otherwise.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetFreezeState( TBool& aFrozen ) const
- {
- if ( iLocalVideo )
- {
- aFrozen = iLocalVideo->IsFrozen();
- return KErrNone;
- }
- return KErrNotReady;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetDsaState
-// Returns media state.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::GetDsaState(
- const TMediaDirection aMediaDirection,
- TBool& aActive ) const
- {
- if ( !iRemoteVideo )
- {
- return KErrNotReady;
- }
- switch ( aMediaDirection )
- {
- case EMediaOutgoing:
- break;
- case EMediaIncoming:
- aActive = iRemoteVideo->GetDsaState();
- return KErrNone;
- default:
- break;
- }
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::VideoCallConnected
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::VideoCallConnected () const
- {
- TBool connected = EFalse;
- if ( MVtProtocolCommand::EConnected == iProtoState )
- {
- connected = ETrue;
- }
- return connected;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetVideoQuality
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::GetVideoQuality( TVideoQuality& aVideoQuality ) const
- {
- __VTPRINTENTER( "MH.GetVideoQuality" )
- aVideoQuality = iVideoQuality.VideoQuality();
- __VTPRINTEXIT( "MH.GetVideoQuality" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetObjectSharingState
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::GetObjectSharingState(
- TShareObjectState& aObjectSharingState ) const
- {
- __VTPRINTENTER( "MH.GetObjectSharingState" )
- if( iProtoState == MVtProtocolCommand::EConnected )
- {
- iLocalVideo->GetObjectSharingState( aObjectSharingState );
- }
- else
- {
- aObjectSharingState = ENotAbleToShare;
- }
- __VTPRINTEXIT( "MH.GetObjectSharingState" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetCameraOrientations
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::GetCameraOrientations(
- TCameraOrientation& aPrimaryCameraOrientation,
- TCameraOrientation& aSecondaryCameraOrientation ) const
- {
- __VTPRINTENTER( "MH.GetCameraOrientations" )
- CVtEngSettings& settings = CVtEngUtility::Settings();
- settings.GetCameraOrientations( aPrimaryCameraOrientation,
- aSecondaryCameraOrientation );
- __VTPRINTEXIT( "MH.GetCameraOrientations" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::RequestLastRemoteFrame
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::RequestLastRemoteFrame( )
- {
- __VTPRINTENTER( "MH.RequestLastRemoteFrame" )
- if( iRemoteVideo )
- iRemoteVideo->RequestLastFrame();
- __VTPRINTEXIT( "MH.RequestLastRemoteFrame" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ValidateCommand
-// Checks if command is valid in current proto state.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::ValidateCommand( const TVtEngCommandId aCommand ) const
- {
- __VTPRINTENTER( "MH.ValidateCommand" )
- __VTPRINT2( DEBUG_MEDIA, "MH.ValidateCommand cmd=%d", aCommand )
- TInt okToPerform( KErrNotReady );
- if ( iInitialized )
- {
- switch ( aCommand )
- {
- case KVtEngMuteOutgoingAudio:
- case KVtEngUnmuteOutgoingAudio:
- // mute/unmute not possible if audio channel closed.
- if ( IsFlag( EOutAudioChannelClosed ) ) {
- break;
- }
- case KVtEngSetAudioRouting:
- case KVtEngSetAudioVolume:
- if ( ( iProtoState == MVtProtocolCommand::EConnected ) && !iPendingOp )
- {
- okToPerform = KErrNone;
- }
- break;
- case KVtEngIncreaseAudioVolume:
- case KVtEngDecreaseAudioVolume:
-
- if ( iProtoState == MVtProtocolCommand::EConnected )
- {
- okToPerform = KErrNone;
- }
- break;
- case KVtEngRequestLastRemoteFrame:
- if ( iProtoState == MVtProtocolCommand::EConnected )
- {
- okToPerform = KErrNone;
- }
- break;
- case KVtEngPrepareViewFinder:
- case KVtEngPrepareViewFinderDSA:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareViewFinderDP:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRenderNGA:
- okToPerform = KErrNone; // can be done any time
- break;
-
- case KVtEngHandleLayoutChange:
- if ( iLocalVideo && iLocalVideo->ActiveProvider() !=
- CVtEngLocalVideo::KVtEngProviderNone && !iPendingOp )
- {
- okToPerform = KErrNone;
- }
- break;
-
- case KVtEngSetZoomStep:
- {
- const CVtEngLocalVideo::TVtEngProviderType
- activeProvider( iLocalVideo->ActiveProvider() );
- if ( iRequestStatus == NULL &&
- iVSInitState == EInitStateNone &&
- ( activeProvider == CVtEngLocalVideo::KVtEngProviderCam1 ||
- activeProvider == CVtEngLocalVideo::KVtEngProviderCam2 ) )
- {
- okToPerform = KErrNone;
- }
- }
- break;
- case KVtEngSetSource:
- if ( !IsFlag( EOutVideoChannelClosed ) )
- {
- okToPerform = KErrNone;
- }
- // when EOutVideoChannelClosed is active
- // don't allow source switch because it may require
- // pause or resume on Protocol which would fail when video
- // channel is closed.
- // Note1: this is especially for the case when channel is
- // closed after being already open.
- // Note2: it must be possible to set source already before Protocol
- // is connected (in MONA calls) so Proto state check is not done.
- break;
- case KVtEngPrepareCamera:
- case KVtEngStartViewFinder:
- case KVtEngFreeze:
- case KVtEngUnfreeze:
- if ( iRequestStatus == NULL &&
- // If initialising or change provider during reset then
- // not allowed
- iVSInitState == EInitStateNone &&
- // If terminate ongoing then not allowed
- iProtoState != MVtProtocolCommand::EIdle )
- {
- okToPerform = KErrNone;
- if( aCommand == KVtEngFreeze )
- {
- if( !iLocalVideo->OkToFreeze() )
- {
- okToPerform = KErrNotReady;
- }
- }
- else if( aCommand == KVtEngUnfreeze )
- {
- if( !iLocalVideo->OkToUnfreeze() )
- {
- okToPerform = KErrNotReady;
- }
- }
- }
- break;
- case KVtEngSetVideoQuality:
- if( IsPending( ESetVideoQuality ) != KErrNotFound )
- {
- okToPerform = KErrNotReady;
- }
- else
- {
- if ( iRequestStatus == NULL && iProtoState != MVtProtocolCommand::EIdle )
- {
- okToPerform = KErrNone;
- }
- }
- break;
-
- case KVtEngInitializeShareImage:
- {
- TShareObjectState objectSharingState;
- GetObjectSharingState( objectSharingState );
- if ( ( objectSharingState != ENotAbleToShare ) &&
- ( objectSharingState != EInitializingShareImage ) &&
- !IsFlag( EOutVideoChannelClosed ) )
- {
- okToPerform = KErrNone;
- }
- }
- break;
-
- case KVtEngStartShareImage:
- {
- TShareObjectState objectSharingState;
- GetObjectSharingState( objectSharingState );
- if( objectSharingState != ENotAbleToShare )
- {
- okToPerform = KErrNone;
- }
- }
- break;
-
- case KVtEngStopShareImage:
- {
- TShareObjectState objectSharingState;
- GetObjectSharingState( objectSharingState );
- if ( ( objectSharingState == ESharingImage ) &&
- !IsFlag( EOutVideoChannelClosed ) )
- {
- okToPerform = KErrNone;
- }
- }
- break;
-
- case KVtEngTerminateSession:
- if ( iProtoState == MVtProtocolCommand::EConnected ||
- iProtoState == MVtProtocolCommand::EConnecting )
- {
- okToPerform = KErrNone;
- }
- break;
-
- default:
- okToPerform= KErrNotSupported;
- break;
- }
- }
- __VTPRINT2( DEBUG_MEDIA, "MH.ValidateCommand okToPerform=%d", okToPerform )
- __VTPRINTEXIT( "MH.ValidateCommand" )
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::IsVideoChannelClosed
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::IsVideoChannelClosed() const
- {
- __VTPRINTENTER( "MH.IsVideoChannelClosed" )
- const TBool result( IsFlag( EOutVideoChannelClosed ) );
- __VTPRINTEXITR( "MH.IsVideoChannelClosed %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleL
-// Handles a request.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleL( CVtEngOperation& aOperation )
- {
- __VTPRINTENTER( "MH.HandleL" )
-
- const TVtEngCommandId id( aOperation.Command() );
- if ( !iInitialized )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.Handle not ready" )
- User::Leave( KErrNotReady );
- }
- __VTPRINT2( DEBUG_MEDIA, "MH.Handle cmdId=%d", id )
- switch ( id )
- {
- case KVtEngSetUIForeground:
- TBool foregroundValue;
- TVtEngOpParamUtil<TBool>::Set( foregroundValue, aOperation );
- if( iLocalVideo )
- {
- iLocalVideo->SetUIForeground( foregroundValue );
- }
- if( iRemoteVideo )
- {
- iRemoteVideo->SetUIForegroundL( foregroundValue );
- }
- break;
-
- case KVtEngSetAudioVolume:
- {
- __VTPRINT( DEBUG_MEDIA, "MH.Handle.Vol" )
- MVtEngAudio::TVtEngOutputVolume volSetting;
- TVtEngOpParamUtil<MVtEngAudio::TVtEngOutputVolume>::Set(
- volSetting, aOperation );
-
- // Store volume.
- CVtEngSettings& settings = CVtEngUtility::Settings();
- settings.SetVolume(
- volSetting.iHandsetVolume,
- volSetting.iHandsfreeVolume,
- ETrue );
- settings.SetVolume(
- volSetting.iHandsetVolume,
- volSetting.iHandsfreeVolume,
- EFalse );
-
- // Update volume.
- iPendingVolumeOp = &aOperation;
- AssignPendingOp( aOperation );
- UpdateVolume();
-
- if ( IsPending( ESetAudioVolume ) == KErrNotFound )
- {
- // No volume operation ongoing. Need to complete operation by itself.
- AsyncCompleteOp();
- }
- }
- break;
-
- case KVtEngIncreaseAudioVolume:
- {
- CVtEngAudioHandler& audioHandler(
- static_cast< CVtEngAudioHandler& >(
- CVtEngUtility::StateManager()->Handlers().Audio() ) );
- if ( audioHandler.IncreaseVolume() )
- {
- UpdateVolume();
- }
- }
- break;
-
- case KVtEngDecreaseAudioVolume:
- {
- CVtEngAudioHandler& audioHandler(
- static_cast< CVtEngAudioHandler& >(
- CVtEngUtility::StateManager()->Handlers().Audio() ) );
- if ( audioHandler.DecreaseVolume() )
- {
- UpdateVolume();
- }
- }
- break;
-
- case KVtEngMuteOutgoingAudio:
- {
- // No Local video if not on target
-#if !defined( __WINS__ )
- AddOperation( EMuteAudio,
- iSessionCommand->PauseAudioL( *iLocalVideo->AudioSource()) );
-#endif // !WINS
- AssignPendingOp( aOperation );
- }
- break;
- case KVtEngUnmuteOutgoingAudio:
- {
- // No Local video if not on target
-#if !defined( __WINS__ )
- AddOperation ( EUnmuteAudio,
- iSessionCommand->ResumeAudioL( *iLocalVideo->AudioSource() ) );
-#endif // !WINS
- AssignPendingOp( aOperation );
- }
- break;
- case KVtEngPrepareViewFinder:
- {
- const TPckgC<TVtEngRenderingOptions>& pckg =
- static_cast< const TPckgC<TVtEngRenderingOptions>& >
- ( *aOperation.Parameters() );
- const TVtEngRenderingOptions& options = pckg();
- iLocalVideo->SetViewFinderParameters( options );
- }
- break;
- case KVtEngPrepareRemoteRenderNGA:
- {
- const TPckgC<TVtEngRenderingOptionsNGA>& pckg =
- static_cast< const TPckgC<TVtEngRenderingOptionsNGA>& >
- ( *aOperation.Parameters() );
- const TVtEngRenderingOptionsNGA& options = pckg();
- iRemoteVideo->SetRenderingParametersL( options );
- }
- break;
- case KVtEngPrepareViewFinderDSA:
- case KVtEngPrepareRemoteRenderDSA:
- {
- const TPckgC<TVtEngRenderingOptionsDSA>& pckg =
- static_cast< const TPckgC<TVtEngRenderingOptionsDSA>& >
- ( *aOperation.Parameters() );
- const TVtEngRenderingOptionsDSA& options = pckg();
- if ( id == KVtEngPrepareViewFinderDSA )
- {
- iLocalVideo->SetViewFinderParameters( options );
- }
- else if ( iRemoteVideo )
- {
- iRemoteVideo->SetRenderingParametersL( options );
- }
- }
- break;
-
- case KVtEngPrepareViewFinderDP:
- case KVtEngPrepareRemoteRenderDP:
- {
- const TPckgC<TVtEngRenderingOptionsDP>& pckg =
- static_cast< const TPckgC<TVtEngRenderingOptionsDP>& >
- ( *aOperation.Parameters() );
- const TVtEngRenderingOptionsDP& options = pckg();
- if ( id == KVtEngPrepareViewFinderDP )
- {
- iLocalVideo->SetViewFinderParameters( options );
- }
- else if ( iRemoteVideo )
- {
- iRemoteVideo->SetRenderingParametersL( options );
- }
- }
- break;
-
- case KVtEngHandleLayoutChange:
- iLocalVideo->HandleLayoutChangeL();
- AssignPendingOp( aOperation );
- break;
-
- case KVtEngSetSource:
- {
- __VTPRINT( DEBUG_MEDIA, "MH.set source" )
- MVtEngMedia::TMediaSource source;
- TVtEngOpParamUtil<MVtEngMedia::TMediaSource>::Set( source,
- aOperation );
-
- iLocalVideo->InitializeOnly( EFalse );
- TOperation startedOp( ENone );
- switch ( source )
- {
- case EMediaCamera:
- __VTPRINT( DEBUG_MEDIA, "EMediaCamera" )
- iTempProviderInfo =
- ( iSelectedCameraId == ESecondaryCamera ) ?
- CVtEngLocalVideo::KVtEngProviderCam2 :
- CVtEngLocalVideo::KVtEngProviderCam1;
-
- SetFlag( EProtoContVideoBlankProv );
- startedOp = EnableVideoL( ETrue );
- if ( startedOp == ENone )
- {
- // Did nothing
- ClearFlag( EProtoContVideoBlankProv );
- }
- iLocalVideo->ResumeVideoSending();
- break;
- case EMediaCameraPri:
- __VTPRINT( DEBUG_MEDIA, "EMediaCameraPri" )
- iTempProviderInfo = CVtEngLocalVideo::KVtEngProviderCam1;
- iSelectedCameraId = EPrimaryCamera;
- ClearFlag( EProtoContVideoBlankProv );
- break;
- case EMediaCameraSec:
- __VTPRINT( DEBUG_MEDIA, "EMediaCameraSec" )
- iTempProviderInfo = CVtEngLocalVideo::KVtEngProviderCam2;
- iSelectedCameraId = ESecondaryCamera;
- ClearFlag( EProtoContVideoBlankProv );
- break;
- case EMediaStillImage:
- __VTPRINT( DEBUG_MEDIA, "EMediaStillImage" )
- iTempProviderInfo = CVtEngLocalVideo::KVtEngProviderImage;
- SetFlag( EProtoContVideoBlankProv );
- startedOp = EnableVideoL( ETrue );
- if ( startedOp == ENone )
- {
- // Did nothing
- ClearFlag( EProtoContVideoBlankProv );
- }
- break;
- case EMediaNone:
- __VTPRINT( DEBUG_MEDIA | DEBUG_RETURN, "EMediaNone" )
- if ( CVtEngUtility::Settings().
- IsDefaultStillImageDefined() )
- {
- iTempProviderInfo =
- CVtEngLocalVideo::KVtEngProviderDefaultStillImage;
-
- SetFlag( EProtoContVideoBlankProv );
- startedOp = EnableVideoL( ETrue );
- if ( startedOp == ENone )
- {
- // Did nothing
- ClearFlag( EProtoContVideoBlankProv );
- }
- }
- else
- {
- iTempProviderInfo =
- CVtEngLocalVideo::KVtEngProviderNone;
-
- ClearFlag( EProtoContVideoBlankProv );
- SetFlag( EProtoPauseVideoBlankProv );
- if ( !IsFlag(
- EProtoVideoSourceAdded ) && iProtoState != MVtProtocolCommand::EConnected )
- {
- // Set as not enabled video when no sources
- __VTPRINT( DEBUG_MEDIA, "MH.set blanked - not ready" )
- EnableVideoL( EFalse );
- }
- else
- {
- // we have "done" something
- startedOp = EDisableVideo;
- iLocalVideo->PauseVideoSending();
- }
- }
- break;
- default:
- __VTPRINT( DEBUG_MEDIA, "invalid source" )
- User::Leave( KErrArgument );
- }
- TBool selectOngoing( EFalse );
- ClearFlag( ESourceUpdateNeeded );
- TInt err( KErrNone );
-
- // Either pausing or switching between still and camera
- if ( !IsFlag( EProtoContVideoBlankProv ) )
- {
- TRAP( err, selectOngoing =
- iLocalVideo->SelectSourceL( iTempProviderInfo ) );
- __VTPRINT3( DEBUG_MEDIA, " ongoing=%d, op=%d",selectOngoing,
- startedOp )
- }
-
- if ( ( selectOngoing || IsFlag( EProtoContVideoBlankProv ) ||
- IsFlag( EProtoContVideoBlankInit ) ) &&
- startedOp != ENone && err == KErrNone )
- {
- // Enabling/disabling video started. Set flag that operation
- // should be completed only when both callback from Protocol and
- // local video (switch done) are complete.
- __VTPRINT( DEBUG_MEDIA, "MH.set source 2stage" )
- SetFlag( ETwoStageOperation );
- }
- else
- {
- User::LeaveIfError( err );
- }
- AssignPendingOp( aOperation );
- }
- break;
- case KVtEngPrepareCamera:
- {
- __VTPRINT( DEBUG_MEDIA, "MH.prepare cam" )
- MVtEngMedia::TPrepareCameraParams params;
- if ( aOperation.Parameters() )
- {
- TVtEngOpParamUtil< MVtEngMedia::TPrepareCameraParams >
- ::Set( params, aOperation );
- }
- else
- {
- params.iMediaSource = EMediaCamera;
- params.iInitialize = ETrue;
- }
- CVtEngLocalVideo::TVtEngProviderType
- type( CVtEngLocalVideo::KVtEngProviderCam1 );
- switch ( params.iMediaSource )
- {
- case EMediaCamera:
- type = ( iSelectedCameraId == ESecondaryCamera ) ?
- CVtEngLocalVideo::KVtEngProviderCam2 :
- CVtEngLocalVideo::KVtEngProviderCam1;
- break;
- case EMediaCameraPri:
- iSelectedCameraId = EPrimaryCamera;
- type = CVtEngLocalVideo::KVtEngProviderCam1;
- break;
- case EMediaCameraSec:
- iSelectedCameraId = ESecondaryCamera;
- type = CVtEngLocalVideo::KVtEngProviderCam2;
- break;
- default:
- User::Leave( KErrArgument );
- break;
- }
- iLocalVideo->SetIsPrepareCameraCalled( ETrue );
- AssignPendingOp( aOperation );
- if ( params.iInitialize )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.prepare cam iInitialize TRUE" )
- iLocalVideo->InitializeOnly();
- ClearFlag( ESourceUpdateNeeded );
- iLocalVideo->SelectSourceL( type );
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA,
- "MH.prepare cam iInitialize FALSE, complete with KErrNone" )
- AsyncCompleteOp( KErrNone );
- }
- }
- break;
-
- case KVtEngSetZoomStep:
- {
- TInt zoom( 0 );
- TVtEngOpParamUtil<TInt>::Set( zoom, aOperation );
- iLocalVideo->SetDigitalZoomFactorL( zoom );
- }
- break;
-
- case KVtEngFreeze:
- iLocalVideo->FreezeL();
- break;
-
- case KVtEngUnfreeze:
- iLocalVideo->UnfreezeL();
- AssignPendingOp( aOperation );
- break;
-
- case KVtEngStartViewFinder:
- iLocalVideo->StartViewFinderL( ETrue );
- break;
- case KVtEngStopViewFinder:
- iLocalVideo->StopViewFinder( ETrue );
- break;
- case KVtEngStartRenderRemote:
- iRemoteVideo->StartVideoL();
- break;
- case KVtEngStopRenderRemote:
- iRemoteVideo->StopVideoRendering();
- break;
- case KVtEngPauseRenderRemote:
- iRemoteVideo->PauseVideoL();
- break;
- case KVtEngRequestLastRemoteFrame:
- RequestLastRemoteFrame();
- break;
- case KVtEngTerminateSession:
- AssignPendingOp( aOperation );
- break;
-
- // Set video quality
- case KVtEngSetVideoQuality:
- {
- TVideoQuality videoQuality( EVideoQualityUndefined );
- TVtEngOpParamUtil< TVideoQuality >::Set( videoQuality, aOperation );
- SetPeerVideoQuality( videoQuality );
- }
- break;
-
- // Initialize share
- case KVtEngInitializeShareImage:
- {
- TShareObjectImageParameters parameters;
- TVtEngOpParamUtil< TShareObjectImageParameters >::Set(
- parameters, aOperation );
- TBool firstTime = EFalse;
- iLocalVideo->InitializeShareImageL( parameters, firstTime );
- AssignPendingOp( aOperation );
- if ( firstTime )
- {
- iVideoAction = IsFlag( EProtoVideoTrackPaused ) ?
- EVideoActionEnable : EVideoActionNone;
- }
- }
- break;
-
- // Start share
- case KVtEngStartShareImage:
- iLocalVideo->StartShareImageL();
- AssignPendingOp( aOperation );
- break;
-
- // Stop Image sharing
- case KVtEngStopShareImage:
- {
- // If video sending needs to be paused when sharing is stopped
- // then do it before doing the actual provider switch. It is
- // done before hand to prevent dummy frame sending to receiving
- // end (ie. black frame).
- const TBool needsPause( iLocalVideo->ShareStoredSource() ==
- CVtEngLocalVideo::KVtEngProviderNone );
- if ( needsPause )
- {
- // With this flag we prevent premature operation
- // complete after the pause command has been executed.
- iPauseNoCompleteOp = ETrue;
- EnableVideoL( EFalse );
- }
- // reset the action flag.
- iVideoAction = EVideoActionNone;
- iLocalVideo->StopShareImageL();
- AssignPendingOp( aOperation );
- }
- break;
-
- default:
- User::Leave( KErrNotSupported );
- break;
- }
- __VTPRINTEXIT( "MH.HandleL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleSessionCommandEventL
-// Handles command completion in protocol engine.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleSessionCommandEventL(
- const TVtCommandResponse& aResponse )
- {
- __VTPRINTENTER( "MH.HandleSessionCommandEventL" )
- const TVtCommandType type( aResponse.iCmdType );
- if ( type == EVtCommandGetSDKInfo )
- {
- // ignore completely
- __VTPRINTEXIT( "MH.HandleSessionCommandEventL" )
- return;
- }
- const TInt protoCmdId( aResponse.iCmdId );
- const TInt protoResponse( aResponse.iCmdStatus );
- TInt event( KVtEngEventNone );
- __VTPRINT2( DEBUG_MEDIA, "MH.protoComC type=%d", type )
- __VTPRINT3( DEBUG_MEDIA, "MH.protoComC cmdId=%d,response=%d", protoCmdId, protoResponse )
-
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- switch ( type )
- {
- case EVtCommandGetProtocolState:
- break;
- case EVtCommandInit://PVT_COMMAND_INIT -> ESetup
- {
- CVtEngUtility* utils = CVtEngUtility::EngineUtils();
- iSessionCommand = utils->Initializer().GetSessionCommand();
- iRemoteVideo = CVtEngRemoteVideo::NewL( *iSessionCommand, *states );
- iInitialized = ETrue;
- iProtoState = MVtProtocolCommand::ESetup;
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC: ESetup" )
- states->Update();
-
- // Get interfaces towards H324 and video encoder
- QueryProtoInterfacesL();
- }
- break;
- case EVtCommandGetProtocolInterface:
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.protoComC:IF response=%d", protoCmdId )
- if ( protoResponse == KErrNone &&
- ( iProtoState == MVtProtocolCommand::ESetup ||
- iProtoState == MVtProtocolCommand::EInitializing || // Allowed to query when initializing also
- iProtoState == MVtProtocolCommand::EConnecting ||
- iProtoState == MVtProtocolCommand::EConnected ) )
- {
- __ASSERT_DEBUG(
- IsPending( EGet324CtrlInterface ) != KErrNotFound
- || IsPending( EGetH263EncInterface ) != KErrNotFound,
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
-
- //Check which interface.
- if ( MatchResponseToPendingOps(
- protoCmdId, EGet324CtrlInterface ) && iH324Config )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC:324 IF" )
- iH324Config->SetObserverL ( this );
-
- // Create DTMF handler with H324 interface.
- CVtEngUtility* utils = CVtEngUtility::EngineUtils();
- TRAP_IGNORE( utils->Initializer().CreateDtmfHandlerL( iH324Config ) );
-
- // Set version to protocol -- cannot cause problem
-#ifdef VTDEBUG
- TRAPD( err, SetVersionInfoL() );
- if ( err != KErrNone )
- {
- __VTPRINT2( DEBUG_MEDIA,
- "MH.protoComC:324 IF VersionInfo failed=%d", err )
- }
-#else
- TRAP_IGNORE( SetVersionInfoL() );
-#endif
- // Set resolutions to Proto.
- SetSupportedResolutions();
-
- // Set Fast options
- SetFastCsupOptions();
-
- SetFlag( EProto324IFAcquired );
- RemoveOperation( protoCmdId );
- states->Update();
- }
- else if ( MatchResponseToPendingOps(
- protoCmdId, EGetH263EncInterface ) )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC:IF 263 created" )
- iH263Encoder->SetObserverL( this );
- RemoveOperation( protoCmdId );
- }
- else
- {
- // Not supported interface.
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC:NOT requested" )
- }
- }
- else
- {
- // failed or not in appropriate state
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC:query IF fail/incorrect state" )
- RemoveOperation( protoCmdId );
- }
- }
- break;
-
- case EVtCommandResume:
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.protoComC Resume" )
-
- __ASSERT_DEBUG(
- IsPending( EUnmuteAudio ) != KErrNotFound ||
- IsPending( EEnableVideo ) != KErrNotFound ||
- IsPending( EEnableVideoInternal ) != KErrNotFound,
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
-
- // Was command unmute audio?
- const TBool audioEnabled(
- MatchResponseToPendingOps( protoCmdId, EUnmuteAudio ) );
-
- if ( protoResponse == KErrNone )
- {
- if ( audioEnabled )
- {
- iLocalVideo->UnMute();
- event = KVtEngAudioUnmuted;
- }
- else
- {
- iLocalVideo->ResumeVideoSending();
- }
- }
-
- // Was command enable video?
- const TBool videoEnabledByUser(
- MatchResponseToPendingOps( protoCmdId, EEnableVideo ) );
-
- RemoveOperation( protoCmdId );
-
- if ( videoEnabledByUser && IsFlag( ETwoStageOperation ) )
- {
- // Two-phase operation (resume + switch, resume completed)
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.video Resume 1st stage" )
- ClearFlag( ETwoStageOperation );
- ClearFlag( ESourceUpdateNeeded );
- iLocalVideo->SelectSourceL( iTempProviderInfo );
- iTempProviderInfo = CVtEngLocalVideo::KVtEngProviderNone;
- }
- else if ( videoEnabledByUser || audioEnabled )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.video Resume " )
- CompleteOp( protoResponse );
- }
-
- // Do send an intra message
- if ( IsFlag( EProtoVideoTrackPaused ) )
- {
- ClearFlag( EProtoVideoTrackPaused );
- if ( IsFlag( EProtoSendIntraFrame ) )
- {
- RequestFrame();
- }
- }
- }
- break;
- case EVtCommandPause: // Audio or video disable
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.protoComC Pause" )
- __ASSERT_DEBUG( iRequestStatus ||
- // uninit ongoing, still possible
- // to receive callback from protocol
- ( IsPending( EMuteAudio ) != KErrNotFound ||
- IsPending( EDisableVideo ) != KErrNotFound ),
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
-
- TBool videoDisabled( EFalse );
-
- // was command disable audio?
- if ( MatchResponseToPendingOps( protoCmdId, EMuteAudio ) )
- {
- iLocalVideo->Mute();
- event = KVtEngAudioMuted;
- }
- else
- {
- // was command disable video?
- videoDisabled = MatchResponseToPendingOps(
- protoCmdId, EDisableVideo );
- if ( videoDisabled )
- {
- SetFlag( EProtoVideoTrackPaused );
- }
- }
- RemoveOperation( protoCmdId );
- if ( IsFlag( ETwoStageOperation ) && videoDisabled )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.video pause 1st stage" )
- // First event out of two that DisableVideo video
- // is complete (waiting for event from local video).
-
- if ( !IsPending( EEnableVideo ) )
- {
- ClearFlag( ETwoStageOperation );
- }
- else
- {
- // Except if pause was not user originated, i.e
- // pause done in the beginning because there is no
- // still image to be sent in MT call and video is paused
- // (user has not yet allowed video sending).
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.video paused, 2stage NOT CLEARED" )
- }
- }
- else
- {
- if ( !iPauseNoCompleteOp )
- {
- CompleteOp( protoResponse );
- }
- else
- {
- iPauseNoCompleteOp = EFalse;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.video paused due to share stop, clearing flag" )
- }
- }
- }
- break;
- case EVtCommandAddDataSink:
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSink");
- if ( protoResponse == KErrNone )
- {
- __ASSERT_DEBUG( iRequestStatus ||
- // uninit ongoing, still possible
- // to receive callback from pv2way
- ( IsPending( EAddVideoSink ) != KErrNotFound ||
- IsPending( EAddAudioSink ) != KErrNotFound ),
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
-
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.data sink added" )
-
- if ( MatchResponseToPendingOps( protoCmdId, EAddVideoSink )
- && ( iRemoteMediaState & EMediaVideoPreparing ) )
- {
- // Video sink added
- SetFlag( EProtoVideoSinkAdded );
- iRemoteMediaState &= ~EMediaVideoPreparing;
- iRemoteMediaState |= EMediaVideo;
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSink for VIDEO OK.");
- }
- else if ( MatchResponseToPendingOps( protoCmdId, EAddAudioSink )
- && ( iRemoteMediaState & EMediaAudioPreparing ) )
- {
- // Audio sink added
- SetFlag( EProtoAudioSinkAdded );
- iRemoteMediaState &= ~EMediaAudioPreparing;
- iRemoteMediaState |= EMediaAudio;
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSink for AUDIO OK.");
- // DevSound created in Proto => temporary devSound needed
- // for making audio routing work can be released now.
- CVtEngStateManager* stateManager =
- CVtEngUtility::StateManager();
- CVtEngAudioHandler& audioHandler =
- static_cast< CVtEngAudioHandler& >(
- stateManager->Handlers().Audio() );
- audioHandler.SetRoutingEnablerL( EFalse );
- RequestAudioControllerL();
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.protoComC invalid" )
- Panic( EVtEngPanicMediaHandlerOpStateFailure );
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSink FAILED");
-
- if ( MatchResponseToPendingOps( protoCmdId, EAddVideoSink ) )
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSink FAILED, INCOMING VIDEO");
-
- iVideoIncomingLogicalChannel.iSameTypeClosingPending = EFalse;
- if( iVideoIncomingLogicalChannel.iSameTypeChannelReadyToOpen )
- {
- iVideoIncomingLogicalChannel.iSameTypeChannelReadyToOpen = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE delayed adding VIDEO, ADDing SINK" )
- AddVideoSink( iVideoIncomingLogicalChannel.iLogicalChannelId );
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSink FAILED, INCOMING AUDIO");
-
- iAudioIncomingLogicalChannel.iSameTypeClosingPending = EFalse;
- if( iAudioIncomingLogicalChannel.iSameTypeChannelReadyToOpen )
- {
- iAudioIncomingLogicalChannel.iSameTypeChannelReadyToOpen = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE delayed adding AUDIO, ADDing SINK" )
- AddAudioSink( iAudioIncomingLogicalChannel.iLogicalChannelId );
- }
- }
- }
- RemoveOperation( protoCmdId );
- }
- break;
- case EVtCommandAddDataSource:
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.data source added" )
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSource");
- if ( protoResponse == KErrNone &&
- ( iProtoState == MVtProtocolCommand::EConnected || iProtoState == MVtProtocolCommand::EConnecting || iProtoState == MVtProtocolCommand::ESetup ) )
- {
- if ( MatchResponseToPendingOps( protoCmdId, EAddVideoSource ) )
- {
- SetFlag( EProtoVideoSourceAdded );
-
- // This flag was set if channel closed indication
- // EVtIndicationClosingTrack was received from Proto.
- ClearFlag( EOutVideoChannelClosed );
-
- iLocalVideo->VideoChannelOpenedL();
-
- CVtEngEventManager::NotifyEvent(
- KVtEngMediaOutgoingVideoChannelStatusChanged );
-
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSource for VIDEO OK.");
-
- // Adjust to normal value after Connect has completed
- // so MONA is over.
- if( iProtoState == MVtProtocolCommand::EConnected )
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: Adjusting I Frame Interval in " )
- __VTPRINT( DEBUG_MEDIA, "LCN: ADD_DATA_SOURCE for Video, Connect has completed earlier." )
- __VTPRINT( DEBUG_MEDIA, "LCN: Normal I-frame rate." )
-
-
- // Setting I-Frame interval to normal since MONA connections are over.
- AddOperation( ESetIFrameInterval,
- // I-Frame every 10 second.
- iH263Encoder->SetIntraFrameInterval( 100 ) );
- }
- else if( iProtoState == MVtProtocolCommand::EConnecting || iProtoState == MVtProtocolCommand::ESetup )
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: Adjusting I Frame Interval in " )
- __VTPRINT( DEBUG_MEDIA, "LCN: ADD_DATA_SOURCE for Video, Proto state Connecting." )
- __VTPRINT( DEBUG_MEDIA, "LCN: High I-frame rate" )
-
- // MONA negotiations ongoing, I-Frame invertal must be small
- AddOperation( ESetIFrameInterval,
- // 10 I-Frames every 1 second.
- iH263Encoder->SetIntraFrameInterval( 10000 ) );
- }
-
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.data setting default videoquality" )
-
- // Set default frame rate and send indication to peer
- if ( !IsFlag( EVideoQualitySetByPeer ) )
- {
- SetVideoQualityL( EVideoQualityNormal, EFalse );
- }
-
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.data source added check flag" )
- if ( IsFlag( EProtoPauseVideoRequested ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.data source added pausing video" )
- EnableVideoL( EFalse );
- }
- }
- else if ( MatchResponseToPendingOps(
- protoCmdId, EAddAudioSource ) )
- {
- SetFlag( EProtoAudioSourceAdded );
-
- // This flag was set if channel closed indication
- // EVtIndicationClosingTrack was received from PV.
- ClearFlag( EOutAudioChannelClosed );
-
- CVtEngEventManager::NotifyEvent(
- KVtEngMediaOutgoingAudioChannelStatusChanged );
-
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSource for AUDIO OK.");
- }
- }
-
- else
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSource FAILED");
-
- if ( MatchResponseToPendingOps( protoCmdId, EAddVideoSource ) )
- {
- __VTPRINT( DEBUG_MEDIA, "EVtCommandAddDataSource FAILED, OUTGOING VIDEO");
-
- iVideoOutgoingLogicalChannel.iSameTypeClosingPending = EFalse;
- if( iVideoOutgoingLogicalChannel.iSameTypeChannelReadyToOpen )
- {
- iVideoOutgoingLogicalChannel.iSameTypeChannelReadyToOpen = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE delayed adding VIDEO, ADDing SOURCE" )
- AddVideoSource( iVideoOutgoingLogicalChannel.iLogicalChannelId );
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: EVtCommandAddDataSource FAILED, OUTGOING AUDIO");
-
- iAudioOutgoingLogicalChannel.iSameTypeClosingPending = EFalse;
- if( iAudioOutgoingLogicalChannel.iSameTypeChannelReadyToOpen )
- {
- iAudioOutgoingLogicalChannel.iSameTypeChannelReadyToOpen = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE delayed adding AUDIO, ADDing SOURCE" )
- AddAudioSource( iAudioOutgoingLogicalChannel.iLogicalChannelId );
- }
- }
- }
-
- if ( !RemoveOperation( protoCmdId ) )
- {
- __ASSERT_DEBUG( iRequestStatus != NULL,
- // uninit ongoing, still possible to receive
- // callback from protocol
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
- }
- states->Update();
- break;
- }
-
- case EVtCommandConnect:
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.Connect complete" )
- if ( protoResponse == KErrNone )
- {
- __ASSERT_DEBUG( IsPending( EConnectProto ) != KErrNotFound,
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
- RemoveOperation( EConnectProto );
- iProtoState = MVtProtocolCommand::EConnected;
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC: EConnected" )
- states->Update();
-
- // Adjust only if VideoSource adding has compled
- if( IsPending( EAddVideoSource ) == KErrNotFound )
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: Adjusting I FrameInterval " )
- __VTPRINT( DEBUG_MEDIA, "LCN: after Connect has completed" )
- __VTPRINT( DEBUG_MEDIA, "LCN: Normal I-frame interval." )
-
-
- // Setting I-Frame interval to normal since MONA connections are over.
- AddOperation( ESetIFrameInterval,
- // I-Frame every 10 second.
- iH263Encoder->SetIntraFrameInterval( 100 ) );
- }
- }
- else
- {
- if ( iProtoState == MVtProtocolCommand::EConnecting ) {
- // it is possible that we're here because call was hanged up
- iProtoState = MVtProtocolCommand::ESetup;
- }
- RemoveOperation( EConnectProto );
- // connect may have failed due to disconnect request (possible only in debug env?)
- if ( iPendingOp &&
- ( iPendingOp->Command() == KVtEngTerminateSession ) )
- {
- __VTPRINT( DEBUG_MEDIA,
- "complete KVtEngTerminateSession on connect failure" )
- CompleteOp( KErrNone );
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA,
- "request fallback on connect failure" )
- // request fallback from telephony
- CVtEngUtility* utils = CVtEngUtility::EngineUtils();
- utils->MediatorCommands().VoiceFallback();
- }
- states->Update();
- }
- }
- break;
- case EVtCommandRemoveDataSource:
- case EVtCommandRemoveDataSink:
- break;
- case EVtCommandReset:
- {
- __ASSERT_DEBUG( IsPending( EDestructProtoPhaseReset ) != KErrNotFound,
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC:RESET complete" )
- RemoveOperation( protoCmdId );
- if ( protoResponse == KErrNone )
- {
- iProtoState = MVtProtocolCommand::EIdle;
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC: EIdle" )
- }
- if ( iRequestStatus )
- {
- // we're in uninitialization process
- // do this even if reset failed!
- iLocalVideo->StopViewFinder();
- UninitializeNextStep();
- }
- states->Update();
- }
- break;
- case EVtCommandDeleteProtocolInterface:
- {
-
- // Remove pending operation from list
- RemoveOperation( protoCmdId );
-
- // Proceed to disconnecting if inetrfaces are free'd
- UninitializeNextStep();
- states->Update();
-
- break;
- }
- case EVtCommandDisconnect:
- {
- __ASSERT_DEBUG(
- IsPending( EDestructProtoPhaseDisconnect ) != KErrNotFound ||
- IsPending( ETerminateSession ) != KErrNotFound,
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC:DISCONNECT complete" )
- if ( protoResponse == KErrNone )
- {
- iProtoState = MVtProtocolCommand::ESetup;
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC: ESetup_disconnect" )
- }
-
- delete iTimer;
- iTimer = NULL;
-
- RemoveOperation( protoCmdId );
-
- // If disconnect was requested while connecting we
- // have connect operation added.
- RemoveOperation( EConnectProto );
-
- if ( iRequestStatus )
- {
- // continue uninitialization
- UninitializeNextStep();
- }
- else
- {
- // complete plain disconnect request from UI
- CompleteOp( protoResponse );
- }
- states->Update();
- }
- break;
- case EVtCommandCancelAllCommands:
- {
- __ASSERT_DEBUG(
- IsPending( EUninitializeCancelAllProto ) != KErrNotFound,
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
- RemoveOperation( protoCmdId );
-
- UninitializeNextStep();
- }
- break;
- default:
- {
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC Unknown Proto reply" )
- }
- break;
- }
- if ( event != KVtEngEventNone )
- {
- CVtEngEventManager::NotifyEvent( event );
- }
- __VTPRINTEXIT( "MH.HandleSessionCommandEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleSessionInformationalEventL
-// Handles event from protocol engine.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleSessionInformationalEventL(
- const TVtIndicationEvent& aEvent)
- {
- __VTPRINTENTER( "MH.InfoEvent" )
- const TInt type( aEvent.iEventType );
- __VTPRINT2( DEBUG_MEDIA, "MH.protoHIE type=%d", type )
-
- TVtIndicationEvent& event =
- const_cast<TVtIndicationEvent&>(aEvent);
- const TUint8* buffer = event.iLocalBuffer;
-
- if ( buffer || type == EVtIndicationDisconnect )
- {
- TBool video( EFalse );
- TBool audio( EFalse );
- __VTPRINT( DEBUG_MEDIA, "MH.protoHIE inbound")
- if ( type != EVtIndicationDisconnect &&
- type != EVtIndicationUserInputCapability )
- {
- switch ( buffer[0] )
- {
- case EVtAudio:
- audio = ETrue;
- break;
- case EVtVideo:
- video = ETrue;
- break;
- case EVtControl:
- case EVtData:
- case EVtMediaNone:
- __VTPRINTEXIT( "MH.InfoEvent" )
- return;
-
- default:
- break;
-
- }
- }
-
- __VTPRINT( DEBUG_MEDIA, "MH.protoHIE acting according" )
- TInt event( KVtEngEventNone );
- switch ( type )
- {
- case EVtIndicationIncomingTrack:
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE EVtIndicationIncomingTrack" )
- if ( video )
- {
- TInt tempID = *((TInt*)(buffer+4));
- __VTPRINT2( DEBUG_MEDIA, "LCN: MH.protoHIE INCOMING VIDEO:%d", tempID )
-
- if( !iVideoIncomingLogicalChannel.iSameTypeClosingPending )
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE InTrack VIDEO, ADDing SINK" )
- AddVideoSink( tempID );
- }
- else
- {
- // Store old value since ID will change when we get outgoing track indication
- iVideoIncomingLogicalChannel.iLogicalChannelIdClosing = iVideoIncomingLogicalChannel.iLogicalChannelId;
- iVideoIncomingLogicalChannel.iSameTypeChannelReadyToOpen = ETrue;
- }
-
- // Store new LCN ID.
- iVideoIncomingLogicalChannel.iLogicalChannelId = tempID;
- }
- else if ( audio )
- {
- TInt tempID = *((TInt*)(buffer+4));
- __VTPRINT2( DEBUG_MEDIA, "LCN: MH.protoHIE INCOMING AUDIO:%d", tempID )
-
- if( !iAudioIncomingLogicalChannel.iSameTypeClosingPending )
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE InTrack AUDIO, ADDing SINK" )
- AddAudioSink( tempID );
- }
- else
- {
- // Store old value since ID will change when we get outgoing track indication
- iAudioIncomingLogicalChannel.iLogicalChannelIdClosing = iAudioIncomingLogicalChannel.iLogicalChannelId;
- iAudioIncomingLogicalChannel.iSameTypeChannelReadyToOpen = ETrue;
- }
-
- // Store new LCN ID.
- iAudioIncomingLogicalChannel.iLogicalChannelId = tempID;
- }
- }
- break;
-
- case EVtIndicationOutgoingTrack:
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE EVtIndicationOutgoingTrack" )
- if ( video )
- {
- TInt tempID = *((TInt*)(buffer+4));
- __VTPRINT2( DEBUG_MEDIA, "LCN: MH.protoHIE OUTGOING VIDEO ID:%d", tempID )
-
- if( !iVideoOutgoingLogicalChannel.iSameTypeClosingPending )
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE OutTrack VIDEO, ADDing SOURCE" )
- AddVideoSource( tempID );
- }
- else
- {
- // Store old value since ID will change when we get outgoing track indication
- iVideoOutgoingLogicalChannel.iLogicalChannelIdClosing = iVideoOutgoingLogicalChannel.iLogicalChannelId;
- iVideoOutgoingLogicalChannel.iSameTypeChannelReadyToOpen = ETrue;
- }
-
- // Store new LCN ID.
- iVideoOutgoingLogicalChannel.iLogicalChannelId = tempID;
- }
- else if ( audio )
- {
-
- TInt tempID = *((TInt*)(buffer+4));
- __VTPRINT2( DEBUG_MEDIA, "LCN: MH.protoHIE OUTGOING AUDIO:%d", tempID )
-
- if( !iAudioOutgoingLogicalChannel.iSameTypeClosingPending )
- {
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE OutTrack AUDIO, ADDing SOURCE" )
- AddAudioSource( tempID );
- }
- else
- {
- // Store old value since ID will change when we get outgoing track indication
- iAudioOutgoingLogicalChannel.iLogicalChannelIdClosing = iAudioOutgoingLogicalChannel.iLogicalChannelId;
- iAudioOutgoingLogicalChannel.iSameTypeChannelReadyToOpen = ETrue;
- }
-
- // Store new LCN ID.
- iAudioOutgoingLogicalChannel.iLogicalChannelId = tempID;
- }
- }
- break;
-
- case EVtIndicationClosingTrack:
- {
-
- TUint8 direction = buffer[0];
- TInt tempID = *((TInt*)(buffer+4));
-
- __VTPRINT3( DEBUG_MEDIA, "LCN: MH.protoHIE PEVtIndicationClosingTrack ID:%d, dir:%d", tempID, direction )
-
- if( direction == EVtIncoming )
- {
- if( tempID == iVideoIncomingLogicalChannel.iLogicalChannelId )
- {
- iVideoIncomingLogicalChannel.iSameTypeClosingPending = ETrue;
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE CLOSING INCOMING VIDEO" )
- }
- else
- {
- iAudioIncomingLogicalChannel.iSameTypeClosingPending = ETrue;
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE CLOSING INCOMING AUDIO" )
- }
- }
- else
- {
- TInt uiEvent;
- if( tempID == iVideoOutgoingLogicalChannel.iLogicalChannelId )
- {
- SetFlag( EOutVideoChannelClosed );
- iVideoOutgoingLogicalChannel.iSameTypeClosingPending = ETrue;
- uiEvent = KVtEngMediaOutgoingVideoChannelStatusChanged;
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE CLOSING OUTGOING VIDEO" )
- }
- else
- {
- SetFlag( EOutAudioChannelClosed );
- iAudioOutgoingLogicalChannel.iSameTypeClosingPending = ETrue;
- uiEvent = KVtEngMediaOutgoingAudioChannelStatusChanged;
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE CLOSING OUTGOING AUDIO" )
- }
- CVtEngEventManager::NotifyEvent( uiEvent );
- }
- }
- break;
-
- case EVtIndicationCloseTrack:
- {
-
- TInt tempID = *((TInt*)(buffer+4));
-
- TUint8 direction = buffer[0];
-
- __VTPRINT3( DEBUG_MEDIA, "LCN: MH.protoHIE EVtIndicationCloseTrack ID:%d, dir:%d", tempID, direction )
-
- if( direction == EVtIncoming )
- {
- if( iVideoIncomingLogicalChannel.iLogicalChannelId == tempID ||
- ( iVideoIncomingLogicalChannel.iSameTypeClosingPending &&
- tempID == iVideoIncomingLogicalChannel.iLogicalChannelIdClosing )
- )
- {
- iVideoIncomingLogicalChannel.iSameTypeClosingPending = EFalse;
- iRemoteMediaState &= ~EMediaVideo;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE CLOSE INCOMING VIDEO" )
-
- if( iVideoIncomingLogicalChannel.iSameTypeChannelReadyToOpen )
- {
- iVideoIncomingLogicalChannel.iSameTypeChannelReadyToOpen = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE delayed adding VIDEO, ADDing SINK" )
- AddVideoSink( iVideoIncomingLogicalChannel.iLogicalChannelId );
- }
- }
- else
- {
- iAudioIncomingLogicalChannel.iSameTypeClosingPending = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE CLOSE INCOMING AUDIO" )
-
- if( iAudioIncomingLogicalChannel.iSameTypeChannelReadyToOpen )
- {
- iAudioIncomingLogicalChannel.iSameTypeChannelReadyToOpen = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE delayed adding AUDIO, ADDing SINK" )
- AddAudioSink( iAudioIncomingLogicalChannel.iLogicalChannelId );
- }
- }
- }
- else
- {
- if( iVideoOutgoingLogicalChannel.iLogicalChannelId == tempID ||
- ( iVideoOutgoingLogicalChannel.iSameTypeClosingPending &&
- tempID == iVideoOutgoingLogicalChannel.iLogicalChannelIdClosing )
- )
- {
- iVideoOutgoingLogicalChannel.iSameTypeClosingPending = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE CLOSE OUTGOING VIDEO" )
-
- if( iVideoOutgoingLogicalChannel.iSameTypeChannelReadyToOpen )
- {
- iVideoOutgoingLogicalChannel.iSameTypeChannelReadyToOpen = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE delayed adding VIDEO, ADDing SOURCE" )
- AddVideoSource( iVideoOutgoingLogicalChannel.iLogicalChannelId );
- }
- }
- else
- {
- iAudioOutgoingLogicalChannel.iSameTypeClosingPending = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE CLOSE OUTGOING AUDIO" )
-
- if( iAudioOutgoingLogicalChannel.iSameTypeChannelReadyToOpen )
- {
- iAudioOutgoingLogicalChannel.iSameTypeChannelReadyToOpen = EFalse;
-
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.protoHIE delayed adding AUDIO, ADDing SOURCE" )
- AddAudioSource( iAudioOutgoingLogicalChannel.iLogicalChannelId );
- }
- }
- }
- }
- break;
- case EVtIndicationResumeTrack:
- __VTPRINT2( DEBUG_MEDIA, "MH.protoHIE X is resumed %d", buffer[1] )
- if ( buffer[1] == EVtIncoming ) // Only for remote
- {
- if ( video )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.protoHIE video resumed" )
- event = KVtEngRemoteVideoResumed;
- ClearFlag( EProtoVideoTrackPaused );
- }
- else if ( audio )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.protoHIE audio resumed" )
- event = KVtEngRemoteAudioResumed;
- ClearFlag( EProtoAudioTrackPaused );
- }
- }
- break;
- case EVtIndicationPauseTrack:
- __VTPRINT2( DEBUG_MEDIA, "MH.protoHIE X is paused %d", buffer[1] )
- if ( buffer[1] == EVtIncoming ) // Only for remote
- {
- if ( audio )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.protoHIE audio paused" )
- SetFlag( EProtoAudioTrackPaused );
- event = KVtEngRemoteAudioPaused;
- }
- else if ( video )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.protoHIE video paused" )
- SetFlag( EProtoVideoTrackPaused );
- event = KVtEngRemoteVideoPaused;
- }
- }
- break;
- case EVtIndicationDisconnect:
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_RETURN, "MH.protoHIE PID" )
-
- // Fix for disconnecting remote (bearer). Engine
- // needs to send KVtEngRemoteDisconnect event to UI to notify
- // UI that call can not be hangup!
- CVtEngEventManager::NotifyEvent( KVtEngRemoteDisconnect );
-
- delete iTimer;
- iTimer = NULL;
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- iProtoState = MVtProtocolCommand::ESetup;
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC: ESetup_indi_disconnect" )
- states->Update();
- if ( iPendingOp &&
- ( iPendingOp->Command() == KVtEngTerminateSession ||
- iPendingOp->Command() == KVtEngResetEngine ) )
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.protoHIE PID PO", iPendingOp->Command() )
- // Complete only KVtEngTerminateSession, if KVtEngResetEngine
- // is pending complete it after uninitialisation is finalised.
- if ( iPendingOp->Command() == KVtEngTerminateSession )
- {
- CompleteOp( KErrNone );
- }
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_RETURN, "MH.protoHIE PID RO")
- UninitializeNextStep();
- }
- }
- break;
- default:
- break;
- }
- if ( KVtEngEventNone != event )
- {
- CVtEngEventManager::NotifyEvent( event );
- }
- }
- __VTPRINTEXIT( "MH.InfoEvent" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleSessionErrorEventL
-// Handles error event from protocol engine.
-// -----------------------------------------------------------------------------
-//
-#ifdef VTDEBUG
-void CVtEngMediaHandler::HandleSessionErrorEventL( const TVtErrorEvent& aEvent )
-#else
-void CVtEngMediaHandler::
- HandleSessionErrorEventL( const TVtErrorEvent& /* aEvent */ )
-#endif // VTDEBUG
- {
- // Must have an implementation.
- __VTPRINT2( DEBUG_MEDIA, "MH.protoHEE,%d", aEvent.iEventType )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleSettingChangedL
-// Handles still image setting change.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleSettingChangedL(
- CVtEngSettings::TSettingId aId,
- const TDesC& /*aValue*/ )
- {
- __VTPRINTENTER( "MH.HandleSettingChangedL" )
- if ( aId == CVtEngSettings::ESelectVolume ||
- aId == CVtEngSettings::EHandsetVolume ||
- aId == CVtEngSettings::EHandsfreeVolume )
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.volChgd %d", aId )
- UpdateVolume();
-
- if ( aId == CVtEngSettings::EHandsetVolume ||
- aId == CVtEngSettings::EHandsfreeVolume )
- {
- CVtEngEventManager::NotifyEvent(
- KVtEngAudioOutputVolumeChanged );
- }
- }
- else if ( aId == CVtEngSettings::EStillImage ||
- aId == CVtEngSettings::EStillImagePath )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.stillChgd" )
-
- TShareObjectState shareState;
- GetObjectSharingState( shareState );
- if ( shareState == EInitializingShareImage ||
- shareState == ESharingImage )
- {
- iLocalVideo->SettingsChanged();
- return;
- }
-
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const CVtEngSettings::TVtEngVideoCallConfig& config =
- settings.Config();
-
- const CVtEngLocalVideo::TVtEngProviderType
- activeProvider( iLocalVideo->ActiveProvider() );
- if ( config.iVideo.iImageIsValid )
- {
- __VTPRINT( DEBUG_GEN, "MH.HSC valid" )
- EnableVideoL( ETrue );
- // if still image is not active we should only
- // initialize it, not start after initialization.
- const TBool initOnly( activeProvider ==
- CVtEngLocalVideo::KVtEngProviderCam1 ||
- activeProvider == CVtEngLocalVideo::KVtEngProviderCam2 ||
- activeProvider ==
- CVtEngLocalVideo::KVtEngProviderShareImage );
- iLocalVideo->InitializeOnlyEx( initOnly );
- TRAPD( err,iLocalVideo->SetStillImageL( !initOnly ) );
- if ( err == KErrNotReady )
- {
- __VTPRINT( DEBUG_GEN, "MH.HSC waiting...")
- // Another switch ongoing, wait until it is done.
- }
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "MH.HSC invalid" )
- __VTPRINT2( DEBUG_MEDIA, "MH.HSC provider=", activeProvider )
- if ( CVtEngUtility::Settings().IsDefaultStillImageDefined() )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.SetDefaultStillImageL" )
- if ( activeProvider == CVtEngLocalVideo::KVtEngProviderImage )
- {
- iLocalVideo->SetDefaultStillImageL();
- }
- }
- else
- {
- if( activeProvider !=
- CVtEngLocalVideo::KVtEngProviderCam1 &&
- activeProvider != CVtEngLocalVideo::KVtEngProviderCam2 )
- {
- EnableVideoL( EFalse );
- }
- __VTPRINT( DEBUG_MEDIA, "MH.tStillImageL" )
- iLocalVideo->SetStillImageL( ETrue );
- }
-
- }
- }
- else
- {
- // Do nothing, but satisfy lint.
- __VTPRINT2( DEBUG_MEDIA, "MH.HSC not handled=%d", aId )
- }
- __VTPRINTEXIT( "MH.HSC" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::InitializeL
-// Initializes settings listeners.
-// Sets still image and initializes default provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::InitializeL( TRequestStatus& aStatus )
- {
- __VTPRINTENTER( "MH.InitializeL" )
- // configure still image
- CVtEngSettings& settings = CVtEngUtility::Settings();
- settings.NotifyChangeL( CVtEngSettings::EStillImage, *this );
- settings.NotifyChangeL( CVtEngSettings::EStillImagePath, *this );
- settings.NotifyChangeL( CVtEngSettings::ESelectVolume, *this );
- settings.NotifyChangeL( CVtEngSettings::EHandsetVolume, *this );
- settings.NotifyChangeL( CVtEngSettings::EHandsfreeVolume, *this );
-
- const CVtEngSettings::TVtEngVideoCallConfig& config = settings.Config();
- TInt err( KErrNotFound );
- if ( config.iVideo.iImageIsValid )
- {
- // first step initialize still, when that is complete, initialize blank
- TRAP( err, iLocalVideo->SetStillImageL( ETrue ) );
- if ( err == KErrNone )
- {
- iVSInitState = EStateInitStillImage;
- iRequestStatus = &aStatus;
- }
- }
- if ( err != KErrNone )
- {
- // Still provider init failed -> initialize blank
- InitializeProviderL( aStatus );
- }
- __VTPRINTEXIT( "MH.InitializeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::CancelInitialize
-// Sets initialization state as cancelled.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::CancelInitialize()
- {
- __VTPRINTENTER( "MH.CancelInitialize" )
- iVSInitState = EStateInitCanceled;
- __VTPRINTEXIT( "MH.CancelInitialize" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::InitializeProviderL
-// Initializes default blank provider.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::InitializeProviderL( TRequestStatus& aStatus )
- {
- __VTPRINTENTER( "MH.InitializeProviderL" )
- iLocalVideo->InitializeL();
- iVSInitState = EStateInitProvider;
- iRequestStatus = &aStatus;
- __VTPRINTEXIT( "MH.InitializeProviderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::Uninitialize
-// Frees all resources.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::Uninitialize( TRequestStatus& aStatus )
- {
- __VTPRINTENTER( "MH.Uninitialize" )
- ClearFlag( ETwoStageOperation );
- ClearFlag( ESourceUpdateNeeded );
- iRequestStatus = &aStatus;
- if ( iProtoState == MVtProtocolCommand::EDisconnecting )
- {
- // Protocol is disconnecting if
- // 1) bearer was lost (and videoteleng issued disconnect on protocol), or
- // 2) protocol issued disconnect due unrecoverable error or disconnect
- // request from remote terminal.
- // And now UI requested 'reset engine' while performing disconnect.
- // When disconnecting is complete check if iRequestStatus
- // is not null AND iInitialized is ETrue.
- // If so, Uninitialize has been called (UI requested reset).
-
- StopRendering();
- __VTPRINT( DEBUG_MEDIA, "MH.UnInit wait for disconnect to complete" )
- __VTPRINTEXIT( "MH.Uninitialize" )
- return;
- }
- iInitialized = EFalse;
- UninitializeNextStep();
- __VTPRINTEXIT( "MH.Uninitialize" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::UninitializeNextStep
-// Goes to next step in uninitialization
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::UninitializeNextStep( )
- {
- __VTPRINTENTER( "MH.UninitializeNextStep" )
- StopRendering();
-
- TOperation op( ENone );
-
- // CancelAllProtoCommands is no op if nothing to cancel or already pending.
- // However, then op is still assigned with EUninitializeCancelAllProto to
- // indicate it is pending and we must wait for it to complete.
- CancelAllProtoCommands( op );
-
- if ( op == ENone ) // Cancellation is not pending
- {
- __VTPRINT2( DEBUG_MEDIA, "next step protostate=%d", iProtoState )
- switch ( iProtoState )
- {
- case MVtProtocolCommand::EConnected:
- case MVtProtocolCommand::EConnecting:
- op = EDestructProtoPhaseDisconnect;
- break;
- case MVtProtocolCommand::ESetup:
- // In EInitializing state operation is waited to complete. See
- // CVtEngInitializer::ContinueOrRetry op==EReset and iStep==EInitProto
-
- if( iH324Config || iH263Encoder )
- {
- // First remove interfaces, after completion perform reset
- op = ERemove324CtrlInterface;
- break;
- }
-
- // If interfaces are already released or not even reserved, go to Reset.
- op = EDestructProtoPhaseReset;
- break;
- case MVtProtocolCommand::EResetting:
- // Reset ongoing, wait for it to complete
- __VTPRINT( DEBUG_MEDIA, "MH.UnInit resetting" )
- break;
- case MVtProtocolCommand::EIdle:
- op = ERemove324CtrlInterface;
- __VTPRINT( DEBUG_MEDIA, "MH.UnInit idling" )
- break;
- default:
- __VTPRINT( DEBUG_MEDIA, "MH.UnInit invalid state" )
- break;
- }
- if ( op != ENone )
- {
- TRAPD( err, ContinueUninitializeL( op ) );
- if ( err != KErrNone )
- {
- if ( iRequestStatus )
- {
- User::RequestComplete( iRequestStatus, err );
- iRequestStatus = NULL;
- }
- else
- {
- // Infinite waiting for end state!
- __VTPRINT( DEBUG_MEDIA, "MH. dead end!" )
- Panic( EVtEngPanicDisconnectTimerExpired );
- }
- __VTPRINT2( DEBUG_MEDIA, "next step err=%d", err )
- }
- }
- }
- __VTPRINTEXIT( "MH.UninitializeNextStep" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ContinueUninitializeL
-// Completes uninitialization:
-// does disconnecting, deletes members.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::ContinueUninitializeL(
- const TOperation aOp )
- {
- __VTPRINTENTER( "MH.ContinueUninitializeL" )
- __VTPRINT2( DEBUG_MEDIA, "MH.ContUn op=%d", aOp)
- switch ( aOp )
- {
- case EDestructProtoPhaseDisconnect: // causes DisconnectL on protocol
- __VTPRINT2( DEBUG_MEDIA, "MH.ContUn EDestructProtoPhaseDisconnect iProtoState=%d", iProtoState )
-
- // Disconnecting only allowed in Connecting and Connected state.
- if( iProtoState == MVtProtocolCommand::EConnecting || iProtoState == MVtProtocolCommand::EConnected )
- {
- DisconnectProtoL();
- if ( iProtoState == MVtProtocolCommand::EDisconnecting ) {
- // started succefully disconnecting
- break;
- }
- }
- // fall through if state was not proper was disconnect
- case EDestructProtoPhaseReset: // causes ResetL on protocol
-
- ResetProto2WayL();
- if ( iProtoState == MVtProtocolCommand::EResetting )
- {
- break;
- }
- // fall through if state was not proper for reset
- case ERemove324CtrlInterface:
- {
- __VTPRINT( DEBUG_MEDIA, "MH.ContUn ERemove324CtrlInterface" )
- const TBool extCmdPending( ExtensionCommandsPending() );
- if ( !extCmdPending && ( iH324Config || iH263Encoder ) )
- { // no pending extension commands, interfaces can be released
- // this is no-op if already released
- ReleaseProtoInterfacesL();
- break;
- }
- if( extCmdPending ||
- IsPending( ERemove324CtrlInterface ) != KErrNotFound ||
- IsPending( ERemoveH263EncInterface ) != KErrNotFound )
- {
- // Interface releasing has not completed yet, need to wait
- // until proceeding ahead.
- break;
- }
- }
- // fall through if interfaces are released
- case EDestructSwitchBlank:
- {
- __VTPRINT( DEBUG_MEDIA, "MH.ContUn EDestructSwitchBlank" )
- // provider must be selected to something else that
- // is not deleted
- const CVtEngLocalVideo::TVtEngProviderType
- activeProvider( iLocalVideo->ActiveProvider() );
- if ( activeProvider != CVtEngLocalVideo::KVtEngProviderNone )
- {
- iLocalVideo->SelectSourceL( CVtEngLocalVideo::KVtEngProviderNone );
- iVSInitState = EStateWaitingProviderChangeForUninit;
- break;
- }
- // blank provider already active so continue
- iVSInitState = EInitStateNone;
- }
- // fall thru
- case EDestructInternals:
- __VTPRINT( DEBUG_MEDIA, "MH.ContUn EDestructInternals" )
- iLocalVideo->Reset();
- delete iRemoteVideo;
- iRemoteVideo = NULL;
- if ( iRequestStatus )
- {
- User::RequestComplete( iRequestStatus, KErrNone );
- iRequestStatus = NULL;
- }
- break;
- default:
- // Should not happen
- Panic( EVtEngPanicUnInitIncorrectOperation );
- break;
- }
-
- __VTPRINTEXIT( "MH.ContinueUninitializeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::StopRendering
-// Stops all rendering.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::StopRendering()
- {
- __VTPRINTENTER( "MH.StopRendering" )
- if ( iLocalVideo )
- {
- iLocalVideo->StopViewFinder();
- }
- if ( iRemoteVideo )
- {
- iRemoteVideo->StopVideoRendering();
- }
- __VTPRINTEXIT( "MH.StopRendering" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::UpdateVolume
-// Updates volume values.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::UpdateVolume()
- {
- __VTPRINTENTER( "MH.UpdateVolume" )
- if ( iUpdateVolumeAllowed && IsPending( ESetAudioVolume ) == KErrNotFound )
- {
- CVtEngSettings& settings = CVtEngUtility::Settings();
-
- TInt volume( 0 );
- TInt err( settings.GetVolume( volume,
- settings.CurrentVolume(), ETrue ) );
- if ( err != KErrNone )
- {
- volume = settings.MinVolume();
- }
-
- SetVolume( volume );
- }
- else
- {
- iUpdateVolumeRequired = ETrue;
- }
- __VTPRINTEXIT( "MH.UpdateVolume" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AutoEnableVideo
-// Enables video when primary camera becomes available while blank provider
-// is active (i.e. video is disabled). This should not be called in other
-// occations. Difference to EnableVideoL is that callback doesn't try to
-// complete pending request to UI (that usually is different request than this).
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::AutoEnableVideo( TBool aEnable )
- {
- __VTPRINTENTER( "MH.AutoEnableVideo" )
- __VTPRINT( DEBUG_MEDIA, "MH.AutoEnableVideo" )
- TOperation op( EDisableVideoInternal );
- if ( aEnable )
- {
- op = EEnableVideoInternal;
- }
- TRAPD( err, EnableVideoL( aEnable, op ) );
- __VTPRINTEXITR( "MH.AutoEnableVideo %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::FinalizeUninitialization
-// Deletes protocol.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::FinalizeUninitialization()
- {
- __VTPRINTENTER( "MH.FinalUninit" )
- if ( iSessionCommand )
- {
- iAudioCtrl = NULL;
- TInt err( KErrNone );
-
- // Delete the config interface
- TRAP( err,
- {
- if ( iSessionCommand )
- {
- VTProtocolFactory::DeleteSessionCommand( iSessionCommand );
- iSessionCommand = NULL;
- }
-
- // Trapped to log the possible error
- __VTPRINT( DEBUG_MEDIA, "MH.Deleted Terminal" )
- } );
- __VTPRINT2( DEBUG_MEDIA, "MH.Deletion complete=%d", err )
- iSessionCommand = NULL;
- iProtoStateFlags = 0;
- iProtoState = MVtProtocolCommand::EIdle;
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC: EIdle uninit" )
- if ( iPendingOp &&
- iPendingOp->Command() == KVtEngTerminateSession )
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.FinalUninit comp TerminateSession=%d",
- iPendingOp->Command())
- CompleteOp( KErrNone );
- }
- else if ( iPendingOp ) {
- __VTPRINT2( DEBUG_MEDIA, "MH.FinalUninit comp =%d",
- iPendingOp->Command() )
- delete iPendingOp;
- }
- iPendingOp = NULL;
- }
- iPendingOps->Reset();
- __VTPRINTEXIT( "MH.FinalUninit" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ResetProto2WayL
-// Resets protocol engine.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::ResetProto2WayL()
- {
- __VTPRINTENTER( "MH.ResetProto2WayL" )
- __ASSERT_ALWAYS( iProtoState == MVtProtocolCommand::ESetup,
- Panic( EVtEngPanicMediaHandlerOpStateFailure ) );
-
- __VTPRINT( DEBUG_MEDIA, "MH. Calling ResetL on Proto" )
- iUpdateVolumeAllowed = EFalse;
- TInt cmdId = iSessionCommand->ResetProtocolL();
- if ( cmdId > 0 )
- {
- // Add the operation if ok
- AddOperation( EDestructProtoPhaseReset, cmdId, EFalse );
- iProtoState = MVtProtocolCommand::EResetting;
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA,
- "MH.ResetProto2WayL waiting for cancel to complete" )
- }
- __VTPRINTEXIT( "MH.ResetProto2WayL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SetSelectedCameraId
-// Called from Local video when camera has been selected.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::SetSelectedCameraId(
- const TCameraId aId,
- TBool aUpdateRequired )
- {
- __VTPRINTENTER( "MH.SetSelectedCameraId" )
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL, "MH.SetSelectedCameraId id=%d", aId )
- iSelectedCameraId = aId;
- // Set flag that switch should be done later if
- // engine has not reached proper state
- // - but only if active provider is a camera.
- if ( aUpdateRequired && iLocalVideo )
- // NULL if called inside CVtEngLocalVideo::ConstructL
- {
- const CVtEngLocalVideo::TVtEngProviderType
- activeProvider( iLocalVideo->ActiveProvider() );
-
- if ( activeProvider == CVtEngLocalVideo::KVtEngProviderCam1 ||
- activeProvider == CVtEngLocalVideo::KVtEngProviderCam2 )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH. ESourceUpdateNeeded flag set" )
- SetFlag( ESourceUpdateNeeded );
- }
- }
- __VTPRINTEXIT( "MH.SetSelectedCameraId" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleLocalVideoOperationCompleteL
-// Asynchronous local video operation is completed in here.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleLocalVideoOperationCompleteL(
- const TInt aResult )
- {
- __VTPRINTENTER( "MH.LocVidOpComp" )
- __VTPRINT3( DEBUG_MEDIA, "MH.LocVidOpComp res=%d,intOps=%d",
- aResult, iPendingOps->Count() )
- __VTPRINT2( DEBUG_MEDIA, "MH.LocVidOpComp state flags=%d", iProtoStateFlags )
-
- // Check if video should be paused
- if ( IsFlag( EProtoPauseVideoBlankProv ) )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.LocVidOpComp pause flagged" )
- if ( aResult == KErrNone )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.LocVidOpComp pausing" )
- EnableVideoL( EFalse );
- // Not ready yet, clear the two stages and complete in the end
- if ( IsFlag( ETwoStageOperation ) &&
- IsFlag( EProtoContVideoBlankInit ) )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.LocVidOpComp 1 stage complete" )
- ClearFlag( ETwoStageOperation );
- ClearFlag( EProtoContVideoBlankInit );
- }
- ClearFlag( EProtoPauseVideoBlankProv );
- }
- }
-
- if ( iRequestStatus )
- {
- if ( iVSInitState == EStateInitStillImage )
-
- { // still image initialized, proceed to initializing blank provider
- InitializeProviderL( *iRequestStatus );
- __VTPRINTEXIT( "MH.LocVidOpComp" )
- return;
- }
- else if ( iVSInitState == EStateInitProvider )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.LocVidOpComp reqComplete" )
- // Part of media handler initialization
- User::RequestComplete( iRequestStatus, aResult );
- iRequestStatus = NULL;
- iVSInitState = EInitStateNone;
- __VTPRINTEXIT( "MH.LocVidOpComp" )
- return;
- }
- else if ( iVSInitState == EStateWaitingProviderChangeForUninit )
- {
- iVSInitState = EInitStateNone;
- iLocalVideo->StopViewFinder(); // ensure view finder is stopped
- ContinueUninitializeL( EDestructInternals );
- __VTPRINTEXIT( "MH.LocVidOpComp" )
- return;
- }
- else if ( iVSInitState == EStateInitCanceled )
- {
- // If the request status has been cancelled
- // uninitialize VT
- ContinueUninitializeL( EDestructSwitchBlank );
- }
- }
-
- // Either complete the operation or remove 2 stage flag.
- // If flag removed, the operation will be completed when
- // the second stage finalizes.
- if ( IsFlag( ETwoStageOperation ) )
- {
- SetFlag( EProtoSendIntraFrame );
- ClearFlag( ETwoStageOperation );
- }
- else
- {
- // Send a sync message, if video enabled.
- if ( !IsFlag( EProtoVideoTrackPaused ) &&
- // and
- iInitialized &&
- iProtoState == MVtProtocolCommand::EConnected &&
- iPendingOp &&
- iPendingOp->Command() == KVtEngSetSource )
- {
- RequestFrame();
- }
- // Complete operation only if it is related. We may have received
- // KVtEngTerminateSession while prepare/set source is pending and
- // cannot complete it!
- if ( iPendingOp )
- {
- switch( iPendingOp->Command() )
- {
- case KVtEngHandleLayoutChange:
- case KVtEngPrepareCamera:
- case KVtEngSetSource:
- case KVtEngUnfreeze:
- CompleteOp( aResult );
- break;
-
- // Image sharing
- case KVtEngInitializeShareImage:
- __VTPRINT( DEBUG_MEDIA,
- "MH.LocVidOpComp KVtEngInitializeShareImage" )
- if ( aResult != KErrNone )
- {
- iLocalVideo->ShareError( aResult );
- }
- CompleteOp( aResult );
- break;
-
- case KVtEngStartShareImage:
- __VTPRINT( DEBUG_MEDIA,
- "MH.LocVidOpComp KVtEngStartShareImage" )
- if ( aResult != KErrNone )
- {
- iLocalVideo->ShareError( aResult );
- }
- CompleteOp( aResult );
- if ( iVideoAction == EVideoActionEnable )
- {
- if ( aResult == KErrNone )
- {
- EnableVideoL( ETrue );
- iVideoAction = EVideoActionDisable;
- }
- else
- {
- iVideoAction = EVideoActionNone;
- }
- }
-
- break;
-
- case KVtEngStopShareImage:
- __VTPRINT( DEBUG_MEDIA,
- "MH.LocVidOpComp KVtEngStopShareImage" )
- if ( aResult != KErrNone )
- {
- iLocalVideo->ShareError( aResult );
- }
- CompleteOp( aResult );
- break;
-
- default:
- break;
- }
- }
- }
- __VTPRINTEXIT( "MH.LocVidOpComp" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::Disconnect
-// Starts Protocol disconnecting procedure.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::Disconnect()
- {
- UninitializeNextStep();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SdkInitInfo
-// Returns Protocol sdk initialization information.
-// -----------------------------------------------------------------------------
-//
-TVtInitInfo& CVtEngMediaHandler::SdkInitInfo()
- {
- return iSdkInitInfo;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ProtoState
-// Returns protocol state, maintained by VTEngine.
-// Might be out of sync with actual Proto state.
-// -----------------------------------------------------------------------------
-//
-MVtProtocolCommand::TVtProtocolState CVtEngMediaHandler::ProtoState()
- {
- return iProtoState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::Connect
-// Sets up connection with remote end.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::Connect()
- {
- __VTPRINTENTER( "MH.Connect" )
- __VTPRINT( DEBUG_MEDIA, "MH.Connect" )
- TInt err( KErrNotReady );
- if ( ProtoState() == MVtProtocolCommand::ESetup && IsFlag( EProto324IFAcquired ) )
- {
- TInt cmdId( 0 );
- __VTPRINT( DEBUG_MEDIA, "MH. Calling ConnectToProtocolL on Proto" )
- TRAP( err, cmdId = iSessionCommand->ConnectToProtocolL( ( ( CVtEngUtility::EngineUtils() )->Initializer() ).GetVtComms() ) );
- if ( err == KErrNone )
- {
- const TInt res( AddOperation( EConnectProto, cmdId) );
- if ( res < KErrNone )
- {
- err = res;
- }
- iProtoState = MVtProtocolCommand::EConnecting;
- __VTPRINT( DEBUG_MEDIA, "MH.protoComC: EConnecting Connecting" )
- }
- }
- __VTPRINTEXITR( "MH.Connect err=%d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AddVideoSource
-// Adds video source.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::AddVideoSource( TUint aChannelId )
- {
- __VTPRINTENTER( "MH.AddVideoSource" )
-
- if( !MediaAddingValidity() )
- return KErrCancel;
-
- TInt cmdId( 0 );
- TRAPD( err, cmdId = iSessionCommand->AddVideoSourceL(
- aChannelId, *iLocalVideo->Source() ) );
- if ( err == KErrNone )
- {
- const TInt res( AddOperation( EAddVideoSource, cmdId ) );
- if ( res >= KErrNone )
- {
- iRemoteMediaState |= EMediaVideoPreparing;
- }
- else
- {
- err = res;
- }
- }
- if ( err != KErrNone )
- {
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- }
- __VTPRINTEXITR( "MH.AddVideoSource %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AddAudioSource
-// Adds audio source.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::AddAudioSource( TUint aChannelId )
- {
- __VTPRINTENTER( "MH.AddAudioSource" )
-
- if( !MediaAddingValidity() )
- return KErrCancel;
-
- TInt cmdId( 0 );
- TInt err( KErrNone );
- // Only for target compilations.
-#if !defined( __WINS__ )
- err = iLocalVideo->CreateAudioSource();
- if ( err == KErrNone )
- {
- TRAP( err, cmdId = iSessionCommand->AddAudioSourceL(
- aChannelId, *iLocalVideo->AudioSource() ) );
- }
-#endif // !__WINS__
-#if defined (__WINS__)
- aChannelId = aChannelId; // Remove compilation warnings with CW.
-#endif // __WINS__
-
- if ( err == KErrNone )
- {
- const TInt res( AddOperation( EAddAudioSource, cmdId ) );
- if ( res < KErrNone )
- {
- err = res;
- }
- }
- if ( err != KErrNone )
- {
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- }
- if ( IsFlag( ESourceUpdateNeeded ) )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.AddASource updateProvider" )
- ClearFlag( ESourceUpdateNeeded );
- // Generate event
- iLocalVideo->vsProvidersChanged(
- iSelectedCameraId == MVtEngMedia::EPrimaryCamera );
- }
- __VTPRINTEXITR( "MH.AddAudioSource %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AddVideoSinkL
-// Adds video sink.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::AddVideoSink( TUint aChannelId )
- {
- __VTPRINTENTER( "MH.AddVideoSink" )
-
- if( !MediaAddingValidity() )
- return KErrCancel;
-
- TInt cmdId( 0 );
- TRAPD( err, cmdId = iRemoteVideo->AddVideoSinkL( aChannelId ) );
- if ( err == KErrNone )
- {
- const TInt res( AddOperation( EAddVideoSink, cmdId ) );
- if ( res >= KErrNone )
- {
- iRemoteMediaState |= EMediaVideoPreparing;
- }
- else
- {
- err = res;
- }
- }
- if ( err != KErrNone )
- {
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- }
- __VTPRINTEXITR( "MH.AddVideoSink %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AddAudioSink
-// Adds audio sink.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::AddAudioSink( TUint aChannelId )
- {
- __VTPRINTENTER( "MH.AddAudioSink" )
-
- if( !MediaAddingValidity() )
- return KErrCancel;
-
- TInt cmdId( 0 );
- TRAPD( err, cmdId = iRemoteVideo->AddAudioSinkL( aChannelId ) );
- if ( err == KErrNone )
- {
- const TInt res( AddOperation( EAddAudioSink, cmdId ) );
- if ( res >= KErrNone )
- {
- iRemoteMediaState |= EMediaAudioPreparing;
- }
- else
- {
- err = res;
- }
- }
- if ( err != KErrNone )
- {
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- }
- __VTPRINTEXITR( "MH.AddAudioSink %d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::RemoveOperation
-// Removes an operation from stored operations.
-// -----------------------------------------------------------------------------
-//
-template<class T>
-TBool CVtEngMediaHandler::RemoveOperation( const T& aOp )
- {
- TBool removed( EFalse );
- const TInt pos( IsPending( aOp ) );
- if ( pos != KErrNotFound )
- {
- __VTPRINT3( DEBUG_MEDIA, "MH.RemoveOp removed index=%d TOperation=%d",
- pos, ( *iPendingOps )[ pos ].iOp )
- iPendingOps->Delete( pos );
- removed = ETrue;
- }
- return removed;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AddOperation
-// Adds operation to operations pending completion.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::AddOperation(
- const TOperation aOp,
- TInt aCmdId,
- const TBool aResetExisting )
- {
- if ( aResetExisting )
- {
- iPendingOps->Reset();
- }
- TCmdOpPair opPair;
- opPair.iOp = aOp;
- opPair.iProtoCmdId = aCmdId;
- // this should never leave because SetReserveL called in ConstructL
- TRAPD( err, iPendingOps->AppendL( opPair ) );
- if ( err != KErrNone )
- {
- CVtEngEventManager::NotifyEvent( KVtEngResourceMemAllocFailure );
- return err;
- }
- const TInt count( iPendingOps->Count() );
- __VTPRINT3( DEBUG_MEDIA, " MH.op added. op=%d,cmdId=%d", aOp, aCmdId )
- __VTPRINT2( DEBUG_MEDIA, " count=%d", count )
- return ( count - 1 );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::IsPending
-// Checks if a command is set to be completed.
-// Checking is done based on operation.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::IsPending( const TOperation aOp ) const
- {
- const TInt count( iPendingOps->Count() );
- for ( TInt i = 0; i < count ; i++ )
- {
- if ( aOp == ( *iPendingOps )[ i ].iOp )
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.IsPending VT Op index=%d", i )
- return i;
- }
- }
- __VTPRINT( DEBUG_MEDIA, "MH.IsPending VT Op NOT FOUND" )
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::IsPending
-// Checks if a command is set to be completed.
-// Checking is done based on command id.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::IsPending( const TInt aCmdId ) const
- {
- const TInt count( iPendingOps->Count() );
- for ( TInt i = 0; i < count ; i++ )
- {
- if ( aCmdId == ( *iPendingOps )[ i ].iProtoCmdId )
- {
- __VTPRINT3( DEBUG_MEDIA, "MH.IsPending ProtoCmdId=%d index=%d",
- aCmdId, i )
- return i;
- }
- }
- __VTPRINT( DEBUG_MEDIA, "MH.IsPending ProtoCmdId NOT FOUND" )
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::CompleteOp
-// Asynchronous command completion.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::CompleteOp( const TInt aResult )
- {
- CVtEngOperation* opToComplete = iPendingOp;
- TInt err( KErrNotFound );
- if ( opToComplete )
- {
- iPendingOp = NULL;
- opToComplete->HandleOpComplete( aResult );
- err = KErrNone;
- }
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AsyncCompleteOp
-// Asynchronous command completion.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::AsyncCompleteOp( const TInt aResult )
- {
- iAsyncCallback->Cancel();
- iAsyncCompleteOpResult = aResult;
- iAsyncCallback->Start( TCallBack( DoCompleteOp, this ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::MatchResponseToPendingOps
-// Checks if a response matches corresponding operation.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::MatchResponseToPendingOps(
- const TInt aProtoCmdId,
- const TOperation aOperation,
- TInt* aIndex )
- {
- const TInt index( IsPending( aOperation ) );
- TBool entryFound( EFalse );
- if ( index != KErrNotFound )
- {
- const TCmdOpPair opPair = ( *iPendingOps )[index];
- if ( opPair.iProtoCmdId == aProtoCmdId )
- {
- entryFound = ETrue;
- if ( aIndex )
- {
- *aIndex = index;
- }
- }
- }
- __VTPRINT2( DEBUG_MEDIA, "MH.MatchRespToOp was found=%d", entryFound )
- return entryFound;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::StartDisconnectTimerL
-// Starts the disconnect timer.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::StartDisconnectTimerL()
- {
- __VTPRINT( DEBUG_MEDIA, "MH. start disc.timer" )
- if ( iTimer == NULL )
- {
- TCallBack cb( CVtEngMediaHandler::TimerCallback, NULL );
- iTimer = CPeriodic::NewL( 0 );
- iTimer->Start( KVtEngDisconnectionTimer,
- KVtEngDisconnectionTimer,
- cb );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::NextUninitStepCallbackL
-// Proceeds to next uninitializatioin step asynchronously.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::NextUninitStepCallbackL()
- {
- __VTPRINTENTER( "MH.NextUninitStepCallbackL" )
- if ( !iNextStepCallback )
- {
- // perform asap => high priority
- TCallBack cb( CVtEngMediaHandler::UninitCallback, this );
- iNextStepCallback = new ( ELeave ) CAsyncCallBack(
- cb, CActive::EPriorityHigh );
- iNextStepCallback->CallBack();
- }
- __VTPRINTEXIT( "MH.NextUninitStepCallbackL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::UninitCallback
-// Asynch callback method for uninitialization.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::UninitCallback( TAny* aAny )
- {
- __VTPRINTENTER( "MH.UninitCallback" )
- CVtEngMediaHandler* handler = static_cast<CVtEngMediaHandler*>( aAny );
- delete handler->iNextStepCallback;
- handler->iNextStepCallback = NULL;
- handler->UninitializeNextStep();
- __VTPRINTEXIT( "MH.UninitCallback" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AssignPendingOp
-// Assigns operation and completes pending if necessary.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::AssignPendingOp(
- CVtEngOperation& aOperation,
- TInt aReplaceError )
- {
- TInt result = KErrNone;
- if ( iPendingOp )
- {
- if ( aReplaceError != KErrNone &&
- // if terminating don't allow other commands
- iPendingOp->Command() != KVtEngTerminateSession )
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.Assign op replace err=", aReplaceError )
- CompleteOp( aReplaceError );
- // indicate previous operation was "cancelled" (even though it is
- // not really cancelled, we still get callback!)
- result = KErrCancel;
- }
- else
- {
- // not allowed to assign new operation
- result = KErrGeneral;
- }
- }
- if ( result != KErrGeneral )
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.AssignPendingOp=%d", aOperation.Command() )
- iPendingOp = &aOperation;
- }
- __VTPRINT2( DEBUG_MEDIA, "MH.AssignPendingOp.res=%d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::DoCompleteOp
-// Implementation of command completion.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::DoCompleteOp( TAny* aAny )
- {
- CVtEngMediaHandler* self = static_cast< CVtEngMediaHandler* >( aAny );
- self->CompleteOp( self->iAsyncCompleteOpResult );
- self->iAsyncCompleteOpResult = KErrNone;
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::GetPendingCommand
-//
-// -----------------------------------------------------------------------------
-//
-TVtEngCommandId CVtEngMediaHandler::GetPendingCommand()
- {
- if ( iPendingOp )
- {
- return iPendingOp->Command();
- }
- return KVtEngCommandNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::AssertFlag
-// Checks flag's validity.
-// -----------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-void CVtEngMediaHandler::AssertFlag( const TInt aFlag ) const
-#else
-void CVtEngMediaHandler::AssertFlag( const TInt /* aFlag */ ) const
-#endif // _DEBUG
- {
- __ASSERT_DEBUG(
- aFlag == EProtoAudioSourceAdded ||
- aFlag == EProtoVideoSourceAdded ||
- aFlag == EProtoAudioSinkAdded ||
- aFlag == EProtoVideoSinkAdded ||
- aFlag == EProtoAudioTrackPaused ||
- aFlag == EProtoVideoTrackPaused ||
- aFlag == ETwoStageOperation ||
- aFlag == EProtoPauseVideoRequested ||
- aFlag == EProtoPauseVideoBlankProv ||
- aFlag == EProtoContVideoBlankProv ||
- aFlag == EProtoContVideoBlankInit ||
- aFlag == ESourceUpdateNeeded ||
- aFlag == EProtoSendIntraFrame ||
- aFlag == EProto324IFAcquired ||
- aFlag == EProtoCancelProtoCmdsOk ||
- aFlag == EVideoQualitySetByPeer ||
- aFlag == EOutVideoChannelClosed ||
- aFlag == EOutAudioChannelClosed,
- Panic( EVtEngPanicInvalidFlag ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::IsFlag
-// Checks if a certain flag is set.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::IsFlag( const TInt aFlag ) const
- {
- AssertFlag( aFlag );
- if ( iProtoStateFlags & aFlag )
- {
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SetFlag
-// Sets flag on.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::SetFlag( const TInt aFlag )
- {
- AssertFlag( aFlag );
- iProtoStateFlags |= aFlag;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ClearFlag
-// Removes a flag.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::ClearFlag( const TInt aFlag )
- {
- AssertFlag( aFlag );
- iProtoStateFlags &= ~aFlag;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SetVolume
-// Sets volume values to Protocol.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::SetVolume(
- const TInt aVolume,
- CVtEngOperation* aOperation )
- {
- __VTPRINTENTER( "MH.SetVolume" )
- TInt res( KErrNotFound );
- __VTPRINT2( DEBUG_MEDIA, " vol=%d", aVolume )
- if ( iAudioCtrl )
- {
- TInt id( 0 );
- // Max volume cannot be zero.
- TInt vol( ( CVtEngUtility::Settings().ValidVolume( aVolume ) ) *
- ( iProtoMaxVolume / CVtEngUtility::Settings().MaxVolume() ) );
- __VTPRINT2( DEBUG_MEDIA, "CVtEngMediaHandler::SetVolumeL, vol=%d", vol )
- TRAP( res, id = iAudioCtrl->SetAudioVolumeL( vol ) );
- if ( res == KErrNone )
- {
- AddOperation( ESetAudioVolume, id );
- if( aOperation )
- {
- AssignPendingOp( *aOperation );
- }
- }
- }
- __VTPRINTEXITR( "MH.SetVolume %d", res )
- return res;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::RequestAudioControllerL
-// Requests controllers for audio output and input
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::RequestAudioControllerL()
- {
- __VTPRINTENTER( "MH.RequestAudioControllerL" )
- __VTPRINT( DEBUG_MEDIA, "MH.RequestAudioControllerL" )
- __ASSERT_ALWAYS(iSessionCommand, Panic( EVtEngPanicInvalidAudioPointer ) );
-
- TInt id( 0 );
- iAudioCtrl = VTProtocolFactory::GetAudioConfigCommandL(iRemoteVideo->AudioSink());
-
- if ( !iAudioCtrl )
- {
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- __VTPRINTEXIT( "MH.RequestAudioControllerL Failed" )
- return EFalse;
- }
- iAudioCtrl->SetObserverL( this );
-
- // Get the max value for Protocol volume
- TRAPD ( res, id = iAudioCtrl->GetMaxAudioVolumeL( iProtoMaxVolume ) ) ;
- __VTPRINT2( DEBUG_MEDIA, "MH.RequestAudioControllerL: err=%d",res )
- if ( res != KErrNone)
- {
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- __VTPRINTEXIT( "MH.RequestAudioControllerL" )
- return EFalse;
- }
-
- res = AddOperation( EGetAudioGetMaxVolume, id );
- if ( res < KErrNone ) // res is index
- {
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- __VTPRINT2( DEBUG_MEDIA, "MH.RequestAudioControllerL::res=%d", res )
- }
- __VTPRINTEXIT( "MH.RequestAudioControllerL" )
- return ETrue;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleSpatialTradeoffIndication
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleSpatialTradeoffIndication(
- const TUint16 aLogicalChannelId, const TUint8 aTradeOff )
- {
- __VTPRINTENTER( "MH.HandleSpatialTradeoffIndication" )
- __VTPRINT3( DEBUG_MEDIA,
- "MH.HandleSpatialTradeoffIndication id=%d tradeOff=%d",
- aLogicalChannelId, aTradeOff )
- ( void ) aLogicalChannelId;
- iVideoQuality.UpdateVideoQuality( iVideoQuality.FromTradeOff( aTradeOff ) );
- __VTPRINTEXIT( "MH.HandleSpatialTradeoffIndication" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleSpatialTradeoffCommandL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleSpatialTradeoffCommandL(
- const TUint16, const TUint8 aTradeOff )
- {
- __VTPRINTENTER( "MH.HandleSpatialTradeoffCommandL" )
- SetVideoQualityL( iVideoQuality.FromTradeOff( aTradeOff ), EFalse );
- __VTPRINTEXIT( "MH.HandleSpatialTradeoffCommandL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::EnableVideoL
-// Enables/Disables video sending.
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler::TOperation CVtEngMediaHandler::EnableVideoL(
- const TBool aEnable, const TOperation aOp )
- {
- __VTPRINTENTER( "MH.EnableVideoL" )
- __VTPRINT3( DEBUG_MEDIA | DEBUG_DETAIL, "MH.EnableV en=%d state=%d",
- aEnable, iProtoState )
- TInt cmdId( 0 );
- TInt err( KErrNone );
- TOperation op( ENone );
- MVtEngMedia::TMediaSource currentSource;
- GetSource( currentSource );
-
- // Videosource is added and Protocol is in connected state.
- if ( IsFlag( EProtoVideoSourceAdded ) && iSessionCommand )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL, "MH.EnableV source=%d",
- currentSource )
- // Has an actual source been selected.
- if ( ( currentSource == EMediaNone ) || ( currentSource == EMediaShare ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.EnaLocVideo blank" )
- if ( aEnable && IsPending( EEnableVideo) == KErrNotFound )
- {
- ClearFlag( EProtoPauseVideoRequested );
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH. Calling ResumeL on Protocol" )
- TRAP( err, cmdId = iSessionCommand->ResumeVideoL( *iLocalVideo->Source() ) );
- if ( err != KErrNone )
- {
- // Log the error and leave, UI handles the rest
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.EnaLocVideo PauseL left=%d", err )
- __VTPRINTEXIT( "MH.EnableVideoL" )
- User::Leave( err );
- }
- else
- {
- op = aOp;
- AddOperation( aOp, cmdId );
- }
- }
- // Video to be paused.
- else if( !aEnable && IsPending( EDisableVideo ) )
- {
- op = DoPauseVideo();
- }
- }
- else // camera or still image
- {
- if ( !aEnable && IsPending( EDisableVideo ) )
- {
- // Pause video
- op = DoPauseVideo();
- }
- }
- }
- else // Not connected and sources not added yet
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.enavideo not conn" )
- // If we are initializing, then this has to be executed
- if ( IsFlag( EProtoContVideoBlankProv ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.enavideo blank cont" )
- ClearFlag( EProtoContVideoBlankProv );
- SetFlag( EProtoContVideoBlankInit );
- }
-
- if ( aEnable )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.EnableV clear pending" )
- // Ensure that video sending is enabled in data source.
- iLocalVideo->ResumeVideoSending();
- ClearFlag( EProtoPauseVideoRequested );
- }
- else
- {
- iLocalVideo->PauseVideoSending();
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL, "MH.EnableV set pending" )
- SetFlag( EProtoPauseVideoRequested );
- }
- }
-
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL, "MH.EnableV=%d", err )
- __VTPRINTEXITR( "MH.EnableVideoL %d", op )
- return op;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::DoPauseVideo
-// Does video pausing.
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler::TOperation CVtEngMediaHandler::DoPauseVideo()
- {
- __VTPRINTENTER( "MH.DoPauseVideo" )
- TInt cmdId( 0 );
- TOperation op( ENone );
- __VTPRINT( DEBUG_MEDIA, "MH. Calling PauseL on Protocol" )
- TRAPD( err, cmdId = iSessionCommand->PauseVideoL( *iLocalVideo->Source() ) );
- if ( err != KErrNone )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.DoPauseVideo PauseL left=%d", err )
- // Remove the 2 stage flag, since PauseL failed.
- // Command should be completed.
- if( IsFlag( ETwoStageOperation ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- " Disable 2 stage clearance" )
- ClearFlag( ETwoStageOperation );
- }
- }
- else
- {
- AddOperation( EDisableVideo, cmdId );
- op = EDisableVideo;
- __VTPRINT( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.DisaLocVideo PauseL issued" )
- }
- ClearFlag( EProtoPauseVideoRequested );
- __VTPRINTEXITR( "MH.DoPauseVideo %d", op )
- return op;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleAudioOutputControlCommandComplete
-// Callback function for audio controller commands.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleAudioOutputControlCommandComplete(TInt aId,
- TVtAudioOutputControlCommand aCmd,
- TAny* /*aContextData*/,
- TInt aStatus)
- {
- __VTPRINTENTER( "MH.HandleAudioOutputControlCommandComplete" )
- __VTPRINT2( DEBUG_MEDIA, "MH.AudioComC CMD=%d", aCmd )
- __VTPRINT2( DEBUG_MEDIA, "MH.AudioComC cmdId=%d", aId )
- __VTPRINT2( DEBUG_MEDIA, "MH.AudioComC stat=%d", aStatus )
-
- switch ( aCmd )
- {
- case EVtAudioOutputControlGetMaxVolume:
- RemoveOperation( aId );
- InitializeVolume();
- break;
- case EVtAudioOutputControlSetVolume:
- __VTPRINT2( DEBUG_MEDIA, "MH.protoComC SetVolume=%d",
- iUpdateVolumeRequired )
-
- RemoveOperation( aId );
-
- if ( iUpdateVolumeRequired )
- {
- iUpdateVolumeRequired = EFalse;
- UpdateVolume();
- }
-
- if ( IsPending( ESetAudioVolume ) == KErrNotFound &&
- iPendingOp == iPendingVolumeOp )
- {
- iPendingVolumeOp = NULL;
- CompleteOp( aStatus );
- }
- break;
- case EVtAudioOutputControlGetBalance:
- case EVtAudioOutputControlSetBalance:
- case EVtAudioOutputControlGetVolume:
- default:
- break;
- }
- __VTPRINTEXIT( "MH.HandleAudioOutputControlCommandComplete" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::InitializeVolume
-// Sets the 'beginning' values for volume.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::InitializeVolume()
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.InitializeVolume: max vol=%d", iProtoMaxVolume )
- iUpdateVolumeAllowed = ETrue;
- UpdateVolume();
- if ( iLocalVideo )
- {
- iLocalVideo->UnMute();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::DisconnectProtoL
-// Does the disconnecting of Protocol.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::DisconnectProtoL()
- {
- __VTPRINTENTER( "MH.DisconnectProtoL" )
- __VTPRINT2( DEBUG_MEDIA, "MH.DisconnectProto with Protocol state=%d",
- iProtoState )
- TInt cmdId( 0 );
- // The two states that require disconnecting
- if ( iProtoState == MVtProtocolCommand::EConnected ||
- iProtoState == MVtProtocolCommand::EConnecting )
- {
- __VTPRINT( DEBUG_MEDIA, "MH. Calling DisconnectFromProtocolL on Protocol" )
- TRAPD( err, cmdId = iSessionCommand->DisconnectFromProtocolL() );
- if ( err == KErrNone )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.protoCom: Disconnecting" )
- AddOperation( EDestructProtoPhaseDisconnect, cmdId );
- iProtoState = MVtProtocolCommand::EDisconnecting;
- StartDisconnectTimerL();
- }
- else
- {
- // Canceling the disconnect to notify that it has failed
- __VTPRINT2( DEBUG_MEDIA, "MH.DisconnectProto erronous=%d", err )
- cmdId = err;
- }
- }
- else {
- cmdId = KErrNotSupported;
- }
- __VTPRINTEXITR( "MH.DisconnectProtoL cmdId=%d", cmdId )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::CancelAllProtoCommands
-// Cancels all commands pending for execution in Proto.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::CancelAllProtoCommands( TOperation &aOp )
- {
- __VTPRINTENTER( "MH.CancelAllProtoCommands" )
- TInt err( KErrNotReady );
- aOp = ENone;
- if ( IsPending( EUninitializeCancelAllProto ) != KErrNotFound )
- {
- aOp = EUninitializeCancelAllProto;
- // Indicate difference from started cancellation with error code.
- err = KErrAlreadyExists;
- }
- else if ( iSessionCommand && iPendingOps && !IsFlag( EProtoCancelProtoCmdsOk ) )
- {
- if ( iPendingOps->Count() )
- {
- __VTPRINT( DEBUG_MEDIA, "MH. Calling CancelAllCommandsL on Proto" )
- TInt cmdId( 0 );
- TRAP( err, ( cmdId = iSessionCommand->CancelAllCommandsL() ) );
- __VTPRINT2( DEBUG_MEDIA | DEBUG_DETAIL,
- "MH.CancelAllProtoCommands cmdId=%d", cmdId )
- if ( cmdId && err == KErrNone )
- {
- aOp = EUninitializeCancelAllProto;
- SetFlag( EProtoCancelProtoCmdsOk );
- AddOperation( aOp, cmdId );
- }
- // completes in CommandCompletedL
- }
- else {
- // mark there's nothing to cancel
- SetFlag( EProtoCancelProtoCmdsOk );
- }
- }
- __VTPRINTEXITR( "MH.CancelAllProtoCommands err=%d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ProtoInitialized
-// Proto init completed.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::ProtoInitialized() const
- {
- return iSessionCommand ? ETrue : EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TimerCallback
-// Callback method for timer expiration.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::TimerCallback( TAny* /*aAny*/ )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.TimerCallback -> PANIC " )
- Panic( EVtEngPanicDisconnectTimerExpired );
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SetVersionInfoL
-// Sets version information to Proto.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::SetVersionInfoL( )
- {
- __VTPRINTENTER( "MH.SetVersionInfoL" )
-
- if ( !iH324Config )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.SetVersion not ready" )
- User::Leave( KErrNotReady );
- }
-
- // Current new line character index
- TInt index( 0 );
-
- // Version information from SysUtil
- HBufC* versionInfo16 = HBufC::NewLC( KVtEngSwVersionTextLength );
-
- // Pointer to SysUtil versionInfo descriptor. Temporary pointer to
- // handle data.
- TPtr versionInfoptr16( versionInfo16->Des() );
-
- // SW Version and product information buffers to be send to peer.
- HBufC8* version = HBufC8::NewLC( KVtEngSwVersionTextLength );
- HBufC8* product = HBufC8::NewLC( KVtEngSwVersionTextLength );
- TPtr8 versionPtr8( version->Des() );
- TPtr8 productPtr8( product->Des() );
-
- // Marker for line ending '\n'
- const TChar endLine( KVtEngCharacterEndLine );
-
- TInt err = ( SysUtil::GetSWVersion( versionInfoptr16 ) );
- if ( err != KErrNone || !versionInfoptr16.Length() )
- {
- __VTPRINT2( DEBUG_MEDIA, "MH.SetVersion SU: %d", err )
- __VTPRINTEXIT( "MH.SetVersionInfoL" )
- return;
- }
-#ifdef VTDEBUG
- RDebug::Print( _L("SysUtil::GetSWVersion: %s"), versionInfoptr16.Ptr() );
-#endif
- // Construct similar buffer than for version information and get po
- HBufC* productInfo16 = versionInfo16->AllocLC();
- TPtr productInfoptr16( productInfo16->Des() );
-
- // We assume that format from file is:
- // SW version\ndate\nproduct\nmanufacturer
- // \n is new line character
-
- // Find first new line character
- index = versionInfo16->Locate( endLine );
- if ( index >= 0 )
- {
- // Replace new line character using space.
- versionInfoptr16[ index ] = KVtEngCharacterSpace ;
-
- // Find second new line character, this ends the version information
- index = versionInfo16->Locate( endLine );
- if ( index >= 0 )
- {
- // Take version information and ignore product info.
- versionInfoptr16 = versionInfo16->Left( index );
-
- // Take product information and ignore version information.
- productInfoptr16 = productInfo16->Mid( index + 1 );
-
- // Find the only remaining new line character.
- index = productInfoptr16.Locate( endLine );
-
- // Replace new line character using space.
- productInfoptr16[ index ] = KVtEngCharacterSpace;
-
- // Copy 16 bit descriptors to 8 bit descriptors and append
- // zero terminators.
- versionPtr8.Copy( versionInfoptr16 );
- versionPtr8.ZeroTerminate();
- productPtr8.Copy( productInfoptr16 );
- productPtr8.ZeroTerminate();
-
- // Set the info to Protocol
-#ifdef VTDEBUG
- RDebug::Print(_L("MH.Product: %s" ), productPtr8.Ptr() );
- RDebug::Print(_L("MH.Version: %s" ), versionPtr8.Ptr() );
-#endif //VTDEBUG
-
- AddOperation( ESetVendorId,
- iH324Config->SetVendorId( KVtEngCountryCodeForProto,
- KVtEngExtensionForProto,
- KVtEngManufacturerForProto, &productPtr8, &versionPtr8 ) );
- }
- }
- CleanupStack::PopAndDestroy( 4 ); // HBufC's
- __VTPRINTEXIT( "MH.SetVersionInfoL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::RequestFrame
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::RequestFrame( )
- {
- __VTPRINTENTER( "MH.RequestFrame" )
- if ( !iH263Encoder )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.RequestFrame FAILED")
- return;
- }
- AddOperation( ESendIntraframe,iH263Encoder->RequestNextIntraFrame() );
- ClearFlag( EProtoSendIntraFrame );
-
- __VTPRINTEXIT( "MH.RequestFrame" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SetVideoQualityL
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::SetVideoQualityL(
- const TVideoQuality aVideoQuality, const TBool aSetPeerVideoQuality )
- {
- __VTPRINTENTER( "MH.SetVideoQualityL" )
- if ( !iH263Encoder )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.SetVideoQualityL FAILED")
- return;
- }
- SetFlag( EVideoQualitySetByPeer );
- TInt protoOperId( iH263Encoder->SetVideoFrameRate(
- iVideoQuality.ToFrameRate( aVideoQuality ) ) );
- AddOperation( ESetVideoQuality, protoOperId );
- iVideoQuality.SettingVideoQuality( protoOperId,
- aVideoQuality, aSetPeerVideoQuality );
- __VTPRINTEXIT( "MH.SetVideoQualityL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SetPeerVideoQuality
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::SetPeerVideoQuality( const TVideoQuality aVideoQuality )
- {
- __VTPRINTENTER( "MH.SetPeerVideoQuality" )
- AddOperation( ESendVTSTO, iH324Config->SendVideoTemporalSpatialTradeoffCommand(
- iVideoIncomingLogicalChannel.iLogicalChannelId,
- iVideoQuality.ToTradeOff( aVideoQuality ) ) );
- __VTPRINTEXIT( "MH.SetPeerVideoQuality" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleVideoEncoderCommandCompletedL
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleVideoEncoderCommandCompletedL(
- const TVtCommandResponse& aResponse )
- {
- __VTPRINTENTER( "MH.EncExtCommandCompleted" )
- const TInt type( aResponse.iCmdType );
- const TInt protoCmdId( aResponse.iCmdId );
- const TInt protoResponse( aResponse.iCmdStatus );
- __VTPRINT2( DEBUG_MEDIA, "MH.263 ComC type=%d", type )
- __VTPRINT3( DEBUG_MEDIA, "MH.263 ComC cmdId=%d,response=%d",
- protoCmdId, protoResponse )
-
- // Find correct entry in iPendingOps based on TOperation because there can
- // be several entries with same Protocol cmd id since each Protocol interface has their
- // own id allocation and ids may overlap.
- TInt index( KErrNotFound );
- TOperation completedOp = ENone;
- if ( MatchResponseToPendingOps( protoCmdId, ESendIntraframe, &index ) ||
- MatchResponseToPendingOps( protoCmdId, ESetIFrameInterval, &index ) ||
- MatchResponseToPendingOps( protoCmdId, ESetVideoQuality, &index ) )
- {
- // TOperation entries in are unique in the array...
- const TCmdOpPair pair = (*iPendingOps)[ index ];
- completedOp = pair.iOp;
- // ...so remove based on that instead of protoCmdId
- RemoveOperation( completedOp );
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, "MH.EECC ERROR (response to unknown command)" )
- }
- if ( completedOp == ESetVideoQuality )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.EECC ESetVideoQuality" )
- if( iPendingOp && ( iPendingOp->Command() == KVtEngSetVideoQuality ) )
- {
- CompleteOp( protoResponse );
- }
- if( protoResponse == KErrNone )
- {
- TVtEngVideoQuality::TVQSParams vqp;
-
- if ( iVideoQuality.SettingSucceeded( protoCmdId, vqp ) )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.EECC sending vq indication" )
- AddOperation( ESendVTSTO,
- iH324Config->SendVideoTemporalSpatialTradeoffIndication(
- iVideoOutgoingLogicalChannel.iLogicalChannelId,
- iVideoQuality.ToTradeOff( vqp.iValue ) ) );
- if ( vqp.iSetPeer )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.EECC setting peer vq" )
- SetPeerVideoQuality( vqp.iValue );
- }
- }
- }
- else
- {
- iVideoQuality.SettingFailed( protoCmdId );
- }
- }
- if ( iProtoState == MVtProtocolCommand::EIdle )
- { // Command was complete during uninitialization.
- NextUninitStepCallbackL();
- }
- __VTPRINTEXIT( "MH.EncExtCommandCompleted" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleVideoEncoderInformationalEventL
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleVideoEncoderInformationalEventL(
- const TVtIndicationEvent& aEvent)
- {
- const TInt type( aEvent.iEventType );
- __VTPRINT2( DEBUG_MEDIA, "MH.263 infoevent=%d", type )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleH324MConfigCommandCompletedL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleH324MConfigCommandCompletedL(
- const TVtCommandResponse& aResponse )
- {
- __VTPRINTENTER( "MH.HandleH324MConfigCommandCompletedL" )
- const TInt protoCmdId( aResponse.iCmdId );
- const TInt protoResponse( aResponse.iCmdStatus );
- const TInt type( aResponse.iCmdType );
-
- __VTPRINT2( DEBUG_MEDIA, "MH.HandleH324MConfigCommandCompletedL type=%d", type )
- __VTPRINT3( DEBUG_MEDIA, "MH.HandleH324MConfigCommandCompletedL cmdId=%d,response=%d", protoCmdId, protoResponse )
- TInt index( KErrNotFound );
- // Find correct entry in iPendingOps based on TOperation because there can
- // be several entries with same Protocol cmd id since each Protocol interface has their
- // own id allocation and ids may overlap.
- if ( MatchResponseToPendingOps( protoCmdId, ESetVendorId, &index ) ||
- MatchResponseToPendingOps( protoCmdId, ESendVTSTO, &index ) ||
- MatchResponseToPendingOps( protoCmdId, ESetSupportedResolutions, &index ) ||
- MatchResponseToPendingOps( protoCmdId, ESetFastCsupOptions, &index ) )
- {
- // TOperation entries in are unique in the array...
- const TCmdOpPair pair = (*iPendingOps)[ index ];
- // ...so remove based on that instead of protoCmdId
- RemoveOperation( pair.iOp );
- }
- switch( iProtoState )
- {
- case MVtProtocolCommand::EConnected:
- {
- CVtEngStateManager* stateManager = CVtEngUtility::StateManager();
-
- // Check does the received command ID match to command ID that was received
- // from Protocol when DTMF was send.
- if( stateManager->Handlers().Dtmf().CheckCommandId( protoCmdId ) )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.Complete DTMF" )
- stateManager->Handlers().Dtmf().SendComplete( protoResponse );
- }
- }
- break;
- case MVtProtocolCommand::EIdle: // extension command complete
- NextUninitStepCallbackL();
- default:
- break;
- }
-
- __VTPRINTEXITR( "MH.HandleH324MConfigCommandCompletedL.CommandID %d", aResponse.iCmdId )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::HandleH324MConfigInformationalEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::HandleH324MConfigInformationalEventL(
- const TVtIndicationEvent& aEvent )
- {
- __VTPRINTENTER( "MH.HandleH324MConfigInformationalEventL" )
-
- const TInt type( aEvent.iEventType );
- const TUint8* buffer = (const_cast<TVtIndicationEvent&>(aEvent)).iLocalBuffer;
-
- switch(type)
- {
- case EVtIndicationVideoSpatialTamporalTradeOffIndication:
- case EVtIndicationVideoSpatialTamporalTradeOffCommand:
- {
- TUint16 logicalChannelId = BigEndian::Get16( buffer );
- TUint8 tradeOffValue = buffer[ 2 ];
- __VTPRINT3( DEBUG_MEDIA, "MH.protoHIE.H324 channelId=%d, tradeOff=%d",
- logicalChannelId, tradeOffValue )
- if( type ==
- EVtIndicationVideoSpatialTamporalTradeOffIndication )
- {
- HandleSpatialTradeoffIndication( logicalChannelId,
- tradeOffValue );
- }
- else
- {
- HandleSpatialTradeoffCommandL( logicalChannelId,
- tradeOffValue );
- }
- }
- break;
-
- // When remote terminal sends its UII capabilities in TCS we get
- // indication from Protocol. If remote does not send UII capas in TCS
- // we are obliged to use alphanumeric UIIs as specified by 245
- // spec. Default is IA5String.We get bit pattern from Protocol but
- // they are listed below in preferred order of usage.
- // The order can be freely chosen.
- case EVtIndicationUserInputCapability:
- {
-#ifdef VTDEBUG
- RDebug::Print(_L("Buffer[0]:%d"), buffer[0] );
-#endif // VTDEBUG
- __VTPRINT( DEBUG_MEDIA,
- "MH.protoHIE UserInput Capability Indication" )
-
- CVtEngStateManager* stateManager =
- CVtEngUtility::StateManager();
-
- // IA5String preferred, it's the simplest and most used in TCSs.
- if ( buffer[0] & CVtEngDtmfHandler::EIA5String )
- {
- stateManager->Handlers().Dtmf().SetUIISupport(
- CVtEngDtmfHandler::EIA5String );
- CVtEngEventManager::NotifyEvent(
- KVtEngRemoteUIIIA5StringSupport );
- __VTPRINT( DEBUG_MEDIA,
- "KVtEngRemoteUIIIA5StringSupport Support signalled" )
- }
- // Basic string is also simple and easy to use, second position.
- else if ( buffer[0] & CVtEngDtmfHandler::EBasicString )
- {
- stateManager->Handlers().Dtmf().SetUIISupport(
- CVtEngDtmfHandler::EBasicString );
- CVtEngEventManager::NotifyEvent(
- KVtEngRemoteUIIBasicStringSupport );
- __VTPRINT( DEBUG_MEDIA,
- "KVtEngRemoteUIIBasicStringSupport Support signalled" )
- }
- // DTMFs are more limited but more interoperable than
- // General string.
- else if ( buffer[0] & CVtEngDtmfHandler::EDTMFString )
- {
- stateManager->Handlers().Dtmf().SetUIISupport(
- CVtEngDtmfHandler::EDTMFString );
- CVtEngEventManager::NotifyEvent( KVtEngRemoteUIIDtmfSupport );
- __VTPRINT( DEBUG_MEDIA,
- "KVtEngRemoteUIIDtmfSupport Support signalled" )
- }
- // General string is the complicated one, priority is
- // lowest because of possible diffuculties in remote
- // end decoding of string (various number of letter
- // combinations).
- else if ( buffer[0] & CVtEngDtmfHandler::EGeneralString )
- {
- stateManager->Handlers().Dtmf().SetUIISupport(
- CVtEngDtmfHandler::EGeneralString );
- CVtEngEventManager::NotifyEvent(
- KVtEngRemoteUIIGeneralStringSupport );
- __VTPRINT( DEBUG_MEDIA,
- "KVtEngRemoteUIIGeneralStringSupport Support signalled" )
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, "MH.HIE invalid DTMF" )
- Panic( EVtEngPanicInvalidDtmfState );
- }
- }
- break;
- }
- __VTPRINTEXIT( "MH.HandleH324MConfigInformationalEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SetSupportedResolutionsL
-// Sets supported resolutions to protocol.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::SetSupportedResolutions()
- {
- __VTPRINTENTER( "MH.SetSupportedResolutions" )
- __ASSERT_ALWAYS( iH324Config != NULL, Panic( EVtEngPanicInvalidPointer ) );
-
- AddOperation( ESetSupportedResolutions,
- iH324Config->SetSupportedResolutions( ) );
- __VTPRINTEXIT( "MH.SetSupportedResolutions " )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::SetFastCsupOptions
-// Sets supported resolutions to Protocol.
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::SetFastCsupOptions()
- {
- __VTPRINTENTER( "MH.SetFastCsupOptions" )
-
- AddOperation(
- ESetFastCsupOptions,
- iH324Config->SetFastCsupOptions( ) );
- __VTPRINTEXIT( "MH.SetFastCsupOptions" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::CreateExtensionsL
-// Creates extension according to API Uid.
-// -----------------------------------------------------------------------------
-//
-CVtEngExtensionBase* CVtEngMediaHandler::CreateExtensionsL( const TUid& aUid )
- {
- __VTPRINTENTER( "MH.CreateExtensionsL" )
-
- // if UID is supported camera pref
- if ( aUid == KVtEngExtensionCameraPreferences )
- {
- __VTPRINT2( DEBUG_GEN, "MH.CreateExtensionsL extension UID=%d",
- aUid.iUid )
-
- CVtEngExtensionBase* base = reinterpret_cast< CVtEngExtensionBase* >
- ( iLocalVideo->CreateCameraPreferencesL() );
- __VTPRINTEXITR( "MH.CreateExtensionsL base [%d]", ( TInt )base )
- return base;
- }
-
-#if defined ( RD_VT_RTF )
-
- // if UID is supported R2F
- else if ( aUid == KVtEngExtensionRecord2File )
- {
- CVtEngExtensionBase* base = reinterpret_cast< CVtEngExtensionBase* >
- ( CVtEngRecord2File::NewL() );
- __VTPRINTEXITR( "MH.CreateExtensionsL base [%d]", ( TInt )base )
- return base;
- }
- // not supported UID
-
-#endif //RD_VT_RTF
-
- else
- {
- __VTPRINTEXITR( "MH.CreateExtensionsL error [%d]", KErrNotSupported )
- User::Leave( KErrNotSupported);
- return NULL;
- }
- }
-
-// Implementation for TVtEngVideoQuality
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::TVtEngVideoQuality
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler::TVtEngVideoQuality::TVtEngVideoQuality()
- : iCurrent( EVideoQualityNormal ), iParamList( 1 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::~TVtEngVideoQuality
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler::TVtEngVideoQuality::~TVtEngVideoQuality()
- {
- iParamList.Reset();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::SettingVideoQuality
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::TVtEngVideoQuality::SettingVideoQuality(
- TInt aId, const TVideoQuality aValue, TBool aSetPeer )
- {
- __VTPRINTENTER( "MH.VQ.SettingVideoQuality" )
- iParamList.Append( TVQSParams( aId, aValue, aSetPeer ) );
- __VTPRINTEXIT( "MH.VQ.SettingVideoQuality" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::VideoQuality
-// -----------------------------------------------------------------------------
-//
-MVtEngMedia::TVideoQuality
- CVtEngMediaHandler::TVtEngVideoQuality::VideoQuality() const
- {
- __VTPRINTENTER( "MH.VQ.VideoQuality" )
- __VTPRINTEXITR( "MH.VQ.VideoQuality %d", iCurrent )
- return iCurrent;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::IsSetPeer
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::TVtEngVideoQuality::SettingSucceeded( TInt aId,
- TVQSParams& aParams )
- {
- __VTPRINTENTER( "MH.VQ.SettingSucceeded" )
- TInt index( FindVQSParam( aId ) );
- TBool foundRecord( index != KErrNotFound );
- if ( foundRecord )
- {
- aParams = iParamList[ index ];
- iParamList.Remove( index );
- iParamList.Compress();
- }
- __VTPRINTEXITR( "MH.VQ.SettingSucceeded %d", foundRecord )
- return foundRecord;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::IsSetPeer
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::TVtEngVideoQuality::UpdateVideoQuality(
- const TVideoQuality aVideoQuality )
- {
- __VTPRINTENTER( "MH.VQ.UpdateVideoQuality" )
- iCurrent = aVideoQuality;
- __VTPRINTEXIT( "MH.VQ.UpdateVideoQuality" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::SettingFailed
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::TVtEngVideoQuality::SettingFailed( TInt aId )
- {
- __VTPRINTENTER( "MH.VQ.SettingFailed" )
- TInt index( FindVQSParam( aId ) );
- if ( index != KErrNotFound )
- {
- iParamList.Remove( index );
- iParamList.Compress();
- }
- __VTPRINTEXITR( "MH.VQ.SettingFailed %d", index )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::FromTradeOff
-// -----------------------------------------------------------------------------
-//
-MVtEngMedia::TVideoQuality
- CVtEngMediaHandler::TVtEngVideoQuality::FromTradeOff(
- const TInt aTradeOff ) const
- {
- __VTPRINTENTER( "MH.VQ.FromTradeOff" )
- TVideoQuality videoQuality;
-
- // [0 .. KVtEngTradeOffDetailMax]
- if( aTradeOff <= KVtEngTradeOffDetailMax )
- {
- videoQuality = EVideoQualityDetail;
- }
- // ]KVtEngTradeOffDetailMax .. KVtEngTradeOffNormalMax]
- else if( aTradeOff <= KVtEngTradeOffNormalMax )
- {
- videoQuality = EVideoQualityNormal;
- }
- // ]KVtEngTradeOffNormalMax .. 31]
- else
- {
- videoQuality = EVideoQualityMotion;
- }
- __VTPRINTEXITR( "MH.VQ.FromTradeOff %d", videoQuality )
- return videoQuality;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::ToFrameRate
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::TVtEngVideoQuality::ToFrameRate(
- const TVideoQuality aVideoQuality ) const
- {
- __VTPRINTENTER( "MH.VQ.ToFrameRate" )
- TInt frameRate( 0 );
- CVtEngSettings& settings = CVtEngUtility::Settings();
- switch( aVideoQuality )
- {
- case EVideoQualityDetail:
- frameRate = settings.VideoQualityFrameRateConfig().iDetail;
- break;
-
- case EVideoQualityNormal:
- frameRate = settings.VideoQualityFrameRateConfig().iNormal;
- break;
-
- case EVideoQualityMotion:
- frameRate = settings.VideoQualityFrameRateConfig().iMotion;
- break;
-
- default:
- Panic( EVtEngPanicInvalidVideoQualityValue );
- break;
- }
- __VTPRINTEXITR( "MH.VQ.ToFrameRate %d", frameRate )
- return frameRate;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::ToTradeOff
-// -----------------------------------------------------------------------------
-//
-TUint8 CVtEngMediaHandler::TVtEngVideoQuality::ToTradeOff(
- const TVideoQuality aVideoQuality ) const
- {
- __VTPRINTENTER( "MH.VQ.ToTradeOff" )
- TUint8 tradeOff( 0 );
- switch( aVideoQuality )
- {
- case EVideoQualityDetail:
- tradeOff = KVtEngTradeOffDetailMax;
- break;
-
- case EVideoQualityNormal:
- tradeOff = KVtEngTradeOffNormalMax;
- break;
-
- case EVideoQualityMotion:
- tradeOff = KVtEngTradeOffMotionMax;
- break;
-
- default:
- Panic( EVtEngPanicInvalidVideoQualityValue );
- break;
- }
- __VTPRINTEXITR( "MH.VQ.ToTradeOff %d", tradeOff )
- return tradeOff;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::FindVQSParam
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngMediaHandler::TVtEngVideoQuality::FindVQSParam( TInt aId ) const
- {
- __VTPRINTENTER( "MH.VQ.FindVQSParam" )
- TInt result( KErrNotFound );
- for ( TInt i = iParamList.Count() - 1; i >= 0; i-- )
- {
- if ( iParamList[ i ].iId == aId )
- {
- result = i;
- break;
- }
- }
- __VTPRINTEXITR( "MH.VQ.FindVQSParam %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::TVQSParams::TVQSParams
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler::TVtEngVideoQuality::TVQSParams::TVQSParams()
- {
- Mem::FillZ( this, sizeof( TVQSParams ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::TVtEngVideoQuality::TVQSParams::TVQSParams
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler::TVtEngVideoQuality::TVQSParams::TVQSParams(
- TInt aId, const TVideoQuality aValue, TBool aSetPeer )
- : iId( aId ), iValue( aValue ), iSetPeer( aSetPeer )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::QueryProtoInterfacesL
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::QueryProtoInterfacesL()
- {
- __VTPRINTENTER( "MH.QueryProtoInterfacesL" )
- // Ensure call is still connected to prevent unnecessary Protocol
- // interface acquisition
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- const MVtEngSessionInfo::TSessionState sessionState =
- states->SessionState();
- if ( sessionState != MVtEngSessionInfo::EIdle &&
- sessionState != MVtEngSessionInfo::EClearing )
-
- {
- // Request the 324M Stack interface
- if ( !IsFlag( EProto324IFAcquired ) )
- {
- /*
- AddOperation( EGet324CtrlInterface,
- iSessionCommand->GetProtocolInterfaceL(
- EVtH324Config,
- ( MVtProtocolCommand*& ) iH324Config ));
- */
- MVtProtocolCommand *pCommand = NULL;
- AddOperation( EGet324CtrlInterface,
- iSessionCommand->GetProtocolInterfaceL(
- EVtH324Config,
- ( MVtProtocolCommand*& ) pCommand ));
- iH324Config = static_cast<MVtH324ConfigCommand *>(pCommand);
- }
- // Get encoder interface.
- /*
- AddOperation( EGetH263EncInterface,
- iSessionCommand->GetProtocolInterfaceL(
- EVtVideoEncoderConfig,
- ( MVtProtocolCommand*& ) iH263Encoder ));
- */
- MVtProtocolCommand *pCommand = NULL;
- AddOperation( EGetH263EncInterface,
- iSessionCommand->GetProtocolInterfaceL(
- EVtVideoEncoderConfig,
- ( MVtProtocolCommand*& ) pCommand ));
- iH263Encoder = static_cast<MVtVideoConfigCommand *>(pCommand);
- }
- __VTPRINTEXIT( "MH.QueryProtoInterfacesL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ReleaseProtoInterfacesL
-// -----------------------------------------------------------------------------
-//
-void CVtEngMediaHandler::ReleaseProtoInterfacesL()
- {
- __VTPRINTENTER( "MH.ReleaseProtoInterfacesL" )
-
- // Release interfaces
- __VTPRINT( DEBUG_MEDIA, "LCN: MH.324 started to release interfaces" )
- if( iH324Config )
- {
- /*
- AddOperation( ERemove324CtrlInterface,
- iSessionCommand->DeleteProtocolInterfaceL( EVtH324Config, iH324Config ) );*/
- MVtProtocolCommand *pCommand = NULL;
- pCommand = static_cast<MVtProtocolCommand *>(iH324Config);
- AddOperation( ERemove324CtrlInterface,
- iSessionCommand->DeleteProtocolInterfaceL( EVtH324Config, pCommand ) );
- iH324Config = 0;
- __VTPRINT( DEBUG_MEDIA, "MH.324 started to release" )
- }
-
- if ( iH263Encoder )
- {
- /*
- AddOperation( ERemoveH263EncInterface,
- iSessionCommand->DeleteProtocolInterfaceL( EVtVideoEncoderConfig, iH263Encoder ) );*/
- MVtProtocolCommand *pCommand = NULL;
- pCommand = static_cast<MVtProtocolCommand *>(iH263Encoder);
- AddOperation( ERemoveH263EncInterface,
- iSessionCommand->DeleteProtocolInterfaceL( EVtVideoEncoderConfig, pCommand ) );
- iH263Encoder = 0;
- iH263Encoder = 0;
- __VTPRINT( DEBUG_MEDIA, "MH.263 started to release" )
- }
- __VTPRINTEXIT( "MH.ReleaseProtoInterfacesL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::ExtensionCommandsPending
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::ExtensionCommandsPending() const
- {
- __VTPRINTENTER( "MH.ExtensionCommandsPending" )
- TBool isPending = EFalse;
- TInt count( iPendingOps->Count() );
- while ( count-- )
- {
- const TOperation op = ( *iPendingOps )[ count ].iOp;
- switch ( op )
- {
- // extension commands
- case ESendIntraframe:
- case ESetSupportedResolutions:
- case ESetVideoQuality:
- case ESendVTSTO:
- case ESetFastCsupOptions:
- case ESetVendorId:
- case ESetIFrameInterval:
- isPending = ETrue;
-#ifdef _DEBUG
- RDebug::Print( _L(" (ext) op=%d,protoCmdId=%d"),
- op, ( *iPendingOps )[ count ].iProtoCmdId );
-#else
-// in debug mode allow printing all pending ops to log
- count = 0; // break loop
-#endif
- break;
- default:
- break;
- }
- }
- __VTPRINTEXITR( "MH.ExtensionCommandsPending %d", isPending )
- return isPending;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::MediaAddingValidity
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngMediaHandler::MediaAddingValidity() const
- {
- __VTPRINTENTER( "MH.MediaAddingValidity" )
-
- TBool addingOK( ETrue );
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- MVtEngSessionInfo::TSessionState sessionState ( states->SessionState() );
- if( sessionState == MVtEngSessionInfo::EClearing ||
- sessionState == MVtEngSessionInfo::EIdle )
- {
- __VTPRINT( DEBUG_MEDIA, "MH.MediaAddingValidity NOT ALLOWED" )
- // State is wrong, adding not allowed.
- addingOK = EFalse;
- }
-
- __VTPRINTEXITR( "MH.MediaAddingValidity %d", addingOK )
-
- return addingOK;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngMediaHandler::CancelInitializeShareImage
-// -----------------------------------------------------------------------------
-void CVtEngMediaHandler::CancelInitializeShareImage()
- {
- __VTPRINTENTER( "CVtEngMediaHandler.CancelInitializeShareImage");
- if(iLocalVideo)
- {
- iLocalVideo->CancelInitializeShareImage();
- }
- __VTPRINTEXIT( "CVtEngMediaHandler.CancelInitializeShareImage");
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Media/CVtEngRemoteVideo.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,737 +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: Remote video handler.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngRemoteVideo.h"
-#include "CVtEngStateManager.h"
-#include "MVtEngFrameObserver.h"
-#include <videotelephonyvariant.hrh>
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "CVtEngEventManager.h"
-#include "VtEngConstants.h"
-#include "VtEngPanic.h"
-#include "TVtEngRenderingDSA.h"
-#include "TVtEngRenderingDP.h"
-#include "TVtEngRenderingNGA.h"
-#include "TVtEngRenderConfigDSA.h"
-#include "TVtEngRenderConfigDP.h"
-#include "TVtEngRenderConfigNGA.h"
-#include "CVtEngDrawDP.h"
-#include "CVtEngDrawDSA.h"
-#include "CVtEngDrawNGA.h"
-#include <fbs.h>
-#include <w32std.h>
-#include <cvtlogger.h>
-#include <mvtprotocolhandler.h>
-#include <featmgr.h>
-
-// LOCAL CONSTANTS AND MACROS
-// This active object priority.
-const TInt KVtEngRemoteDrawPriority = CActive::EPriorityStandard;
-
-// Timer priority when not frame watching.
-const TInt KVtEngStoppedRenderPriority = CActive::EPriorityLow;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngRemoteVideo
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngRemoteVideo::CVtEngRemoteVideo(
- MVtSessionCommand& aSessionCommand,
- CVtEngStateManager& aStateManager ) :
- iSessionCommand( aSessionCommand),
- iStateManager( aStateManager ),
- iEnableNGA(ETrue)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::ConstructL()
- {
- __VTPRINTENTER( "RV.ConstructL" )
- //We are in the Proto ESetup state
- iDrawer =
- static_cast< CVtEngDraw* >( VtEngDrawFactory::CreateDrawerL( this , iEnableNGA) );
- //Add protocol Data Sink;
- iDisplaySink = iDrawer->DisplaySink();
- iAudioSink = VTProtocolFactory::CreateAudioSink();
- __VTPRINTEXIT( "RV.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngRemoteVideo* CVtEngRemoteVideo::NewL(
- MVtSessionCommand& aSessionCommand,
- CVtEngStateManager& aStateManager )
- {
- CVtEngRemoteVideo* self = new( ELeave )
- CVtEngRemoteVideo( aSessionCommand, aStateManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngRemoteVideo
-// Destructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngRemoteVideo::~CVtEngRemoteVideo()
- {
- __VTPRINTENTER( "RV.~" )
- VTProtocolFactory::DeleteAudioSink( iAudioSink );
- delete iDrawer;
- __VTPRINTEXIT( "RV.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::SetRenderingParametersL
-// Sets parameters for rendering the remote video.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::SetRenderingParametersL(
- const TVtEngRenderingOptionsNGA& aParams )
- {
- __VTPRINTENTER( "RV.SetRenderingParametersL NGA" )
-
- // If rendering is ongoing, stop it
- StopVideoRendering();
- // Set new values
- TVtEngRenderConfigNGA config( aParams );
- iDrawer->BaseSetConfigL( config );
- __VTPRINTEXIT( "RV.SetRenderingParametersL NGA" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::SetRenderingParametersL
-// Sets parameters for rendering the remote video.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::SetRenderingParametersL(
- const TVtEngRenderingOptionsDSA& aParams )
- {
- __VTPRINTENTER( "RV.SetRenderingParametersL DSA" )
-
- __VTPRINT( DEBUG_MEDIA , "================== RV.Params ==================" )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iRect.iTl.iX %d", aParams.iRect.iTl.iX )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iRect.iTl.iY %d", aParams.iRect.iTl.iY )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iRect.iBr.iX %d", aParams.iRect.iBr.iX )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iRect.iBr.iY %d", aParams.iRect.iBr.iY )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iClipRect.iTl.iX %d",
- aParams.iClipRect.iTl.iX )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iClipRect.iTl.iY %d",
- aParams.iClipRect.iTl.iY )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iClipRect.iBr.iX %d",
- aParams.iClipRect.iBr.iX )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iClipRect.iBr.iY %d",
- aParams.iClipRect.iBr.iY )
- __VTPRINT( DEBUG_MEDIA , "================== RV.Params ==================" )
- // If rendering is ongoing, stop it
- StopVideoRendering();
- // Set new values
- TVtEngRenderConfigDSA config( aParams );
- iDrawer->BaseSetConfigL( config );
- __VTPRINTEXIT( "RV.SetRenderingParametersL DSA" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::SetRenderingParametersL
-// Sets parameters for rendering the remote video.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::SetRenderingParametersL(
- const TVtEngRenderingOptionsDP& aParams )
- {
- __VTPRINTENTER( "RV.SetRenderingParametersL DP" )
-
- __VTPRINT( DEBUG_MEDIA , "================== RV.Params ==================" )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iRect.iTl.iX %d", aParams.iRect.iTl.iX )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iRect.iTl.iY %d", aParams.iRect.iTl.iY )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iRect.iBr.iX %d", aParams.iRect.iBr.iX )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iRect.iBr.iY %d", aParams.iRect.iBr.iY )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iClipRect.iTl.iX %d",
- aParams.iClipRect.iTl.iX )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iClipRect.iTl.iY %d",
- aParams.iClipRect.iTl.iY )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iClipRect.iBr.iX %d",
- aParams.iClipRect.iBr.iX )
- __VTPRINT2( DEBUG_MEDIA , " aParams.iClipRect.iBr.iY %d",
- aParams.iClipRect.iBr.iY )
- __VTPRINT( DEBUG_MEDIA , "================== RV.Params ==================" )
- // If rendering is ongoing, stop it
- StopVideoRendering();
- // Set new values
- TVtEngRenderConfigDP config( aParams );
- iDrawer->BaseSetConfigL( config );
- __VTPRINTEXIT( "RV.SetRenderingParametersL DP" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::StartVideoL
-//
-// For incoming, this function starts/resumes playing out the media to the
-// appropriate sink based on the current settings.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::StartVideoL()
- {
- __VTPRINTENTER( "RV.StartVideoL" )
- if ( iDisplaySink && iDrawer &&
- ( iDrawer->IsFlag( CVtEngDraw::EFlagInitialized ) ||
- iDrawer->IsFlag( CVtEngDraw::EBaseConstructCalled ) ) )
- {
- iDrawer->BaseStartDrawL();
- }
- else
- {
- User::Leave( KErrNotReady );
- }
- __VTPRINTEXIT( "RV.StartVideoL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::StopVideoRendering
-// Stops rendering of remote video.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::StopVideoRendering()
- {
- __VTPRINTENTER( "RV.StopVideoRendering" )
- // Stop only if active
- if( iDrawer->GetDsaState() )
- {
- __VTPRINT( DEBUG_MEDIA, "RV.Stopping" )
- iDrawer->BaseStopDraw();
- }
- __VTPRINTEXIT( "RV.StopVideoRendering" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::AddVideoSinkL
-// Adds a sink for video to proto.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngRemoteVideo::AddVideoSinkL( TInt aChannelId )
- {
- __VTPRINTENTER( "RV.AddVideoSinkL" )
- if ( iDisplaySink == NULL )
- {
- User::Leave( KErrNotReady );
- }
- TInt id = iSessionCommand.AddVideoSinkL(
- aChannelId, *iDisplaySink );
- iDrawer->VideoSinkAdded();
- __VTPRINTEXITR( "RV.AddVideoSinkL id=%d", id )
- return id;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::AddAudioSinkL
-// Adds a sink for audio to proto.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngRemoteVideo::AddAudioSinkL( TInt aChannelId )
- {
- __VTPRINTENTER( "RV.AddAudioSinkL" )
- if ( iAudioSink == NULL )
- {
- User::Leave( KErrNotReady );
- }
- TInt id = iSessionCommand.AddAudioSinkL( aChannelId, *iAudioSink );
- __VTPRINTEXITR( "RV.AddAudioSinkL id=%d", id )
- return id;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::GetDsaState
-// Returns state of Direct Screen Access.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngRemoteVideo::GetDsaState() const
- {
- return iDrawer->GetDsaState();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::PauseVideoL
-//
-// For an incoming track this function pauses sending
-// media to the sink (output device) and stops the sink.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngRemoteVideo::PauseVideoL()
- {
- __VTPRINTENTER( "RV.PauseVideoL" )
- if ( iDisplaySink == NULL )
- {
- User::Leave( KErrNotReady );
- }
- TInt cmdId = iSessionCommand.PauseVideoL( *iDisplaySink );
- __VTPRINTEXITR( "RV.PauseVideoL id=%d", cmdId )
- return cmdId;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::AudioSink
-// Returns audio sink.
-// -----------------------------------------------------------------------------
-//
-MVTAudioSink* CVtEngRemoteVideo::AudioSink()
- {
- return iAudioSink;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::SetUIForegroundL
-// Sets UI foreground state.
-// -----------------------------------------------------------------------------
-void CVtEngRemoteVideo::SetUIForegroundL( TBool aForeground )
- {
- __VTPRINTENTER( "RV.SetUIForegroundL" )
- if( !iDisplaySink )
- {
- User::Leave( KErrNotReady );
- }
- if( aForeground )
- {
- __VTPRINT( DEBUG_MEDIA, " RV.Resuming" )
- iDisplaySink->Resume();
- }
- else
- {
- __VTPRINT( DEBUG_MEDIA, " RV.Pausing" )
- iDisplaySink->Pause();
- }
- iDrawer->BaseSetUIForegroundL( aForeground );
- __VTPRINTEXIT( "RV.SetUIForegroundL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::RequestLastFrame
-// Request update last remote video frame through MVtEngFrameObserver::vtSetFrame
-// -----------------------------------------------------------------------------
-void CVtEngRemoteVideo::RequestLastFrame()
- {
- __VTPRINTENTER( "RV.RequestLastFrame" )
- if(iDrawer)
- iDrawer->BaseRequestLastFrame();
-__VTPRINTEXIT( "RV.RequestLastFrame" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::~CVtEngDraw
-// Destructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngRemoteVideo::CVtEngDraw::~CVtEngDraw()
- {
- __VTPRINTENTER( "RVD.~" )
- Cancel();
- delete iWatcher;
- delete iDSA;
- if ( iDisplaySink )
- {
- iDisplaySink->Destroy();
- }
- __VTPRINTEXIT( "RVD.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::CVtEngDraw
-// C++ constructor. Cannot leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngRemoteVideo::CVtEngDraw::CVtEngDraw( MDisplaySinkObserver* aObserver ) :
- CActive( KVtEngRemoteDrawPriority ), iCheckpoint( KVtEngWatcherThreshold ),
- iObserver( aObserver ), iCallback( WatcherExpired, this ),
- iDSUpdated( ETrue )
- {
- iSourceSize = TSize( KVtEngRemoteVideoDefaultWidth,
- KVtEngRemoteVideoDefaultHeight );
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::ConstructL( )
- {
- __VTPRINTENTER( "RVD.ConstructL" )
- BaseConstructL();
- // Create sink
- iDisplaySink = CreateSinkL();
- iWatcher = CPeriodic::NewL( KVtEngStoppedRenderPriority );
- __VTPRINTEXIT( "RVD.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::AbortNow
-// Aborts DSA when requested by Window Server.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::AbortNow(
- RDirectScreenAccess::TTerminationReasons /*aReason*/ )
- {
- __VTPRINTENTER( "RVD.AbortNow" )
- ClearFlag( EReadyForeground | EStarted );
- BaseAbortNow();
- __VTPRINTEXIT( "RVD.AbortNow" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::Restart
-// Restarts DSA.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::Restart(
- RDirectScreenAccess::TTerminationReasons /*aReason*/ )
- {
- __VTPRINTENTER( "RVD.Restart" )
- TRAPD( err,
- {
- if ( !IsFlag( EStarted ) )
- {
- if ( !iDSA->IsActive() )
- {
- iDSA->StartL();
- }
- SetFlag( EStarted );
- }
- if ( !Config().iClipRect.IsEmpty() )
- {
- __VTPRINT3( DEBUG_MEDIA, "RVD.Restart iClipRect.iTl (%d, %d)",
- Config().iClipRect.iTl.iX, Config().iClipRect.iTl.iY );
- __VTPRINT3( DEBUG_MEDIA, "RVD.Restart iClipRect.iBr (%d, %d)",
- Config().iClipRect.iBr.iX, Config().iClipRect.iBr.iY );
- iDSA->Gc()->SetClippingRect( Config().iClipRect );
- }
- BaseRestartL();
- } );
- if ( err != KErrNone )
- {
- ClearFlag( EReadyForeground );
- }
- else
- {
- SetFlag( EReadyForeground );
- }
-
- __VTPRINT2( DEBUG_MEDIA, "RVD.Restart flags %d", iFlags )
- if ( iCheckpoint == KVtEngWatcherThreshold )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_RETURN, "RVD.Restart RFs" )
- TRAP( err, BaseRefreshL() );
- }
- __VTPRINTEXITR( "RVD.Restart %d", err )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::GetDsaState
-// Returns the state of DSA: is drawing ongoing.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngRemoteVideo::CVtEngDraw::GetDsaState() const
- {
- __VTPRINTENTER( "RVD.GetDsaState" )
- TBool active( EFalse );
- active = IsFlag( ERemoteVideoDrawing );
- __VTPRINTEXITR( "RVD.GetDsaState is active=%d", active )
- return active;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::WatcherExpired
-// Checks if frame watcher has expired, ie. no frames are received.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngRemoteVideo::CVtEngDraw::WatcherExpired( TAny* aAny )
- {
- CVtEngRemoteVideo::CVtEngDraw* drawer =
- reinterpret_cast<CVtEngRemoteVideo::CVtEngDraw*>( aAny );
- drawer->HandleWatcherExpired();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::HandleWatcherExpired
-// Does the checking for frame reception.
-// If not receiving, notify using client (VT UI).
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::HandleWatcherExpired()
- {
- __VTPRINTENTER( "RVD.WatcherExpired" )
- if ( IsFlag( EStarted ) )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_RETURN, "RVD.WatcherExpired RF:%d",
- iCheckpoint )
- if ( iCheckpoint != KVtEngWatcherThreshold &&
- IsFlag( EFirstFrameReceived ) )
- {
- __VTPRINT( DEBUG_MEDIA | DEBUG_RETURN, "RVD.WatcherExpired RF" )
- TRAP_IGNORE( BaseRefreshL() );
- }
- iCheckpoint--;
- // Not under zero though.
- if ( iCheckpoint < 0 )
- {
- iCheckpoint = 0;
- }
- }
- __VTPRINTEXIT( "RVD.WatcherExpired" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::SetFlag
-// Sets flags.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::SetFlag( TUint aFlags )
- {
- iFlags |= aFlags;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::ClearFlag
-// Clears (unsets) flags.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::ClearFlag( TUint aFlags )
- {
- iFlags &= ~aFlags;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::IsFlag
-// Tests a flag.
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngRemoteVideo::CVtEngDraw::IsFlag( TUint aFlag ) const
- {
- return ( iFlags & aFlag ) != 0 ;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::VideoSinkAdded
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::VideoSinkAdded()
- {
- // By clearing this flag every time when sink is added, we assure that
- // blind icon is correctly faded in UI.
- ClearFlag( EFirstFrameReceived );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::Activate
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::Activate()
- {
- __VTPRINTENTER( "RVD.Activate" )
- if ( !IsActive() )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD.Activate setting active" )
- iStatus = KRequestPending;
- SetActive();
- }
- __VTPRINTEXIT( "RVD.Activate" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::ConfigUpdatedL
-// Set drawing configuration.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::ConfigUpdatedL()
- {
- __VTPRINTENTER( "RVD.ConfigUpdatedL" )
- ClearFlag( EFlagInitialized );
- TRAPD( err, {
- BaseVerifyConfigL();
-
- if ( IsFlag( EReadyInternal ) )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD.SetC started" )
- SetFlag( EStarted );
- __VTPRINT( DEBUG_MEDIA, "RVD.SetC notify rvd start" )
- }
- BaseRefreshBitmapsL();
- } );
- if ( err != KErrNone )
- {
- __VTPRINT2( DEBUG_MEDIA | DEBUG_RETURN, "RVD.SetC FAILED %d", err )
- CVtEngEventManager::NotifyEvent( KVtEngMediaInitFailure );
- }
- User::LeaveIfError( err );
- SetFlag( EFlagInitialized );
- __VTPRINTEXIT( "RVD.ConfigUpdatedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::DisplaySink
-// Returns used display sink.
-// -----------------------------------------------------------------------------
-//
-MDisplaySink* CVtEngRemoteVideo::CVtEngDraw::DisplaySink()
- {
- return iDisplaySink;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::DoCancel()
- {
- __VTPRINTENTER( "RVD.DoCancel" )
- BaseDoCancel();
- iDisplaySink->Release();
- ClearFlag( EStarted | EFrameWatcherExpired );
- __VTPRINTEXIT( "RVD.DoCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::RunError
-// -----------------------------------------------------------------------------
-//
-#ifdef VTDEBUG
-TInt CVtEngRemoteVideo::CVtEngDraw::RunError( TInt aError )
-#else
-TInt CVtEngRemoteVideo::CVtEngDraw::RunError( TInt /* aError */ )
-#endif // VTDEBUG
- {
- __VTPRINTENTER( "RVD.RunError" )
- ClearFlag( EStarted );
- BaseStopDraw();
- CVtEngEventManager::NotifyEvent( KVtEngRemoteVideoStopped );
- __VTPRINTEXITR( "RVD.RunError %d", aError )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::CVtEngDraw::CreateAndStartDSAL
-// Create DSA instance.
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::CVtEngDraw::CreateAndStartDSAL()
- {
- __VTPRINTENTER( "RVD.CreateAndStartDSAL" )
- delete iDSA;
- iDSA = NULL;
- iDSA = CDirectScreenAccess::NewL(
- *Config().iWsSession,
- *Config().iWsSreenDevice,
- *Config().iWindow,
- *this );
- iDSA->StartL();
- if ( !Config().iClipRect.IsEmpty() )
- {
- __VTPRINT( DEBUG_MEDIA, "RVD.CreateAndStartDSAL setting cliprect" )
- iDSA->Gc()->SetClippingRect( Config().iClipRect );
- }
- __VTPRINTEXIT( "RVD.CreateAndStartDSAL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngRemoteVideo::VideoFrameSizeChanged
-// Callback from DisplaySink to inform the size change
-// -----------------------------------------------------------------------------
-//
-void CVtEngRemoteVideo::
- VideoFrameSizeChangedL( const TSize& /* aFrom */, const TSize& aTo )
- {
- __VTPRINTENTER( "RVD.VideoFrameSizeChangedL" )
- __VTPRINT( DEBUG_MEDIA , " ======= RV.RVD.VideoFrameSizeChangedL ========" )
- __VTPRINT2( DEBUG_MEDIA , " aTo.iWidth: %d", aTo.iWidth)
- __VTPRINT2( DEBUG_MEDIA , " aTo.iHeight: %d", aTo.iHeight )
- __VTPRINT( DEBUG_MEDIA , " ======= RV.RVD.VideoFrameSizeChangedL ========" )
-
- // Notification of changed layout.
- if ( aTo.iHeight == KVtEngResolutionQCIFHeight &&
- aTo.iWidth == KVtEngResolutionQCIFWidth )
- {
- // Store the new size.
- iDrawer->iSourceSize = aTo;
- CVtEngEventManager::NotifyEvent( KVtEngResolutionToQCIF );
- }
- else if ( aTo.iHeight == KVtEngResolutionSQCIFHeight &&
- aTo.iWidth == KVtEngResolutionSQCIFWidth )
- {
- // Store the new size.
- iDrawer->iSourceSize = aTo;
- CVtEngEventManager::NotifyEvent( KVtEngResolutionToSQCIF );
- }
- else
- {
- // Unlisted resolution.
- __VTPRINTEXITR( "RVD.VideoFrameSizeChangedL %d", 0 )
- return;
- }
-
- iDrawer->BaseVideoFrameSizeChangedL( aTo );
-
- __VTPRINTEXITR( "RVD.VideoFrameSizeChangedL %d", 1 )
- }
-
-// VtEngDrawFactory
-
-// -----------------------------------------------------------------------------
-// VtEngDrawFactory::CreateDrawerL
-// -----------------------------------------------------------------------------
-//
-MVtEngDraw* VtEngDrawFactory::CreateDrawerL( MDisplaySinkObserver* aObserver, TBool aSupportNGA )
- {
- __VTPRINTENTER( "VtEngDrawFactory.CreateDrawerL" )
- MVtEngDraw* drawer = NULL;
- if(aSupportNGA)
- {
- drawer = CVtEngDrawNGA::NewL( aObserver );
- }
- else
- {
- if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) )
- {
- drawer = CVtEngDrawDP::NewL( aObserver );
- }
- else
- {
- drawer = CVtEngDrawDSA::NewL( aObserver );
- }
- }
- __VTPRINTEXIT( "VtEngDrawFactory.CreateDrawerL" )
- return drawer;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/Session/CVtEngSessionHandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
-* Copyright (c) 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: Session handler.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngSessionHandler.h"
-#include "CVtEngOperation.h"
-#include "CVtEngStateManager.h"
-#include "cvtengincomingcallmonitor.h"
-#include "vtengcommands.h"
-#include "CVtEngOperation.h"
-#include "CVtCtlFactory.h"
-#include "MVtCtlCallControl.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "VtCtlTypes.h" // for TVtCtlCSSessionInfoV1
-#include "cvtlogger.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::CVtEngSessionHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngSessionHandler::CVtEngSessionHandler()
- : CActive( CActive::EPriorityStandard ), iIncomingCallMonitor(NULL)
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngSessionHandler::ConstructL()
- {
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- StartIncomingCallMonitorL();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngSessionHandler* CVtEngSessionHandler::NewL( )
- {
- CVtEngSessionHandler* self = new( ELeave )
- CVtEngSessionHandler( );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::~CVtEngSessionHandler
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngSessionHandler::~CVtEngSessionHandler()
- {
- __VTPRINTENTER( "SH.~" )
- Cancel();
- Uninitialize();
- delete iIncomingCallMonitor;
- __VTPRINTEXIT( "SH.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::HandleL
-// Performs session request.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSessionHandler::HandleL(
- CVtEngOperation& /*aOperation*/ )
- {
- __VTPRINT( DEBUG_SESSION, "SH.HandleL leave not supported" )
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::State
-// Returns session state
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngSessionHandler::State(
- TBool aForcedRefresh ) const
- {
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- if ( aForcedRefresh )
- {
- states->Update();
- }
- return states->SessionState();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::GetDirection
-// Returns direction.
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngSessionHandler::GetDirection(
- TDirection& aDirection ) const
- {
- __VTPRINTENTER( "SH.GetDirection" )
- if ( !iSessionControl )
- {
- __VTPRINTEXITR( "SH.GetDirection err=%d", KErrNotFound )
- return KErrNotFound;
- }
-
- TVtCtlCSSessionInfoV1 info;
- TPckg<TVtCtlCSSessionInfoV1> pckg( info );
- TRAPD( err, iSessionControl->GetSessionInfoL( KActiveSessionId, pckg ) );
- if ( err == KErrNone )
- {
- switch ( info.iDirection )
- {
- case MVtCtlCallControl::EDirectionMobileOriginated:
- aDirection = EDirectionMO;
- break;
- case MVtCtlCallControl::DirectionMobileTerminated:
- aDirection = EDirectionMT;
- break;
- default:
- aDirection = EDirectionNone;
- break;
- }
- }
- __VTPRINT2( DEBUG_SESSION, "SH.direction dir=%d", aDirection )
- __VTPRINTEXITR( "SH.GetDirection err=%d", err )
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::GetDuration
-// Returns session duration.
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngSessionHandler::GetDuration(
- TDuration& aDuration,
- TBool& aEnabled ) const
- {
- if ( !iSessionControl )
- {
- return KErrNotFound;
- }
-
- TVtCtlDuration duration;
- TInt err ( iSessionControl->GetDuration( KActiveSessionId, duration ) );
- if ( err == KErrNone )
- {
- aDuration = duration;
- const CVtEngSettings& settings = CVtEngUtility::Settings();
- aEnabled = settings.Config().iCallTimerOn;
- }
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::GetCLI
-//
-//
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngSessionHandler::GetCLI( TCLI& aCLI ) const
- {
- const CVtEngSettings& settings = CVtEngUtility::Settings();
- const TBool isValid = settings.GetCLI( aCLI);
- TInt res = KErrNone;
- if ( !isValid )
- {
- res = KErrNotReady;
- }
- return res;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::HandleVtSessionEventL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSessionHandler::HandleVtSessionEventL(
- TVtCtlEvent aEvent,
- TAny* /*aParams*/ )
- {
- if ( aEvent == KVtCtlEventSessionStatusChanged )
- {
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- states->Update( );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::InitializeL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSessionHandler::InitializeL()
- {
- __VTPRINTENTER( "SH.Initilialize" )
- if ( iSessionControl )
- {
- // already initialized
- __VTPRINTEXIT( "SH.Initilialize" )
- return;
- }
- TInt err = iLib.Load( KVtCtlLibraryName() );
- CleanupClosePushL( iLib );
- if ( err == KErrNone )
- {
- TLibraryFunction func = iLib.Lookup( 1 );
- iFactory = reinterpret_cast<CVtCtlFactory*>( func() );
- iSessionControl = iFactory->CreateCallControlL( *this );
-
- // Update state
- CVtEngStateManager* states = CVtEngUtility::StateManager();
- states->Update();
- }
- CleanupStack::Pop(); // lib
- __VTPRINTEXIT( "SH.Initilialize" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::Uninitialize
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSessionHandler::Uninitialize()
- {
- if ( iFactory )
- {
- iFactory->Delete( iSessionControl );
- delete iFactory;
- iFactory = NULL;
- iSessionControl = NULL;
- }
- iLib.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::RealState
-//
-//
-// -----------------------------------------------------------------------------
-//
-MVtCtlCallControl::TVtCtlState CVtEngSessionHandler::RealState() const
- {
- MVtCtlCallControl::TVtCtlState state( MVtCtlCallControl::EUnknown );
- if ( iSessionControl )
- {
- state = iSessionControl->GetSessionState( KActiveSessionId );
- __VTPRINT2( DEBUG_SESSION, "SH.realState=%d", state )
- }
- return state;
- }
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::RunL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSessionHandler::RunL()
- {
- InitializeL();
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::DoCancel
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSessionHandler::DoCancel()
- {
- // nothing here
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngSessionHandler::StartIncomingCallMonitorL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngSessionHandler::StartIncomingCallMonitorL()
- {
- iIncomingCallMonitor = CVtEngIncomingCallMonitor::NewL();
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngDtmfBuffered.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 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: Buffered state of DTMF sending.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngDtmfState.h"
-#include "VtEngPanic.h"
-#include <cvtlogger.h>
-
-// CONSTANTS
-const TInt KVtEngDtmfToneBufferSize = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfBuffered::NewL
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfState* CVtEngDtmfBuffered::NewL(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config )
- {
- CVtEngDtmfBuffered* self = new ( ELeave )
- CVtEngDtmfBuffered( aDtmfHandler, aH324Config );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfBuffered::~CVtEngDtmfBuffered
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfBuffered::~CVtEngDtmfBuffered()
- {
- delete iTones;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfBuffered::SendDtmfL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfBuffered::SendDtmfL( const TVtEngDtmfTone& aTone )
- {
- // just add to buffer and wait for completion of pending send operation.
- iTones->AppendL( aTone );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfBuffered::DtmfSendCompleteL
-//
-// PSEUDO CODE:
-// deallocate Protocol dtmf instance
-// if ( previous_sending_OK )
-// if ( tones_in_buffer > 1 )
-// next_state = buffered
-// else
-// next_state = sending
-// endif
-// send tone from buffer and change state
-// endif
-// if ( previous_sending_FAIL or new_sending_FAIL )
-// reset buffer
-// next_state = idle
-// endif
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfBuffered::DtmfSendCompleteL( TInt aError )
- {
- __VTPRINTENTER( "DtmfStateBuffered.DtmfSendCompleteL" )
- CVtEngDtmfState::DtmfSendCompleteL( aError );
- const TInt count( iTones->Count() );
- __VTPRINT2( DEBUG_MEDIA , "DtmfStateBuffered.Send bufSize=%d", count )
-
- TInt index( KErrNone );
- if ( count && aError == KErrNone )
- {
- __VTPRINT2( DEBUG_MEDIA , "DtmfStateBuffered cnt=%d", count )
- const TVtEngDtmfTone& tone = iTones->At( index );
- MVtEngDtmfHandler::TVtEngDtmfState nextState = ( count > 1 ) ?
- MVtEngDtmfHandler::EVtDtmfStateBuffered :
- MVtEngDtmfHandler::EVtDtmfStateSending;
- TRAP( aError, DoSendAndActivateStateL( tone, nextState ) );
- iTones->Delete( index );
- }
-
- if ( aError != KErrNone )
- {
- __VTPRINT2( DEBUG_MEDIA , "DtmfStateBuffered.failed=%d", aError )
- // if failed clear DTMF buffer and go to dtmf idle state
- iTones->Reset();
- iDtmfHandler.ActivateState( MVtEngDtmfHandler::EVtDtmfStateIdle );
- }
- __VTPRINTEXIT( "DtmfStateBuffered.DtmfSendCompleteL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfBuffered::CVtEngDtmfBuffered
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfBuffered::CVtEngDtmfBuffered(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config )
- : CVtEngDtmfState( aDtmfHandler, aH324Config)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfBuffered::ConstructL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfBuffered::ConstructL()
- {
- iTones = new ( ELeave )
- CArrayFixFlat<TVtEngDtmfTone>( KVtEngDtmfToneBufferSize );
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngDtmfIdle.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 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: Idle state of DTMF sending.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngDtmfState.h"
-#include "VtEngPanic.h"
-#include "MVtEngDtmfHandler.h"
-#include <cvtlogger.h>
-#include <mvtprotocolhandler.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfIdle::NewL
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfState* CVtEngDtmfIdle::NewL(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config )
- {
- CVtEngDtmfIdle* self = new ( ELeave )
- CVtEngDtmfIdle( aDtmfHandler, aH324Config );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfIdle::~CVtEngDtmfIdle
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfIdle::~CVtEngDtmfIdle()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfIdle::SendDtmfL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfIdle::SendDtmfL( const TVtEngDtmfTone& aTone )
- {
- __VTPRINTENTER( "DtmfStateIdle.Send" )
- DoSendAndActivateStateL( aTone, MVtEngDtmfHandler::EVtDtmfStateSending );
- __VTPRINTEXIT( "DtmfStateIdle.Send" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfIdle::DtmfSendCompleteL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfIdle::DtmfSendCompleteL( TInt /*aError*/ )
- {
- __VTPRINT( DEBUG_MEDIA , "DtmfStateIdle.SendComplete" )
- // Do nothing (should be never called since state is always
- // "sending" or "buffered" when sending is completed).
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfIdle::CVtEngDtmfIdle
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfIdle::CVtEngDtmfIdle(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config )
- : CVtEngDtmfState( aDtmfHandler, aH324Config )
- {
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngDtmfSending.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 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: Sending state of DTMF sending.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngDtmfState.h"
-#include "VtEngPanic.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfSending::NewL
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfState* CVtEngDtmfSending::NewL(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config )
- {
- CVtEngDtmfState* self = new ( ELeave )
- CVtEngDtmfSending( aDtmfHandler, aH324Config );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfSending::~CVtEngDtmfSending
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfSending::~CVtEngDtmfSending()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfSending::SendDtmfL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfSending::SendDtmfL( const TVtEngDtmfTone& aTone )
- {
- __VTPRINTENTER( "DtmfStateSending.Send" )
- CVtEngDtmfState& state = iDtmfHandler.ActivateState(
- MVtEngDtmfHandler::EVtDtmfStateBuffered );
- // let buffered state handle this
- state.SendDtmfL( aTone );
- __VTPRINTEXIT( "DtmfStateSending.Send" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfSending::DtmfSendCompleteL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfSending::DtmfSendCompleteL( TInt aError )
- {
- __VTPRINTENTER( "DtmfStateSending.SendComplete" )
- CVtEngDtmfState::DtmfSendCompleteL( aError );
- // sending complete, change state
- iDtmfHandler.ActivateState( MVtEngDtmfHandler::EVtDtmfStateIdle );
- __VTPRINTEXIT( "DtmfStateSending.SendComplete" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfSending::CVtEngDtmfSending
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfSending::CVtEngDtmfSending(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config )
- : CVtEngDtmfState( aDtmfHandler, aH324Config )
- {
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngDtmfState.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 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: Base state class of DTMF sending.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngDtmfState.h"
-#include "MVtEngDtmfHandler.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfState::CVtEngDtmfState
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngDtmfState::CVtEngDtmfState(
- MVtEngDtmfHandler& aDtmfHandler,
- MVtH324ConfigCommand& aH324Config ) :
- iDtmfHandler( aDtmfHandler ),
- iH324Config( aH324Config )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfState::DtmfSendCompleteL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfState::DtmfSendCompleteL( TInt /*aError*/ )
- {
- __VTPRINTENTER( "DtmfState.DtmfSendCompleteL" )
- iDtmfHandler.ReleaseProtoDtmf();
- __VTPRINTEXIT( "DtmfState.DtmfSendCompleteL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngDtmfState::DoSendAndActivateStateL
-//
-// Requests new Protocol dtmf tone instance from the DTMF handler, sends it and
-// changes state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngDtmfState::DoSendAndActivateStateL(
- const TVtEngDtmfTone& aDtmf,
- MVtEngDtmfHandler::TVtEngDtmfState aNewState )
- {
- __VTPRINTENTER( "DtmfState.DoSendAndActivateStateL" )
- MVTUserInput& protoDtmf = iDtmfHandler.ReserveProtoDtmfL( aDtmf );
- iDtmfHandler.StoreCommandId( iH324Config.SendUserInputMessageL( protoDtmf ));
- iDtmfHandler.ActivateState( aNewState );
- __VTPRINTEXIT( "DtmfState.DoSendAndActivateStateL" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateAlerting.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +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: Base class for states
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateAlerting.h"
-#include <cvtlogger.h>
-#include "CVtEngOperation.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "CVtEngAudioHandler.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateAlerting::CVtEngStateAlerting
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateAlerting::CVtEngStateAlerting(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : CVtEngStateBase( aStateManager, aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateAlerting::~CVtEngStateAlerting()
- {
- __VTPRINT( DEBUG_DESTRUCT, "~StateAlrt")
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateAlerting::UpdateL
-// Updates state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateAlerting::UpdateL()
- {
- __VTPRINTENTER( "StateAlert.Update" )
- const MVtCtlCallControl::TVtCtlState bearerstate =
- SessionHandler().RealState();
- CVtEngStateBase* newState = NULL;
- if ( bearerstate == MVtCtlCallControl::EIdle ||
- bearerstate == MVtCtlCallControl::EDisconnecting )
- {
- newState = NewStateL( MVtEngSessionInfo::EIdle );
- }
- else
- {
- newState = NegotiatingOrConnectedStateL(); // or null
- }
- if ( newState )
- {
- newState->OpenL( this );
- }
- __VTPRINTEXIT( "StateAlert.Update")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateAlerting::OpenL
-// State transition to alerting state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateAlerting::DoOpenL()
- {
- __VTPRINTENTER( "StateAlert.Open" )
- NotifyStateChange( MVtEngSessionInfo::ERemoteAlerting );
-
- // Instantiate temporary devsound for audio routing
- AudioHandler().SetRoutingEnablerL( ETrue );
- __VTPRINTEXIT( "StateAlert.Open" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateAlerting::ValidateCommand
-// Returns if a command is valid in idle state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateAlerting::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINT( DEBUG_DETAIL |DEBUG_GEN, "StateAlert.Validate" )
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- case KVtEngInitializeEngine:
- case KVtEngInitializeEngineDiag:
- case KVtEngInitializeEngineTest:
- case KVtEngSetSource:
- case KVtEngPrepareViewFinder:
- case KVtEngPrepareViewFinderDSA:
- case KVtEngPrepareViewFinderDP:
- case KVtEngStartViewFinder:
- case KVtEngPauseViewFinder:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRenderNGA:
- okToPerform = ETrue;
- break;
- default:
- okToPerform = CVtEngStateBase::ValidateCommand( aCommandId );
- break;
- }
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateAlerting::State
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateAlerting::State() const
- {
- return MVtEngSessionInfo::ERemoteAlerting;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateAlerting::HandleL
-// Handles an operation when behavior is state dependent.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateAlerting::HandleL(
- CVtEngOperation& aOp )
- {
- TBool handled( CVtEngStateBase::HandleL( aOp ));
- return handled;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateBase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +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: Base class for states
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateBase.h"
-#include "CVtEngOperation.h"
-#include "CVtEngHandlerContainer.h"
-#include "TVtEngOperationUtils.h"
-#include "CVtEngStateInitializing.h"
-#include "CVtEngStateAlerting.h"
-#include "CVtEngStateRinging.h"
-#include "CVtEngStateConnected.h"
-#include "CVtEngStateClearing.h"
-#include "CVtEngStateOpen.h"
-#include "CVtEngStateNegotiating.h"
-#include "CVtEngStateIdle.h"
-#include "CVtEngSettings.h"
-#include "MVtEngSessionInfo.h"
-#include "VtEngUtils.h"
-#include "VtEngPanic.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::CVtEngStateBase
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateBase::CVtEngStateBase(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : iStateManager( aStateManager ),
- iEventManager( aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateBase::~CVtEngStateBase()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::OpenL
-// Changes state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateBase::OpenL( CVtEngStateBase* aOldState )
- {
- __VTPRINTENTER( "StateBase.Open" )
- __VTPRINT( DEBUG_GEN, "StateBase. **** State Change ****" )
- iStateManager.SetState( *this );
- if ( aOldState )
- {
- aOldState->Close();
- }
- // call derived class open.
- DoOpenL();
- __VTPRINTEXIT( "StateBase.Open" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::Close
-// Closes state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateBase::Close()
- {
- delete this;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::SaveToSettingsL
-//
-// Saves configuration to settings.
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateBase::SaveToSettingsL( CVtEngOperation& aOp )
- {
- const TVtEngCommandId command( aOp.Command() );
-
- if ( command == KVtEngSetAudioVolume )
- {
- MVtEngAudio::TVtEngOutputVolume volume;
- TVtEngOpParamUtil<MVtEngAudio::TVtEngOutputVolume>::Set( volume, aOp );
- CVtEngSettings& settings = CVtEngUtility::Settings();
- settings.SetVolume( volume.iHandsetVolume, volume.iHandsfreeVolume, ETrue );
- settings.SetVolume( volume.iHandsetVolume, volume.iHandsfreeVolume, EFalse );
- }
- }
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::NotifyStateChangeL
-// Notifies state change to event manager.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateBase::NotifyStateChange(
- MVtEngSessionInfo::TSessionState /*aNewState*/ )
- {
- iEventManager.SessionStateChanged( );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::SetVideoEnabled
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateBase::SetVideoEnabled( TBool aEnabled )
- {
- CVtEngSettings& settings = CVtEngUtility::Settings();
- settings.SetVideoEnabled( aEnabled );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::HandleL
-// Handles an operation when behavior is state dependent.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateBase::HandleL( CVtEngOperation& aOp )
- {
- __VTPRINTENTER( "StateBase.Handle" )
- __VTPRINT2( DEBUG_GEN, "StateBase.Handle cmd=%d", aOp.Command() )
- TBool handled( EFalse );
- switch ( aOp.Command() )
- {
- case KVtEngSetAudioRouting:
- // Change audio routing
- AudioHandler().HandleL( aOp );
- break;
-
- case KVtEngSetAudioVolume:
- case KVtEngIncreaseAudioVolume:
- case KVtEngDecreaseAudioVolume:
- // Change audio volume
- MediaHandler().HandleL( aOp );
- break;
- case KVtEngTerminateSession:
- default:
- break;
- }
- __VTPRINTEXITR( "StateBase.Handle handled=%d", handled )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::SessionHandler
-// Returns session handler.
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngSessionHandler& CVtEngStateBase::SessionHandler()
- {
- MVtEngSessionInfo& msession = iStateManager.Handlers().Session();
- CVtEngSessionHandler& handler =
- static_cast<CVtEngSessionHandler&>( msession );
- return handler;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::MediaHandler
-// Returns media handler.
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngMediaHandler& CVtEngStateBase::MediaHandler()
- {
- MVtEngMedia& msession = iStateManager.Handlers().Media();
- CVtEngMediaHandler& handler =
- static_cast<CVtEngMediaHandler&>( msession );
- return handler;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::AudioHandler
-// Returns audio handler.
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngAudioHandler& CVtEngStateBase::AudioHandler()
- {
- MVtEngAudio& maudio = iStateManager.Handlers().Audio();
- CVtEngAudioHandler& handler =
- static_cast<CVtEngAudioHandler&>( maudio );
- return handler;
- }
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::SessionHandler
-// Returns session handler.
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngStateBase* CVtEngStateBase::NewStateL(
- const MVtEngSessionInfo::TSessionState aState )
- {
- CVtEngStateBase* newState = NULL;
- switch ( aState )
- {
- case MVtEngSessionInfo::EIdle:
- newState = new ( ELeave )
- CVtEngStateIdle( iStateManager, iEventManager );
- break;
- case MVtEngSessionInfo::EInitializing:
- newState = new ( ELeave )
- CVtEngStateInitializing( iStateManager, iEventManager );
- break;
- case MVtEngSessionInfo::ERemoteAlerting:
- newState = new ( ELeave )
- CVtEngStateAlerting( iStateManager, iEventManager );
- break;
- case MVtEngSessionInfo::EReceiving:
- newState = new ( ELeave )
- CVtEngStateRinging( iStateManager, iEventManager );
- break;
- case MVtEngSessionInfo::EConnected:
- newState = new ( ELeave )
- CVtEngStateConnected( iStateManager, iEventManager );
- break;
- case MVtEngSessionInfo::ENegotiating:
- newState = new ( ELeave )
- CVtEngStateNegotiating( iStateManager, iEventManager );
- break;
- case MVtEngSessionInfo::EOpen:
- newState = new ( ELeave )
- CVtEngStateOpen( iStateManager, iEventManager );
- break;
- case MVtEngSessionInfo::EClearing:
- newState = new ( ELeave )
- CVtEngStateClearing( iStateManager, iEventManager );
- break;
- default:
- Panic( EVtEngPanicInvalidSessionState );
- break;
- }
- return newState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::NegotiatingOrConnectedStateL
-//
-// -----------------------------------------------------------------------------
-//
-CVtEngStateBase* CVtEngStateBase::NegotiatingOrConnectedStateL(
- TBool aAcceptOnlyNegotiating )
- {
- __VTPRINTENTER( "StateBase.NegOrCon" )
- __VTPRINT2( DEBUG_GEN, "StateBase.NegOrCon %d", aAcceptOnlyNegotiating)
- const MVtCtlCallControl::TVtCtlState bearerstate =
- SessionHandler().RealState();
- CVtEngStateBase* newState = NULL;
- if ( bearerstate == MVtCtlCallControl::EConnected )
- {
- const MVtProtocolCommand::TVtProtocolState state( MediaHandler().ProtoState() );
- const CVtEngSettings& settings = CVtEngUtility::Settings();
- const TBool readyForConnect = settings.Config().iReadyForConnect;
-
- __VTPRINT3( DEBUG_GEN, "StateBase.NegOrCon readyForConnect:%d, state:%d", readyForConnect, state)
- __VTPRINT2( DEBUG_GEN, "StateBase.NegOrCon iIsDataportLoaned:%d", settings.Config().iIsDataportLoaned)
-
- if ( readyForConnect && state == MVtProtocolCommand::ESetup && settings.Config().iIsDataportLoaned )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "StateBase.NegOrCon ready & ESetup")
- const TInt res( MediaHandler().Connect() );
- if ( res == KErrNotReady )
- {
- // Cannot be done yet, need to wait for an operation
- // to complete.
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "StateBase.NegOrCon not ready" )
- }
- else if ( res != KErrNone )
- {
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "StateBase.NegOrCon fail")
- iEventManager.NotifyEvent( KVtEngNegotiationProblem );
- }
- else
- {
- // change to negotiating state
- newState = NewStateL( MVtEngSessionInfo::ENegotiating );
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "StateBase.NegOrCon-->negotiating")
- }
- }
- else if ( !aAcceptOnlyNegotiating )
- {
- newState = NewStateL( MVtEngSessionInfo::EConnected );
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL,
- "StateBase.NegOrCon-->connected")
- }
- }
- __VTPRINTEXIT( "StateBase.NegOrCon" )
- return newState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::TerminateSessionL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateBase::TerminateSessionL( CVtEngOperation& aOp )
- {
- // State transition to "clearing state" initiates disconnect on protocol.
- CVtEngStateBase* newState = NewStateL( MVtEngSessionInfo::EClearing );
- // just store aOp for callback to UI
- CVtEngMediaHandler& mHandler = MediaHandler();
- CleanupStack::PushL( newState );
- newState->OpenL( this );
- CleanupStack::Pop(); // newState
- mHandler.HandleL( aOp );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateBase::ValidateCommand
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateBase::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINT( DEBUG_DETAIL | DEBUG_GEN, "StateBase.Validate")
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- // Flow through, ok to execute ==> check the state possibilities
- case KVtEngInitializeEngine:
- case KVtEngInitializeEngineDiag:
- case KVtEngInitializeEngineTest:
- case KVtEngResetEngine:
- case KVtEngStartRenderRemote:
- case KVtEngStopRenderRemote:
- case KVtEngPrepareRemoteRender:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRenderNGA:
- case KVtEngPrepareViewFinder:
- // Media
- case KVtEngSetUIForeground:
- okToPerform = ETrue;
- break;
- case KVtEngPrepareCamera:
- case KVtEngSetSource:
- case KVtEngSetZoomStep:
- case KVtEngStartViewFinder:
- case KVtEngFreeze:
- case KVtEngUnfreeze:
- case KVtEngSetVideoQuality:
- case KVtEngHandleLayoutChange:
-
- // Media object sharing
- case KVtEngInitializeShareImage:
- case KVtEngStartShareImage:
- case KVtEngStopShareImage:
-
- case KVtEngMuteOutgoingAudio:
- case KVtEngUnmuteOutgoingAudio:
- case KVtEngSetAudioRouting:
- case KVtEngSetAudioVolume:
- case KVtEngIncreaseAudioVolume:
- case KVtEngDecreaseAudioVolume:
- case KVtEngRequestLastRemoteFrame:
-
- okToPerform =
- ( MediaHandler().ValidateCommand( aCommandId ) == KErrNone );
- break;
- default:
- case KVtEngTerminateSession: // valid only in open state
- break;
- }
- return okToPerform;
- }
-
-// End of File
-
--- a/vtengines/videoteleng/Src/State/CVtEngStateClearing.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 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: Base class for states
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateClearing.h"
-#include <cvtlogger.h>
-#include "CVtEngOperation.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateClearing::CVtEngStateClearing
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateClearing::CVtEngStateClearing(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : CVtEngStateBase( aStateManager, aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateClearing::~CVtEngStateClearing()
- {
- __VTPRINT( DEBUG_DESTRUCT, "~StateClr")
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateClearing::UpdateL
-// Updates state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateClearing::UpdateL()
- {
- __VTPRINTENTER( "StateClr.Update" )
- const MVtCtlCallControl::TVtCtlState bearerstate =
- SessionHandler().RealState();
- const MVtProtocolCommand::TVtProtocolState protostate( MediaHandler().ProtoState() );
-
- __VTPRINT2( DEBUG_GEN, "StateClr.bearerState=%d", bearerstate )
- __VTPRINT2( DEBUG_GEN, "StateClr.protoState=%d", protostate )
-
- if ( bearerstate == MVtCtlCallControl::EIdle ||
- bearerstate == MVtCtlCallControl::EDisconnecting ||
- bearerstate == MVtCtlCallControl::EUnknown ||
- protostate == MVtProtocolCommand::EIdle ||
- protostate == MVtProtocolCommand::ESetup )
- {
- CVtEngStateBase* idleState = NewStateL( MVtEngSessionInfo::EIdle );
- idleState->OpenL( this );
- }
- __VTPRINTEXIT( "StateClr.Update" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateClearing::OpenL
-// State transition to clearing state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateClearing::DoOpenL()
- {
- __VTPRINTENTER( "StateClr.Open")
-
- // Do disconnect on Protocol, it is possible that disconnect is already
- // ongoing and we get error and that's fine.
- TInt err( MediaHandler().Disconnect() );
- if ( err != KErrNone && err != KErrAlreadyExists )
- {
- __VTPRINT2( DEBUG_GEN, "StateClr.OpenL disconnect fail=%d", err)
- }
- // Reset settings
- CVtEngSettings& settings = CVtEngUtility::Settings();
- settings.ResetAll();
- NotifyStateChange( MVtEngSessionInfo::EClearing );
- __VTPRINTEXIT( "StateClr.Open")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateClearing::ValidateCommand
-// Returns if a command is valid in idle state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateClearing::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- case KVtEngTerminateSession:
- break;
- default:
- okToPerform = CVtEngStateBase::ValidateCommand( aCommandId );
- break;
- }
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateClearing::State
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateClearing::State() const
- {
- return MVtEngSessionInfo::EClearing;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateClearing::HandleL
-// Handles an operation when behavior is state dependent.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateClearing::HandleL( CVtEngOperation& aOp )
- {
- TBool handled( CVtEngStateBase::HandleL( aOp ));
- return handled;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateConnected.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +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: Base class for states
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateConnected.h"
-#include <cvtlogger.h>
-#include "CVtEngOperation.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateConnected::CVtEngStateConnected
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateConnected::CVtEngStateConnected(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : CVtEngStateBase( aStateManager, aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateConnected::~CVtEngStateConnected()
- {
- __VTPRINT( DEBUG_DESTRUCT, "~StateConnected")
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateConnected::UpdateL
-// Updates state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateConnected::UpdateL()
- {
- __VTPRINTENTER( "StateConnected.Update")
- const MVtCtlCallControl::TVtCtlState bearerstate =
- SessionHandler().RealState();
- MVtProtocolCommand::TVtProtocolState state( MediaHandler().ProtoState() );
-
-
- CVtEngStateBase* newState = NULL;
- if ( bearerstate != MVtCtlCallControl::EConnected )
- {
- // we've lost bearer connection, go to idle
- newState = NewStateL( MVtEngSessionInfo::EIdle );
- }
- else if ( state == MVtProtocolCommand::EConnected )
- {
- // protocol is open (should always go through neg.state but just in case)
- // change to open state
- newState = NewStateL( MVtEngSessionInfo::EOpen );
- }
- else if ( state == MVtProtocolCommand::EDisconnecting ||
- state == MVtProtocolCommand::EResetting )
- {
- // change to clearing state
- newState = NewStateL( MVtEngSessionInfo::EClearing );
- }
- else
- {
- // protocol is set up so connect now if ready
- newState = NegotiatingOrConnectedStateL( ETrue );
- }
- if ( newState )
- {
- newState->OpenL( this );
- }
- __VTPRINTEXIT( "StateConnected.Update")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateConnected::DoOpenL
-// State transition to connected state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateConnected::DoOpenL()
- {
- __VTPRINTENTER( "StateConnected.Open")
- NotifyStateChange( MVtEngSessionInfo::EConnected );
- //start monitor incoming call
- __VTPRINTEXIT( "StateConnected.Open")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateConnected::ValidateCommand
-// Returns if a command is valid in idle state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateConnected::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINT( DEBUG_DETAIL |DEBUG_GEN, "StateConnected.Validate")
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- case KVtEngSetSource:
- case KVtEngPrepareViewFinder:
- case KVtEngStartViewFinder:
- case KVtEngPauseViewFinder:
- case KVtEngStopViewFinder:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRenderNGA:
- okToPerform = ETrue;
- break;
- default:
- okToPerform = CVtEngStateBase::ValidateCommand( aCommandId );
- break;
- }
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateConnected::State
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateConnected::State() const
- {
- return MVtEngSessionInfo::EConnected;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateConnected::HandleL
-// Handles an operation when behavior is state dependent.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateConnected::HandleL( CVtEngOperation& aOp )
- {
- TBool handled( CVtEngStateBase::HandleL( aOp ));
- return handled;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateIdle.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +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: Idle state
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateIdle.h"
-#include <cvtlogger.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateIdle::CVtEngStateIdle
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateIdle::CVtEngStateIdle(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : CVtEngStateBase( aStateManager, aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateIdle::~CVtEngStateIdle()
- {
- __VTPRINT( DEBUG_DESTRUCT, "~Stateidl")
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateIdle::UpdateL
-// Updates state
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateIdle::UpdateL()
- {
- __VTPRINTENTER( "StateIdle.Update")
-
- const MVtCtlCallControl::TVtCtlState state = SessionHandler().RealState();
- CVtEngStateBase* newState = NULL;
-
- if( iStateManager.PreviousSessionState() == MVtEngSessionInfo::EUnknown )
- {
- switch ( state )
- {
- case MVtCtlCallControl::EInitializing:
- newState = NewStateL( MVtEngSessionInfo::EInitializing );
- break;
- case MVtCtlCallControl::EAlerting:
- newState = NewStateL( MVtEngSessionInfo::ERemoteAlerting );
- break;
- case MVtCtlCallControl::ERinging:
- newState = NewStateL( MVtEngSessionInfo::EReceiving );
- break;
- case MVtCtlCallControl::EConnected:
- newState = NegotiatingOrConnectedStateL();
- break;
- default:
- break;
- }
- if ( newState )
- {
- CVtEngUtility* utils = CVtEngUtility::EngineUtils();
-
- // Notify UI about initial autolock state. UI must have this
- // information early enough to deduce if it is allowed to
- // go to foreground.
- utils->NotifyLockState();
- utils->StartSATListenL();
- newState->OpenL( this );
- }
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "StateIdle.Update wrong previous state, ignoring")
- }
- __VTPRINTEXIT( "StateIdle.Update")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateIdle::OpenL
-// State transition to idle.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateIdle::DoOpenL()
- {
- __VTPRINTENTER( "StateIdle.Open")
- // Reset settings
- CVtEngSettings& settings = CVtEngUtility::Settings();
- settings.ResetAll();
-
- NotifyStateChange( MVtEngSessionInfo::EIdle );
- __VTPRINTEXIT( "StateIdle.Open")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateIdle::ValidateCommand
-// Returns if a command is valid in idle state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateIdle::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINT( DEBUG_DETAIL | DEBUG_GEN, "StateIdle.Validate")
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- case KVtEngPrepareViewFinder:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRender:
- case KVtEngPrepareRemoteRenderNGA:
- okToPerform = ETrue;
- break;
- default:
- okToPerform = CVtEngStateBase::ValidateCommand( aCommandId );
- break;
- }
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateIdle::State
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateIdle::State() const
- {
- return MVtEngSessionInfo::EIdle;
- }
-
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateInitializing.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2006 - 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: Initializing state
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateInitializing.h"
-#include "CVtEngOperation.h"
-#include "CVtEngSettings.h"
-#include "VtEngUtils.h"
-#include "CVtEngAudioHandler.h"
-#include "CVtEngInitializer.h"
-#include <cvtlogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateInitializing::CVtEngStateInitializing
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateInitializing::CVtEngStateInitializing(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : CVtEngStateBase( aStateManager, aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateInitializing::~CVtEngStateInitializing()
- {
- __VTPRINT( DEBUG_DESTRUCT, "~Stateini")
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateInitializing::UpdateL
-// Updates state
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateInitializing::UpdateL()
- {
- __VTPRINTENTER( "StateInit.Update")
- const MVtCtlCallControl::TVtCtlState bearerstate =
- SessionHandler().RealState();
-
- CVtEngStateBase* newState = NULL;
- if ( bearerstate == MVtCtlCallControl::EIdle ||
- bearerstate == MVtCtlCallControl::EDisconnecting )
- {
- newState = NewStateL( MVtEngSessionInfo::EClearing );
- // Initializer may be waiting for dataport. In that case MediaHandler
- // has already signaled reqStatus of CVtEngInitializer which must
- // complete KVtEngInitializeEngine command in order uninitialisation to
- // finish properly. This scenario may happen in 1st call since phone
- // boot, i.e. when dataport name is not already published.
- CVtEngUtility::EngineUtils()->Initializer().CancelInit();
- }
- else if ( bearerstate == MVtCtlCallControl::EAlerting )
- {
- newState = NewStateL( MVtEngSessionInfo::ERemoteAlerting );
- }
- else
- {
- newState = NegotiatingOrConnectedStateL(); // or null
- }
- if ( newState )
- {
- newState->OpenL( this );
- }
- __VTPRINTEXIT( "StateInit.Update")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateInitializing::OpenL
-// State transition to initializing.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateInitializing::DoOpenL()
- {
- __VTPRINTENTER( "StateInit.Open" )
- NotifyStateChange( MVtEngSessionInfo::EInitializing );
-
- // Instantiate temporary devsound for audio routing
- AudioHandler().SetRoutingEnablerL( ETrue );
- __VTPRINTEXIT( "StateInit.Open" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateInitializing::ValidateCommand
-// Returns if a command is valid in initializing state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateInitializing::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINT( DEBUG_DETAIL | DEBUG_GEN, "StateInit.Validate")
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- case KVtEngPrepareViewFinder:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRenderNGA:
- case KVtEngSetSource:
- case KVtEngStartViewFinder:
- okToPerform = ETrue;
- break;
- default:
- okToPerform = CVtEngStateBase::ValidateCommand( aCommandId );
- break;
- }
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateInitializing::State
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateInitializing::State() const
- {
- return MVtEngSessionInfo::EInitializing;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateInitializing::HandleL
-// Handles an operation when behavior is state dependent.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateInitializing::HandleL( CVtEngOperation& aOp )
- {
- TBool handled( CVtEngStateBase::HandleL( aOp ));
- if ( !handled )
- {
- switch ( aOp.Command() )
- {
- case KVtEngStartRenderRemote:
- SetVideoEnabled( ETrue );
- handled = ETrue;
- break;
- }
- }
- return handled;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateManager.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
-* Copyright (c) 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: Implementation of state manager for session and audio routing states.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtEngStateManager.h"
-#include "CVtEngHandlerContainer.h"
-#include "CVtEngStateBase.h"
-#include "CVtEngStateIdle.h"
-#include "CVtEngStateOpen.h"
-#include "CVtEngEventManager.h"
-#include "CVtEngStateConnected.h"
-#include "CVtEngOperation.h"
-#include "cvtlogger.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::CVtEngStateManager
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateManager::CVtEngStateManager(
- CVtEngHandlerContainer& aHandlers,
- CVtEngEventManager& aEventManager ) :
- iPreviousSessionState( MVtEngSessionInfo::EUnknown ),
- iHandlers( aHandlers ),
- iEventManager( aEventManager )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateManager::ConstructL()
- {
- iSessionState = new ( ELeave )
- CVtEngStateIdle( *this, iEventManager );
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateManager* CVtEngStateManager::NewL(
- CVtEngHandlerContainer& aHandlers,
- CVtEngEventManager& aEventManager )
- {
- __VTPRINT( DEBUG_GEN , "CVtEngStateManager::NewL" )
- CVtEngStateManager* self = new ( ELeave )
- CVtEngStateManager( aHandlers, aEventManager );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
- }
-
-
-// Destructor
-CVtEngStateManager::~CVtEngStateManager()
- {
- __VTPRINT( DEBUG_GEN , "CVtEngStateManager::~" )
- delete iSessionState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::UpdateL
-// Updates current state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateManager::Update( )
- {
- if ( iSessionState )
- {
- TRAPD(err,iSessionState->UpdateL());
- if ( err != KErrNone )
- {
- __VTPRINT2( DEBUG_GEN, "SM.update fail=%d", err )
- iEventManager.NotifyEvent( err );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::IsCommandPossible
-// Checks if a command is possible in current state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateManager::IsCommandPossible(
- const TVtEngCommandId aCommandId ) const
- {
- if ( iSessionState )
- {
- return iSessionState->ValidateCommand( aCommandId );
- }
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::SetState
-// Sets new session state.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateManager::SetState( CVtEngStateBase& aNewState )
- {
- if( iSessionState )
- {
- iPreviousSessionState = iSessionState->State();
- }
- iSessionState = &aNewState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::HandleOperationL
-//
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateManager::HandleOperationL( CVtEngOperation& aOp )
- {
- __VTPRINT2( DEBUG_GEN, "StateMgr.HandleOp=%d", aOp.Command() )
- TInt handled( EFalse );
- if ( iSessionState )
- {
- handled = iSessionState->HandleL( aOp );
- }
- __VTPRINT2( DEBUG_GEN | DEBUG_RETURN, "StateMgr.HandleOp handled=%d",
- handled )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::SessionState
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateManager::SessionState() const
- {
- if ( iSessionState )
- {
- return iSessionState->State();
- }
- return MVtEngSessionInfo::EUnknown;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateManager::PreviousSessionState
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateManager::PreviousSessionState() const
- {
- return iPreviousSessionState;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateNegotiating.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +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: Negotiating state
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateNegotiating.h"
-#include <cvtlogger.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateNegotiating::CVtEngStateNegotiating
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateNegotiating::CVtEngStateNegotiating(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : CVtEngStateBase( aStateManager, aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateNegotiating::~CVtEngStateNegotiating()
- {
- __VTPRINT( DEBUG_DESTRUCT, "~Stateneg")
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateNegotiating::UpdateL
-// Updates state
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateNegotiating::UpdateL()
- {
- __VTPRINTENTER( "StateNegotiate.Update" )
- const MVtCtlCallControl::TVtCtlState bearerstate =
- SessionHandler().RealState();
- const MVtProtocolCommand::TVtProtocolState state( MediaHandler().ProtoState() );
- CVtEngStateBase* newState = NULL;
-
- if ( bearerstate != MVtCtlCallControl::EConnected ||
- state == MVtProtocolCommand::ESetup ) // <- connect failed
- {
- newState = NewStateL( MVtEngSessionInfo::EClearing );
- }
- else if ( state == MVtProtocolCommand::EConnected )
- {
- // change to open state
- newState = NewStateL( MVtEngSessionInfo::EOpen );
- }
- else if ( state == MVtProtocolCommand::ESetup )
- {
- // should not usually happen unless connect fails
- newState = NewStateL( MVtEngSessionInfo::EConnected );
- }
- if ( newState )
- {
- newState->OpenL( this );
- }
- __VTPRINTEXIT( "StateNegotiate.Update" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateNegotiating::OpenL
-// State transition to negotiating.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateNegotiating::DoOpenL( )
- {
- __VTPRINTENTER( "StateNegotiate.Open" )
- NotifyStateChange( MVtEngSessionInfo::ENegotiating);
- __VTPRINTEXIT( "StateNegotiate.Open" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateNegotiating::ValidateCommand
-// Returns if a command is valid in negotiating state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateNegotiating::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINT( DEBUG_DETAIL | DEBUG_GEN, "StateNegotiate.Validate")
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- case KVtEngPrepareViewFinder:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRender:
- case KVtEngPrepareRemoteRenderNGA:
- case KVtEngStartRenderRemote: // cached to settings
- case KVtEngSetSource:
- case KVtEngPrepareCamera:
- case KVtEngSetZoomStep:
- case KVtEngStartViewFinder:
- case KVtEngStopViewFinder:
- case KVtEngTerminateSession:
- okToPerform = ETrue;
- break;
- default:
- okToPerform = CVtEngStateBase::ValidateCommand( aCommandId );
- break;
- }
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateNegotiating::State
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateNegotiating::State() const
- {
- return MVtEngSessionInfo::ENegotiating;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateNegotiating::HandleL
-// Handles an operation when behavior is state dependent.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateNegotiating::HandleL( CVtEngOperation& aOp )
- {
- __VTPRINTENTER( "StateNegotiate.HandleL" )
- TBool handled( CVtEngStateBase::HandleL( aOp ) );
- if ( !handled )
- {
- switch ( aOp.Command() )
- {
- case KVtEngStartRenderRemote:
- SetVideoEnabled( ETrue );
- handled = ETrue;
- break;
- case KVtEngTerminateSession:
- TerminateSessionL( aOp );
- break;
- }
- }
- __VTPRINTEXITR( "StateNegotiate.HandleL %d", handled )
- return handled;
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateOpen.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-/*
-* 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: Open state handle interfaces implementation
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateOpen.h"
-#include "CVtEngOperation.h"
-#include "CVtEngAudioHandler.h"
-#include <cvtlogger.h>
-
-#include "CVtEngExtensions.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateOpen::CVtEngStateOpen
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateOpen::CVtEngStateOpen(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : CVtEngStateBase( aStateManager, aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateOpen::~CVtEngStateOpen()
- {
- __VTPRINT( DEBUG_DESTRUCT, "~StateOpen")
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateOpen::UpdateL
-// Updates state
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateOpen::UpdateL()
- {
- __VTPRINTENTER( "StateOpen.Update" )
- const MVtCtlCallControl::TVtCtlState bearerstate =
- SessionHandler().RealState();
-
- const MVtProtocolCommand::TVtProtocolState protoState( MediaHandler().ProtoState() );
- const TBool bearerIdle = ( bearerstate == MVtCtlCallControl::EIdle ||
- bearerstate == MVtCtlCallControl::EUnknown );
- const TBool bearerDisconnecting =
- ( bearerstate == MVtCtlCallControl::EDisconnecting );
-
- CVtEngStateBase* newState = NULL;
-
- if ( protoState == MVtProtocolCommand::ESetup ||
- protoState == MVtProtocolCommand::EIdle ||
- bearerIdle )
- {
- newState = NewStateL( MVtEngSessionInfo::EIdle );
- }
- else if ( bearerDisconnecting || protoState == MVtProtocolCommand::EDisconnecting )
- {
- newState = NewStateL( MVtEngSessionInfo::EClearing );
- }
- if ( newState )
- {
- newState->OpenL( this );
- }
- __VTPRINTEXIT( "StateOpen.Update" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateOpen::OpenL
-// State transition to open.
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateOpen::DoOpenL()
- {
- __VTPRINTENTER( "StateOpen.Open" )
-
- // set audio routing (and ouput volume)
- RouteAudioL( NULL );
-
- NotifyStateChange( MVtEngSessionInfo::EOpen );
- __VTPRINTEXIT( "StateOpen.Open" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateOpen::ValidateCommand
-// Returns if a command is valid in open state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateOpen::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINT( DEBUG_DETAIL | DEBUG_GEN, "StateOpen.Validate")
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- case KVtEngInitializeEngine: // temporary
- case KVtEngPrepareCamera:
- case KVtEngSetZoomStep:
- case KVtEngStartViewFinder:
- case KVtEngPauseViewFinder:
- case KVtEngStopViewFinder:
- case KVtEngStartRenderRemote:
- case KVtEngStopRenderRemote:
- case KVtEngPauseRenderRemote:
- case KVtEngTerminateSession:
- case KVtEngStartDtmfTone:
- case KVtEngStopDtmfTone:
- // Handling of different UIIs, support is there
- case KVtEngSetUIIDtmfSupport:
- case KVtEngSetUIIBasicStringSupport:
- case KVtEngSetUIIIA5StringSupport:
- case KVtEngSetUIIGeneralStringSupport:
- case KVtEngSwitchToVoice:
- okToPerform = ETrue;
- break;
-
- // Extension commands
- case KVtEngSetContrast:
- case KVtEngSetBrightness:
- case KVtEngSetWhiteBalance:
- case KVtEngSetColorTone:
-#if defined ( RD_VT_RTF )
- case KVtEngStartRecord:
- case KVtEngStopRecord:
-#endif // RD_VT_RTF
- {
- // Get extension handle from Utils
- __VTPRINT(DEBUG_GEN, "StateOpen extension->ValidateCommand")
- okToPerform = CVtEngUtility::Extensions()->ValidateCommand(
- aCommandId );
- break;
- }
-
- default:
- okToPerform = CVtEngStateBase::ValidateCommand( aCommandId );
- break;
- }
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateOpen::State
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateOpen::State() const
- {
- return MVtEngSessionInfo::EOpen;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateOpen::HandleL
-// Handles an operation when behavior is state dependent.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateOpen::HandleL( CVtEngOperation& aOp )
- {
- __VTPRINTENTER( "StateOpen.HandleL" )
- TBool handled( CVtEngStateBase::HandleL( aOp ) );
- switch ( aOp.Command() )
- {
- case KVtEngTerminateSession:
- TerminateSessionL( aOp );
- handled = ETrue;
- break;
-
- case KVtEngSwitchToVoice:
- {
- CVtEngStateBase* newState =
- NewStateL( MVtEngSessionInfo::EClearing );
- CleanupStack::PushL( newState );
- newState->OpenL( this );
- CleanupStack::Pop();
- // aOp is not passed to media handler because mediator command
- // sender signals completion, see
- // CVtEngMdtrCommandSender::HandleVtEventL
- }
- break;
-
- // Extension commands
- case KVtEngSetContrast:
- case KVtEngSetBrightness:
- case KVtEngSetWhiteBalance:
- case KVtEngSetColorTone:
-#if defined ( RD_VT_RTF )
- case KVtEngStartRecord:
- case KVtEngStopRecord:
-#endif // RD_VT_RTF
- CallExtensionL( &aOp);
- break;
- default:
- break;
- }
- __VTPRINTEXITR( "StateOpen.HandleL %d", handled )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateOpen::RouteAudioL
-// Handles audio routing operation.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateOpen::RouteAudioL(
- CVtEngOperation* aOp )
- {
- __VTPRINTENTER( "StateOpen.RouteAudioL" )
- CVtEngSettings& settings = CVtEngUtility::Settings();
- const CVtEngSettings::TVtEngVideoCallConfig& config = settings.Config();
-
- CVtEngAudioHandler& audioHandler = AudioHandler();
- MVtEngAudio::TAudioRoutingState routingState( MVtEngAudio::EAudioWiredHeadset );
- audioHandler.GetRoutingState( routingState );
-
- TBool routeAudio( ETrue );
- TInt volume( config.iAudio.iVolume.iHandsfreeVolume );
- switch ( routingState )
- {
- case MVtEngAudio::EAudioWiredHeadset:
- routeAudio = EFalse;
- // fall thru
- case MVtEngAudio::EAudioHandset:
- case MVtEngAudio::EAudioBT:
- volume = config.iAudio.iVolume.iHandsetVolume;
- break;
- // use default values
- case MVtEngAudio::EAudioLoudspeaker:
- default:
- break;
- }
- __VTPRINT3( DEBUG_GEN | DEBUG_DETAIL,
- "StateOpen.RouteAudioL route=%d,vol=%d", routeAudio,volume )
- if ( aOp == NULL || ( aOp && routeAudio ) )
- {
- // set volume if state was changed (called from DoOpenL) or
- // audio routing will be changed
- __VTPRINT( DEBUG_GEN | DEBUG_DETAIL, "StateOpen.RouteAudioL SetVol" )
- MediaHandler().SetVolume( volume );
- }
-
- // *** AUDIO && ( aOp != NULL ) ***
- if ( routeAudio && ( aOp != NULL ) )
- {
- if ( aOp )
- {
- audioHandler.HandleL( *aOp );
- }
- }
- __VTPRINTEXIT( "StateOpen.RouteAudioL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateOpen::CallExtensionL
-// Handles extension operations.
-//
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateOpen::CallExtensionL(
- CVtEngOperation* aOp)
- {
- __VTPRINTENTER( "StateOpen.CallExtensionL" )
- CVtEngUtility::Extensions()->OfferOperationL( aOp );
- __VTPRINTEXIT( "StateOpen.CallExtensionL" )
- }
-
-// End of File
--- a/vtengines/videoteleng/Src/State/CVtEngStateRinging.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +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: Ringing state handle interfaces implementation
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtEngStateRinging.h"
-#include "CVtEngInitializer.h"
-#include "VtEngUtils.h"
-#include <cvtlogger.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngStateRinging::CVtEngStateRinging
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngStateRinging::CVtEngStateRinging(
- CVtEngStateManager& aStateManager,
- CVtEngEventManager& aEventManager )
- : CVtEngStateBase( aStateManager, aEventManager )
- {
- }
-
-// Destructor
-CVtEngStateRinging::~CVtEngStateRinging()
- {
- __VTPRINT( DEBUG_DESTRUCT, "~StateRing")
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtEngStateRinging::UpdateL
-// Updates state
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateRinging::UpdateL()
- {
- __VTPRINTENTER( "StateRing.Update" )
- const MVtCtlCallControl::TVtCtlState bearerstate =
- SessionHandler().RealState();
- CVtEngStateBase* newState = NULL;
- switch ( bearerstate )
- {
- case MVtCtlCallControl::EConnected:
- newState = NegotiatingOrConnectedStateL();
- break;
- case MVtCtlCallControl::EDisconnecting:
- case MVtCtlCallControl::EIdle:
- newState = NewStateL( MVtEngSessionInfo::EIdle );
- // Initializer may be waiting for dataport. In that case MediaHandler
- // has already signaled reqStatus of CVtEngInitializer which must
- // complete KVtEngInitializeEngine command in order uninitialisation to
- // finish properly. This scenario may happen in 1st call since phone
- // boot, i.e. when dataport name is not already published.
- CVtEngUtility::EngineUtils()->Initializer().CancelInit();
- break;
- default:
- break;
- }
- if ( newState )
- {
- newState->OpenL( this );
- }
- __VTPRINTEXIT( "StateRing.Update")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateRinging::OpenL
-// State transition to Ring.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtEngStateRinging::DoOpenL()
- {
- __VTPRINTENTER( "StateRing.Open")
- NotifyStateChange( MVtEngSessionInfo::EReceiving );
- __VTPRINTEXIT( "StateRing.Open")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateRinging::ValidateCommand
-// Returns if a command is valid in ringing state.
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtEngStateRinging::ValidateCommand(
- const TVtEngCommandId aCommandId )
- {
- __VTPRINT( DEBUG_DETAIL | DEBUG_GEN, "Statering.Validate")
- TBool okToPerform( EFalse );
- switch ( aCommandId )
- {
- case KVtEngSetSource:
- case KVtEngPrepareViewFinder:
- case KVtEngStartViewFinder:
- case KVtEngPauseViewFinder:
- case KVtEngPrepareRemoteRenderDSA:
- case KVtEngPrepareRemoteRenderDP:
- case KVtEngPrepareRemoteRender:
- case KVtEngPrepareRemoteRenderNGA:
- case KVtEngStartRenderRemote:
- okToPerform = ETrue;
- break;
- default:
- okToPerform = CVtEngStateBase::ValidateCommand( aCommandId );
- break;
- }
- return okToPerform;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngStateRinging::State
-// Returns session state.
-//
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState CVtEngStateRinging::State() const
- {
- return MVtEngSessionInfo::EReceiving;
- }
-
-// End of File
--- a/vtengines/videoteleng/bwins/VIDEOTELENGU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
- ??1CVtEngModel@@UAE@XZ @ 1 NONAME ; CVtEngModel::~CVtEngModel(void)
- ?Audio@CVtEngModel@@QBEAAVMVtEngAudio@@XZ @ 2 NONAME ; class MVtEngAudio & CVtEngModel::Audio(void) const
- ?CommandHandler@CVtEngModel@@QBEAAVMVtEngCommandHandler@@XZ @ 3 NONAME ; class MVtEngCommandHandler & CVtEngModel::CommandHandler(void) const
- ?Extension@CVtEngModel@@QAEPAXABVTUid@@@Z @ 4 NONAME ; void * CVtEngModel::Extension(class TUid const &)
- ?Media@CVtEngModel@@QBEAAVMVtEngMedia@@XZ @ 5 NONAME ; class MVtEngMedia & CVtEngModel::Media(void) const
- ?NewL@CVtEngModel@@SAPAV1@AAVMVtEngEventObserver@@AAVMVtEngCommandObserver@@@Z @ 6 NONAME ; class CVtEngModel * CVtEngModel::NewL(class MVtEngEventObserver &, class MVtEngCommandObserver &)
- ?Session@CVtEngModel@@QBEAAVMVtEngSessionInfo@@XZ @ 7 NONAME ; class MVtEngSessionInfo & CVtEngModel::Session(void) const
-
Binary file vtengines/videoteleng/data/videoteleng_stub.SIS has changed
--- a/vtengines/videoteleng/data/videoteleng_stub.pkg Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-;
-; Copyright (c) 2009 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:
-;
-; Languages
-&EN
-
-; Header
-#{"videoteleng"}, (0x101F867F), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\videoteleng.dll"
-""-"z:\sys\bin\cscallctrl.dll"
-""-"z:\sys\bin\vtlogger.dll"
--- a/vtengines/vtmediatorplugin/data/vtmediatorplugin.pkg Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-;
-; Copyright (c) 2009 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:
-;
-
-; vtmediatorplugin.pkg
-;
-; Languages
-&EN
-
-;Header
-#{"vtmediatorplugin patch"},(0x2001599F),10,1,0,TYPE=PU
-
-; localized vendor name
-%{"Nokia"}
-
-; unique vendor name
-:"Nokia"
-
-"\epoc32\release\armv5\udeb\vtmediatorplugin.dll"-"!:\sys\bin\vtmediatorplugin.dll"
-"\epoc32\data\z\resource\plugins\vtmediatorplugin.rsc"-"!:\sys\bin\vtmediatorplugin.rsc"
-
-
-; End of File
--- a/vtengines/vtmediatorplugin/data/vtmediatorplugin.rss Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* 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: Resource file for VT Mediator plugin.
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-// n/a
-
-// INCLUDES
-#include <registryinfov2.rh>
-#include <MediatorUids.hrh>
-
-
-// -----------------------------------------------------------------------------
-// theInfo
-// ECom interface definition for the VT Mediator plugin.
-// -----------------------------------------------------------------------------
-RESOURCE REGISTRY_INFO theInfo
- {
- resource_format_version = RESOURCE_FORMAT_VERSION_2;
- dll_uid = 0x2001599F;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = KMediatorPluginInterfaceUid;
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x200159A0;
- version_no = 1;
- display_name = "VT Mediator Plugin";
- default_data = "Mediator";
- opaque_data = "";
- rom_only = 1;
- }
- };
- }
- };
- }
-
Binary file vtengines/vtmediatorplugin/data/vtmediatorplugin.sis has changed
--- a/vtengines/vtmediatorplugin/data/vtmediatorplugin_stub.pkg Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-;
-; Copyright (c) 2009 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:
-;
-; Languages
-&EN
-
-; Header
-#{"vtmediatorplugin"}, (0x2001599F), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\vtmediatorplugin.dll"
-""-"z:\resource\plugins\vtmediatorplugin.r*"
Binary file vtengines/vtmediatorplugin/data/vtmediatorplugin_stub.sis has changed
--- a/vtengines/vtmediatorplugin/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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: Video Telephony Mediator Plugin
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/vtinternalmediatorapi.h |../../../inc/vtinternalmediatorapi.h
-
-../data/vtmediatorplugin_stub.sis /epoc32/data/z/system/install/vtmediatorplugin_stub.sis
-
-// Export IBY file
-../rom/vtmediatorplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(vtmediatorplugin.iby)
-
-PRJ_MMPFILES
-vtmediatorplugin.mmp
--- a/vtengines/vtmediatorplugin/group/vtmediatorplugin.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* 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: Video telephony mediator plugin
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh> // for APP_LAYER_SYSTEMINCLUDE macro
-
-// Build target
-
-CAPABILITY CAP_ECOM_PLUGIN
-TARGET vtmediatorplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x2001599F
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../data
-START RESOURCE vtmediatorplugin.rss
-TARGET vtmediatorplugin.rsc
-END
-
-SOURCEPATH ../src
-SOURCE cvtmediatorplugin.cpp
-SOURCE vtmediatorpluginproxy.cpp
-
-USERINCLUDE ../inc
-SYSTEMINCLUDE ../../../inc
-SYSTEMINCLUDE /epoc32/include/ecom
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY apparc.lib
-LIBRARY apgrfx.lib
-LIBRARY euser.lib
-LIBRARY ws32.lib
-LIBRARY ecom.lib
-LIBRARY mediatorclient.lib
-LIBRARY mediatorpluginbase.lib
-
-// End of File
--- a/vtengines/vtmediatorplugin/inc/cvtmediatorplugin.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,349 +0,0 @@
-/*
-* 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: Video Telephony mediator plugin header
-*
-*/
-
-
-#ifndef C_VTMEDIATORPLUGIN_H
-#define C_VTMEDIATORPLUGIN_H
-
-// INCLUDES
-#include <MediatorPluginBase.h>
-#include <mediatornotifications.h>
-#include <mediatoreventconsumer.h>
-#include <mediatoreventprovider.h>
-#include <mediatorcommandresponder.h>
-#include <vtinternalmediatorapi.h>
-#include <mediatoreventsfromtelephonyapi.h>
-#include <mediatorcommandinitiator.h>
-#include <w32std.h>
-
-
-
-using namespace TelephonyMediator;
-using namespace MediatorService;
-
-class TelephonyMediator::TTelephonyCallDataParam;
-class CMediatorCommandInitiator;
-/**
-* Mediator plugin for CS video telephony. Fullfills responsibilities:
-* - launches Video Telephone application
-* - caches CLI and Dataport information for VT app for time between
-* the data is broadcasted to time VT is ready to receive it.
-* @since S60 5.0
-*/
-
-class CVtMediatorPlugin : public CMediatorPluginBase,
- public MMediatorNotifications,
- public MMediatorEventObserver,
- public MMediatorCommandObserver,
- public MMediatorCommandResponseObserver
- {
-public:
-
- static CMediatorPluginBase* NewL();
-
- /**
- * Destructor.
- */
- ~CVtMediatorPlugin();
-
-public: // From Base class
-
- virtual void StartL();
-
-public: // From MMediatorNotifications
-
- /**
- * Raises VT specific CLI/dataport event when event is registered by VT app,
- * or when the information is available
- *
- * @since Series 60 3.1
- * @param aDomain The identifier of the domain.
- * @param aCategory The identifier of the category.
- * @param aEvents The list of events that have been registered.
- * @return None.
- */
- virtual void MediatorEventsAddedL( TUid aDomain,
- TUid aCategory,
- const REventList& aEvents );
-
- /**
- * New commands have been registered. The commands can now be subscribed.
- * The list can contain 1-n new commands into the category.
- *
- * @since Series 60 3.1
- * @param aDomain The identifier of the domain.
- * @param aCategory The identifier of the category.
- * @param aCommands List of commands that have been registered.
- * @return None.
- */
- virtual void MediatorCommandsAddedL( TUid aDomain,
- TUid aCategory,
- const RCommandList& aCommands );
-
- /**
- * A category has been removed. All subscriptions are cancelled.
- *
- * @since Series 60 3.1
- * @param aDomain The identifier of the domain.
- * @param aCategory The identifier of the category.
- * @return None.
- */
- virtual void MediatorCategoryRemovedL( TUid aDomain, TUid aCategory );
-
- /**
- * List of events has been removed. All subscriptions are cancelled.
- * List can contain 1-n events from the specified category.
- *
- * @since Series 60 3.1
- * @param aDomain The identifier of the domain.
- * @param aCategory The identifier of the category.
- * @param aEvents The list of events removed.
- * @return None.
- */
- virtual void MediatorEventsRemovedL( TUid aDomain,
- TUid aCategory,
- const REventList& aEvents );
-
- /**
- * List of commands have been removed. All subscriptions are cancelled.
- * List can contain 1-n commands from the specified category.
- *
- * @since Series 60 3.1
- * @param aDomain The identifier of the domain.
- * @param aCategory The identifier of the category.
- * @param aCommands The list of commands removed
- * @return None.
- */
- virtual void MediatorCommandsRemovedL( TUid aDomain,
- TUid aCategory,
- const MediatorService::RCommandList& aCommands );
-
-public: // from MMediatorCommandObserver
-
- /**
- * @see MMediatorCommandObserver::MediatorCommandL
- */
- virtual void MediatorCommandL( TUid aDomain,
- TUid aCategory,
- TInt aCommandId,
- TVersion aVersion,
- const TDesC8& aData );
-
- /**
- * @see MMediatorCommandObserver::CancelMediatorCommand
- */
- virtual void CancelMediatorCommand( TUid aDomain,
- TUid aCategory,
- TInt aCommandId );
-
-public:// from MMediatorCommandResponseObserver
- /**
- * @see MMediatorCommandResponseObserver::CommandResponseL
- */
- virtual void CommandResponseL( TUid aDomain,
- TUid aCategory,
- TInt aCommandId,
- TInt aStatus,
- const TDesC8& aData );
-
-public: // from MMediatorEventObserver
-
- /**
- * A Mediator Service event.
- *
- * @since Series 60 3.1
- * @param aDomain The identifier of the domain.
- * @param aCategory The identifier of the category.
- * @param aEventId The identifier of the event.
- * @param aData The parameters of the event.
- * @return None.
- */
- virtual void MediatorEventL( TUid aDomain,
- TUid aCategory,
- TInt aEventId,
- const TDesC8& aData );
-
-public: // new
- static TInt EventRaiserCallback( TAny* aAny );
-
-private: // constructors
-
- CVtMediatorPlugin(); void ConstructL();
-
- enum TInternalState {
- /**
- * Waiting for video call state to reach value that is suitable
- * for launching Video Telephone application. In this state
- * video call is not ongoing.
- */
- EWaitingAppLaunch,
-
- /**
- * Waiting for VT application's readiness to receive video call info
- * events. In this state video call is ongoing and VT application
- * is starting up.
- */
- EWaitingEventRegistration,
-
- /**
- * VT application is ready to receive video call info events.
- */
- EReady
- };
-
-private: // new functions
- void ChangeCallDataEventSubscriptionL(
- const REventList& aEvents,
- const TBool aEventRegistered );
-
- void HandleVtCommandUnregistrationL();
-
- void HandleVtCommandRegistrationL();
-
- void LaunchVtAppL();
-
- void SaveCallData( const TelephonyMediator::TTelephonyCallDataParam& aData, TVtVideoTelephonyCallInformation& iVtCallInfo);
-
- void HandleDataportCommandL( const TDesC8& aData );
-
- void ClearData(TVtVideoTelephonyCallInformation& aVtCallInfo, TCallState& aCallState);
-
- void RegisterVtInternalEventL();
- //test
- void RegisterVtInternalEvent_2L();
-
- void RegisterDataportCommandL();
-
- void RaiseVtEventL();
-
- /**
- * Starts VT application if video call state transition is suitable.
- */
- void HandleCallStateChangeL( const TelephonyMediator::TTelephonyCallDataParam& aData );
-
- TBool IsEnoughMemory();
-
- void FreeRam();
-
- void StopDeathActiveL();
-
-private:
- // for detecting subscription to video call information from VT app.
- CMediatorNotifications* iMediatorNotifications;
-
- // for sending video call information events
- CMediatorEventProvider* iEventProvider;
-
- // for receiving CLI from Telephony
- CMediatorEventConsumer* iEventConsumer;
-
- // for responding to dataport/releasedataport command from Telephony
- CMediatorCommandResponder* iCommandResponder;
-
- // for issue command to vt app
- CMediatorCommandInitiator* iCommandInitiator;
-
- // supported mediator commands
- MediatorService::RCommandList iCommandList;
-
- // plugin's internal state
- TInternalState iState;
-
- // cached active video call state (from last call data event from Telephony)
- TCallState iActiveVideoCallState;
-
- TVtVideoTelephonyCallInformation iActiveVideoCallInfo;
-
- // cached waiting video call state (from last call data event from Telephony)
- TCallState iWaitingVideoCallState;
-
- TVtVideoTelephonyCallInformation iWaitingVideoCallInfo;
-
- // for raising event to VT asynchronously when it starts up
- CAsyncCallBack* iCallBack;
-
- class CAppDeathActive;
- // Owned application death waiter.
- CAppDeathActive* iAppDeathActive;
-
- // Owned application thread.
- RThread iAppThread;
-
- // Application thread id.
- TThreadId iAppThreadId;
-
- // Owned window server session.
- RWsSession iWsSession;
- /**
- * Active object for waiting thread death.
- *
- * @since 2.6
- * @lib videotelcomms.lib
- */
- NONSHARABLE_CLASS( CAppDeathActive ) : public CActive
- {
- public: // Constructors
-
- /**
- * Constructor.
- */
- CAppDeathActive( CVtMediatorPlugin& aMediatorPlugin,
- RThread& aAppThread );
-
- /**
- * Destructor.
- */
- ~CAppDeathActive();
-
- public: // New functions
-
- /**
- * Starts active object.
- */
- void Start();
-
- public: // From base classes
-
- /**
- * @see CActive::RunL.
- */
- virtual void RunL();
-
- /**
- * @see CActive::DoCancel.
- */
- virtual void DoCancel();
-
- /**
- * @see CActive::RunError.
- */
- virtual TInt RunError( TInt aError );
-
- private:
-
- // Reference to starter.
- CVtMediatorPlugin& iMediatorPlugin;
-
- // Reference to thread.
- RThread& iAppThread;
-
- };
-
- };
-
-#endif // C_VTMEDIATORPLUGIN_H
-
--- a/vtengines/vtmediatorplugin/inc/vtinternalmediatorapi.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* 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: Message Interface between VT mediator plugin and VT application
-*
-*/
-
-
-#ifndef VTINTERNALMEDIATORAPI_H
-#define VTINTERNALMEDIATORAPI_H
-
-// INCLUDES
-#include <e32base.h>
-
-/** The category UID for the messages in this header file.
- * UID for category is not real UID, it just need to unique in Domain
- */
-const TUid KCatVideotelInternalEvents = { 0x101F8690 };
-const TUid KCatVideotelInternalCommands = { 0x101F8691 };
-
-/** Version number of this API */
-const TInt KVideotelMdtrEventVersionMajor( 1 );
-const TInt KVideotelMdtrEventVersionMinor( 0 );
-const TInt KVideotelMdtrEventVersionBuild( 0 );
-
-/** Version number of this API */
-const TInt KVideotelMdtrCommandsVersionMajor( 1 );
-const TInt KVideotelMdtrCommandsVersionMinor( 0 );
-const TInt KVideotelMdtrCommandsVersionBuild( 0 );
-
-struct TVtVideoTelephonyCallInformation
-{
- /** Max length of display text */
- enum { TDisplayTextMaxLength = 100 };
-
- /** Display text type definition */
- typedef TBuf<TDisplayTextMaxLength> TDisplayText;
-
- /** Remote end CLI identifier (name/number/call id) */
- TDisplayText iDisplayText;
-
- /** Call id of the video call */
- TInt iCallId;
-
- /** Indicates voice call creation possibility to remote end (number is
- * available)
- */
- TBool iVoiceCallPossible;
-
- /** Dataport name or empty buffer if not specified in the event */
- TName iDataport;
-
- /**
- * Defines which parts of the event date is valid
- */
- enum TMessageDataValidity {
- EDisplayTextValid = 0x01,
- EDataportValid = 0x02
- };
-
- /** Event data validity */
- TUint iEventDataValidity;
-
-};
-
-typedef TPckgBuf<TVtVideoTelephonyCallInformation> TVtMediatorInfoPackage;
-
-/** Events bwtween Video Telephony Mediator plugin and VT application. */
-enum TVideotelMdtrEvents
- {
- /**
- * Event with TVtVideoTelephonyCallInformation as content
- * Consuming event requires capability ECapabilityReadDeviceData
- */
- EVtMediatorEventVideoCallInformation = 0
- };
-
-enum TVideotelMdtrCommands
- {
- EVtMediatorReleaseDataport = 0
- };
-
-#endif // VTINTERNALMEDIATORAPI_H
--- a/vtengines/vtmediatorplugin/rom/vtmediatorplugin.iby Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* 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: IBY file
- *
-*/
-
-#ifndef __VTMEDIATORPLUGIN_IBY__
-#define __VTMEDIATORPLUGIN_IBY__
-
-#ifdef __CS_VIDEO_TELEPHONY
-ECOM_PLUGIN( vtmediatorplugin.dll, vtmediatorplugin.rsc)
-#endif
-#endif
-
--- a/vtengines/vtmediatorplugin/src/cvtmediatorplugin.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1024 +0,0 @@
-/*
-* 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: Video Telephony mediator plugin header
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32def.h>
-#include <w32std.h>
-#include <apacmdln.h>
-#include <apaflrec.h>
-#include <apgcli.h>
-#include <MediatorDomainUIDs.h>
-#include <eikdll.h>
-#include <apgcli.h>
-#include <apgwgnam.h>
-#include <apgtask.h>
-#include <mediatorcommandstotelephonyapi.h>
-#include <videotelcontrolmediatorapi.h>
-#include <videoteltophonecommandsapi.h>
-#include "cvtmediatorplugin.h"
-
-
-// CONSTANTS
-#ifdef _DEBUG
-#define TRACE(x) RDebug::Print( _L(x) );
-#define TRACE2(x,y) RDebug::Print( _L(x),y );
-#else
-#define TRACE(x)
-#define TRACE2(x,y)
-#endif
-
-// This array's values are used in algorithm defining if video telephone
-// application should be started. Previous state value is substracted from new
-// state value and if result is greater than zero, app is started.
-// This tackles transitions where a state is for some reason skipped,
-// e.g. idle -> connected (dialling/ringing/answering states were not detected).
-// Negative value indicates call clearing.
-static const TInt KVtCallStateActionArray[] = {
- 0, //ECallStateUnknown
- 0, //ECallStateIdle
- 1, // ECallStateDialling
- 0, // ECallStateEmergencyDialling (not valid video call state)
- 1, // ECallStateRinging
- 1, // ECallStateConnecting
- 1, // ECallStateConnected
- 0, // ECallStateHangingUp
- 0, // ECallStateHeld (not valid video call state)
- 1, // ECallStateAnswering
- 0, // ECallStateRejecting
- 0 // ECallStateDisconnecting
- };
-
-static const TInt KVtAppNotReady = 5000;
-
-static const TInt KVtEngMdtrCmdTimeout = 500000;
-
-static const TInt KVtInitCallId = -1000;
-
-// array granularity is 2 (use dataport, release dataport commands)
-static const TInt KVtMdtrCmdArrayGranularity = 2;
-
-const TUid KVtCmVideoTelUiUid = { 0x101F8681 };
-
-static const TInt KRamNeededForVideoCalls = 4000000;
-
-// VT application path
-_LIT( KVtCmVideoTelUiPath, "\\sys\\bin\\videotelui.exe" );
-
-
-// -----------------------------------------------------------------------------
-// CMediatorTestPlugin::CMediatorTestPlugin
-// First phase construction.
-// -----------------------------------------------------------------------------
-CVtMediatorPlugin::CVtMediatorPlugin() : CMediatorPluginBase(),
- iCommandList( KVtMdtrCmdArrayGranularity ),
- iState( EWaitingAppLaunch ),
- iActiveVideoCallState( ECallStateUnknown ),
- iWaitingVideoCallState( ECallStateUnknown )
-
- {
- ClearData(iActiveVideoCallInfo, iActiveVideoCallState);
- ClearData(iWaitingVideoCallInfo, iWaitingVideoCallState);
- }
-
-CMediatorPluginBase* CVtMediatorPlugin::NewL()
- {
- TRACE("CVtMediatorPlugin::NewL<")
- CVtMediatorPlugin* self = new (ELeave) CVtMediatorPlugin;
- TRACE("CVtMediatorPlugin::NewL>")
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// Destructor.
-// -----------------------------------------------------------------------------
-CVtMediatorPlugin::~CVtMediatorPlugin()
- {
- TRACE("CVtMediatorPlugin::~CVtMediatorPlugin<")
-
- if ( iMediatorNotifications )
- {
- iMediatorNotifications->UnregisterNotificationObserver();
- delete iMediatorNotifications;
- }
-
- // ignore error
- if ( iEventConsumer )
- {
- iEventConsumer->UnsubscribeEvent(
- KMediatorTelephonyDomain,
- KCatEventsFromTelephony,
- EPhoneEventCallData );
- delete iEventConsumer;
- }
-
- // ignore error
- if ( iEventProvider )
- {
- iEventProvider->UnregisterEvent(
- KMediatorVideoTelephonyDomain,
- KCatVideotelInternalEvents,
- EVtMediatorEventVideoCallInformation );
- delete iEventProvider;
- }
-
- // ignore error
- if ( iCommandResponder )
- {
- iCommandResponder->UnregisterCommand(
- KMediatorVideoTelephonyDomain,
- KCatPhoneToVideotelCommands,
- iCommandList );
- iCommandList.Close();
- delete iCommandResponder;
- }
-
- delete iCommandInitiator;
-
-
- if( iAppDeathActive )
- {
- delete iAppDeathActive;
- iAppThread.Close();
- iWsSession.Close();
-
- }
-
- TRACE("CVtMediatorPlugin::~CVtMediatorPlugin>")
- }
-
-// -----------------------------------------------------------------------------
-// StartL.
-// -----------------------------------------------------------------------------
-void CVtMediatorPlugin::StartL()
- {
- TRACE("CVtMediatorPlugin.StartL<")
-
- // for monitoring VT app starting
- iMediatorNotifications = CMediatorNotifications::NewL();
- iMediatorNotifications->RegisterNotificationObserver( this );
-
- // consumer for call data events
- iEventConsumer = CMediatorEventConsumer::NewL( this );
-
- iCommandInitiator = CMediatorCommandInitiator::NewL( this );
-
-
- RegisterVtInternalEventL();
-
- RegisterDataportCommandL();
-
- TRACE("CVtMediatorPlugin.StartL>")
- }
-
-// -----------------------------------------------------------------------------
-// MediatorEventL.
-// -----------------------------------------------------------------------------
-void CVtMediatorPlugin::MediatorEventL( TUid /*aDomain*/,
- TUid aCategory,
- TInt aEventId,
- const TDesC8& aData )
- {
- TRACE("CVtMediatorPlugin.MediatorEventL<")
- if ( aCategory == KCatEventsFromTelephony &&
- aEventId == EPhoneEventCallData )
- {
- TTelephonyCallDataParamPackage pckg;
- pckg.Copy( aData );
- const TTelephonyCallDataParam telCallData = pckg();
- HandleCallStateChangeL( telCallData );
- }
- TRACE("CVtMediatorPlugin.MediatorEventL>")
- }
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::MediatorEventsAddedL
-//
-// subscribes to CLI event when it is registered
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::MediatorEventsAddedL( TUid aDomain/*aDomain*/,
- TUid aCategory,
- const REventList& aEvents )
- {
- TRACE("CVtMediatorPlugin.MediatorEventsAddedL<")
-
- if ( aCategory == KCatEventsFromTelephony )
- {
- ChangeCallDataEventSubscriptionL( aEvents, ETrue );
- }
- TRACE("CVtMediatorPlugin.MediatorEventsAddedL>")
- }
-
-// -----------------------------------------------------------------------------
-// ?classname::?member_function
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::MediatorCommandsAddedL( TUid /*aDomain*/,
- TUid aCategory,
- const RCommandList& /*aCommands*/ )
- {
- TRACE("CVtMediatorPlugin.MediatorCommandsAddedL<")
- if ( aCategory == KCatPhoneToVideotelCommands )
- {
- HandleVtCommandRegistrationL();
- }
- TRACE("CVtMediatorPlugin.MediatorCommandsAddedL>")
- }
-
-// -----------------------------------------------------------------------------
-// ?classname::?member_function
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::MediatorCategoryRemovedL( TUid /*aDomain*/,
- TUid /*aCategory*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// ?classname::?member_function
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::MediatorEventsRemovedL( TUid /*aDomain*/,
- TUid aCategory,
- const REventList& aEvents )
- {
- TRACE("CVtMediatorPlugin.MediatorEventsRemovedL<")
- if ( aCategory == KCatEventsFromTelephony )
- {
- ChangeCallDataEventSubscriptionL( aEvents, EFalse );
- }
- TRACE("CVtMediatorPlugin.MediatorEventsRemovedL>")
- }
-
-// -----------------------------------------------------------------------------
-// ?classname::?member_function
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::MediatorCommandsRemovedL( TUid /*aDomain*/,
- TUid aCategory,
- const RCommandList& /*aCommands*/ )
- {
- TRACE("CVtMediatorPlugin.MediatorCommandsRemovedL<")
- if ( aCategory == KCatPhoneToVideotelCommands )
- {
- // VT has unregistered commands, meaning it is shutting down
- HandleVtCommandUnregistrationL();
- }
- TRACE("CVtMediatorPlugin.MediatorCommandsRemovedL>")
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::MediatorCommandL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::MediatorCommandL( TUid aDomain,
- TUid aCategory,
- TInt aCommandId,
- TVersion /*aVersion*/,
- const TDesC8& aData )
- {
- TRACE("CVtMediatorPlugin.MediatorCommandL<")
- if ( aCategory == KCatPhoneToVideotelCommands )
- {
- if ( aCommandId == EVtCmdUseDataport )
- {
-#ifdef _DEBUG
- // error in responding is ignored but printed on debug build
- const TInt err =
-#endif
- iCommandResponder->IssueResponse(
- aDomain, aCategory, aCommandId, KErrNone, KNullDesC8() );
- TRACE2("CVtMediatorPlugin.MediatorCommandL EVtCmdUseDataport err=%d", err )
- HandleDataportCommandL( aData );
- }
- else if ( aCommandId == EVtCmdReleaseDataport )
- {
- if ( EReady == iState )
- {
- const TVersion version(
- KVideotelMdtrCommandsVersionMajor,
- KVideotelMdtrCommandsVersionMinor,
- KVideotelMdtrCommandsVersionBuild );
-
-#ifdef _DEBUG
- // error in responding is ignored but printed on debug build
- const TInt err =
-#endif
- iCommandInitiator->IssueCommand(
- KMediatorVideoTelephonyDomain,
- KCatVideotelInternalCommands,
- EVtMediatorReleaseDataport,
- version,
- KNullDesC8() );
- TRACE2("CVtMediatorPlugin.MediatorCommandL EVtCmdReleaseDataport, send to VT err=%d", err )
-
- }
- else
- {
-#ifdef _DEBUG
- // error in responding is ignored but printed on debug build
- const TInt err =
-#endif
- iCommandResponder->IssueResponse(
- aDomain,
- aCategory,
- aCommandId,
- KErrNone,
- KNullDesC8() );
- TRACE2("CVtMediatorPlugin.MediatorCommandL EVtCmdReleaseDataport, just Resp err=%d", err )
- }
-
- }
- }
- TRACE("CVtMediatorPlugin.MediatorCommandL>")
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::CommandResponseL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::CommandResponseL( TUid aDomain, TUid aCategory,
- TInt aCommandId, TInt /*aStatus*/, const TDesC8& /*aData*/ )
- {
- TRACE("CVtMediatorPlugin.CommandResponseL<")
- if( ( aDomain == KMediatorVideoTelephonyDomain ) &&
- ( aCategory == KCatVideotelInternalCommands ) )
- {
- TInt res =
- iCommandResponder->IssueResponse(
- KMediatorVideoTelephonyDomain,
- KCatPhoneToVideotelCommands,
- EVtCmdReleaseDataport,
- KErrNone,
- KNullDesC8() );
- TRACE2("CVtMediatorPlugin.CommandResponseL, IssueResponse res: %d", res )
- User::LeaveIfError( res );
- }
- TRACE("CVtMediatorPlugin.CommandResponseL>")
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::CancelMediatorCommand
-//
-// no-op
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::CancelMediatorCommand( TUid /*aDomain*/,
- TUid /*aCategory*/,
- TInt /*aCommandId*/ )
- {
- }
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::ChangeCallDataEventSubscriptionL
-//
-// Takes care of 'call data' event subscription.
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::ChangeCallDataEventSubscriptionL(
- const REventList& aEvents,
- const TBool aEventRegistered )
- {
- TRACE("CVtMediatorPlugin.ChangeCLIEventSubscription<")
-
- TInt res( KErrNone );
- TInt eventCount = aEvents.Count();
- while ( eventCount-- )
- {
- const TEvent& aEvent = aEvents[ eventCount ];
- if ( aEvent.iEventId == EPhoneEventCallData )
- {
- if ( aEventRegistered )
- {
- // Phone has registered Call data event => subscribe it
- const TVersion version(
- KTelephonyEventsVersionMajor,
- KTelephonyEventsVersionMinor,
- KTelephonyEventsVersionBuild );
- res = iEventConsumer->SubscribeEvent(
- KMediatorTelephonyDomain,
- KCatEventsFromTelephony,
- EPhoneEventCallData, version );
- }
- else
- {
- // Phone has unregistered Call data event => unsubscribe it
- res = iEventConsumer->UnsubscribeEvent(
- KMediatorTelephonyDomain,
- KCatEventsFromTelephony,
- EPhoneEventCallData );
- }
- TRACE2(" (un)subscribe result=%d", res )
- eventCount = 0; // break loop
- }
- }
-
- TRACE2("CVtMediatorPlugin.ChangeCLIEventSubscription result=%d>", res )
- User::LeaveIfError( res );
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::HandleVtCommandRegistrationL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::HandleVtCommandRegistrationL()
- {
- TRACE("CVtMediatorPlugin.HandleVtCommandRegistrationL<" )
- if ( iState == EWaitingEventRegistration )
- {
- // VT app registered commands => it can also receive events
- // NOTE: it is expected that VT application first subscribes
- // to internal events and only after that registers commands to
- // avoid timing problems.
- iState = EReady;
- delete iCallBack;
- iCallBack = NULL;
- TCallBack cb( &EventRaiserCallback, this );
- iCallBack = new ( ELeave ) CAsyncCallBack( cb,
- CActive::EPriorityStandard );
- TRACE("CVtMediatorPlugin enque async callback" )
- iCallBack->CallBack();
- }
- TRACE("CVtMediatorPlugin.HandleVtCommandRegistrationL>" )
- }
-
-TInt CVtMediatorPlugin::EventRaiserCallback( TAny* aAny )
- {
- TRACE("CVtMediatorPlugin.EventRaiserCallback<" )
- CVtMediatorPlugin* plugin = reinterpret_cast<CVtMediatorPlugin*>( aAny );
- delete plugin->iCallBack;
- plugin->iCallBack = NULL;
- TRAP_IGNORE( plugin->RaiseVtEventL() );
- TRACE("CVtMediatorPlugin.EventRaiserCallback>" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::HandleVtCommandUnregistrationL()
- {
- // unregistration means that VT app is shutting down.
- TRACE("CVtMediatorPlugin.HandleVtCommandUnregistrationL<" )
- ClearData(iActiveVideoCallInfo, iActiveVideoCallState);
- //ClearData(iWaitingVideoCallInfo);
- TRACE("CVtMediatorPlugin.HandleVtCommandUnregistrationL>" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::LaunchVtAppL()
- {
-
- TRACE("CVtMediatorPlugin.LaunchVtAppL<" )
-
- if ( !IsEnoughMemory() )
- {
- const TVersion KTelephonyCmdVersion(
- KTelephonyCommandsVersionMajor,
- KTelephonyCommandsVersionMinor,
- KTelephonyCommandsVersionBuild );
- const TInt res =
- iCommandInitiator->IssueCommand(
- KMediatorTelephonyDomain,
- KCatVideoTelToPhoneCommands,
- EVtCmdLowMemory,
- KTelephonyCmdVersion,
- KNullDesC8() );
- ClearData(iActiveVideoCallInfo, iActiveVideoCallState);
- ClearData(iWaitingVideoCallInfo, iWaitingVideoCallState);
- TRACE("CVtMediatorPlugin.LaunchVtAppL, Insufficient Memory" )
- return;
- }
-
- iAppDeathActive = new ( ELeave ) CAppDeathActive( *this, iAppThread );
-
- User::LeaveIfError( iWsSession.Connect() );
-
- TInt wgId = 0;
- TBool found = EFalse;
-
- // Check if there is already application running. Then we do not
- // start new one - rather we just monitor the existing one.
- while ( ( wgId != KErrNotFound ) && !found )
- {
- CApaWindowGroupName::FindByAppUid(
- KVtCmVideoTelUiUid,
- iWsSession,
- wgId );
-
- TApaTask task( iWsSession );
- task.SetWgId( wgId );
- if ( task.Exists() )
- {
- if ( iAppThread.Open( task.ThreadId() ) == KErrNone )
- {
- TExitType exitType = iAppThread.ExitType();
- found = ( exitType == EExitPending );
-
- if ( found )
- {
- iAppThreadId = task.ThreadId();
- }
- }
- }
-
- if ( !found )
- {
- iAppThread.Close();
- }
- }
-
- // If application was not found, then launch new application.
- if ( !found )
- {
- TThreadId threadId;
-#ifndef SYMBIAN_SUPPORT_UI_FRAMEWORKS_V1
- CApaCommandLine* cmd = CApaCommandLine::NewLC();
- cmd->SetExecutableNameL( KVtCmVideoTelUiPath );
-#else // !SYMBIAN_SUPPORT_UI_FRAMEWORKS_V1
- CApaCommandLine* cmd = CApaCommandLine::NewLC( KVtCmVideoTelUiPath );
-#endif // SYMBIAN_SUPPORT_UI_FRAMEWORKS_V1
- cmd->SetCommandL( EApaCommandBackground );
-
- RApaLsSession session;
- User::LeaveIfError( session.Connect() );
- CleanupClosePushL( session );
-
- TInt err = session.StartApp( *cmd, threadId );
- if ( err > KErrNone )
- {
- err = KErrGeneral;
- }
- User::LeaveIfError( err );
- CleanupStack::PopAndDestroy( 2, cmd ); // CleanupClosePushL, cmd
- User::LeaveIfError( iAppThread.Open( threadId ) );
- iAppThreadId = threadId;
- }
-
- // Start active objects.
- iState = EWaitingEventRegistration;
- iAppDeathActive->Start();
- TRACE("CVtMediatorPlugin.LaunchVtAppL>" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::SaveCallData( const TTelephonyCallDataParam& aData, TVtVideoTelephonyCallInformation& iVtCallInfo )
- {
- TRACE("CVtMediatorPlugin.SaveCallData<" )
- iVtCallInfo.iDisplayText = aData.iCLIText.Left(
- TVtVideoTelephonyCallInformation::TDisplayTextMaxLength );
-
- TRACE2("CVtMediatorPlugin.SaveCallData iDisplayText=%S",
- &iVtCallInfo.iDisplayText );
-
- iVtCallInfo.iCallId = aData.iCallId;
-
- if ( KNullDesC() != aData.iRemotePhoneNumber )
- {
- iVtCallInfo.iVoiceCallPossible = ETrue;
- }
- iVtCallInfo.iEventDataValidity |=
- TVtVideoTelephonyCallInformation::EDisplayTextValid;
- TRACE2("CVtMediatorPlugin.SaveCallData data saved=%d>",
- aData.iCallType == ECallTypeVideo )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::HandleDataportCommandL( const TDesC8& aData )
- {
- TRACE("CVtMediatorPlugin.HandleDataportCommandL<" )
- TDataPortPackage pckg;
- pckg.Copy( aData );
- iActiveVideoCallInfo.iDataport = pckg();
- iActiveVideoCallInfo.iEventDataValidity |=
- TVtVideoTelephonyCallInformation::EDataportValid;
- RaiseVtEventL();
- TRACE("CVtMediatorPlugin.HandleDataportCommandL>" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::ClearData
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::ClearData(TVtVideoTelephonyCallInformation& aVtCallInfo, TCallState& aCallState)
- {
- TRACE("CVtMediatorPlugin.ClearData<" )
- if ( aVtCallInfo.iCallId == iActiveVideoCallInfo.iCallId )
- {
- iState = EWaitingAppLaunch;
- }
- aVtCallInfo.iEventDataValidity = 0;
- aVtCallInfo.iDataport.Zero();
- aVtCallInfo.iVoiceCallPossible = EFalse;
- //for video call, it should be 9/10
- //for other call, it will be from -1 to 8
- aVtCallInfo.iCallId = KVtInitCallId;
- aVtCallInfo.iDisplayText.Zero();
- aCallState = ECallStateIdle;
- TRACE("CVtMediatorPlugin.ClearData>" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::RegisterVtInternalEventL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::RegisterVtInternalEventL()
- {
- TRACE("CVtMediatorPlugin.RegisterVtInternalEventL<" )
- iEventProvider = CMediatorEventProvider::NewL();
-
- TVersion version(
- KVideotelMdtrEventVersionMajor,
- KVideotelMdtrEventVersionMinor,
- KVideotelMdtrEventVersionBuild );
-
- TCapabilitySet capSet;
- capSet.SetEmpty();
- capSet.AddCapability( ECapabilityReadDeviceData );
-
- const TInt err = iEventProvider->RegisterEvent(
- KMediatorVideoTelephonyDomain,
- KCatVideotelInternalEvents,
- EVtMediatorEventVideoCallInformation,
- version,
- capSet );
-
-
- TRACE2("CVtMediatorPlugin.RegisterVtInternalEventL err=%d>", err )
- User::LeaveIfError( err );
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::RegisterDataportCommandL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::RegisterDataportCommandL()
- {
- TRACE("CVtMediatorPlugin.RegisterDataportCommandL<" )
- iCommandResponder = CMediatorCommandResponder::NewL( this );
-
- TCapabilitySet capSet;
- capSet.SetEmpty();
- capSet.AddCapability( ECapabilityWriteDeviceData );
- MediatorService::TCommand command;
-
- command.iCaps = capSet;
- command.iVersion = TVersion(
- KPhoneToVideotelCmdVersionMajor,
- KPhoneToVideotelCmdVersionMinor,
- KPhoneToVideotelCmdVersionBuild );
- command.iTimeout = KVtEngMdtrCmdTimeout;
-
- // enable microphone command
- command.iCommandId = EVtCmdUseDataport;
- iCommandList.Append( command );
-
- // Releasedataport command
- capSet.SetEmpty();
- capSet.AddCapability( ECapabilityPowerMgmt );
- command.iCommandId = EVtCmdReleaseDataport;
- iCommandList.Append( command );
-
- const TInt err = iCommandResponder->RegisterCommand(
- KMediatorVideoTelephonyDomain,
- KCatPhoneToVideotelCommands,
- iCommandList );
-
- TRACE2("CVtMediatorPlugin.RegisterDataportCommandL err=%d>", err )
- User::LeaveIfError( err );
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::RaiseVtEventL
-//
-// Raises VT call info event if in suitable state, i.e. VT app has subscribed
-// the event.
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::RaiseVtEventL()
- {
- TRACE("CVtMediatorPlugin.RaiseVtEventL<" )
- TInt result = KVtAppNotReady; // does not cause leave
- TRACE2("CVtMediatorPlugin.RaiseVtEventL iState=%d>",
- iState )
- TRACE2("CVtMediatorPlugin.RaiseVtEventL iActiveVideoCallState=%d>",
- iActiveVideoCallState )
- if ( iState == EReady && // application subscribed to the event
-
- // don't send event if video call is not starting/ongoing
- ( iActiveVideoCallState >= ECallStateDialling &&
- iActiveVideoCallState <= ECallStateConnected ) )
- {
- const TVersion version(
- KVideotelMdtrEventVersionMajor,
- KVideotelMdtrEventVersionMinor,
- KVideotelMdtrEventVersionBuild );
-
- const TVtMediatorInfoPackage pckg( iActiveVideoCallInfo );
- result = iEventProvider->RaiseEvent(
- KMediatorVideoTelephonyDomain,
- KCatVideotelInternalEvents,
- EVtMediatorEventVideoCallInformation,
- version,
- pckg
- );
- }
- TRACE2("CVtMediatorPlugin.RaiseVtEventL result=%d>", result )
- User::LeaveIfError( result );
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::HandleCallStateChangeL
-//
-// Compares previous and new video call states and resolves based on result
-// if Video telephone applicaton should be launched.
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::HandleCallStateChangeL(
- const TTelephonyCallDataParam& aData )
- {
- TRACE("CVtMediatorPlugin.HandleCallStateChangeL<" )
-
- TRACE2("CVtMediatorPlugin.HandleCallStateChangeL calltype=%d>",
- aData.iCallType )
- TRACE2("CVtMediatorPlugin.HandleCallStateChangeL saved Activecallid=%d>",
- iActiveVideoCallInfo.iCallId )
- TRACE2("CVtMediatorPlugin.HandleCallStateChangeL saved Waitingcallid=%d>",
- iWaitingVideoCallInfo.iCallId )
- TRACE2("CVtMediatorPlugin.HandleCallStateChangeL callid=%d>",
- aData.iCallId )
- TRACE2("CVtMediatorPlugin.HandleCallStateChangeL ActiveCallOldState=%d>",
- iActiveVideoCallState )
- TRACE2("CVtMediatorPlugin.HandleCallStateChangeL WaitingCallOldState=%d>",
- iWaitingVideoCallState )
- TRACE2("CVtMediatorPlugin.HandleCallStateChangeL NewState=%d>",
- aData.iCallState )
-
- //if the call is waitingcall, just save/clear
- if ( aData.iCallType == ECallTypeVideo ||
- // check also call id because in call clearing states call type may
- // be unspecified but call id is saved in call setup and we can
- // compare to it.
- iActiveVideoCallInfo.iCallId == aData.iCallId ||
- iWaitingVideoCallInfo.iCallId == aData.iCallId )
- {
- TBool isWaitingCall = ETrue;
-
- /**
- * firstly we should check the callid to identify if it is a waitingcal/activecall
- * imagine the usecase that long press endkey to shutdown both calls.
- * after that checking iState
- */
- if ( iWaitingVideoCallInfo.iCallId == aData.iCallId )
- {
- isWaitingCall = ETrue;
- }
- else if ( iActiveVideoCallInfo.iCallId == aData.iCallId )
- {
- isWaitingCall = EFalse;
- }
- //no vt app launched, this happens while vt first launching or end key to shutdown both calls
- else if ( iState == EWaitingAppLaunch )
- {
- isWaitingCall = EFalse;
- }
-
- TRACE2("CVtMediatorPlugin.HandleCallStateChangeL isWaitingCall=%d>",
- isWaitingCall)
-
- TCallState& callState = isWaitingCall?iWaitingVideoCallState:iActiveVideoCallState;
- TVtVideoTelephonyCallInformation& vtCallInfo = isWaitingCall?iWaitingVideoCallInfo:iActiveVideoCallInfo;
-
- TBool launchNeeded = KVtCallStateActionArray[ aData.iCallState ] -
- KVtCallStateActionArray[callState] > 0;
- if ( isWaitingCall )
- {
- launchNeeded = EFalse;
- }
- callState = aData.iCallState;
-
- switch ( callState )
- {
- case ECallStateDialling:
- case ECallStateRinging:
- case ECallStateConnecting:
- case ECallStateConnected:
- SaveCallData( aData, vtCallInfo);
- break;
- default:
- // data becomes invalid in other states (=call clearing/idle)
- ClearData(vtCallInfo, callState);
- break;
- }
- if ( launchNeeded )
- {
- LaunchVtAppL();
- }
- if ( !isWaitingCall )
- {
- RaiseVtEventL();
- }
- }
-
- TRACE("CVtMediatorPlugin.HandleCallStateChangeL>" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::IsEnoughMemory
-//
-// Check if there is enough memory to launch
-// -----------------------------------------------------------------------------
-//
-TBool CVtMediatorPlugin::IsEnoughMemory()
- {
- TRACE("CVtMediatorPlugin::IsEnoughMemory<" )
- // Fetch amount of free memory.
- TMemoryInfoV1Buf memory;
- UserHal::MemoryInfo( memory );
- TInt freeRam = (TInt)( memory().iFreeRamInBytes );
- TRACE2("CVtMediatorPlugin::IsEnoughMemory: freeRam = %d", freeRam )
-
- TBool enoughRam = ETrue;
-
- if ( freeRam < KRamNeededForVideoCalls )
- {
- FreeRam();
- freeRam = (TInt)( memory().iFreeRamInBytes );
- TRACE2("CVtMediatorPlugin::IsEnoughMemory: after free, freeRam = %d", freeRam )
- if ( freeRam < KRamNeededForVideoCalls )
- {
- enoughRam = EFalse;
- TRACE ("CVtMediatorPlugin::IsEnoughMemory : Not enough RAM")
-
- }
- }
- TRACE("CVtMediatorPlugin::IsEnoughMemory>" )
- return enoughRam;
- }
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::FreeRam
-// Try to free memory to match the memory usage of VT
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::FreeRam()
- {
- TRACE("CVtMediatorPlugin.FreeRam()<")
- User::CompressAllHeaps();
- TRACE("CVtMediatorPlugin.FreeRam()>")
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::StopDeathActiveL
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::StopDeathActiveL()
- {
- TRACE("CVtMediatorPlugin.StopDeathActive<")
- delete iAppDeathActive;
- iAppThread.Close();
- iWsSession.Close();
- //if there is a waiting call, check if we need to launch it
- TRACE2("CVtMediatorPlugin.StopDeathActive WaitintCallID=%d>",
- iWaitingVideoCallInfo.iCallId)
- if ( iWaitingVideoCallInfo.iCallId != KVtInitCallId )
- {
- iActiveVideoCallInfo = iWaitingVideoCallInfo;
- iActiveVideoCallState = iWaitingVideoCallState;
- ClearData(iWaitingVideoCallInfo, iWaitingVideoCallState);
-
- if ( iActiveVideoCallState == ECallStateDialling ||
- iActiveVideoCallState == ECallStateRinging ||
- iActiveVideoCallState == ECallStateConnecting ||
- iActiveVideoCallState == ECallStateConnected ||
- iActiveVideoCallState == ECallStateAnswering )
- {
- LaunchVtAppL();
- RaiseVtEventL();
- }
- }
- TRACE("CVtMediatorPlugin.StopDeathActive>")
- }
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::CAppDeathActive::CAppDeathActive
-// -----------------------------------------------------------------------------
-//
-CVtMediatorPlugin::CAppDeathActive::CAppDeathActive(
- CVtMediatorPlugin& aMediatorPlugin,
- RThread& aAppThread
- )
- : CActive( CActive::EPriorityStandard ),
- iMediatorPlugin( aMediatorPlugin ),
- iAppThread( aAppThread )
-
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::CAppDeathActive::~CAppDeathActive
-// -----------------------------------------------------------------------------
-//
-CVtMediatorPlugin::CAppDeathActive::~CAppDeathActive()
- {
- TRACE("CVtMediatorPlugin.~CAppDeathActive")
- Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::CAppDeathActive::Start
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::CAppDeathActive::Start()
- {
- TRACE("CVtMediatorPlugin.Start<")
- Cancel();
- iAppThread.Logon( iStatus );
- SetActive();
- TRACE("CVtMediatorPlugin.Start>")
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::CAppDeathActive::RunL
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::CAppDeathActive::RunL()
- {
- //do something here
- TRACE("CVtMediatorPlugin.RunL<")
- iMediatorPlugin.StopDeathActiveL();
- TRACE("CVtMediatorPlugin.RunL>")
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::CAppDeathActive::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVtMediatorPlugin::CAppDeathActive::DoCancel()
- {
- iAppThread.LogonCancel( iStatus );
- }
-
-// -----------------------------------------------------------------------------
-// CVtMediatorPlugin::CAppDeathActive::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CVtMediatorPlugin::CAppDeathActive::RunError( TInt /*aError*/ )
- {
- return KErrNone;
- }
--- a/vtengines/vtmediatorplugin/src/vtmediatorpluginproxy.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* 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: Source file for MediatorTest Plugin Proxy
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <e32base.h>
-#include <implementationproxy.h>
-#include "cvtmediatorplugin.h"
-
-
-// Provides a key value pair table, this is used to identify
-// the correct construction function for the requested interface.
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( 0x200159A0, CVtMediatorPlugin::NewL )
- };
-
-// Function used to return an instance of the proxy table.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
- {
- aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
- return ImplementationTable;
- }
-
-
--- a/vtprotocolplugins/DisplaySink/EABI/DisplaySinkU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
- _Z11CreateSinkLR18TDisplaySinkParamsRK6TDesC8 @ 1 NONAME
- _ZN18TDisplaySinkParamsC1Ev @ 2 NONAME
- _ZN18TDisplaySinkParamsC2Ev @ 3 NONAME
-
--- a/vtprotocolplugins/DisplaySink/EABI/VtImageConverterU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-EXPORTS
- _ZN24CVTYUVFbsBitmapConverter15SetDestinationLERK10CFbsBitmap @ 1 NONAME
- _ZN24CVTYUVFbsBitmapConverter15SetDestinationLEi @ 2 NONAME
- _ZN24CVTYUVFbsBitmapConverter8ProcessLEv @ 3 NONAME
- _ZN24CVTYUVFbsBitmapConverterD0Ev @ 4 NONAME
- _ZN24CVTYUVFbsBitmapConverterD1Ev @ 5 NONAME
- _ZN24CVTYUVFbsBitmapConverterD2Ev @ 6 NONAME
- _ZN25CVSFbsBitmapIYUVConverter10SetSourceLERK10CFbsBitmap @ 7 NONAME
- _ZN25CVSFbsBitmapIYUVConverter4NewLERK10CFbsBitmap @ 8 NONAME
- _ZN25CVSFbsBitmapIYUVConverter8ProcessLEv @ 9 NONAME
- _ZN25CVSFbsBitmapIYUVConverterD0Ev @ 10 NONAME
- _ZN25CVSFbsBitmapIYUVConverterD1Ev @ 11 NONAME
- _ZN25CVSFbsBitmapIYUVConverterD2Ev @ 12 NONAME
- _ZN25CVTIYUVFbsBitmapConverter4NewLERK5TSizeRK10CFbsBitmap @ 13 NONAME
- _ZN25CVTIYUVFbsBitmapConverter4NewLERK5TSizei @ 14 NONAME
- _ZN25CVTYV12FbsBitmapConverter4NewLERK5TSizeRK10CFbsBitmap @ 15 NONAME
- _ZN25CVTYV12FbsBitmapConverter4NewLERK5TSizei @ 16 NONAME
- _ZN30CVTYUVPlanarFbsBitmapConverter10SetSourceLERK5TSizeRK6TDesC8 @ 17 NONAME
- _ZN30CVTYUVPlanarFbsBitmapConverter10SetSourceLERK6TDesC8 @ 18 NONAME
- _ZN30CVTYUVPlanarFbsBitmapConverter14SetSourceSizeLERK5TSize @ 19 NONAME
- _ZNK25CVSFbsBitmapIYUVConverter7YUVDataEv @ 20 NONAME
- _ZTI24CVTYUVFbsBitmapConverter @ 21 NONAME ; #<TI>#
- _ZTI25CVSFbsBitmapIYUVConverter @ 22 NONAME ; #<TI>#
- _ZTI25CVTIYUVFbsBitmapConverter @ 23 NONAME ; #<TI>#
- _ZTI25CVTYV12FbsBitmapConverter @ 24 NONAME ; #<TI>#
- _ZTI30CVTYUVPlanarFbsBitmapConverter @ 25 NONAME ; #<TI>#
- _ZTV24CVTYUVFbsBitmapConverter @ 26 NONAME ; #<VT>#
- _ZTV25CVSFbsBitmapIYUVConverter @ 27 NONAME ; #<VT>#
- _ZTV25CVTIYUVFbsBitmapConverter @ 28 NONAME ; #<VT>#
- _ZTV25CVTYV12FbsBitmapConverter @ 29 NONAME ; #<VT>#
- _ZTV30CVTYUVPlanarFbsBitmapConverter @ 30 NONAME ; #<VT>#
-
--- a/vtprotocolplugins/DisplaySink/EABI/VtImageTransformsU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-EXPORTS
- _ZN12CVtImageIYUV4NewLERK5TSize @ 1 NONAME
- _ZN12CVtImageIYUV4NewLERK5TSizeR5TPtr8 @ 2 NONAME
- _ZN12CVtImageIYUV4NewLERK5TSizeRK6TDesC8 @ 3 NONAME
- _ZN12CVtImageIYUV9SetImageLER5TPtr8 @ 4 NONAME
- _ZN12CVtImageIYUV9SetImageLERK6TDesC8 @ 5 NONAME
- _ZN12CVtImageIYUVD0Ev @ 6 NONAME
- _ZN12CVtImageIYUVD1Ev @ 7 NONAME
- _ZN12CVtImageIYUVD2Ev @ 8 NONAME
- _ZN14CVtImageBitmap10SetBitmapLEi @ 9 NONAME
- _ZN14CVtImageBitmap4NewLERK5TSize12TDisplayMode @ 10 NONAME
- _ZN14CVtImageBitmap4NewLEi @ 11 NONAME
- _ZN14CVtImageBitmap7ResizeLERK5TSize @ 12 NONAME
- _ZN14CVtImageBitmapD0Ev @ 13 NONAME
- _ZN14CVtImageBitmapD1Ev @ 14 NONAME
- _ZN14CVtImageBitmapD2Ev @ 15 NONAME
- _ZN14CVtImageScaler11SetQualityLENS_8TQualityE @ 16 NONAME
- _ZN14CVtImageScaler4NewLER22MVtImageScalerObserverNS_8TQualityEN7CActive9TPriorityE @ 17 NONAME
- _ZN14CVtImageScaler6ScaleLERK8CVtImageRS0_ @ 18 NONAME
- _ZN14CVtImageScalerD0Ev @ 19 NONAME
- _ZN14CVtImageScalerD1Ev @ 20 NONAME
- _ZN14CVtImageScalerD2Ev @ 21 NONAME
- _ZN15CVtImageRotator4NewLER23MVtImageRotatorObserverN7CActive9TPriorityE @ 22 NONAME
- _ZN15CVtImageRotator7RotateLERK8CVtImageRS0_RKNS_14TRotationAngleE @ 23 NONAME
- _ZN15CVtImageRotatorD0Ev @ 24 NONAME
- _ZN15CVtImageRotatorD1Ev @ 25 NONAME
- _ZN15CVtImageRotatorD2Ev @ 26 NONAME
- _ZNK12CVtImageIYUV12UVPlaneWidthEv @ 27 NONAME
- _ZNK12CVtImageIYUV13UVPlaneHeightEv @ 28 NONAME
- _ZNK12CVtImageIYUV1UEv @ 29 NONAME
- _ZNK12CVtImageIYUV1VEv @ 30 NONAME
- _ZNK12CVtImageIYUV1YEv @ 31 NONAME
- _ZNK12CVtImageIYUV5ImageEv @ 32 NONAME
- _ZNK14CVtImageBitmap6BitmapEv @ 33 NONAME
- _ZNK8CVtImage4TypeEv @ 34 NONAME
- _ZTI12CVtImageIYUV @ 35 NONAME ; #<TI>#
- _ZTI14CVtImageBitmap @ 36 NONAME ; #<TI>#
- _ZTI14CVtImageScaler @ 37 NONAME ; #<TI>#
- _ZTI15CVtImageRotator @ 38 NONAME ; #<TI>#
- _ZTI25CVtImageScalerImplNearest @ 39 NONAME ; #<TI>#
- _ZTI26CVtImageScalerImplBilinear @ 40 NONAME ; #<TI>#
- _ZTI28CVtImageRotatorImplClockwise @ 41 NONAME ; #<TI>#
- _ZTI29CVtImageRotatorImplMirrorFlip @ 42 NONAME ; #<TI>#
- _ZTI33CVtImageScalerImplWeightedAverage @ 43 NONAME ; #<TI>#
- _ZTV12CVtImageIYUV @ 44 NONAME ; #<VT>#
- _ZTV14CVtImageBitmap @ 45 NONAME ; #<VT>#
- _ZTV14CVtImageScaler @ 46 NONAME ; #<VT>#
- _ZTV15CVtImageRotator @ 47 NONAME ; #<VT>#
- _ZTV25CVtImageScalerImplNearest @ 48 NONAME ; #<VT>#
- _ZTV26CVtImageScalerImplBilinear @ 49 NONAME ; #<VT>#
- _ZTV28CVtImageRotatorImplClockwise @ 50 NONAME ; #<VT>#
- _ZTV29CVtImageRotatorImplMirrorFlip @ 51 NONAME ; #<VT>#
- _ZTV33CVtImageScalerImplWeightedAverage @ 52 NONAME ; #<VT>#
- _ZN14CVtImageScaler5ScaleERK8CVtImageRS0_ @ 53 NONAME
- _ZN15CVtImageRotator6RotateERK8CVtImageRS0_RKNS_14TRotationAngleE @ 54 NONAME
- _ZN14CVtImageScaler9ScaleNowLERK8CVtImageRS0_ @ 55 NONAME
- _ZTI18CVtImageScalerImpl @ 56 NONAME ; #<TI>#
- _ZTV18CVtImageScalerImpl @ 57 NONAME ; #<VT>#
-
--- a/vtprotocolplugins/DisplaySink/bmarm/DISPLAYSINKU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
- SetBitmapAvailable__12CDisplaySinkQ212CDisplaySink9TBitmapNo @ 1 NONAME R3UNUSED ; CDisplaySink::SetBitmapAvailable(CDisplaySink::TBitmapNo)
- Release__12CDisplaySink @ 2 NONAME R3UNUSED ; CDisplaySink::Release(void)
- ResumeSink__12CDisplaySink @ 3 NONAME R3UNUSED ; CDisplaySink::ResumeSink(void)
- NewSinkL__12CDisplaySinkG18TDisplaySinkParamsRC6TDesC8 @ 4 NONAME ; CDisplaySink::NewSinkL(TDisplaySinkParams, TDesC8 const &)
- UpdateSinkParamsL__12CDisplaySinkRC18TDisplaySinkParamsRi @ 5 NONAME R3UNUSED ; CDisplaySink::UpdateSinkParamsL(TDisplaySinkParams const &, int &)
- "_._12CDisplaySink" @ 6 NONAME R3UNUSED ; CDisplaySink::~CDisplaySink(void)
- __18TDisplaySinkParams @ 7 NONAME R3UNUSED ; TDisplaySinkParams::TDisplaySinkParams(void)
-
--- a/vtprotocolplugins/DisplaySink/bmarm/VTIMAGECONVERTERU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
- "_._25CVSFbsBitmapIYUVConverter" @ 1 NONAME R3UNUSED ; CVSFbsBitmapIYUVConverter::~CVSFbsBitmapIYUVConverter(void)
- NewL__25CVTIYUVFbsBitmapConverterRC5TSizeRC10CFbsBitmap @ 2 NONAME R3UNUSED ; CVTIYUVFbsBitmapConverter::NewL(TSize const &, CFbsBitmap const &)
- NewL__25CVTIYUVFbsBitmapConverterRC5TSizei @ 3 NONAME R3UNUSED ; CVTIYUVFbsBitmapConverter::NewL(TSize const &, int)
- NewL__25CVTYV12FbsBitmapConverterRC5TSizeRC10CFbsBitmap @ 4 NONAME R3UNUSED ; CVTYV12FbsBitmapConverter::NewL(TSize const &, CFbsBitmap const &)
- NewL__25CVTYV12FbsBitmapConverterRC5TSizei @ 5 NONAME R3UNUSED ; CVTYV12FbsBitmapConverter::NewL(TSize const &, int)
- ProcessL__24CVTYUVFbsBitmapConverter @ 6 NONAME R3UNUSED ; CVTYUVFbsBitmapConverter::ProcessL(void)
- ProcessL__25CVSFbsBitmapIYUVConverter @ 7 NONAME R3UNUSED ; CVSFbsBitmapIYUVConverter::ProcessL(void)
- SetDestinationL__24CVTYUVFbsBitmapConverterRC10CFbsBitmap @ 8 NONAME R3UNUSED ; CVTYUVFbsBitmapConverter::SetDestinationL(CFbsBitmap const &)
- SetDestinationL__24CVTYUVFbsBitmapConverteri @ 9 NONAME R3UNUSED ; CVTYUVFbsBitmapConverter::SetDestinationL(int)
- SetSourceL__25CVSFbsBitmapIYUVConverterRC10CFbsBitmap @ 10 NONAME R3UNUSED ; CVSFbsBitmapIYUVConverter::SetSourceL(CFbsBitmap const &)
- SetSourceL__30CVTYUVPlanarFbsBitmapConverterRC5TSizeRC6TDesC8 @ 11 NONAME R3UNUSED ; CVTYUVPlanarFbsBitmapConverter::SetSourceL(TSize const &, TDesC8 const &)
- SetSourceL__30CVTYUVPlanarFbsBitmapConverterRC6TDesC8 @ 12 NONAME R3UNUSED ; CVTYUVPlanarFbsBitmapConverter::SetSourceL(TDesC8 const &)
- SetSourceSizeL__30CVTYUVPlanarFbsBitmapConverterRC5TSize @ 13 NONAME R3UNUSED ; CVTYUVPlanarFbsBitmapConverter::SetSourceSizeL(TSize const &)
- YUVData__C25CVSFbsBitmapIYUVConverter @ 14 NONAME R3UNUSED ; CVSFbsBitmapIYUVConverter::YUVData(void) const
- "_._24CVTYUVFbsBitmapConverter" @ 15 NONAME R3UNUSED ; CVTYUVFbsBitmapConverter::~CVTYUVFbsBitmapConverter(void)
- NewL__25CVSFbsBitmapIYUVConverterRC10CFbsBitmap @ 16 NONAME R3UNUSED ; CVSFbsBitmapIYUVConverter::NewL(CFbsBitmap const &)
-
--- a/vtprotocolplugins/DisplaySink/bmarm/VTIMAGETRANSFORMSU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-EXPORTS
- "_._15CVtImageRotator" @ 1 NONAME R3UNUSED ; CVtImageRotator::~CVtImageRotator(void)
- Image__C12CVtImageIYUV @ 2 NONAME R3UNUSED ; CVtImageIYUV::Image(void) const
- NewL__12CVtImageIYUVRC5TSize @ 3 NONAME R3UNUSED ; CVtImageIYUV::NewL(TSize const &)
- NewL__12CVtImageIYUVRC5TSizeR5TPtr8 @ 4 NONAME R3UNUSED ; CVtImageIYUV::NewL(TSize const &, TPtr8 &)
- NewL__12CVtImageIYUVRC5TSizeRC6TDesC8 @ 5 NONAME R3UNUSED ; CVtImageIYUV::NewL(TSize const &, TDesC8 const &)
- NewL__14CVtImageBitmapRC5TSize12TDisplayMode @ 6 NONAME R3UNUSED ; CVtImageBitmap::NewL(TSize const &, TDisplayMode)
- NewL__14CVtImageBitmapi @ 7 NONAME R3UNUSED ; CVtImageBitmap::NewL(int)
- NewL__14CVtImageScalerR22MVtImageScalerObserverQ214CVtImageScaler8TQualityQ27CActive9TPriority @ 8 NONAME R3UNUSED ; CVtImageScaler::NewL(MVtImageScalerObserver &, CVtImageScaler::TQuality, CActive::TPriority)
- NewL__15CVtImageRotatorR23MVtImageRotatorObserverQ27CActive9TPriority @ 9 NONAME R3UNUSED ; CVtImageRotator::NewL(MVtImageRotatorObserver &, CActive::TPriority)
- ResizeL__14CVtImageBitmapRC5TSize @ 10 NONAME R3UNUSED ; CVtImageBitmap::ResizeL(TSize const &)
- RotateL__15CVtImageRotatorRC8CVtImageR8CVtImageRCQ215CVtImageRotator14TRotationAngle @ 11 NONAME ; CVtImageRotator::RotateL(CVtImage const &, CVtImage &, CVtImageRotator::TRotationAngle const &)
- ScaleL__14CVtImageScalerRC8CVtImageR8CVtImage @ 12 NONAME R3UNUSED ; CVtImageScaler::ScaleL(CVtImage const &, CVtImage &)
- SetBitmapL__14CVtImageBitmapi @ 13 NONAME R3UNUSED ; CVtImageBitmap::SetBitmapL(int)
- SetImageL__12CVtImageIYUVR5TPtr8 @ 14 NONAME R3UNUSED ; CVtImageIYUV::SetImageL(TPtr8 &)
- SetImageL__12CVtImageIYUVRC6TDesC8 @ 15 NONAME R3UNUSED ; CVtImageIYUV::SetImageL(TDesC8 const &)
- SetQualityL__14CVtImageScalerQ214CVtImageScaler8TQuality @ 16 NONAME R3UNUSED ; CVtImageScaler::SetQualityL(CVtImageScaler::TQuality)
- Type__C8CVtImage @ 17 NONAME R3UNUSED ; CVtImage::Type(void) const
- UVPlaneHeight__C12CVtImageIYUV @ 18 NONAME R3UNUSED ; CVtImageIYUV::UVPlaneHeight(void) const
- UVPlaneWidth__C12CVtImageIYUV @ 19 NONAME R3UNUSED ; CVtImageIYUV::UVPlaneWidth(void) const
- U__C12CVtImageIYUV @ 20 NONAME R3UNUSED ; CVtImageIYUV::U(void) const
- V__C12CVtImageIYUV @ 21 NONAME R3UNUSED ; CVtImageIYUV::V(void) const
- Y__C12CVtImageIYUV @ 22 NONAME R3UNUSED ; CVtImageIYUV::Y(void) const
- "_._12CVtImageIYUV" @ 23 NONAME R3UNUSED ; CVtImageIYUV::~CVtImageIYUV(void)
- "_._14CVtImageBitmap" @ 24 NONAME R3UNUSED ; CVtImageBitmap::~CVtImageBitmap(void)
- "_._14CVtImageScaler" @ 25 NONAME R3UNUSED ; CVtImageScaler::~CVtImageScaler(void)
- Bitmap__C14CVtImageBitmap @ 26 NONAME R3UNUSED ; CVtImageBitmap::Bitmap(void) const
-
--- a/vtprotocolplugins/DisplaySink/bwins/DISPLAYSINKU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-EXPORTS
- ??0TDisplaySinkParams@@QAE@XZ @ 1 NONAME ; TDisplaySinkParams::TDisplaySinkParams(void)
- ?CreateSinkL@@YAPAVMDisplaySink@@AAVTDisplaySinkParams@@ABVTDesC8@@@Z @ 2 NONAME ; class MDisplaySink * CreateSinkL(class TDisplaySinkParams &, class TDesC8 const &)
-
--- a/vtprotocolplugins/DisplaySink/bwins/VTIMAGECONVERTERU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
- ??1CVSFbsBitmapIYUVConverter@@UAE@XZ @ 1 NONAME ; public: virtual __thiscall CVSFbsBitmapIYUVConverter::~CVSFbsBitmapIYUVConverter(void)
- ??1CVTYUVFbsBitmapConverter@@UAE@XZ @ 2 NONAME ; public: virtual __thiscall CVTYUVFbsBitmapConverter::~CVTYUVFbsBitmapConverter(void)
- ?NewL@CVSFbsBitmapIYUVConverter@@SAPAV1@ABVCFbsBitmap@@@Z @ 3 NONAME ; public: static class CVSFbsBitmapIYUVConverter * __cdecl CVSFbsBitmapIYUVConverter::NewL(class CFbsBitmap const &)
- ?NewL@CVTIYUVFbsBitmapConverter@@SAPAV1@ABVTSize@@ABVCFbsBitmap@@@Z @ 4 NONAME ; public: static class CVTIYUVFbsBitmapConverter * __cdecl CVTIYUVFbsBitmapConverter::NewL(class TSize const &,class CFbsBitmap const &)
- ?NewL@CVTIYUVFbsBitmapConverter@@SAPAV1@ABVTSize@@H@Z @ 5 NONAME ; public: static class CVTIYUVFbsBitmapConverter * __cdecl CVTIYUVFbsBitmapConverter::NewL(class TSize const &,int)
- ?NewL@CVTYV12FbsBitmapConverter@@SAPAV1@ABVTSize@@ABVCFbsBitmap@@@Z @ 6 NONAME ; public: static class CVTYV12FbsBitmapConverter * __cdecl CVTYV12FbsBitmapConverter::NewL(class TSize const &,class CFbsBitmap const &)
- ?NewL@CVTYV12FbsBitmapConverter@@SAPAV1@ABVTSize@@H@Z @ 7 NONAME ; public: static class CVTYV12FbsBitmapConverter * __cdecl CVTYV12FbsBitmapConverter::NewL(class TSize const &,int)
- ?ProcessL@CVSFbsBitmapIYUVConverter@@QAEXXZ @ 8 NONAME ; public: void __thiscall CVSFbsBitmapIYUVConverter::ProcessL(void)
- ?ProcessL@CVTYUVFbsBitmapConverter@@UAEXXZ @ 9 NONAME ; public: virtual void __thiscall CVTYUVFbsBitmapConverter::ProcessL(void)
- ?SetDestinationL@CVTYUVFbsBitmapConverter@@UAEXABVCFbsBitmap@@@Z @ 10 NONAME ; public: virtual void __thiscall CVTYUVFbsBitmapConverter::SetDestinationL(class CFbsBitmap const &)
- ?SetDestinationL@CVTYUVFbsBitmapConverter@@UAEXH@Z @ 11 NONAME ; public: virtual void __thiscall CVTYUVFbsBitmapConverter::SetDestinationL(int)
- ?SetSourceL@CVSFbsBitmapIYUVConverter@@QAEXABVCFbsBitmap@@@Z @ 12 NONAME ; public: void __thiscall CVSFbsBitmapIYUVConverter::SetSourceL(class CFbsBitmap const &)
- ?SetSourceL@CVTYUVPlanarFbsBitmapConverter@@UAEXABVTDesC8@@@Z @ 13 NONAME ; public: virtual void __thiscall CVTYUVPlanarFbsBitmapConverter::SetSourceL(class TDesC8 const &)
- ?SetSourceL@CVTYUVPlanarFbsBitmapConverter@@UAEXABVTSize@@ABVTDesC8@@@Z @ 14 NONAME ; public: virtual void __thiscall CVTYUVPlanarFbsBitmapConverter::SetSourceL(class TSize const &,class TDesC8 const &)
- ?SetSourceSizeL@CVTYUVPlanarFbsBitmapConverter@@UAEXABVTSize@@@Z @ 15 NONAME ; public: virtual void __thiscall CVTYUVPlanarFbsBitmapConverter::SetSourceSizeL(class TSize const &)
- ?YUVData@CVSFbsBitmapIYUVConverter@@QBE?AVTPtrC8@@XZ @ 16 NONAME ; public: class TPtrC8 __thiscall CVSFbsBitmapIYUVConverter::YUVData(void)const
-
--- a/vtprotocolplugins/DisplaySink/bwins/VTIMAGETRANSFORMSU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-EXPORTS
- ??1CVtImageBitmap@@UAE@XZ @ 1 NONAME ; public: virtual __thiscall CVtImageBitmap::~CVtImageBitmap(void)
- ??1CVtImageIYUV@@UAE@XZ @ 2 NONAME ; public: virtual __thiscall CVtImageIYUV::~CVtImageIYUV(void)
- ??1CVtImageRotator@@UAE@XZ @ 3 NONAME ; public: virtual __thiscall CVtImageRotator::~CVtImageRotator(void)
- ??1CVtImageScaler@@UAE@XZ @ 4 NONAME ; public: virtual __thiscall CVtImageScaler::~CVtImageScaler(void)
- ?Bitmap@CVtImageBitmap@@QBEAAVCFbsBitmap@@XZ @ 5 NONAME ; public: class CFbsBitmap & __thiscall CVtImageBitmap::Bitmap(void)const
- ?Image@CVtImageIYUV@@QBE?AVTPtrC8@@XZ @ 6 NONAME ; public: class TPtrC8 __thiscall CVtImageIYUV::Image(void)const
- ?NewL@CVtImageBitmap@@SAPAV1@ABVTSize@@W4TDisplayMode@@@Z @ 7 NONAME ; public: static class CVtImageBitmap * __cdecl CVtImageBitmap::NewL(class TSize const &,enum TDisplayMode)
- ?NewL@CVtImageBitmap@@SAPAV1@H@Z @ 8 NONAME ; public: static class CVtImageBitmap * __cdecl CVtImageBitmap::NewL(int)
- ?NewL@CVtImageIYUV@@SAPAV1@ABVTSize@@@Z @ 9 NONAME ; public: static class CVtImageIYUV * __cdecl CVtImageIYUV::NewL(class TSize const &)
- ?NewL@CVtImageIYUV@@SAPAV1@ABVTSize@@AAVTPtr8@@@Z @ 10 NONAME ; public: static class CVtImageIYUV * __cdecl CVtImageIYUV::NewL(class TSize const &,class TPtr8 &)
- ?NewL@CVtImageIYUV@@SAPAV1@ABVTSize@@ABVTDesC8@@@Z @ 11 NONAME ; public: static class CVtImageIYUV * __cdecl CVtImageIYUV::NewL(class TSize const &,class TDesC8 const &)
- ?NewL@CVtImageRotator@@SAPAV1@AAVMVtImageRotatorObserver@@W4TPriority@CActive@@@Z @ 12 NONAME ; public: static class CVtImageRotator * __cdecl CVtImageRotator::NewL(class MVtImageRotatorObserver &,enum CActive::TPriority)
- ?NewL@CVtImageScaler@@SAPAV1@AAVMVtImageScalerObserver@@W4TQuality@1@W4TPriority@CActive@@@Z @ 13 NONAME ; public: static class CVtImageScaler * __cdecl CVtImageScaler::NewL(class MVtImageScalerObserver &,enum CVtImageScaler::TQuality,enum CActive::TPriority)
- ?ResizeL@CVtImageBitmap@@QAEXABVTSize@@@Z @ 14 NONAME ; public: void __thiscall CVtImageBitmap::ResizeL(class TSize const &)
- ?RotateL@CVtImageRotator@@QAEXABVCVtImage@@AAV2@ABW4TRotationAngle@1@@Z @ 15 NONAME ; public: void __thiscall CVtImageRotator::RotateL(class CVtImage const &,class CVtImage &,enum CVtImageRotator::TRotationAngle const &)
- ?ScaleL@CVtImageScaler@@QAEXABVCVtImage@@AAV2@@Z @ 16 NONAME ; public: void __thiscall CVtImageScaler::ScaleL(class CVtImage const &,class CVtImage &)
- ?SetBitmapL@CVtImageBitmap@@QAEXH@Z @ 17 NONAME ; public: void __thiscall CVtImageBitmap::SetBitmapL(int)
- ?SetImageL@CVtImageIYUV@@QAEXAAVTPtr8@@@Z @ 18 NONAME ; public: void __thiscall CVtImageIYUV::SetImageL(class TPtr8 &)
- ?SetImageL@CVtImageIYUV@@QAEXABVTDesC8@@@Z @ 19 NONAME ; public: void __thiscall CVtImageIYUV::SetImageL(class TDesC8 const &)
- ?SetQualityL@CVtImageScaler@@QAEXW4TQuality@1@@Z @ 20 NONAME ; public: void __thiscall CVtImageScaler::SetQualityL(enum CVtImageScaler::TQuality)
- ?Type@CVtImage@@QBE?AW4TVtImageType@1@XZ @ 21 NONAME ; public: enum CVtImage::TVtImageType __thiscall CVtImage::Type(void)const
- ?U@CVtImageIYUV@@QBEPAEXZ @ 22 NONAME ; public: unsigned char * __thiscall CVtImageIYUV::U(void)const
- ?UVPlaneHeight@CVtImageIYUV@@QBEHXZ @ 23 NONAME ; public: int __thiscall CVtImageIYUV::UVPlaneHeight(void)const
- ?UVPlaneWidth@CVtImageIYUV@@QBEHXZ @ 24 NONAME ; public: int __thiscall CVtImageIYUV::UVPlaneWidth(void)const
- ?V@CVtImageIYUV@@QBEPAEXZ @ 25 NONAME ; public: unsigned char * __thiscall CVtImageIYUV::V(void)const
- ?Y@CVtImageIYUV@@QBEPAEXZ @ 26 NONAME ; public: unsigned char * __thiscall CVtImageIYUV::Y(void)const
- ?Scale@CVtImageScaler@@QAEXABVCVtImage@@AAV2@@Z @ 27 NONAME ; void CVtImageScaler::Scale(class CVtImage const &, class CVtImage &)
- ?Rotate@CVtImageRotator@@QAEXABVCVtImage@@AAV2@ABW4TRotationAngle@1@@Z @ 28 NONAME ; void CVtImageRotator::Rotate(class CVtImage const &, class CVtImage &, enum CVtImageRotator::TRotationAngle const &)
- ?ScaleNowL@CVtImageScaler@@QAEXABVCVtImage@@AAV2@@Z @ 29 NONAME ; void CVtImageScaler::ScaleNowL(class CVtImage const &, class CVtImage &)
-
Binary file vtprotocolplugins/DisplaySink/data/displaysink_stub.SIS has changed
--- a/vtprotocolplugins/DisplaySink/data/displaysink_stub.pkg Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-;
-; Copyright (c) 2009 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:
-;
-
-; Languages
-&EN
-; Header
-#{"displaysink"}, (0x101F8693), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\displaysink.dll"
-""-"z:\sys\bin\VtImageConverter.dll"
-""-"z:\sys\bin\VtImageTransforms.dll"
--- a/vtprotocolplugins/DisplaySink/group/DisplaySink.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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: Project definition file for Display Sink subsystem
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include "../inc/DisplaySinkUids.hrh"
-
-TARGET displaysink.dll
-TARGETTYPE dll
-VENDORID VID_DEFAULT
-
-UID KSharedLibraryUidDefine KUidDisplaySinkLibrary
-
-SOURCEPATH ../src
-SOURCE CDisplaySink.cpp
-
-SOURCE CDisplaySinkNGA.cpp
-SOURCE CDisplaySinkDP.cpp
-SOURCE vtyuvconverter.cpp
-SOURCE CDisplaySinkDSA.cpp
-
-
-USERINCLUDE ../inc
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../../inc
-SYSTEMINCLUDE /epoc32/include/mmf/common
-SYSTEMINCLUDE /epoc32/include/mmf/server
-
-LIBRARY featmgr.lib
-LIBRARY euser.lib
-LIBRARY mmfcontrollerframework.lib
-LIBRARY fbscli.lib
-LIBRARY vtimageconverter.lib
-LIBRARY vtimagetransforms.lib
-
-CAPABILITY CAP_GENERAL_DLL
-
-// End of File
-
--- a/vtprotocolplugins/DisplaySink/group/VtImageConverter.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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: Project definition file for Display Sink subsystem
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include "../inc/VtImageConverterUids.hrh"
-
-TARGET vtimageconverter.dll
-TARGETTYPE dll
-VENDORID VID_DEFAULT
-
-UID KSharedLibraryUidDefine KUidVtImageConverterLibrary
-
-USERINCLUDE ../inc
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-
-SOURCEPATH ../src
-SOURCE CVtImageConverter.cpp
-
-LIBRARY gdi.lib
-LIBRARY euser.lib
-LIBRARY fbscli.lib
-
-CAPABILITY CAP_GENERAL_DLL
-
-// End of File
-
--- a/vtprotocolplugins/DisplaySink/group/VtImageTransforms.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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: Project definition file for Video Source image transforms
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include "../inc/CVtImageTransformsUids.hrh"
-
-TARGET vtimagetransforms.dll
-TARGETTYPE dll
-VENDORID VID_DEFAULT
-
-UID KSharedLibraryUidDefine KUidVtImageTransformsLibrary
-
-SOURCEPATH ../src
-SOURCE CVtImage.cpp
-SOURCE CVtImageBitmap.cpp
-SOURCE CVtImageIYUV.cpp
-SOURCE CVtImageScaler.cpp
-SOURCE CVtImageScalerImpl.cpp
-SOURCE CVtImageScalerImplNearest.cpp
-SOURCE CVtImageScalerImplWeightedAverage.cpp
-SOURCE CVtImageScalerImplBilinear.cpp
-SOURCE CVtImageRotator.cpp
-SOURCE CVtImageRotatorImpl.cpp
-SOURCE CVtImageRotatorImplMirrorFlip.cpp
-SOURCE CVtImageRotatorImplClockwise.cpp
-
-USERINCLUDE ../inc
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/mmf/server
-SYSTEMINCLUDE /epoc32/include/mmf/common
-
-LIBRARY euser.lib
-LIBRARY fbscli.lib
-LIBRARY bitmaptransforms.lib
-
-CAPABILITY CAP_GENERAL_DLL
-
-// End of File
-
--- a/vtprotocolplugins/DisplaySink/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: Component definition file for Display Sink subsystem.
-*
-*/
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/CVtImageConverter.h |../../../inc/cvtimageconverter.h
-../inc/cvtimageconverter.inl |../../../inc/cvtimageconverter.inl
-../inc/mdisplaysink.h |../../../inc/mdisplaysink.h
-../inc/TDisplaySinkParamsDSA.h |../../../inc/tdisplaysinkparamsdsa.h
-../inc/tdisplaysinkparamsdsa.inl |../../../inc/tdisplaysinkparamsdsa.inl
-../inc/TDisplaySinkParamsDP.h |../../../inc/tdisplaysinkparamsdp.h
-../inc/TDisplaySinkParamsNGA.h |../../../inc/tdisplaysinkparamsnga.h
-../inc/cvtimage.h |../../../inc/cvtimage.h
-../inc/CVtImageBitmap.h |../../../inc/cvtimagebitmap.h
-../inc/CVtImageIYUV.h |../../../inc/cvtimageiyuv.h
-../inc/CVtImageScaler.h |../../../inc/cvtimagescaler.h
-../inc/cvtimagerotator.h |../../../inc/cvtimagerotator.h
-
-// Export SIS stub file
-../data/displaysink_stub.SIS /epoc32/data/z/system/install/displaysink_stub.sis
-
-// Export IBY file
-../rom/DisplaySink.iby CORE_APP_LAYER_IBY_EXPORT_PATH(displaysink.iby)
-
-PRJ_MMPFILES
-VtImageTransforms.mmp
-VtImageConverter.mmp
-DisplaySink.mmp
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/inc/CDisplaySink.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,671 +0,0 @@
-/*
-* Copyright (c) 2004 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: DisplaySink subsystem.
-*
-*/
-
-
-
-
-#ifndef CDISPLAYSINK_H
-#define CDISPLAYSINK_H
-
-// INCLUDE FILES
-
-#include <bldvariant.hrh>
-#include <e32base.h>
-#include <mmfutilities.h>
-#include <mmfdatasource.h>
-#include <mmfdatasink.h>
-#include <fbs.h>
-#include <mvtprotocolhandler.h>
-
-#include "mdisplaysink.h"
-
-// CONSTANTS
-
-// QCIF size
-#define QCIF TSize( 176, 144 )
-
-// Number of bitmap sets (big/small) in array
-const TInt KBitmapTableCount = 2;
-
-// FORWARD DECLARATIONS
-
-class CDisplaySink;
-class CVTYUVFbsBitmapConverter;
-class CVtCallback;
-class CVtImageIYUV;
-class CMMFDataBuffer;
-class CVtFrameQueue;
-
-// CLASS DECLARATION
-
-/**
-* CVtFrameQueue
-*
-* Storage class for DisplaySink. Used in situations where EmptyBufferL() is
-* called and there's no available bitmaps (or buffers). This class will
-* hold one buffer until next SetBitmapAvailable() is called. Instance operates
-* in protocol thread's active scheduler.
-*
-* @lib DisplaySink.lib
-*/
-NONSHARABLE_CLASS( CVtFrameQueue ) : public CActive
- {
-
-public: // new methods
- /**
- * C++ constructor.
- */
- CVtFrameQueue();
-
- /**
- * Adds this to protocol thread's active scheduler.
- */
- TInt ThreadLogon();
-
- /**
- * Releases stored buffer, when sink is stopped.
- */
- void SinkStoppedL();
-
- /**
- * Deques from protocol thread's active scheduler.
- */
- void ThreadLogoff();
-
- /**
- * Stores buffer & supplier.
- */
- void Store( MVTVideoSource& aSupplier, CMMFDataBuffer* aBuffer, TSize aFrameSize, TPtr8& aPtr );
-
- /**
- * Returns ETrue if buffer is being stored, EFalse otherwise.
- */
- TBool IsStored() const;
-
- /**
- * Returns stored buffer.
- */
- TVtMMFDataBuffer Buffer();
-
- /**
- * Releases stored buffer. Supplier's BufferEmptiedL() is called. Call
- * is executed in protocol thread's context.
- */
- void Release();
-
-private:
-
- /**
- * Calls BufferEmptiedL() for supplier. This call always happens in protocol
- * thread context.
- * @param aBuffer Pointer reference to a buffer to be released.
- */
- void DoReleaseBufferL( CMMFDataBuffer*& aBuffer );
-
-private: // from CActive
- /**
- * @see CActive::RunL
- */
- void RunL();
-
- /**
- * @see CActive::DoCancel
- */
- void DoCancel();
-
-private:
- // Stored supplier
- MVTVideoSource* iSupplier;
- // Stored buffer
- CMMFDataBuffer* iBuffer;
-
- TSize iFrameSize;
- TPtr8* iPtr;
- // Pre-opened thread object that is used for signalling the delayed
- // BufferEmptiedL() call
- RThread iThread;
- // Buffer to be released on next RunL()
- CMMFDataBuffer* iReleaseBuffer;
- };
-
-/**
-* CVtCallback
-*
-*
-* @lib DisplaySink.lib
-*/
-NONSHARABLE_CLASS( CVtCallback ) : public CActive
- {
-
-private:
-
- /**
- * Callback type. Currently only size changes are supported. If new callback
- * types are needed, add them here.
- */
- enum TCallBackType
- {
- EVideoFrameSizeChanged
- };
-
-public:
-
- /**
- * C++ constructor.
- */
- CVtCallback( MDisplaySinkObserver& aObserver );
-
- /**
- * C++ destructor.
- */
- ~CVtCallback();
-
- /**
- * Video frame size has been changed. Old and new size are given as
- * parameter.
- */
- void VideoFrameSizeChangedL( const TSize& aFrom, const TSize& aTo );
-
- /**
- * Returns callback result.
- */
- TInt Result() const;
-
- /**
- * Boolean variable that tells wether or not call back has been served.
- */
- TBool Completed() const;
-
-private:
-
- /**
- * Issues callback. Because callback receiver can be in same or different
- * thread this is made as own function that checks whether or not other
- * thread needs to be signalled.
- */
- void IssueCallbackL();
-
-private: // from CActive
-
- /**
- * See CActive documentation.
- */
- void RunL();
-
- /**
- * See CActive documentation.
- */
- void DoCancel();
-
- /**
- * See CActive documentation.
- */
- TInt RunError( TInt aError );
-
-private:
-
- // Owner thread's id
- TThreadId iOwnThreadId;
-
- // Pointer to observer
- MDisplaySinkObserver* iObserver;
-
- // Callback type
- TCallBackType iCallBackType;
-
- // Old size
- TSize iFrom;
-
- // New size
- TSize iTo;
-
- // Callback result
- TInt iResult;
-
- // Has callback been completed?
- TBool iCompleted;
- };
-
-
-/**
-* MVTVideoSink interface implementation
-*
-* @lib DisplaySink.lib
-*/
-NONSHARABLE_CLASS( CDisplaySink ) : public CBase, public MDisplaySink,
- public MVTVideoSink
-{
-protected: // inner classes
-
- // Structure containing bitmap related data
- class TBitmapEntry
- {
- public: // data
-
- // ETrue if this bitmap entry is free
- TBool iIsFree;
- };
-
-private: // from MDisplaySink
-
- /**
- * @see MDisplaySink::Destroy
- */
- void Destroy();
-
- /**
- * @see MDisplaySink::SetBitmapAvailable
- */
- void SetBitmapAvailable( TBitmapNo aBitmapNo );
-
- /**
- * @see MDisplaySink::Release
- */
- void Release();
-
- /**
- * @see MDisplaySink::UpdateSinkParamsL
- */
- void UpdateSinkParamsL( const TDisplaySinkParams& aParams, TBool& aUpdated );
-
- /**
- * @see MDisplaySink::Pause
- */
- void Pause();
-
- /**
- * @see MDisplaySink::Resume
- */
- void Resume();
-
- /**
- * @see MDisplaySink::operator MVTVideoSink&
- */
- operator MVTVideoSink&();
-
- /**
- * @see MDisplaySink::NextFrame
- */
- void NextFrame();
-
-private: // from MVTVideoSink
- /**
- * From MVTVideoOutput. See MVTVideoOutput for description.
- */
- virtual void SetFormatL( const TDesC8& aFormat );
-
- /**
- * From MVTVideoOutput. See MVTVideoOutput for description.
- */
- virtual void SetVideoFrameSizeL( const TSize& aSize );
-
- /**
- * From MVTVideoOutput. See MVTVideoOutput for description.
- */
- virtual void GetVideoFrameSizeL( TSize& aSize ) const;
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual void EmptyBufferL(
- TVtMMFDataBuffer aDataBuffer,
- MVTVideoSource* aSupplier,
- TMediaId aMediaId );
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual void BufferFilledL( CMMFBuffer* aBuffer );
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual TBool CanCreateSinkBuffer();
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual CMMFBuffer* CreateSinkBufferL(
- TMediaId aMediaId,
- TBool &aReference );
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual TInt SinkThreadLogon( MAsyncEventHandler& aEventHandler );
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual void SinkThreadLogoff();
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual TInt SinkPrimeL();
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual TInt SinkPlayL();
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual TInt SinkPauseL();
-
- /**
- * From MVTVideoSink. See MVTVideoSink for description.
- */
- virtual TInt SinkStopL();
-
-private:
- const RArray<TDesC8* >& GetMultimediaTypesL() const;
-
-
-protected: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CDisplaySink();
-
- /**
- * Destructor.
- */
- ~CDisplaySink();
-
-protected: // New functions
-
- /**
- * By default Symbian 2nd phase constructor is private.
- * @param "aParams" Initialization parameters.
- * @param "aInitData" Initialization parameters. Not used.
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL( TDisplaySinkParams& aParams, const TDesC8& aInitData );
-
- /**
- * Thread logon that may leave. This will be trapped and possible
- * error code is returned to the caller of SinkThreadLogon().
- * @exception Can leave with one of the system wide error codes.
- */
- void SinkThreadLogonL();
-
- /**
- * Sets limit for displaysink frame rate.
- */
- void SetFrameRateLimit(
- TDisplaySinkParams::TFrameRateLimit aFrameRateLimit );
-
- /**
- * Resets frame rate limitter.
- */
- void ResetFrameRateLimitter();
-
- /**
- * Does frame rate limitter validation and also checks if sink is paused.
- */
- TBool IsOkToSendFrame();
-
- /**
- * Opens fbs session and sets flag, if open succeeds.
- */
- void FbsConnectL();
-
- /**
- * Opens VT engine thread.
- */
- void ThreadOpenL();
-
- /**
- * Closes fbs session (if open succeeded earlier).
- */
- void FbsDisconnect();
-
- /**
- * Closes VT thread (if open succeeded earlier).
- */
- void ThreadClose();
-
- /**
- * Cleanup operation for SinkThradLogon.
- */
- static void SinkThreadLogonCleanup( TAny* aPtr );
-
-private: // new methods implemented in derived classes
-
- /**
- * Called from ConstructL() to allow inherited classes to do their own
- * construction.
- */
- virtual void BaseConstructL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData ) = 0;
-
- /**
- * Converts image. Calls DoConvertL() to do the task.
- * @return KErrNone or one of the system wide error codes.
- */
- virtual TBool BaseConvert( const TVtMMFDataBuffer& aBuffer ) = 0;
-
- /**
- * Called from SinkThreadLogonL().
- */
- virtual void BaseSinkThreadLogonL() = 0;
-
- /**
- * Called from SinkThreadLogogg().
- */
- virtual void BaseSinkThreadLogoff() = 0;
-
- /**
- * Called from UpdateSinkParamsL().
- */
- virtual void BaseUpdateSinkParamsL( const TDisplaySinkParams& aParams ) = 0;
-
- /**
- * Updates sink params.
- * @exception May leave with one of the system wide error codes (e.g. in
- * out of memory situaton).
- */
- virtual void BaseDoUpdateParamsL() = 0;
-
- /**
- * Called when video frame size is set.
- * @exception May leave with one of the system wide error codes (e.g. in
- * out of memory situaton).
- */
- virtual void BaseSetVideoFrameSizeL( const TSize& aSize ) = 0;
-
- /**
- * Returns ETrue if given frame size matches with expected frame size.
- * Implemented in derived classes because in some cases (e.g. when rotation
- * is enabled), size calculation is more complicated.
- */
- virtual TBool BaseSizesMatch( const TSize& aSize ) = 0;
-
- /**
- * Returns reference to TBitmapEntry.
- */
- virtual TBitmapEntry& BitmapEntry( TInt aIndex ) = 0;
-
- /**
- * EmptyBuffer handling.
- */
- virtual void BaseEmptyBufferL( TVtMMFDataBuffer& aVTMMFBuffer ) = 0;
-
- /**
- * Bitmap availability handling.
- */
- virtual void BaseSetBitmapAvailable( TBitmapNo aBitmapNo ) = 0;
-
- /**
- * Called when source frame size changes.
- */
- virtual void BaseVideoFrameSizeChangedL( const TSize& aNewSize ) = 0;
-
-protected: // Data
-
- // Video source that provides buffer filled with video frame(s)
- MVTVideoSource* iSupplier;
-
- // Event handler to notify events
- MAsyncEventHandler* iEventHandler;
-
- // Buffer containing video frame(s) and to be converted
- CMMFBuffer* iBuffer;
-
- // Sink data type code as fourCC code
- TFourCC iSinkFourCC;
-
- // Sink state enumeration
- enum TState
- {
- EStopped,
- EPrimed,
- EPlaying
- };
-
- // Sink state
- TState iState;
-
- // Array of MIME types supported by sink
- RArray<TDesC8* > iVTMimeTypes;
-
- // Video frame size
- TSize iFrameSize;
-
- // Thread ID of thread to notify after video frame is converted
- TThreadId iThreadId;
-
- // Handle to thread to notify after video frame is converted
- RThread iThread;
-
- // Pointer to iStatus member of the Active Object to notify
- // after video frame is converted
- TRequestStatus* iRequestStatusPtr;
-
- // Critical section to serialize access to iBitmapTable
- RCriticalSection iBitmapCS;
-
- // Semaphore to force thread context switch after video frame
- // is converted
- RSemaphore iSync;
-
-
- // This is set to ETrue when new params are set, this pointer
- // is also used as flag when parameter update is requested.
- TBool* iParamsUpdated;
-
- // This flag variable will be set to ETrue when sink parameters
- // need to be updated (e.g. when frame size changes from QCIF
- // to Sub QCIF or vice versa)
- TBool iWaitingForUpdate;
-
- // Contains expected frame size (this is taken from given bitmaps).
- TSize iExpectedFrameSize;
-
- // Active object that will call callbacks to VT engine in VT
- // engine's thread context.
- CVtCallback* iVTSignaller;
-
- // If ETrue, sink does not convert data that is given to it
- TBool iReleased;
-
- // Output MIME type holder
- TBuf8< 128 > iYuv420PlanarDesc;
-
- // Frame rate interval in milliseconds
- TInt iFrameRateInterval;
-
- // Time since last frame was sent (in milliseconds)
- TInt iMilliSecondsSinceLastFrame;
-
- // Time stamp for last frame sent
- TTime iLastFrameTime;
-
- // When paused remote video will no be sent to VT engine
- TBool iPaused;
-
- // DisplaySink params flags
- TUint32 iDSFlags;
-
- // Is set to ETrue when SinkThreadLogon() is called.
- TUint32 iInitFlags;
-
- // Initialization flags
- enum TInitFlags
- {
- // This flag is set, when SinkThreadLogon() is called
- ESinkThreadLogonCalled = ( 1 << 0 ),
-
- // This flag is set, when FbsSession has been connected
- EFbsSessionConnected = ( 1 << 1 ),
-
- // This flag is set, when handle to Sink Thread has been opened
- EThreadOpened = ( 1 << 2 )
- };
-
- // Frame queue for holding for holding frames until target conversion
- // buffer is ready.
- CVtFrameQueue* iVideoFrameQueue;
-
- // friend classes
-
-
- };
-
-/**
-* Safe cleanup for synchronization primitives.
-*
-* @lib DisplaySink.lib
-*/
-template < class T >
-class CleanupSignal
- {
-public:
- static void PushL( T& aPtr );
-private:
- static void Signal( TAny *aPtr );
- };
-
-template < class T >
-void CleanupSignal< T >::PushL( T& aRef )
- {
- CleanupStack::PushL( TCleanupItem( &Signal, &aRef ) );
- }
-
-template < class T >
-void CleanupSignal< T >::Signal( TAny *aPtr )
- {
- static_cast< T* >( aPtr )->Signal();
- }
-
-/**
-* Pushes signalable object into cleanup stack.
-*/
-template < class T >
-void CleanupSignalPushL( T& aRef )
- {
- CleanupSignal< T >::PushL( aRef );
- }
-
-#endif // CDISPLAYSINK_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CDisplaySinkDP.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2004 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: DisplaySink subsystem.
-*
-*/
-
-
-
-
-#ifndef CDISPLAYSINKDP_H
-#define CDISPLAYSINKDP_H
-
-// INCLUDE FILES
-
-#include "CDisplaySink.h"
-#include "TDisplaySinkParamsDP.h"
-
-// CLASS DECLARATION
-
-/**
-* Displaysink implementation for Display Posting.
-*
-* @lib displaysink.lib
-* @since Series 60 3.1
-*/
-NONSHARABLE_CLASS( CDisplaySinkDP ) : public CDisplaySink
- {
-public: // static constructor
-
- /**
- * Static constructor that may leave.
- */
- static CDisplaySinkDP* NewL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData );
-
-private: // constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CDisplaySinkDP();
-
- /**
- * destructor
- */
- ~CDisplaySinkDP();
-
-private: // from CDisplaySink
-
- /**
- * @see CDisplaySink::BaseConstructL
- */
- void BaseConstructL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData );
-
- /**
- * @see CDisplaySink::BaseConvert
- */
- TBool BaseConvert( const TVtMMFDataBuffer& aBuffer );
-
- /**
- * @see CDisplaySink::BaseSinkThreadLogonL
- */
- void BaseSinkThreadLogonL();
-
- /**
- * @see CDisplaySink::BaseSinkThreadLogoff
- */
- void BaseSinkThreadLogoff();
-
- /**
- * @see CDisplaySink::BaseUpdateSinkParamsL
- */
- void BaseUpdateSinkParamsL( const TDisplaySinkParams& aParams );
-
- /**
- * @see CDisplaySink::BaseDoUpdateParamsL
- */
- void BaseDoUpdateParamsL();
-
- /**
- * @see CDisplaySink::BaseDoUpdateParamsL
- */
- void BaseSetVideoFrameSizeL( const TSize& aSize );
-
- /**
- * @see CDisplaySink::BaseSizesMatch
- */
- TBool BaseSizesMatch( const TSize& aSize );
-
- /**
- * @see CDisplaySink::BitmapEntry
- */
- TBitmapEntry& BitmapEntry( TInt aIndex );
-
- /**
- * @see CDisplaySink::BaseEmptyBufferL
- */
- void BaseEmptyBufferL( TVtMMFDataBuffer& aVTMMFBuffer );
-
- /**
- * @see CDisplaySink::BaseSetBitmapAvailable
- */
- void BaseSetBitmapAvailable( TBitmapNo aBitmapNo );
-
- /**
- * @see CDisplaySink::BaseVideoFrameSizeChangedL
- */
- void BaseVideoFrameSizeChangedL( const TSize& aNewSize );
-
-private: // MDisplaySink
-
- /**
- * @see MDisplaySink::NextFrame
- */
- void NextFrame();
-
-private: // new methods
-
- /**
- * Updates expected frame size.
- * @exception May leave with KErrNotSupported, if bitmap sizes do not match.
- */
- void UpdateExpectedFrameSizeL();
-
-private: // new classes
-
- // Class posting buffer related data
- class TBitmapEntryDP : public TBitmapEntry
- {
- public: // data
-
- // Pointer to Posting Buffer pointer
- CPostingSurface::TPostingBuff** iBuffer;
- };
-
-private: // data
-
- // Array of bitmap related structures
- TBitmapEntryDP iBitmapTable[ KBitmapTableCount ];
-
- // Store for saving new parameters in UpdateSinkParamsL() call
- TDisplaySinkParamsDP iNewParams;
- };
-
-#endif // CDISPLAYSINKDP_H
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/inc/CDisplaySinkDSA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-/*
-* Copyright (c) 2004 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: DisplaySink subsystem.
-*
-*/
-
-
-
-
-#ifndef CDISPLAYSINKDSA_H
-#define CDISPLAYSINKDSA_H
-
-// INCLUDE FILES
-
-#include "CDisplaySink.h"
-#include "TDisplaySinkParamsDSA.h"
-
-// CLASS DECLARATION
-
-/**
-* Displaysink implementation for Direct Screen access.
-*
-* @lib displaysink.lib
-* @since Series 60 3.1
-*/
-NONSHARABLE_CLASS( CDisplaySinkDSA ) : public CDisplaySink,
- public MVtImageRotatorObserver
- {
-public: // static constructor
-
- /**
- * Static constructor that may leave.
- */
- static CDisplaySinkDSA* NewL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData );
-
-private: // constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CDisplaySinkDSA();
-
- /**
- * destructor
- */
- ~CDisplaySinkDSA();
-
-private: // from CDisplaySink
-
- /**
- * @see CDisplaySink::BaseConstructL
- */
- void BaseConstructL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData );
-
- /**
- * @see CDisplaySink::BaseConvert
- */
- TBool BaseConvert( const TVtMMFDataBuffer& aBuffer );
-
- /**
- * @see CDisplaySink::BaseSinkThreadLogonL
- */
- void BaseSinkThreadLogonL();
-
- /**
- * @see CDisplaySink::BaseSinkThreadLogoff
- */
- void BaseSinkThreadLogoff();
-
- /**
- * @see CDisplaySink::BaseUpdateSinkParamsL
- */
- void BaseUpdateSinkParamsL( const TDisplaySinkParams& aParams );
-
- /**
- * @see CDisplaySink::BaseDoUpdateParamsL
- */
- void BaseDoUpdateParamsL();
-
- /**
- * @see CDisplaySink::BaseDoUpdateParamsL
- */
- void BaseSetVideoFrameSizeL( const TSize& aSize );
-
- /**
- * @see CDisplaySink::BaseSizesMatch
- */
- TBool BaseSizesMatch( const TSize& aSize );
-
- /**
- * @see CDisplaySink::BitmapEntry
- */
- TBitmapEntry& BitmapEntry( TInt aIndex );
-
- /**
- * @see CDisplaySink::BaseEmptyBufferL
- */
- void BaseEmptyBufferL( TVtMMFDataBuffer& aVTMMFBuffer );
-
- /**
- * @see CDisplaySink::BaseSetBitmapAvailable
- */
- void BaseSetBitmapAvailable( TBitmapNo aBitmapNo );
-
- /**
- * @see CDisplaySink::BaseVideoFrameSizeChangedL
- */
- void BaseVideoFrameSizeChangedL( const TSize& aNewSize );
-
-private: // from MVtImageRotatorObserver
-
- /**
- * @see MVtImageRotatorObserver::RotationFinished
- */
- void RotationFinished( TInt aError );
-
-private: // new methods
-
- /**
- * Updates expected frame size.
- * @exception May leave with KErrNotSupported, if bitmap sizes do not match.
- */
- void UpdateExpectedFrameSizeL();
-
- /**
- * Converts image. Calls DoConvertL() to do the task.
- * @param "aBitmapNo" CFbsBitmap number to use for converted image.
- * @param "aConverted" Reference to boolean that will be ETrue if buffer
- * was converted, EFalse otherwise.
- * @return KErrNone or one of the system wide error codes.
- */
- void ConvertL( const TPtrC8& aBuffer, TBool& aConverted );
-
- /**
- * Convert YUV420Planar image to a CFbsBitmap.
- * @param "aBitmapNo" CFbsBitmap number to use for converted image.
- * @return KErrNone or one of the system wide error codes.
- */
- void DoConvertL( const TPtrC8& aBuffer, TBitmapNo aBitmapNo );
-
-private: // new classes
-
- // Class containing bitmap related data
- class TBitmapEntryDSA : public TBitmapEntry
- {
- public: // data
-
- // Handle to target bitmap
- TInt iHandle; // QCIF
- };
-
-private: // data
-
- // Array of bitmap related structures
- TBitmapEntryDSA iBitmapTable[ KBitmapTableCount ];
-
- // Converter for bitmap 1, created into Protocol thread's heap
- CVTYUVFbsBitmapConverter* iYUVBitmapConverter1; // owned
-
- // Converter for bitmap 2, created into Protocol thread's heap
- CVTYUVFbsBitmapConverter* iYUVBitmapConverter2; // owned
-
- // Converter for bitmap, created into VT thread's heap
- CVTYUVFbsBitmapConverter* iYUVBitmapConverterVT;
-
- // Pointer to image rotator instance.
- CVtImageRotator* iRotator; // owned
-
- // Source YUV image for image transforms
- CVtImageIYUV* iSourceImg;
-
- // Target YUV image for image transforms
- CVtImageIYUV* iTargetImg;
-
- // Rotation angle
- CVtImageRotator::TRotationAngle iRotationAngle;
-
- // Store for saving new parameters in UpdateSinkParamsL() call
- TDisplaySinkParamsDSA iNewParams;
- };
-
-#endif // CDISPLAYSINKDSA_H
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/inc/CDisplaySinkNGA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +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: Displaysink implementation for NGA.
-*
-*/
-
-#ifndef CDISPLAYSINKNGA_H
-#define CDISPLAYSINKNGA_H
-
-// INCLUDE FILES
-#include "CDisplaySink.h"
-#include "TDisplaySinkParamsNGA.h"
-
-// CLASS DECLARATION
-
-/**
-* Displaysink implementation for NGA.
-*
-* @lib displaysink.lib
-* @since Series 60 3.1
-*/
-NONSHARABLE_CLASS( CDisplaySinkNGA ) : public CDisplaySink
- {
-public: // static constructor
-
- /**
- * Static constructor that may leave.
- */
- static CDisplaySinkNGA* NewL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData );
-
-private: // constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CDisplaySinkNGA();
-
- /**
- * destructor
- */
- ~CDisplaySinkNGA();
-
-private: // from CDisplaySink
-
-
- /**
- * @see CDisplaySink::BaseConstructL
- */
- void BaseConstructL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData );
-
- /**
- * @see CDisplaySink::BaseConvert
- */
- TBool BaseConvert( const TVtMMFDataBuffer& aBuffer );
-
- /**
- * @see CDisplaySink::BaseSinkThreadLogonL
- */
- void BaseSinkThreadLogonL();
-
- /**
- * @see CDisplaySink::BaseSinkThreadLogoff
- */
- void BaseSinkThreadLogoff();
-
- /**
- * @see CDisplaySink::BaseUpdateSinkParamsL
- */
- void BaseUpdateSinkParamsL( const TDisplaySinkParams& aParams );
-
- /**
- * @see CDisplaySink::BaseDoUpdateParamsL
- */
- void BaseDoUpdateParamsL();
-
- /**
- * @see CDisplaySink::BaseDoUpdateParamsL
- */
- void BaseSetVideoFrameSizeL( const TSize& aSize );
-
- /**
- * @see CDisplaySink::BaseSizesMatch
- */
- TBool BaseSizesMatch( const TSize& aSize );
-
- /**
- * @see CDisplaySink::BitmapEntry
- */
- TBitmapEntry& BitmapEntry( TInt aIndex );
-
- /**
- * @see CDisplaySink::BaseEmptyBufferL
- */
- void BaseEmptyBufferL( TVtMMFDataBuffer& aVTMMFBuffer );
-
- /**
- * @see CDisplaySink::BaseSetBitmapAvailable
- */
- void BaseSetBitmapAvailable( TBitmapNo aBitmapNo );
-
- /**
- * @see CDisplaySink::BaseVideoFrameSizeChangedL
- */
- void BaseVideoFrameSizeChangedL( const TSize& aNewSize );
-
-private: // MDisplaySink
-
- /**
- * @see MDisplaySink::NextFrame
- */
- void NextFrame();
-
-private: // new methods
-
- /**
- * Updates expected frame size.
- * @exception May leave with KErrNotSupported, if bitmap sizes do not match.
- */
- void UpdateExpectedFrameSizeL();
-
-private: // new classes
-
- // Class submit buffer related data
- class TBitmapEntryNGA : public TBitmapEntry
- {
- public: // data
-
- // Pointer to Surface Buffer pointer
- //TVideoFrameBuffer** iBuffer;
- TUint8** iBuffer;
- };
-
-private: // data
-
- // Array of bitmap related structures
- TBitmapEntryNGA iBitmapTable[ KBitmapTableCount ];
-
- // Store for saving new parameters in UpdateSinkParamsL() call
- TDisplaySinkParamsNGA iNewParams;
- };
-
-#endif // CDISPLAYSINKNGA_H
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageBitmap.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-
-#ifndef CVTIMAGEBITMAP_H
-#define CVTIMAGEBITMAP_H
-
-// INCLUDE FILES
-
-#include "cvtimage.h"
-
-// FORWARD DECLARATIONS
-
-class CFbsBitmap;
-
-// CLASS DECLARATIONS
-
-/**
-* CFbsBitmap image implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageBitmap : public CVtImage
- {
- public:
-
- /**
- * Creates new instance of CVtImageBitmap.
- * @param "aBitmapHandle" Handle of bitmap to "bind" this instance to.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVtImageBitmap* NewL( TInt aBitmapHandle );
-
- /**
- * Creates new instance of CVtImageBitmap.
- * @param "aSize" Size of the image in pixels.
- * @param "aDisplayMode" Display mode of the image.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVtImageBitmap* NewL(
- const TSize& aSize,
- TDisplayMode aDisplayMode );
-
- /**
- * C++ destructor.
- */
- IMPORT_C ~CVtImageBitmap();
-
- /**
- * Resizes the image to new dimension.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @param "aSize" New size of the image in pixels.
- */
- IMPORT_C void ResizeL( const TSize& aSize );
-
- /**
- * Sets new bitmap this image references to.
- * @param "aBitmapHandle" Handle of the bitmap this image will be
- * referencing to.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- IMPORT_C void SetBitmapL( TInt aBitmapHandle );
-
- /**
- * Returns constant reference to CFbsBitmap owned by this instance.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return Constant reference to CFbsBitmap.
- */
- IMPORT_C CFbsBitmap& Bitmap() const;
-
- public: // from CVtImage
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TBool NeedHeapLock() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TVtDisplayMode DisplayMode() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TSize Size() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TInt BytesPerRow() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TUint32* DataAddress() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TUint32* LineAddress( TInt aLine ) const;
-
- private:
-
- /**
- * C++ constructor.
- */
- CVtImageBitmap();
-
- /**
- * Second phase constructor.
- * @param "aSize" Size of the image in pixels.
- * @param "aDisplayMode" Display mode of the image.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void ConstructL( const TSize& aSize, TDisplayMode aDisplayMode );
-
- /**
- * Second phase constructor.
- * @param "aBitmapHandle" Handle of bitmap to "bind" this instance to.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void ConstructL( TInt aBitmapHandle );
-
- private:
-
- // CFbsImage this image instance references to
- CFbsBitmap* iBitmap; // owned
- };
-
-
-#endif // CVTIMAGEBITMAP_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageConverter.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,638 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image conversion library for VideoTelephony.
-*
-*/
-
-
-
-
-
-#ifndef CVTIMAGECONVERTER_H
-#define CVTIMAGECONVERTER_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <gdi.h>
-
-// CLASS FORWARDS
-
-class CFbsBitmap;
-class CVTYUVFbsBitmapConverter;
-class CVSFbsBitmapIYUVConverter;
-
-// DATA TYPES
-
-typedef TRgb ( *TVSColorReadFunc ) ( TAny*& );
-
-// CLASS DECLARATIONS
-
-/**
-* Base class for all YUV to CFbsBitmap converters.
-*
-* @lib VTImageConverter.lib
-*/
-class CVTYUVFbsBitmapConverter : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * C++ destructor.
- */
- IMPORT_C ~CVTYUVFbsBitmapConverter();
-
- public: // New functions
-
- /**
- * Starts image conversion from YUV to CFbsBitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- IMPORT_C virtual void ProcessL();
-
- /**
- * Sets size of the source YUV image in pixels. This must be implemented
- * in derived classes.
- * @param "aSize" Size of source YUV image in pixels.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void SetSourceSizeL( const TSize& aSize ) = 0;
-
- /**
- * Sets source YUV image data. This method must be implemented in derived
- * classes.
- * @param "aSourceData" 8-bit descriptor containing the YUV data. As
- * data is referenced and not copied, given reference must be still
- * valid when ProcessL() is called.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void SetSourceL( const TDesC8& aSourceData ) = 0;
-
- /**
- * Sets size of the source YUV image in pixels and image data.
- * This method must be implemented in derived classes.
- * @param "aSize" Size of source YUV image in pixels.
- * @param "aSourceData" 8-bit descriptor containing the YUV data.
- * As data is referenced and not copied, given reference must be still
- * valid when ProcessL() is called.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void SetSourceL(
- const TSize& aSize,
- const TDesC8& aSourceData ) = 0;
-
- /**
- * Sets destination bitmap into which conversion will be made.
- * @param "aDestinationBitmap" Reference to destination bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- IMPORT_C virtual void SetDestinationL(
- const CFbsBitmap& aDestinationBitmap );
-
- /**
- * Sets destination bitmap into which conversion will be made.
- * Bitmap is given as handle to existing bitmap.
- * @param "aHandle" Handle to existing bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- IMPORT_C virtual void SetDestinationL( TInt aHandle );
-
- public: // Functions from base classes
-
- protected: // New functions
-
- /**
- * Updates iY, iU and iV member variables. Must be implemented in
- * derived classes.
- * @param "aSourceData" 8-bit descriptor to source YUV data.
- */
- virtual void SetYUVPtrs( const TDesC8& aSourceData ) = 0;
-
- /**
- * Second phase constructor.
- * @param "aBitmapHandle" Handle to destination bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void ConstructL( TInt aBitmapHandle );
-
- /**
- * Second phase constructor that will be called when destination is
- * changed.
- * @param "aBitmapHandle" Handle to destination bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void ReConstructL( TInt aBitmapHandle );
-
- /**
- * Updates internal variables.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void SizeUpdateL();
-
- /**
- * C++ constructor.
- * @param "aSourceSize" Source size in pixels.
- */
- CVTYUVFbsBitmapConverter( const TSize& aSourceSize );
-
- /**
- * Returns source size in pixels.
- * @return Source size in pixels, as constant reference.
- */
- inline const TSize& SourceSize() const;
-
- /**
- * Returns source size in pixels.
- * @return Source size in pixels, as reference.
- */
- inline TSize& SourceSize();
-
- /**
- * Returns destination size in pixels.
- * @return Destination size in pixels, as constant reference.
- */
- inline const TSize& DestinationSize() const;
-
- /**
- * Returns destination size in pixels.
- * @return Destination size in pixels, as reference.
- */
- inline TSize& DestinationSize();
-
- /**
- * Main process loop for Color4K mode. This must be implemented in
- * derived classes.
- * @param "aWriteFunction" Pointer to function that writes one pixel to
- * destination.
- */
- virtual void DoProcess4K() = 0;
-
- /**
- * Main process loop for Color64K mode. This must be implemented in
- * derived classes.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- virtual void DoProcess64K() = 0;
-
- /**
- * Main process loop for Color16M mode. This must be implemented in
- * derived classes.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- virtual void DoProcess16M() = 0;
-
- /**
- * Main process loop for Color16MU mode. This must be implemented in
- * derived classes.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- virtual void DoProcess16MU16MA() = 0;
-
- protected: // Functions from base classes
-
- private: // New functions
-
- /**
- * C++ default constructor.
- */
- CVTYUVFbsBitmapConverter();
-
- private: // Functions from base classes
-
- public: // Data
-
- protected: // Data
-
- // Table of coefficients for EColor4K
- static const TUint8 COFF_TBL_4K[ 80 ];
-
- // Table of coefficients for EColor64K
- static const TUint8 COFF_TBL_64K[ 220 ];
-
- // Table of coefficients for EColor16M
- static const TUint8 COFF_TBL_16M[ 528 ];
-
- // Source size in pixels.
- TSize iSourceSize;
-
- // Target size in pixels.
- TSize iDestinationSize;
-
- // Pointer to destination bitmap.
- CFbsBitmap* iDestination; // owned, duplicate
-
- // Pointer descriptor that points to Y data of the YUV image.
- const TUint8* iY;
-
- // Pointer descriptor that points to Cr (U) data of the YUV image.
- const TUint8* iU;
-
- // Pointer descriptor that points to Cb (V) data of the YUV image.
- const TUint8* iV;
-
- // Horizontal skip real value. After every pixel this valus is added
- // to X index in conversion loop.
- TReal32 iVSkipReal;
-
- // Vertical skip real value. After every pixel this valus is added
- // to Y index in conversion loop.
- TReal32 iHSkipReal;
-
- private: // Data
- };
-
-/**
-* Base class for YUV 4:2:0 planar image to CFbsBitmap converters.
-*
-* @lib VTImageConverter.lib
-*/
-class CVTYUVPlanarFbsBitmapConverter : public CVTYUVFbsBitmapConverter
- {
- public: // New functions
-
- public: // Functions from base classes
-
- /**
- * Sets size of the source YUV image in pixels.
- * @param "aSize" Size of source YUV image in pixels.
- * @exception Can leave with one of the system wide error codes.
- */
- IMPORT_C void SetSourceSizeL( const TSize& aSize );
-
- /**
- * Sets source YUV image data.
- * @param "aSourceData" 8-bit descriptor containing the YUV data. As
- * data is referenced and
- * not copied, given reference must be still valid when ProcessL() is
- * called.
- * @exception Can leave with one of the system wide error codes.
- */
- IMPORT_C void SetSourceL( const TDesC8& aSourceData );
-
- /**
- * Sets size of the source YUV image in pixels and image data. This
- * method must be
- * implemented in derived classes.
- * @param "aSize" Size of source YUV image in pixels.
- * @param "aSourceData" 8-bit descriptor containing the YUV data. As
- * data is referenced and
- * not copied, given reference must be still valid when ProcessL() is
- * called.
- * @exception Can leave with one of the system wide error codes.
- */
- IMPORT_C void SetSourceL(
- const TSize& aSize,
- const TDesC8& aSourceData );
-
- protected: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param "aSourceSize" Source size in pixels.
- */
- CVTYUVPlanarFbsBitmapConverter( const TSize& aSourceSize );
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- /**
- * Main process loop for Color4K mode.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- void DoProcess4K();
-
- /**
- * Main process loop for Color4K mode when scaling is not required.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- void DoProcess4KNoScale();
-
- /**
- * Main process loop for Color64K mode.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- void DoProcess64K();
-
- /**
- * Main process loop for Color64K mode when scaling is not required.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- void DoProcess64KNoScale();
-
- /**
- * Main process loop for Color16M mode.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- void DoProcess16M();
-
- /**
- * Main process loop for Color16M mode when scaling is not required.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- void DoProcess16MNoScale();
-
- /**
- * Main process loop for Color16MU and Color16MA modes.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- void DoProcess16MU16MA();
-
- /**
- * Main process loop for Color16MU and Color16MA modes when scaling is
- * not required.
- * @param "aWriteFunction" Pointer to function that writes one pixel
- * to destination.
- */
- void DoProcess16MU16MANoScale();
-
- private: // New functions
-
- /**
- * C++ default constructor.
- */
- CVTYUVPlanarFbsBitmapConverter();
-
- private: // Functions from base classes
- };
-
-/**
-* FourCC IYUV image to CFbsBitmap converter (see IYUV description below).
-*
-* All Y samples are found first in memory as an array of unsigned char
-* (possibly with a larger stride for memory alignment), followed immediately
-* by all Cr (U) samples (with half the stride of the Y lines, and half the
-* number of lines), then followed immediately by all Cb (V) samples in a
-* similar fashion.
-*
-* @lib VTImageConverter.lib
-*/
-class CVTIYUVFbsBitmapConverter : public CVTYUVPlanarFbsBitmapConverter
- {
- public: // Constructors and destructor
-
- /**
- * Static factory function to create instance of this class.
- * @param "aSourceSize" Size of source image in pixels.
- * @param "aDestination" Reference to destination bitmap.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVTIYUVFbsBitmapConverter* NewL(
- const TSize& aSourceSize,
- const CFbsBitmap& aDestination );
-
- /**
- * Static factory function to create instance of this class.
- * @param "aSourceSize" Size of source image in pixels.
- * @param "aBitmapHandle" Handle to destination bitmap.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVTIYUVFbsBitmapConverter* NewL(
- const TSize& aSourceSize,
- TInt aBitmapHandle );
-
- public: // New functions
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // New functions
-
- private: // Functions from base classes
-
- /**
- * Updates iY, iU and iV member variables.
- * @param "aSourceData" 8-bit descriptor to source YUV data.
- */
- void SetYUVPtrs( const TDesC8& aSourceData );
-
- private: // Constructors and destructor
-
- /**
- * C++ destructor.
- * @param "aSourceSize" Source size in pixels.
- */
- CVTIYUVFbsBitmapConverter( const TSize& aSourceSize );
-
- /**
- * C++ default constructor.
- */
- CVTIYUVFbsBitmapConverter();
- };
-
-/**
-* FourCC YV12 image to CFbsBitmap converter (see YV12 description below).
-*
-* All Y samples are found first in memory as an array of unsigned char
-* (possibly with a larger stride for memory alignment), followed immediately
-* by all Cb (V) samples (with half the stride of the Y lines, and half the
-* number of lines), then followed immediately by all Cr (U) samples in a
-* similar fashion.
-*
-* @lib VTImageConverter.lib
-*/
-class CVTYV12FbsBitmapConverter : public CVTYUVPlanarFbsBitmapConverter
- {
- public: // Constructors and destructor
- /**
- * Static factory function to create instance of this class.
- * @param "aSourceSize" Size of source image in pixels.
- * @param "aDestination" Reference to destination bitmap.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVTYV12FbsBitmapConverter* NewL(
- const TSize& aSourceSize,
- const CFbsBitmap& aDestination );
-
- /**
- * Static factory function to create instance of this class.
- * @param "aSourceSize" Size of source image in pixels.
- * @param "aBitmapHandle" Handle to destination bitmap.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVTYV12FbsBitmapConverter* NewL(
- const TSize& aSourceSize,
- TInt aBitmapHandle );
-
- public: // New functions
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // New functions
-
- private: // Functions from base classes
-
- /**
- * Updates iY, iU and iV member variables.
- * @param "aSourceData" 8-bit descriptor to source YUV data.
- */
- void SetYUVPtrs( const TDesC8& aSourceData );
-
- private: // Constructors and destructor
-
- /**
- * C++ destructor.
- * @param "aSourceSize" Source size in pixels.
- */
- CVTYV12FbsBitmapConverter( const TSize& aSourceSize );
-
- /**
- * C++ default constructor.
- */
- CVTYV12FbsBitmapConverter();
- };
-
-/**
-* CFbsBitmap to FourCC IYUV image converter (see IYUV description below).
-*
-* All Y samples are found first in memory as an array of unsigned char
-* (possibly with a larger stride for memory alignment), followed immediately
-* by all Cr (U) samples (with half the stride of the Y lines, and half the
-* number of lines), then followed immediately by all Cb (V) samples in a
-* similar fashion.
-*
-* @lib VTImageConverter.lib
-*/
-class CVSFbsBitmapIYUVConverter : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Static factory function to create instance of this class.
- * @param "aBitmap" Reference to source bitmap.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVSFbsBitmapIYUVConverter* NewL(
- const CFbsBitmap& aBitmap );
-
- /**
- * C++ destructor.
- */
- IMPORT_C ~CVSFbsBitmapIYUVConverter();
-
- public: // New functions
-
- /**
- * Sets new source bitmap.
- * @param "aBitmap" Reference to new source bitmap.
- */
- IMPORT_C void SetSourceL( const CFbsBitmap& aBitmap );
-
- /**
- * Starts image conversion from CFbsBitmap to YUV.
- * @exception Can leave with one of the system wide error codes.
- */
- IMPORT_C void ProcessL();
-
- /**
- * After successfull ProcessL() call converted YUV image data can be
- * fetched using this method.
- * @return 8-bit pointer descriptor (constant) to YUV image data.
- */
- IMPORT_C TPtrC8 YUVData() const;
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CVSFbsBitmapIYUVConverter();
-
- /**
- * Second phase constructor.
- * @param "aBitmap" Reference to source bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL( const CFbsBitmap& aBitmap );
-
- private: // New functions
-
- /**
- * Second phase constructor that is called when source is changed.
- * @param "aBitmap" Reference to source bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- void ReConstructL( const CFbsBitmap& aBitmap );
-
- /**
- * Main process loop.
- * @param "aReadFunction" Pointer to function that reads one pixel from
- * source.
- */
- void DoProcess( TVSColorReadFunc aReadFunction );
-
- private: // Functions from base classes
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Destination size in pixels.
- TSize iSize;
-
- // Pointer to source bitmap.
- CFbsBitmap* iSource; // owned, duplicate
-
- // Heap descriptor that contains converted YUV data.
- HBufC8* iYUVData; // owned
-
- // Pointer descriptor that points to Y data of the YUV image.
- TPtrC8 iY;
-
- // Pointer descriptor that points to Cr (U) data of the YUV image.
- TPtrC8 iU;
-
- // Pointer descriptor that points to Cb (V) data of the YUV image.
- TPtrC8 iV;
- };
-
-// INLINE METHODS
-#include "cvtimageconverter.inl"
-
-
-#endif // CVTIMAGECONVERTER_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageIYUV.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-
-#ifndef CVTIMAGEIYUV_H
-#define CVTIMAGEIYUV_H
-
-// INCLUDE FILES
-
-#include "cvtimage.h"
-
-// CLASS DECLARATIONS
-
-/**
-* CFbsBitmap image implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageIYUV : public CVtImage
- {
- public:
-
- /**
- * Creates new instance of CVtImageIYUV.
- * @param "aSize" Size of the image in pixels.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVtImageIYUV* NewL( const TSize& aSize );
-
- /**
- * Creates new instance of CVtImageIYUV.
- * @param "aSize" Size of the image in pixels.
- * @param "aImage" Image data as 8-bit descriptor. Image data is copied into
- * this instance.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVtImageIYUV* NewL( const TSize& aSize, const TDesC8& aImage );
-
- /**
- * Creates new instance of CVtImageIYUV.
- * @param "aSize" Size of the image in pixels.
- * @param "aImage" Image data as 8-bit descriptor. This image will be referenced
- * and thus changes to this instance will be visible in the caller descriptor
- * as well. Also descriptor must remain accessible lifetime of the current
- * instance or until new non-referenced image is set.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVtImageIYUV* NewL( const TSize& aSize, TPtr8& aImage );
-
- /**
- * C++ destructor.
- */
- IMPORT_C ~CVtImageIYUV();
-
- /**
- * Updates image with given data.
- * @param "aImage" New image.
- * @param "aImage" Image data as 8-bit descriptor. Image data is copied into
- * this instance.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- IMPORT_C void SetImageL( const TDesC8& aImage );
-
- /**
- * Updates image with given data.
- * @param "aImage" Image data as 8-bit descriptor. This image will be referenced
- * and thus changes to this instance will be visible in the caller descriptor
- * as well. Also descriptor must remain accessible lifetime of the current
- * instance or until new non-referenced image is set.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- IMPORT_C void SetImageL( TPtr8& aImage );
-
- /**
- * Returns image as descriptor.
- * @return Image as 8-bit descriptor.
- */
- IMPORT_C TPtrC8 Image() const;
-
- /**
- * Returns pointer to Y plane of this image.
- * @return Pointer to Y plane of this image.
- */
- IMPORT_C TUint8* Y() const;
-
- /**
- * Returns pointer to U plane of this image.
- * @return Pointer to U plane of this image.
- */
- IMPORT_C TUint8* U() const;
-
- /**
- * Returns pointer to V plane of this image.
- * @return Pointer to V plane of this image.
- */
- IMPORT_C TUint8* V() const;
-
- /**
- * Returns width of the U and V plane in bytes.
- * @return Width of the U and V plane in bytes.
- */
- IMPORT_C TInt UVPlaneWidth() const;
-
- /**
- * Returns height of the U and V plane in bytes.
- * @return Height of the U and V plane in bytes.
- */
- IMPORT_C TInt UVPlaneHeight() const;
-
- public: // from CVtImage
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TBool NeedHeapLock() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TVtDisplayMode DisplayMode() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TSize Size() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TInt BytesPerRow() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TUint32* DataAddress() const;
-
- /**
- * From CVtImage. See CVtImage for description.
- */
- TUint32* LineAddress( TInt aLine ) const;
-
-
- private:
-
- /**
- * Returns size of the image in bytes (all planes
- * included).
- * @return Size of the image in bytes.
- */
- TInt ImageSize() const;
-
- /**
- * C++ constructor.
- */
- CVtImageIYUV( const TSize& aSize );
-
- /**
- * Second phase constructor.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void ConstructL( const TDesC8* aImage );
-
- /**
- * Validates given size.
- * @exception If the size is not correct leaves with KErrArgument.
- */
- void ValidateSizeL( const TSize& aSize );
-
- /**
- * Checks the size of the given descriptor against required size.
- * @exception If the size is not correct leaves with KErrArgument.
- */
- void CheckDescriptorSizeL( const TDesC8& aImage );
-
- /**
- * Sets Y, U and V plane pointers.
- */
- void SetYUVPointers();
- private:
-
- // Size of the image
- TSize iSize;
-
- // Image data
- HBufC8* iImage; // owned
-
- // Image data ptr descriptor
- TPtr8 iPtrImage;
-
- // Ptr to Y plane
- TUint8* iY;
-
- // Ptr to U plane
- TUint8* iU;
-
- // Ptr to V plane
- TUint8* iV;
- };
-
-
-#endif // CVTIMAGEIYUV_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageRotatorImpl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGEROTATORIMPL_H
-#define CVTIMAGEROTATORIMPL_H
-
-// INCLUDE FILES
-
-#include "cvtimagerotator.h"
-
-// FORWARD DECLARATIONS
-
-class CVtImage;
-
-// CLASS DECLARATIONS
-
-/**
-* Image scaler implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageRotatorImpl : public CBase
- {
- public:
-
- /**
- * Sets scaler params.
- * @param "aParams" Scaling params, including source and target images.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void SetSourceTargetL( const CVtImage& aSource, CVtImage& aTarget );
-
- /**
- * Method to check whether bitmap heap locking is needed or not during
- * scaling process.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return ETrue if bitmap heap lock is needed, EFalse otherwise.
- */
- TBool NeedHeapLock() const;
-
- /**
- * Pure virtual rotation method.
- * @param "aContinue" When method returns, this parameter will contain
- * ETrue if new call is needed (i.e. scaling is not yet finished) or
- * EFalse if scaling is complete.
- * @return KErrNone or one of the system wide error codes.
- */
- virtual TInt Rotate( TBool& aContinue ) = 0;
-
- /**
- * Pure virtual method for checking specific rotation angle support.
- * @param "aAngle" Rotation type that will be needed.
- * @return ETrue if aAngle is one of the supported rotation types
- * EFalse otherwise.
- */
- virtual TBool SupportsRotationAngle( const CVtImageRotator::TRotationAngle& aAngle ) = 0;
-
- /**
- * Sets rotation angle to be used.
- * @param "aAngle" Rotation type that will be needed.
- */
- void SetAngle( const CVtImageRotator::TRotationAngle& aAngle );
-
- protected:
-
- /**
- * C++ constructor.
- * @param "aAngle" Rotation type that will be needed.
- */
- CVtImageRotatorImpl( const CVtImageRotator::TRotationAngle& aAngle );
-
- private:
-
- /**
- * Pure virtual source and target image validation method.
- * @param "aSource" Constant reference to source image.
- * @param "aTarget" Constant reference to target image.
- * @exception If source or target is not valid, this method leaves
- * with KErrNotSupported.
- */
- virtual void ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget ) = 0;
-
- protected:
-
- // Source for scaling
- const CVtImage* iSource; // not owned
-
- // Target image (will hold scaled source)
- CVtImage* iTarget; // not owned
-
- // Selected rotation angle
- CVtImageRotator::TRotationAngle iAngle;
- };
-
-#endif // CVTIMAGEROTATORIMPL_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageRotatorImplClockwise.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGEROTATORIMPLCLOCKWISE_H
-#define CVTIMAGEROTATORIMPLCLOCKWISE_H
-
-// INCLUDE FILES
-
-#include "CVtImageRotatorImpl.h"
-
-// FORWARD DECLARATIONS
-
-class CVtImage;
-
-// CLASS DECLARATIONS
-
-/**
-* Image scaler implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageRotatorImplClockwise : public CVtImageRotatorImpl
- {
- public:
- /**
- * C++ constructor
- * @param "aAngle" Selected rotation angle.
- */
- CVtImageRotatorImplClockwise( const CVtImageRotator::TRotationAngle& aAngle );
-
- /**
- * Rotates the image.
- * @param "aContinue" When method returns, this parameter will contain
- * ETrue if new call is needed (i.e. scaling is not yet finished) or
- * EFalse if scaling is complete.
- * @return KErrNone or one of the system wide error codes.
- */
- TInt Rotate( TBool& aContinue );
-
- /**
- * Source and target image validation method.
- * @param "aSource" Constant reference to source image.
- * @param "aTarget" Constant reference to target image.
- * @exception If source or target is not valid, this method leaves
- * with KErrNotSupported.
- */
- void ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget );
-
- /**
- * Method for checking specific rotation angle support.
- * @param "aAngle" Rotation type that will be needed.
- * @return ETrue if aAngle is one of the supported rotation types
- * EFalse otherwise.
- */
- TBool SupportsRotationAngle( const CVtImageRotator::TRotationAngle& aAngle );
-
- private:
-
- /**
- * The rotation implementation.
- */
- void DoRotate();
-
- /**
- * The rotation implementation for YUV planes.
- * @param "aSource" Constant pointer to source plane.
- * @param "aTarget" Pointer to target plane.
- * @param "aWidth" Width of the plane in pixels.
- * @param "aHeight" Height of the plane in pixels.
- * @param "aBytesPerRow" Bytes per row in plane.
- */
- void RotatePlane(
- const TUint8* aSource,
- TUint8* aTarget,
- TInt aSourceWidth,
- TInt aSourceHeight,
- TInt aSourceBytesPerRow,
- TInt aTargetHeight,
- TInt aTargetBytesPerRow );
- };
-
-#endif // CVTIMAGEROTATORIMPLCLOCKWISE_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageRotatorImplMirrorFlip.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGEROTATORIMPLMIRRORFLIP_H
-#define CVTIMAGEROTATORIMPLMIRRORFLIP_H
-
-// INCLUDE FILES
-
-#include "CVtImageRotatorImpl.h"
-
-// FORWARD DECLARATIONS
-
-class CVtImage;
-class CVtImageIYUV;
-
-// CLASS DECLARATIONS
-
-/**
-* Image scaler implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageRotatorImplMirrorFlip : public CVtImageRotatorImpl
- {
- public:
- /**
- * C++ constructor
- * @param "aAngle" Selected rotation angle.
- */
- CVtImageRotatorImplMirrorFlip( const CVtImageRotator::TRotationAngle& aAngle );
-
- /**
- * Rotates the image.
- * @param "aContinue" When method returns, this parameter will contain
- * ETrue if new call is needed (i.e. scaling is not yet finished) or
- * EFalse if scaling is complete.
- * @return KErrNone or one of the system wide error codes.
- */
- TInt Rotate( TBool& aContinue );
-
- /**
- * Source and target image validation method.
- * @param "aSource" Constant reference to source image.
- * @param "aTarget" Constant reference to target image.
- * @exception If source or target is not valid, this method leaves
- * with KErrNotSupported.
- */
- void ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget );
-
- /**
- * Method for checking specific rotation angle support.
- * @param "aAngle" Rotation type that will be needed.
- * @return ETrue if aAngle is one of the supported rotation types
- * EFalse otherwise.
- */
- TBool SupportsRotationAngle( const CVtImageRotator::TRotationAngle& aAngle );
-
- private:
-
- /**
- * Mirrors image horizontally from iSource to iTarget.
- */
- void Mirror();
-
- /**
- * Mirrors image horizontally from aTarget to aTarget.
- */
- void Mirror( CVtImage& aTarget );
-
- /**
- * Mirrors IYUV image from iSource to iTarget.
- */
- void MirrorIYUV
- (
- const CVtImageIYUV& aSource,
- CVtImageIYUV& aTarget
- );
-
- /**
- * Mirrors one plane of IYUV image from iSource to iTarget.
- */
- void MirrorPlane
- (
- TUint8* aSource,
- TUint8* aTarget,
- TInt aWidth,
- TInt aHeight,
- TInt aBytesPerRow
- );
-
- /**
- * Flips image vertically from iSource to iTarget.
- */
- void Flip();
-
- /**
- * Flips image vertically from aTarget to aTarget.
- */
- void Flip( CVtImage& aTarget );
-
- /**
- * Flips IYUV image vertically from iSource to iTarget.
- */
- void FlipIYUV
- (
- const CVtImageIYUV& aSource,
- CVtImageIYUV& aTarget
- );
-
- /**
- * Flips one plane of IYUV.
- */
- void FlipPlane
- (
- TUint8* aSource,
- TUint8* aTarget,
- TInt aHeight,
- TInt aBytesPerRow
- );
- };
-
-#endif // CVTIMAGEROTATORIMPLMIRRORFLIP_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageScaler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-
-#ifndef CVTIMAGESCALER_H
-#define CVTIMAGESCALER_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-
-class CVtImageScalerImpl;
-class CVtImage;
-class CFbsBitmap;
-
-// CLASS DECLARATIONS
-
-/**
-* Image scaler observer interface.
-*
-* @lib videosource.lib
-*/
-class MVtImageScalerObserver
- {
- public:
- /**
- * Callback method that is called by CVtImageScaler when scaling has
- * finished.
- * @param "aError" KErrNone if the scaling was done successfully, one
- * of the system wide error codes otherwise.
- * @return Pointer to newly created instance.
- */
- virtual void ScalingFinished( TInt aError ) = 0;
- };
-
-/**
-* Image scaler.
-*
-* @lib videosource.lib
-*/
-class CVtImageScaler : public CActive
- {
- public:
-
- /**
- * An enumeration within the CVtImageScaler namespace.
- * It provides a set of panic codes that may happen during
- * scaling process.
- */
- enum TPanics
- {
- /**
- * RotateL() is called while previous rotation process
- * has not yet been finished.
- */
- EBusy = 1
- };
-
- /**
- * An enumeration within the CVtImageScaler namespace.
- * It provides a set of supported scaling quality settings.
- */
- enum TQuality
- {
- /**
- * Nearest neigbour algorithm. Fast but poor image quality
- * when scale factor exceeds 2x.
- */
- ENearest,
-
- /**
- * Weighted average algorithm. Slower than Nearest Neighbour
- * but also better image quality when scaling at factor 2x or
- * higher.
- */
- EWeightedAverage,
-
- /**
- * Bilinear scaling algorithm. Slower than Weighted Average
- * but also better image quality.
- */
- EBilinear
- };
-
- public:
-
- /**
- * Creates new instance of CVtImageScaler.
- * @param "aObserver" Reference to instance observer.
- * @param "aQuality" Scaling quality. If this is omitted, then default
- * value of EWeightedAverage is used.
- * @param "aPriority" Active object priority.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVtImageScaler* NewL(
- MVtImageScalerObserver& aObserver,
- TQuality aQuality = EWeightedAverage,
- TPriority aPriority = EPriorityStandard );
-
- /**
- * C++ destructor.
- */
- IMPORT_C ~CVtImageScaler();
-
- /**
- * Sets scaling quality.
- * @param "aQuality" Scaling quality.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- IMPORT_C void SetQualityL( TQuality aQuality );
-
- /**
- * Scales image to new size.
- * @param "aSource" Source image that will be scaled.
- * @param "aTarget" Target image that will hold the scaled image. New
- * image's dimensions
- * will be taken from the size of target image.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- IMPORT_C void ScaleL( const CVtImage& aSource, CVtImage& aTarget );
-
- /**
- * Scales image to new size. Possible error during initialization is
- * returned via MVtImageScalerObserver.
- * @param "aSource" Source image that will be scaled.
- * @param "aTarget" Target image that will hold the scaled image. New
- * image's dimensions will be taken from the size of target image.
- */
- IMPORT_C void Scale( const CVtImage& aSource, CVtImage& aTarget );
-
- /**
- * Scales image to new size. This scale method is synchronous and
- * aTarget will contain scaled image of aSource on return. This method
- * may leave if aSource and/or aTarget are not suitable for scaling.
- * MVtImageScalerObserver::ScalingFinished is not called when this
- * method is used.
- * @param "aSource" Source image that will be scaled.
- * @param "aTarget" Target image that will hold the scaled image. New
- * image's dimensions will be taken from the size of target image.
- */
- IMPORT_C void ScaleNowL( const CVtImage& aSource, CVtImage& aTarget );
-
- private: // internal
-
- /**
- * C++ default constructor.
- */
- CVtImageScaler();
-
- /**
- * C++ constructor.
- * @param "aObserver" Reference to observer.
- * @param "aPriority" Active object priority.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- CVtImageScaler( MVtImageScalerObserver& aObserver, TPriority aPriority );
-
- /**
- * Second phase constructor.
- * @param "aQuality" Quality of the scaling.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void ConstructL( TQuality aQuality );
-
- /**
- * Sets iStatus to KRequestPending and calls CActive::SetActive().
- */
- void Activate();
-
- /**
- * Signals this instance AO with given error code.
- * @param "aError" Signalling error code.
- */
- void Signal( TInt aError );
-
- private: // from CActive
-
- /**
- * This is defined in CActive. Check CActive for description.
- */
- void RunL();
-
- /**
- * This is defined in CActive. Check CActive for description.
- */
- void DoCancel();
-
- /**
- * Scale method called by the CAsyncCallBack.
- */
- static TInt StaticScale( TAny* aPtr );
-
- /**
- * Scale method called by the StaticScale.
- */
- void DoScale();
-
- private:
-
- // Scaling observer
- MVtImageScalerObserver& iObserver;
-
- // Active quality implementation
- CVtImageScalerImpl* iScalerImpl; // owned
-
- // Bitmap that will be used for locking global bitmap heap
- CFbsBitmap* iHeapLock; // owned
-
- // Asynccallback instance
- CAsyncCallBack* iAsyncCallBack; // owned
-
- // This is set to ETrue in DoCancel() method, and when CAsyncCallBack
- // gets executed, iCancelled is checked whether scaling should be done
- // or not.
- TBool iCancelled;
- };
-
-#endif // CVTIMAGESCALER_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageScalerImpl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGESCALERIMPL_H
-#define CVTIMAGESCALERIMPL_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <bitmaptransforms.h>
-
-// FORWARD DECLARATIONS
-
-class CVtImage;
-
-// CLASS DECLARATIONS
-
-/**
-* Image scaler implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageScalerImpl : public CActive
- {
- protected:
-
- /**
- * Constructor.
- */
- CVtImageScalerImpl();
-
- public:
-
- /**
- * Destructor.
- */
- ~CVtImageScalerImpl();
-
- /**
- * Sets scaler params.
- * @param "aParams" Scaling params, including source and target images.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void SetSourceTargetL( const CVtImage& aSource, CVtImage& aTarget );
-
- /**
- * Method to check whether bitmap heap locking is needed or not during
- * scaling process.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return ETrue if bitmap heap lock is needed, EFalse otherwise.
- */
- TBool NeedHeapLock() const;
-
- /**
- * Pure virtual scaling method.
- * @param "aContinue" When method returns, this parameter will contain
- * ETrue if new call is needed (i.e. scaling is not yet finished) or
- * EFalse if scaling is complete.
- * @return KErrNone or one of the system wide error codes.
- */
- virtual TInt Scale( TBool& aContinue ) = 0;
-
- protected:
-
- /**
- * Scales using CBitmapScaler, which is slow but works with any
- * Symbian color mode.
- * @param aQuality Scaling quality @see CBitmapScaler::TQualityAlgorithm
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void ScaleWithBitmapScalerL(
- const CBitmapScaler::TQualityAlgorithm aQuality );
-
- private:
-
- /**
- * Pure virtual source and target image validation method.
- * @param "aSource" Constant reference to source image.
- * @param "aTarget" Constant reference to target image.
- * @exception If source or target is not valid, this method leaves
- * with KErrNotSupported.
- */
- virtual void ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget ) = 0;
-
- /**
- * Method for validating image size.
- * @param "aSize" Size to be validated.
- * @param "aMinSize" Minimum allowed size. If this is not given a default
- * size of TSize( 1, 1 ) is used.
- * @exception If size is not valid within given parameters, this
- * method leaves with KErrNotSupported.
- */
- void LeaveIfNotValidSizeL(
- const TSize& aSize,
- const TSize aMinSize = TSize( 1, 1 ) );
-
- private: // from CActive
-
- /**
- * @see CActive::RunL
- */
- void RunL();
-
- /**
- * @see CActive::DoCancel
- */
- void DoCancel();
-
- protected:
-
- // Source for scaling
- const CVtImage* iSource; // not owned
-
- // Target image (will hold scaled source)
- CVtImage* iTarget; // not owned
-
- // Bitmap scaler instance
- CBitmapScaler* iScaler;
-
- // Active scheduler waiter object
- CActiveSchedulerWait iActiveSchedulerWait;
-
- };
-
-#endif // CVTIMAGESCALERIMPL_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageScalerImplBilinear.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-
-#ifndef CVTIMAGESCALERIMPLBILINEAR_H
-#define CVTIMAGESCALERIMPLBILINEAR_H
-
-// INCLUDE FILES
-
-#include "CVtImageScalerImpl.h"
-
-// CLASS DECLARATIONS
-
-/**
-* Bilinear image scaler implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageScalerImplBilinear : public CVtImageScalerImpl
- {
- private: // from CVtImageScalerImpl
-
- /**
- * From CVtImageScalerImpl. Check CVtImageScalerImpl for description.
- */
- TInt Scale( TBool& aContinue );
-
- private:
-
- /**
- * Validate given parameters.
- */
- void ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget );
-
- /**
- * Initializes internal variables for scaling.
- */
- void Initialize();
-
- /**
- * Scales images in displaymode EColor4K.
- */
- void Scale4K();
-
- /**
- * Scales images in displaymode EColor64K.
- */
- void Scale64K();
-
- /**
- * Scales images in displaymode EColor16M.
- */
- void Scale16M();
-
- /**
- * Scales images in displaymode EColor16MU.
- */
- void Scale16MU();
-
- /**
- * Scales images in displaymode EColor16MA.
- */
- void Scale16MA();
-
- /**
- * Fast scaling when target is double the source size for
- * 4K and 64K display modes.
- */
- void Scale2x4K64K( TUint32 aMask );
-
- /**
- * Fast scaling when target is double the source size for
- * 16M display mode.
- */
- void Scale2x16M();
-
- /**
- * Fast scaling when target is double the source size for
- * 16MU and 16MA display modes.
- */
- void Scale2x16MU16MA();
-
- private:
-
- // Target width ratio to source width
- TUint32 iU;
-
- // Target height ratio to source height
- TUint32 iV;
- };
-
-#endif // CVTIMAGESCALERIMPLBILINEAR_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageScalerImplNearest.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGESCALERIMPLNEAREST_H
-#define CVTIMAGESCALERIMPLNEAREST_H
-
-// INCLUDE FILES
-
-#include "CVtImageScalerImpl.h"
-
-// CLASS DECLARATIONS
-
-/**
-* Nearest neigbour image scaling implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageScalerImplNearest : public CVtImageScalerImpl
- {
- private: // from CVtImageScalerImpl
-
- /**
- * From CVtImageScalerImpl. Check CVtImageScalerImpl for description.
- */
- TInt Scale( TBool& aContinue );
-
- private:
-
- /**
- * Validate given parameters.
- */
- void ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget );
-
- /**
- * Initializes internal variables for scaling.
- */
- void Initialize();
-
- /**
- * Scales images in displaymode EColor4K.
- */
- void Scale4K(
- const TUint16* aSrcPtr,
- TUint32 aSrcPitch,
- TUint16* aTrgPtr,
- TUint32 aTrgWidth,
- TUint32 aTrgHeight,
- TUint32 aDx,
- TUint32 aDy );
-
- /**
- * Scales images in displaymode EColor64K.
- */
- void Scale64K(
- const TUint16* aSrcPtr,
- TUint32 aSrcPitch,
- TUint16* aTrgPtr,
- TUint32 aTrgWidth,
- TUint32 aTrgHeight,
- TUint32 aDx,
- TUint32 aDy );
-
- /**
- * Scales images in displaymode EColor16M.
- */
- void Scale16M(
- const TUint8* aSrcPtr,
- TUint32 aSrcPitch,
- TUint8* aTrgPtr,
- TUint32 aTrgWidth,
- TUint32 aTrgHeight,
- TUint32 aTrgPitch,
- TUint32 aDx,
- TUint32 aDy );
-
- /**
- * Scales images in displaymodes EColor16MU and EColor16MA.
- */
- void Scale16MU16MA(
- const TUint32* aSrcPtr,
- TUint32 aSrcPitch,
- TUint32* aTrgPtr,
- TUint32 aTrgWidth,
- TUint32 aTrgHeight,
- TUint32 aDx,
- TUint32 aDy );
-
- /**
- * Fast scaling when target is double the source size for
- * 4K and 64K display modes.
- */
- void Scale2x4K64K();
-
- /**
- * Fast scaling when target is double the source size for 16M
- * display mode.
- */
- void Scale2x16M();
-
- /**
- * Fast scaling when target is double the source size for 16MU and 16MA
- * display modes.
- */
- void Scale2x16MU16MA();
-
- private:
-
- // Target width ratio to source width
- TUint32 iU;
-
- // Target height ratio to source height
- TUint32 iV;
- };
-
-#endif // CVTIMAGESCALERIMPLNEAREST_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageScalerImplWeightedAverage.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGESCALERIMPLWEIGHTEDAVERAGE_H
-#define CVTIMAGESCALERIMPLWEIGHTEDAVERAGE_H
-
-// INCLUDE FILES
-
-#include "CVtImageScalerImpl.h"
-
-// CLASS DECLARATIONS
-
-/**
-* Weighted average scaler implementation.
-*
-* @lib videosource.lib
-*/
-class CVtImageScalerImplWeightedAverage : public CVtImageScalerImpl
- {
- private: // from CVtImageScalerImpl
-
- /**
- * From CVtImageScalerImpl. Check CVtImageScalerImpl for description.
- */
- TInt Scale( TBool& aContinue );
-
- private: // methods
-
- /**
- * Validate given parameters.
- */
- void ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget );
-
- /**
- * Initializes internal variables for scaling.
- */
- void Initialize();
-
- /**
- * Scales images in displaymode EColor4K.
- */
- void Scale4K();
-
- /**
- * Scales images in displaymode EColor64K.
- */
- void Scale64K();
-
- /**
- * Scales images in displaymode EColor16M.
- */
- void Scale16M();
-
- /**
- * Scales images in displaymode EColor16MU.
- */
- void Scale16MU();
-
- /**
- * Scales images in displaymode EColor16MA.
- */
- void Scale16MA();
-
- /**
- * Fast scaling when target is double the source size for
- * 4K and 64K display modes.
- */
- void Scale2x4K64K( TUint32 aMask );
-
- /**
- * Fast scaling when target is double the source size for
- * 16M display mode.
- */
- void Scale2x16M();
-
- /**
- * Fast scaling when target is double the source size for
- * 16MU and 16MA display modes.
- */
- void Scale2x16MU16MA();
-
- private: // data
-
- // Target width ratio to source width
- TUint32 iU;
-
- // Target height ratio to source height
- TUint32 iV;
-
- };
-
-#endif // CVTIMAGESCALERIMPLWEIGHTEDAVERAGE_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageScalerMacros.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGESCALERMACROS_H
-#define CVTIMAGESCALERMACROS_H
-
-// MACROS
-
-#define UNPACK_4K_RED( c ) ( 0xf & ( c >> 8 ) )
-#define UNPACK_4K_GREEN( c ) ( 0xf & ( c >> 4 ) )
-#define UNPACK_4K_BLUE( c ) ( 0xf & c )
-#define PACK_4K_BGR( b, g, r ) \
- TUint16( ( b ) | ( ( ( g ) | ( ( r ) << 4 ) ) << 4 ) )
-
-#define UNPACK_64K_RED( c ) ( c >> 11 )
-#define UNPACK_64K_GREEN( c ) ( 0x3f & ( c >> 5 ) )
-#define UNPACK_64K_BLUE( c ) ( 0x1f & c )
-#define PACK_64K_BGR( b, g, r ) \
- TUint16( ( b ) | ( ( ( g ) | ( ( r ) << 6 ) ) << 5 ) )
-
-#define UNPACK_16MU_RED( c ) ( 0xff & ( c >> 16 ) )
-#define UNPACK_16MU_GREEN( c ) ( 0xff & ( c >> 8 ) )
-#define UNPACK_16MU_BLUE( c ) ( c & 0xff )
-#define PACK_16MU_BGR( b, g, r ) \
- TUint32( ( ( ( ( ( 0xff << 8 ) | ( r ) ) << 8 ) | ( g ) ) << 8 ) | ( b ) )
-
-#define UNPACK_16MA_ALPHA( c ) ( 0xff & ( c >> 24 ) )
-#define UNPACK_16MA_RED( c ) ( 0xff & ( c >> 16 ) )
-#define UNPACK_16MA_GREEN( c ) ( 0xff & ( c >> 8 ) )
-#define UNPACK_16MA_BLUE( c ) ( c & 0xff )
-#define PACK_16MA_ABGR( a, b, g, r ) \
- TUint32( ( ( ( ( ( ( a ) << 8 ) | ( r ) ) << 8 ) | ( g ) ) << 8 ) | ( b ) )
-
-#endif // CVTIMAGESCALERMACROS_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/CVtImageTransformsUids.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2004 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: Uid definition file for Display Sink subsystem
-*
-*/
-
-
-
-#ifndef __CVTIMAGETRANSFORMS_HRH__
-#define __CVTIMAGETRANSFORMS_HRH__
-
-#define KUidVtImageTransformsLibrary 0x101F8834
-#define KSharedLibraryUidDefine 0x1000008D
-
-#endif // __CVTIMAGETRANSFORMS_HRH__
\ No newline at end of file
--- a/vtprotocolplugins/DisplaySink/inc/DisplaySinkUids.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2004 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: Uid definition file for Display Sink subsystem
-*
-*/
-
-
-
-#ifndef __DISPLAYSINKUIDS_HRH__
-#define __DISPLAYSINKUIDS_HRH__
-
-#define KUidDisplaySinkLibrary 0x101F8693
-#define KSharedLibraryUidDefine 0x1000008D
-
-#endif
\ No newline at end of file
--- a/vtprotocolplugins/DisplaySink/inc/TDisplaySinkParamsDP.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2004 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: DisplaySink subsystem.
-*
-*/
-
-
-#ifndef TDISPLAYSINKPARAMSDP_H
-#define TDISPLAYSINKPARAMSDP_H
-
-// INCLUDE FILES
-
-#include "mdisplaysink.h"
-#include <Posting_Surface.h>
-
-// CLASS DECLARATION
-
-/**
-* Displaysink initialization parameters for DisplaySink's Display Posting
-* implementation.
-*
-* @lib displaysink.lib
-* @since Series 60 3.1
-*/
-NONSHARABLE_CLASS( TDisplaySinkParamsDP ) : public TDisplaySinkParams
- {
-public:
- // Pointer's pointer to first posting buffer that is filled by the
- // sink.
- CPostingSurface::TPostingBuff** iPostingBuffer1;
-
- // Pointer's pointer to second posting buffer that is filled by the
- // sink.
- CPostingSurface::TPostingBuff** iPostingBuffer2;
-
- // Posting format to be used
- CPostingSurface::TPostingFormat iPostingFormat;
-
- // Frame size in pixels
- TSize iFrameSize;
- };
-
-#endif // TDISPLAYSINKPARAMSDP_H
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/inc/TDisplaySinkParamsDSA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 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: DisplaySink subsystem.
-*
-*/
-
-
-#ifndef TDISPLAYSINKPARAMSDSA_H
-#define TDISPLAYSINKPARAMSDSA_H
-
-// INCLUDE FILES
-
-#include "cvtimagerotator.h"
-#include "mdisplaysink.h"
-
-// CLASS DECLARATION
-
-/**
-* Displaysink initialization parameters for DisplaySink's Direct Screen Access
-* implementation.
-*
-* @lib displaysink.lib
-* @since Series 60 3.1
-*/
-NONSHARABLE_CLASS( TDisplaySinkParamsDSA ) : public TDisplaySinkParams
- {
-public:
-
- /**
- * C++ constructor
- */
- TDisplaySinkParamsDSA();
-
-public:
- // Handle to first bitmap that is filled by the sink. 176x144 bitmap (QCIF)
- TInt iBitmap1Handle;
-
- // Handle to second bitmap that is filled by the sink. 176x144 bitmap (QCIF)
- TInt iBitmap2Handle;
-
- // Angle to which YUV image must be rotated BEFORE it is converted into bitmap.
- // If CVtImageRotator::ERotationNone is given, image will be converted as it
- // is received. Also make sure that iBitmap1Handle and iBitmap2Handle contains
- // correct dimensions AFTER rotation.
- CVtImageRotator::TRotationAngle iRotationAngle;
- };
-
-#include "tdisplaysinkparamsdsa.inl"
-
-#endif // TDISPLAYSINKPARAMSDSA_H
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/inc/TDisplaySinkParamsNGA.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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: Displaysink initialization parameters for DisplaySink's NGA implementation.
-*
-*/
-
-#ifndef TDISPLAYSINKPARAMSNGA_H
-#define TDISPLAYSINKPARAMSNGA_H
-
-// INCLUDE FILES
-
-#include "mdisplaysink.h"
-#include <pixelformats.h>
-//#include <videorenderer.h>
-#include <videoframebuffer.h>
-
-// CLASS DECLARATION
-
-/**
-* Displaysink initialization parameters for DisplaySink's NGA
-* implementation.
-*
-* @lib displaysink.lib
-* @since Series 60 7.0
-*/
-NONSHARABLE_CLASS( TDisplaySinkParamsNGA ) : public TDisplaySinkParams
- {
-public:
- // Pointer's pointer to first posting buffer that is filled by the
- // sink.
- TUint8** iSurfaceBuffer1;
- //TVideoFrameBuffer** iSurfaceBuffer1;
-
- // Pointer's pointer to second posting buffer that is filled by the
- // sink.
- //TVideoFrameBuffer** iSurfaceBuffer2;
- TUint8** iSurfaceBuffer2;
-
- // Posting format to be used
- TUidPixelFormat iSurfaceFormat;
-
- // Frame size in pixels
- TSize iFrameSize;
- };
-
-#endif // TDISPLAYSINKPARAMSNGA_H
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/inc/VtImageConverterUids.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2004 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: Uid definition file for Display Sink subsystem
-*
-*/
-
-
-
-#ifndef __VTIMAGECONVERTERUIDS_HRH__
-#define __VTIMAGECONVERTERUIDS_HRH__
-
-#define KUidVtImageConverterLibrary 0x101F86B5
-#define KSharedLibraryUidDefine 0x1000008D
-
-#endif // __VTIMAGECONVERTERUIDS_HRH__
\ No newline at end of file
--- a/vtprotocolplugins/DisplaySink/inc/cvtimage.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGE_H
-#define CVTIMAGE_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <gdi.h>
-
-// CLASS DECLARATIONS
-
-/**
-* Abstract base class for VS images.
-*
-* @lib videosource.lib
-*/
-class CVtImage : public CBase
- {
- public:
- /**
- * Enumeration for supported image types.
- */
- enum TVtImageType
- {
- /**
- * CFbsBitmap image.
- */
- EVtImageBitmap,
-
- /**
- * YUV 420 planar image where all Y samples are found first in memory as an
- * array of unsigned char (possibly with a larger stride for memory alignment),
- * followed immediately by all Cr (U) samples (with half the stride of the Y
- * lines, and half the number of lines), then followed immediately by all Cb
- * (V) samples in a similar fashion.
- */
- EVtImageIYUV
- };
-
- /**
- * Vt display modes. Used for identifying image's data format.
- */
- enum TVtDisplayMode
- {
- /**
- * Unsupported display mode.
- */
- EVtColorNone,
-
- /**
- * 4096 colour display mode (12 bpp).
- */
- EVtColor4K,
-
- /**
- * 2^16 colour display mode (16 bpp).
- */
- EVtColor64K,
-
- /**
- * True colour display mode (24 bpp).
- */
- EVtColor16M,
-
- /**
- * True colour display mode (32 bpp).
- */
- EVtColor16MU,
-
- /**
- * True colour display mode with alpha (32 bpp).
- */
- EVtColor16MA,
-
- /**
- * YUV 420 planar display mode.
- */
- EVtColorIYUV
- };
-
- /**
- * Pure virtual function to check whether bitmap heap needs to be locked
- * for this image type.
- * @return Returns ETrue if bitmap heap lock is required, EFalse
- * otherwise.
- */
- virtual TBool NeedHeapLock() const = 0;
-
- /**
- * Pure virtual function to get displaymode from image.
- * @return Returns image's displaymode.
- */
- virtual TVtDisplayMode DisplayMode() const = 0;
-
- /**
- * Pure virtual function to get size of the image in pixels
- * @return Returns size of the image in pixels.
- */
- virtual TSize Size() const = 0;
-
- /**
- * Pure virtual function to get how many bytes this image has per
- * scaline.
- * @return Returns number of bytes per scanline.
- */
- virtual TInt BytesPerRow() const = 0;
-
- /**
- * Pure virtual function to get pointer to image data.
- * @return Returns pointer to image data.
- */
- virtual TUint32* DataAddress() const = 0;
-
- /**
- * Pure virtual function to get pointer to image data at defined line.
- * If aLine is lower than zero then line zero is returned, also if aLine
- * is greater than height of the image minus 1 ( height - 1 ) then line
- * number ( height - 1 ) is returned.
- * @param "aLine" Number of vertical line for which pointer is wanted.
- * @return Returns pointer to the beginning of the requested scanline.
- */
- virtual TUint32* LineAddress( TInt aLine ) const = 0;
-
- /**
- * Method for getting image type.
- * @return Returns type of the image.
- */
- IMPORT_C TVtImageType Type() const;
-
- public: // static methods
-
- /**
- * Converts given TDisplayMode to corresponding TVtDisplayMode.
- * @param "aMode" Display mode as TDisplayMode.
- * @return Returns mode as TVtDisplayMode.
- */
- static TVtDisplayMode DisplayModeToVtDisplayMode( TDisplayMode aMode );
-
- protected:
-
- /**
- * C++ constructor.
- */
- CVtImage( TVtImageType aType );
-
- private:
-
- // Type of the image.
- TVtImageType iType;
- };
-
-#endif // CVTIMAGE_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/cvtimageconverter.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image conversion library for VideoTelephony.
-*
-*/
-
-
-
-
-#ifndef CVTIMAGECONVERTER_INL
-#define CVTIMAGECONVERTER_INL
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::SourceSize() const
-// Returns source size in pixels.
-// -----------------------------------------------------------------------------
-//
-inline const TSize& CVTYUVFbsBitmapConverter::SourceSize() const
- {
- return iSourceSize;
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::SourceSize()
-// Returns source size in pixels.
-// -----------------------------------------------------------------------------
-//
-inline TSize& CVTYUVFbsBitmapConverter::SourceSize()
- {
- return iSourceSize;
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::DestinationSize() const
-// Returns destination size in pixels.
-// -----------------------------------------------------------------------------
-//
-inline const TSize& CVTYUVFbsBitmapConverter::DestinationSize() const
- {
- return iDestinationSize;
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::DestinationSize()
-// Returns destination size in pixels.
-// -----------------------------------------------------------------------------
-//
-inline TSize& CVTYUVFbsBitmapConverter::DestinationSize()
- {
- return iDestinationSize;
- }
-
-#endif CVTIMAGECONVERTER_INL
-
-// End of File
-
--- a/vtprotocolplugins/DisplaySink/inc/cvtimagerotator.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-
-
-
-#ifndef CVTIMAGEROTATOR_H
-#define CVTIMAGEROTATOR_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-
-class CVtImage;
-class CFbsBitmap;
-class CVtImageRotatorImpl;
-
-// CLASS DECLARATIONS
-
-/**
-* Image rotator observer interface.
-*
-* @lib videosource.lib
-*/
-class MVtImageRotatorObserver
- {
- public:
- /**
- * Callback method that is called by CVtImageRotator when rotation
- * process has been finished.
- * @param "aError" KErrNone if the rotation was done successfully, one
- * of the system wide error codes otherwise.
- * @return Pointer to newly created instance.
- */
- virtual void RotationFinished( TInt aError ) = 0;
- };
-
-/**
-* Image rotator.
-*
-* @lib videosource.lib
-*/
-class CVtImageRotator : public CActive
- {
- public:
- /**
- * An enumeration within the CVtImageRotator namespace.
- * It provides a set of panic codes that may happen during
- * rotation process.
- */
- enum TPanics
- {
- /**
- * RotateL() is called while previous rotation process
- * has not yet been finished.
- */
- EBusy = 1
- };
-
- /**
- * An enumeration within the CVtImageRotator namespace.
- * It provides a set of supported rotation and mirror angles.
- */
- enum TRotationAngle
- {
- /**
- * Uninitialized place holder. Giving this rotation angle
- * to RotateL() will make RotateL() leave with error code
- * KErrNotSupported.
- */
- ERotationNone = -1,
-
- /**
- * Rotates image 90 degrees in a clockwise direction.
- */
- E90DegreesClockwise,
-
- /**
- * Rotates image 180 degrees in a clockwise direction.
- * (flip & mirror)
- */
- E180DegreesClockwise,
-
- /**
- * Rotates image 270 degrees in a clockwise direction.
- */
- E270DegreesClockwise,
-
- /**
- * Mirrors the bitmap around the horizontal axis.
- */
- EMirrorHorizontalAxis,
-
- /**
- * Flips the image around the vertical axis.
- */
- EFlipVerticalAxis,
- };
-
- public:
-
- /**
- * Creates new instance of CVtImageRotator.
- * @param "aObserver" Reference to instance observer.
- * @param "aPriority" Active object priority.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- * @return Pointer to newly created instance.
- */
- IMPORT_C static CVtImageRotator* NewL(
- MVtImageRotatorObserver& aObserver,
- TPriority aPriority = EPriorityLow );
-
- /**
- * C++ destructor.
- */
- IMPORT_C ~CVtImageRotator();
-
- /**
- * Rotates image to given angle.
- * @param "aSource" Source image that will be rotated.
- * @param "aTarget" Target image that will hold the rotated image.
- * @param "aAngle" Rotation angle.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- IMPORT_C void RotateL( const CVtImage& aSource, CVtImage& aTarget,
- const TRotationAngle& aAngle );
-
- /**
- * Rotates image to given angle. Possible error during initialization is
- * returned via MVtImageRotatorObserver.
- * @param "aSource" Source image that will be rotated.
- * @param "aTarget" Target image that will hold the rotated image.
- * @param "aAngle" Rotation angle.
- */
- IMPORT_C void Rotate( const CVtImage& aSource, CVtImage& aTarget,
- const TRotationAngle& aAngle );
-
- private: // internal
-
- /**
- * C++ default constructor.
- */
- CVtImageRotator();
-
- /**
- * C++ constructor.
- * @param "aObserver" Reference to observer.
- * @param "aPriority" Active object priority.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- CVtImageRotator( MVtImageRotatorObserver& aObserver, TPriority aPriority );
-
- /**
- * Second phase constructor.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void ConstructL();
-
- /**
- * Creates new instance of rotator implementation if needed.
- * @param "aAngle" Used rotation angle.
- * @exception In error situation leaves with one of the system wide
- * error codes.
- */
- void CreateRotatorL( const TRotationAngle& aAngle );
-
- /**
- * Sets iStatus to KRequestPending and calls CActive::SetActive().
- */
- void Activate();
-
- /**
- * Signals this instance AO with given error code.
- * @param "aError" Signalling error code.
- */
- void Signal( TInt aError );
-
- private: // from CActive
-
- /**
- * This is defined in CActive. Check CActive for description.
- */
- void RunL();
-
- /**
- * This is defined in CActive. Check CActive for description.
- */
- void DoCancel();
-
- /**
- * Rotate method called by the CAsyncCallBack.
- */
- static TInt StaticRotate( TAny* aPtr );
-
- /**
- * Rotate method called by the StaticScale.
- */
- void DoRotate();
-
- private:
-
- // Scaling observer
- MVtImageRotatorObserver& iObserver;
-
- // Bitmap that will be used for locking global bitmap heap
- CFbsBitmap* iHeapLock; // owned
-
- // Rotator implementation
- CVtImageRotatorImpl* iRotatorImpl; // owned
-
- // Asynccallback instance
- CAsyncCallBack* iAsyncCallBack; // owned
-
- // This is set to ETrue in DoCancel() method, and when CAsyncCallBack
- // gets executed, iCancelled is checked whether scaling should be done
- // or not.
- TBool iCancelled;
- };
-
-#endif // CVTIMAGEROTATOR_H
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/inc/mdisplaysink.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* Copyright (c) 2004 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: DisplaySink subsystem.
-*
-*/
-
-
-#ifndef MDISPLAYSINK_H
-#define MDISPLAYSINK_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-
-class MVTVideoSink;
-
-/**
-* MDisplaySinkObserver
-*
-* Sink observer API. Currently only frame size changes are reported using
-* this IF.
-*
-* @lib DisplaySink.lib
-*/
-class MDisplaySinkObserver
- {
-public:
- /**
- * When incoming video frame size changes, this callback will be called.
- * @param "aFrom" Current frame size.
- * @param "aTo" New frame size.
- * @return KErrNone if successful, one of the system wide error codes
- * @exception May leave with one of the system wide error codes.
- * otherwise.
- */
- virtual void VideoFrameSizeChangedL(
- const TSize& aFrom,
- const TSize& aTo ) = 0;
- };
-
-/**
-* Input parameters for Display Sink
-*
-* @lib DisplaySink.lib
-*/
-class TDisplaySinkParams
- {
-public:
-
- /**
- * Enumeration for limiting frame rate.
- */
- enum TFrameRateLimit
- {
- /** Don't limit frame rate (default) */
- EFrameRateLimitNone = 0,
- /** Limit frame rate to 1.0 frames per second */
- EFrameRateLimit1_0 = 1000,
- /** Limit frame rate to 2.5 frames per second */
- EFrameRateLimit2_5 = 400,
- /** Limit frame rate to 5.0 frames per second */
- EFrameRateLimit5_0 = 200,
- /** Limit frame rate to 7.5 frames per second */
- EFrameRateLimit7_5 = 133,
- /** Limit frame rate to 10.0 frames per second */
- EFrameRateLimit10_0 = 100,
- /** Limit frame rate to 12.5 frames per second */
- EFrameRateLimit12_5 = 80,
- /** Limit frame rate to 15.0 frames per second */
- EFrameRateLimit15_0 = 67,
- };
-
- /**
- * Flags for selecting correct type sink.
- */
- enum TFlags
- {
- /** Create instance of DSA version of sink */
- EDisplaySinkDSA = ( 1 << 0 ),
- /** Create instance of DP version of sink */
- EDisplaySinkDP = ( 1 << 1 ),
- /** Create instance of NGA version of sink */
- EDisplaySinkNGA = ( 1 << 2 )
- };
-
-public: // Data
-
- /**
- * C++ constructor for initializing some of the variables.
- */
- IMPORT_C TDisplaySinkParams();
-
- // Thread id that gets notified by sink
- TThreadId iThreadId;
-
- // Pointer to iStatus member of the Active Object to notify after video
- // frame is converted
- TRequestStatus* iRequestStatusPtr;
-
- // Pointer to Display Sink observer interface
- MDisplaySinkObserver* iObserver;
-
- // Frame rate limitation
- TFrameRateLimit iFrameRateLimit;
-
- // Sink flags
- TUint32 iFlags;
- };
-
-/**
-* MDisplaySink
-*
-* @lib DisplaySink.lib
-*/
-class MDisplaySink
- {
-public: // data
-
- // Enumeration for the bitmaps.
- enum TBitmapNo
- {
- EFirstBitmap = 0,
- ESecondBitmap
- };
-
-public: // new methods
-
- /**
- * Deletes instance and frees all memory.
- */
- virtual void Destroy() = 0;
-
- /**
- * Mark the bitmap available for use.
- * @param "aBitmapNo" One of the enumerated TBitmapNo values.
- */
- virtual void SetBitmapAvailable( TBitmapNo aBitmapNo ) = 0;
-
- /**
- * Cancels sink so that it does not convert bitmaps even it receives data.
- */
- virtual void Release() = 0;
-
- /**
- * Updates display sink parameters, e.g. when display mode changes.
- * @param "aParams" Structure that contains new bitmap handles.
- * @param "aUpdated" Reference to boolean variable that will be set to
- * ETrue when display sink parameter update has been completed.
- * @exception May leave with one of the system wide error codes (e.g. in
- * out of memory situaton).
- */
- virtual void UpdateSinkParamsL( const TDisplaySinkParams& aParams,
- TBool& aUpdated ) = 0;
-
- /**
- * Pauses sending of remote video to VT engine.
- */
- virtual void Pause() = 0;
-
- /**
- * Resumes sending of remote video to VT engine.
- */
- virtual void Resume() = 0;
-
- /**
- * Operator returns this instance .
- */
- virtual operator MVTVideoSink&() = 0;
-
- /**
- * This method is called by the VT engine when engine has finished handling
- * of previous frame and is ready to handle a new one.
- */
- virtual void NextFrame() = 0;
-
- };
-
-/**
-* Creates instance of displaysink.
-*/
-IMPORT_C MDisplaySink* CreateSinkL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData );
-
-#endif // MDISPLAYSINK_H
-
-// End of file
--- a/vtprotocolplugins/DisplaySink/inc/tdisplaysinkparamsdsa.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 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: DisplaySink subsystem.
-*
-*/
-
-
-#ifndef TDISPLAYSINKPARAMSDSA_INL
-#define TDISPLAYSINKPARAMSDSA_INL
-
-// ====================== TDisplaySinkParamsDSA ==========================
-
-inline TDisplaySinkParamsDSA::TDisplaySinkParamsDSA() : TDisplaySinkParams()
- {
- Mem::FillZ( this, sizeof( TDisplaySinkParamsDSA ) );
- iRotationAngle = CVtImageRotator::ERotationNone;
- }
-
-#endif TDISPLAYSINKPARAMSDSA_INL
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/inc/vtyuvconverter.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2005-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: YUV format transcoder.
-*
-*/
-
-
-#ifndef TVTYUVCONVERTER_H
-#define TVTYUVCONVERTER_H
-
-#include <e32base.h>
-
-/**
- * Yuv format transcoder.
- *
- * Implements conversion between different YUV formats.
- *
- * @lib VTImageConverter.lib
- * @since S60 v3.1
- */
-NONSHARABLE_CLASS( VtYuvConverter )
- {
-public:
-
- /**
- * Converts from 4:2:0 planar source image to 4:2:2 interleaved image.
- *
- * @since S60 v3.1
- * @param aSource Constant descriptor containing source image data.
- * @param aSize Size of the image in pixels.
- * @param aTarget Modifiable descriptor for target image data.
- * @param aStide Number of bytes per scanline in target buffer.
- * @return KErrNone if conversion was successful, KErrUnderflow if result
- * does not fit in target buffer or KErrArgument if source buffer's size
- * does not match with the given source size in pixels.
- */
- static TInt ConvertFrom420PlanarTo422Interleaved(
- const TDesC8& aSource,
- const TSize& aSize,
- TDes8& aTarget,
- TInt aStride );
-
-private:
-
- /**
- * Constructor.
- */
- VtYuvConverter();
-
- /**
- * Copy constructor.
- */
- VtYuvConverter( const VtYuvConverter& );
-
- /**
- * Returns image size in bytes for 420 planar image that has given pixel
- * size.
- */
- static TInt ByteSize420Planar( const TSize& aSizeInPixels );
-
- /**
- * Returns image size in bytes for 422 interleaved image that has given
- * pixel size.
- */
- static TInt ByteSize422Interleaved( const TSize& aSizeInPixels );
- };
-
-#endif // TVTYUVCONVERTER_H
--- a/vtprotocolplugins/DisplaySink/rom/DisplaySink.iby Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2004-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:
-* IBY file for DisplaySink
-*
-*
-*/
-
-
-#ifndef __DISPLAYSINK_IBY__
-#define __DISPLAYSINK_IBY__
-
-#ifdef __CS_VIDEO_TELEPHONY
-
-file=ABI_DIR\BUILD_DIR\VTImageConverter.dll SHARED_LIB_DIR\VTImageConverter.dll
-file=ABI_DIR\BUILD_DIR\DisplaySink.dll SHARED_LIB_DIR\DisplaySink.dll
-file=ABI_DIR\BUILD_DIR\VtImageTransforms.dll SHARED_LIB_DIR\VtImageTransforms.dll
-data=ZSYSTEM\install\displaysink_stub.sis system\install\displaysink_stub.sis
-
-#endif
-
-#endif //__DISPLAYSINK_IBY__
--- a/vtprotocolplugins/DisplaySink/src/CDisplaySink.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1029 +0,0 @@
-/*
-* Copyright (c) 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: Display Sink subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "CDisplaySink.h"
-#include "CDisplaySinkDP.h"
-#include "CDisplaySinkDSA.h"
-#include "CDisplaySinkNGA.h"
-#include <mmffourcc.h>
-#include <featmgr.h>
-
-// CONSTANTS
-
-// MACROS
-
-#ifdef _DEBUG
- #include <e32debug.h>
- #define PRINT RDebug::Print
- #define _IFDBG(a) a
-#else
- #define PRINT
- #define _IFDBG(a)
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ============================= CVtFrameQueue =================================
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::CVtFrameQueue
-// -----------------------------------------------------------------------------
-//
-CVtFrameQueue::CVtFrameQueue() : CActive( EPriorityNormal )
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::CVtFrameQueue<" ) ));
- _IFDBG(PRINT( _L( "CVtFrameQueue::CVtFrameQueue>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::ThreadLogon
-// -----------------------------------------------------------------------------
-//
-TInt CVtFrameQueue::ThreadLogon()
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::ThreadLogon<" ) ));
- if ( !IsAdded() )
- {
- CActiveScheduler::Add( this );
- }
- TInt result( iThread.Open( RThread().Id() ) );
- _IFDBG(PRINT( _L( "CVtFrameQueue::ThreadLogon %d >" ), result ));
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::SinkStoppedL
-// -----------------------------------------------------------------------------
-//
-void CVtFrameQueue::SinkStoppedL()
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::SinkStoppedL<" ) ));
- DoReleaseBufferL( iBuffer );
- DoReleaseBufferL( iReleaseBuffer );
- _IFDBG(PRINT( _L( "CVtFrameQueue::SinkStoppedL>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::ThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CVtFrameQueue::ThreadLogoff()
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::ThreadLogoff<" ) ));
- if ( IsAdded() )
- {
- Deque();
- }
- _IFDBG(PRINT( _L( "CVtFrameQueue::ThreadLogoff>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::Store
-// -----------------------------------------------------------------------------
-//
-void CVtFrameQueue::Store( MVTVideoSource& aSupplier,
- CMMFDataBuffer* aBuffer,
- TSize aFrameSize,
- TPtr8& aPtr )
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::Store<" ) ));
- iSupplier = &aSupplier;
- iBuffer = aBuffer;
- iFrameSize = aFrameSize;
- iPtr = &aPtr;
- _IFDBG(PRINT( _L( "CVtFrameQueue::Store>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::IsStored
-// -----------------------------------------------------------------------------
-//
-TBool CVtFrameQueue::IsStored() const
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::IsStored<" ) ));
- _IFDBG(PRINT( _L( "CVtFrameQueue::IsStored %d>" ),
- ( iBuffer != NULL ) ));
- return ( iBuffer != NULL );
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::Buffer
-// -----------------------------------------------------------------------------
-//
-TVtMMFDataBuffer CVtFrameQueue::Buffer()
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::Buffer<" ) ));
- _IFDBG(PRINT( _L( "CVtFrameQueue::Buffer %d>" ),
- reinterpret_cast< TUint >( iBuffer ) ));
- return TVtMMFDataBuffer(iBuffer, iFrameSize, *iPtr);
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::Release
-// -----------------------------------------------------------------------------
-//
-void CVtFrameQueue::Release()
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::Release<" ) ));
- if ( !IsActive() && IsStored() )
- {
- iReleaseBuffer = iBuffer;
- iBuffer = NULL;
- iStatus = KRequestPending;
- TRequestStatus* pStatus = &iStatus;
- SetActive();
- iThread.RequestComplete( pStatus, KErrNone );
- _IFDBG(PRINT( _L( "CVtFrameQueue::Release -done-" ) ));
- }
- _IFDBG(PRINT( _L( "CVtFrameQueue::Release>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::RunL
-// -----------------------------------------------------------------------------
-//
-void CVtFrameQueue::RunL()
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::RunL<" ) ));
- DoReleaseBufferL( iReleaseBuffer );
- _IFDBG(PRINT( _L( "CVtFrameQueue::RunL>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::DoReleaseBufferL
-// -----------------------------------------------------------------------------
-//
-void CVtFrameQueue::DoReleaseBufferL( CMMFDataBuffer*& aBuffer )
- {
- _IFDBG(PRINT( _L( "CVtFrameQueue::DoReleaseBufferL<" ) ));
- if ( aBuffer && iSupplier )
- {
- iSupplier->BufferEmptiedL( aBuffer );
- aBuffer = NULL;
- }
- _IFDBG(PRINT( _L( "CVtFrameQueue::DoReleaseBufferL>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtFrameQueue::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVtFrameQueue::DoCancel()
- {
- // nothing to do
- }
-
-// ============================ CVtCallback =================================
-
-// -----------------------------------------------------------------------------
-// CVtCallback::CVtCallback( MDisplaySinkObserver& aObserver )
-// -----------------------------------------------------------------------------
-//
-CVtCallback::CVtCallback( MDisplaySinkObserver& aObserver )
-: CActive( EPriorityStandard ), iObserver( &aObserver )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::CVtCallback()<"), RThread().Id().operator TUint()));
- CActiveScheduler::Add( this );
- iOwnThreadId = RThread().Id();
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::CVtCallback()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVtCallback::~CVtCallback()
-// -----------------------------------------------------------------------------
-//
-CVtCallback::~CVtCallback()
- {
- Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CVtCallback::VideoFrameSizeChangedL( const TSize& aFrom, const TSize& aTo )
-// -----------------------------------------------------------------------------
-//
-void CVtCallback::VideoFrameSizeChangedL( const TSize& aFrom, const TSize& aTo )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::VideoFrameSizeChangedL()<"), RThread().Id().operator TUint()));
- iCallBackType = EVideoFrameSizeChanged;
- iFrom = aFrom;
- iTo = aTo;
- IssueCallbackL();
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::VideoFrameSizeChangedL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVtCallback::Result() const
-// -----------------------------------------------------------------------------
-//
-TInt CVtCallback::Result() const
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::Result()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::Result()>"), RThread().Id().operator TUint()));
- return iResult;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCallback::Completed() const
-// -----------------------------------------------------------------------------
-//
-TBool CVtCallback::Completed() const
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::Completed()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::Completed()>"), RThread().Id().operator TUint()));
- return iCompleted;
- }
-
-// -----------------------------------------------------------------------------
-// CVtCallback::IssueCallbackL()
-// -----------------------------------------------------------------------------
-//
-void CVtCallback::IssueCallbackL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::IssueCallbackL()<"), RThread().Id().operator TUint()));
- iCompleted = EFalse;
- TRequestStatus* pStatus = &iStatus;
- RThread thread;
- if( thread.Id() == iOwnThreadId )
- {
- SetActive();
- User::RequestComplete( pStatus, KErrNone );
- }
- else
- {
- User::LeaveIfError( thread.Open( iOwnThreadId ) );
- SetActive();
- *pStatus = KRequestPending;
- thread.RequestComplete( pStatus, KErrNone );
- thread.Close();
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::IssueCallbackL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVtCallback::RunL()
-// -----------------------------------------------------------------------------
-//
-void CVtCallback::RunL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::RunL()<"), RThread().Id().operator TUint()));
-
- iResult = KErrNone;
-
- switch( iCallBackType )
- {
- case EVideoFrameSizeChanged:
- iObserver->VideoFrameSizeChangedL( iFrom, iTo );
- break;
-
- default:
- User::Leave( KErrArgument );
- }
-
- iCompleted = ETrue;
-
- _IFDBG(PRINT(_L("VideoSource[%d]: CVtCallback::RunL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVtCallback::DoCancel()
-// -----------------------------------------------------------------------------
-//
-void CVtCallback::DoCancel()
- {
- // do nothing!
- }
-
-// -----------------------------------------------------------------------------
-// CVtCallback::RunError( TInt aError )
-// -----------------------------------------------------------------------------
-//
-TInt CVtCallback::RunError( TInt aError )
- {
- iCompleted = ETrue;
- iResult = aError;
- return KErrNone;
- }
-
-// ========================== TDisplaySinkParams ===============================
-
-// -----------------------------------------------------------------------------
-// TDisplaySinkParams::TDisplaySinkParams
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TDisplaySinkParams::TDisplaySinkParams() :
- iFrameRateLimit( EFrameRateLimitNone )
- {
- }
-
-
-// ============================ CDisplaySink ===================================
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::~CDisplaySink
-// -----------------------------------------------------------------------------
-//
-CDisplaySink::~CDisplaySink()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::~CDisplaySink()<"), RThread().Id().operator TUint()));
- delete iVideoFrameQueue;
- iBitmapCS.Close();
- delete iVTSignaller;
- iVTMimeTypes.Reset();
- iVTMimeTypes.Close();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::~CDisplaySink()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::ConstructL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::ConstructL()<"), RThread().Id().operator TUint()));
- iDSFlags = aParams.iFlags;
- iYuv420PlanarDesc.Delete( 0, iYuv420PlanarDesc.Length() );
- iYuv420PlanarDesc.Append( KVtVideoMIMETypeYUV420 );
- User::LeaveIfError( iVTMimeTypes.Append( &iYuv420PlanarDesc ) );
- iVideoFrameQueue = new ( ELeave ) CVtFrameQueue();
- iVTSignaller = new ( ELeave ) CVtCallback( *aParams.iObserver );
- BitmapEntry( EFirstBitmap ).iIsFree = EFalse;
- BitmapEntry( ESecondBitmap ).iIsFree = EFalse;
- iThreadId = aParams.iThreadId;
- iRequestStatusPtr = aParams.iRequestStatusPtr;
- iFrameSize = QCIF;
- SetFrameRateLimit( aParams.iFrameRateLimit );
- User::LeaveIfError( iBitmapCS.CreateLocal() );
- BaseConstructL( aParams, aInitData );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::ConstructL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::Destroy
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::Destroy()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::Destroy()<"), RThread().Id().operator TUint()));
- delete this;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::Destroy()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SetBitmapAvailable( TBitmapNo aBitmapNo )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::SetBitmapAvailable( TBitmapNo aBitmapNo )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SetBitmapAvailable()<"), RThread().Id().operator TUint()));
- iBitmapCS.Wait();
- BitmapEntry( aBitmapNo ).iIsFree = ETrue;
- BaseSetBitmapAvailable( aBitmapNo );
- iBitmapCS.Signal();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SetBitmapAvailable()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::Release
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::Release()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::Release()<"), RThread().Id().operator TUint()));
- iBitmapCS.Wait();
- if( !iReleased )
- {
- iReleased = ETrue;
- if( iRequestStatusPtr != NULL &&
- (*iRequestStatusPtr) == KRequestPending )
- {
- RThread thread;
- TInt err = thread.Open( iThreadId );
- if( err == KErrNone )
- {
- *iRequestStatusPtr = KRequestPending;
- TRequestStatus* statusP = iRequestStatusPtr;
- thread.RequestComplete( statusP, KErrCancel );
- thread.Close();
- }
- }
- }
- iVideoFrameQueue->Release();
- iBitmapCS.Signal();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::Release()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::UpdateSinkParamsL( const TDisplaySinkParams& aParams,
-// TBool& aUpdated )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::UpdateSinkParamsL(
- const TDisplaySinkParams& aParams, TBool& aUpdated )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::UpdateSinkParamsL()<"), RThread().Id().operator TUint()));
- // This modification was requested by the VT engine team
- iReleased = EFalse;
- // This modification was requested by the VT engine team
- iBitmapCS.Wait();
- BaseUpdateSinkParamsL( aParams );
- aUpdated = EFalse;
- iParamsUpdated = &aUpdated;
- iDSFlags = aParams.iFlags;
- BitmapEntry( EFirstBitmap ).iIsFree = EFalse;
- BitmapEntry( ESecondBitmap ).iIsFree = EFalse;
- iVideoFrameQueue->Release();
- iBitmapCS.Signal();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::UpdateSinkParamsL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::Pause()
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::Pause()
- {
- iBitmapCS.Wait();
- iPaused = ETrue;
- iVideoFrameQueue->Release();
- iBitmapCS.Signal();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::Resume()
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::Resume()
- {
- iBitmapCS.Wait();
- iPaused = EFalse;
- iBitmapCS.Signal();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::operator MVTVideoSink&()
-// -----------------------------------------------------------------------------
-//
-CDisplaySink::operator MVTVideoSink&()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::operator MVTVideoSink&()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::operator MVTVideoSink&()>"), RThread().Id().operator TUint()));
- return *this;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::NextFrame
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::NextFrame()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::NextFrame()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::NextFrame()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::GetMultimediaTypesL() const
-// -----------------------------------------------------------------------------
-//
-const RArray<TDesC8* >& CDisplaySink::GetMultimediaTypesL() const
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::GetMultimediaTypeL()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::GetMultimediaTypeL()>"), RThread().Id().operator TUint()));
- return iVTMimeTypes;
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SetFormatL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::SetFormatL( const TDesC8& aFormat )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SetFormatL()<"), RThread().Id().operator TUint()));
- if ( aFormat != KVtVideoMIMETypeYUV420 )
- {
- User::Leave( KErrNotSupported );
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SetFormatL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::SetVideoFrameSizeL( const TSize& aSize )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SetVideoFrameSizeL()<"), RThread().Id().operator TUint()));
- if ( iInitFlags & ESinkThreadLogonCalled )
- {
- SinkThreadLogonL();
- }
- if ( iInitFlags & EFbsSessionConnected )
- {
- TSize size( aSize );
- BaseSetVideoFrameSizeL( aSize );
- iFrameSize = aSize;
- }
- else
- {
- User::Leave( KErrNotReady );
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SetVideoFrameSizeL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::GetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::GetVideoFrameSizeL( TSize& aSize ) const
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::GetVideoFrameSizeL()<"), RThread().Id().operator TUint()));
- aSize = iFrameSize;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::GetVideoFrameSizeL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::EmptyBufferL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::EmptyBufferL(
- TVtMMFDataBuffer aDataBuffer,
- MVTVideoSource* aSupplier,
- TMediaId /*aMediaId*/ )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::EmptyBufferL()<"), RThread().Id().operator TUint()));
- if ( aDataBuffer.GetMMFBuffer() == NULL || aSupplier == NULL )
- {
- User::Leave( KErrArgument );
- }
- if ( iReleased )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::EmptyBufferL(): sink released, just return buffer"), RThread().Id().operator TUint()));
- aSupplier->BufferEmptiedL( aDataBuffer.GetMMFBuffer() );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::EmptyBufferL()>"), RThread().Id().operator TUint()));
- return;
- }
- else if ( iInitFlags & ESinkThreadLogonCalled )
- {
- TRAPD( result, SinkThreadLogonL() );
- if ( result != KErrNone )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::EmptyBufferL(): SinkThreadLogonL failed %d"), RThread().Id().operator TUint(), result));
- aSupplier->BufferEmptiedL( aDataBuffer.GetMMFBuffer() );
- User::Leave( result );
- }
- }
- if ( aDataBuffer.GetMMFBuffer()->Type() != KVTUidYUVFrameBuffer )
- {
- User::Leave( KErrArgument );
- }
- if ( iState != EPlaying )
- {
- User::Leave( KErrNotReady );
- }
- iBitmapCS.Wait();
-
- CleanupSignalPushL( iBitmapCS );
- iBuffer = aDataBuffer.GetMMFBuffer();
- iSupplier = aSupplier;
- if ( IsOkToSendFrame() )
- {
- // Waiting for frame size update?
- if ( iWaitingForUpdate )
- {
- // Update completed?
- if ( iVTSignaller->Completed() )
- {
- // YES: If it failed then Leave
- if ( iVTSignaller->Result() != KErrNone )
- {
- iSupplier->BufferEmptiedL( iBuffer );
- User::Leave( iVTSignaller->Result() );
- }
- }
- else
- {
- // NO: Report buffer emptied and return
- iSupplier->BufferEmptiedL( iBuffer );
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- return;
- }
- }
-
- // Is param update pending?
- if ( iParamsUpdated )
- {
- // YES: set new params
- BaseDoUpdateParamsL();
- *iParamsUpdated = ETrue;
- iParamsUpdated = 0;
- iWaitingForUpdate = EFalse;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::EmptyBufferL(): params update finished"), RThread().Id().operator TUint()));
- }
-
- // Update YUV data descriptor size based on resolution info.
- TSize size( aDataBuffer.GetFrameSize() );
- TInt length( ( size.iWidth * size.iHeight * 12 ) / 8 );
- aDataBuffer.Data().Set( const_cast<TUint8*>( aDataBuffer.Data().Ptr() ), length, length );
- // Expected frame size same as received size?
- if ( !BaseSizesMatch( size ) )
- {
- if ( !iWaitingForUpdate )
- {
- iVTSignaller->VideoFrameSizeChangedL( iExpectedFrameSize,
- aDataBuffer.GetFrameSize() );
- BaseVideoFrameSizeChangedL( aDataBuffer.GetFrameSize() );
- iWaitingForUpdate = ETrue;
- }
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- iSupplier->BufferEmptiedL( iBuffer );
- return;
- }
- // All validation done, now it is ok to do implementation specific
- // empty buffer.
- BaseEmptyBufferL( aDataBuffer );
-
-// debugging
-// debugging
-// debugging
-
- //iFC.PrintStatus();
-
-// debugging
-// debugging
-// debugging
-
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::EmptyBufferL()>"), RThread().Id().operator TUint()));
- // No CleanupStack::PopAndDestroy() here, because cleanup is done in
- // BaseEmptyBufferL(). Reason behind this decission is that certain
- // things have to be handled either before or after cleanup and thus
- // single cleanup here is not enough.
- return;
- }
- else
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::EmptyBufferL(): dropping frame %d < %d"), RThread().Id().operator TUint(), iMilliSecondsSinceLastFrame, iFrameRateInterval ));
- iSupplier->BufferEmptiedL( iBuffer );
- }
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal()
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::EmptyBufferL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::BufferFilledL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::BufferFilledL( CMMFBuffer* /*aBuffer*/ )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::BufferFilledL()<"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::BufferFilledL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::CanCreateSinkBuffer
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySink::CanCreateSinkBuffer()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::CanCreateSinkBuffer()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::CanCreateSinkBuffer()>"), RThread().Id().operator TUint()));
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::CreateSinkBufferL
-// -----------------------------------------------------------------------------
-//
-CMMFBuffer* CDisplaySink::CreateSinkBufferL(
- TMediaId /*aMediaId*/,
- TBool& /*aReference*/ )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::CreateSinkBufferL()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::CreateSinkBufferL()>"), RThread().Id().operator TUint()));
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SinkThreadLogon
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySink::SinkThreadLogon( MAsyncEventHandler& /*aEventHandler*/ )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkThreadLogon()<"), RThread().Id().operator TUint()));
- iInitFlags |= ESinkThreadLogonCalled;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkThreadLogon()>"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SinkThreadLogonL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::SinkThreadLogonL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkThreadLogonL()<"), RThread().Id().operator TUint()));
- TInt result( FbsStartup() );
- if ( result == KErrNone )
- {
- CleanupStack::PushL( TCleanupItem( &SinkThreadLogonCleanup, this ) );
- FbsConnectL();
- ThreadOpenL();
- User::LeaveIfError( iVideoFrameQueue->ThreadLogon() );
- BaseSinkThreadLogonL();
- iInitFlags &= ~ESinkThreadLogonCalled;
- CleanupStack::Pop(); // TCleanupItem( &SinkThreadLogonCleanup, this )
- }
- User::LeaveIfError( result );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkThreadLogonL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SinkThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::SinkThreadLogoff()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkThreadLogoff()<"), RThread().Id().operator TUint()));
- BaseSinkThreadLogoff();
- iVideoFrameQueue->ThreadLogoff();
- ThreadClose();
- FbsDisconnect();
- iInitFlags = 0;
- iExpectedFrameSize = TSize();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkThreadLogoff()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SinkPrimeL
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySink::SinkPrimeL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkPrimeL()<"), RThread().Id().operator TUint()));
- if ( iState != EStopped )
- {
- return KErrNone;
- }
- iState = EPrimed;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkPrimeL()>"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SinkPlayL
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySink::SinkPlayL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkPlayL()<"), RThread().Id().operator TUint()));
- if ( iState != EPrimed )
- {
- User::Leave( KErrNotReady );
- }
- ResetFrameRateLimitter();
- iState = EPlaying;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkPlayL()>"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SinkPauseL
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySink::SinkPauseL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkPauseL()<"), RThread().Id().operator TUint()));
- if ( iState != EPlaying )
- {
- return KErrNone;
- }
- iState = EPrimed;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkPauseL()>"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SinkStopL
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySink::SinkStopL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkStopL()<"), RThread().Id().operator TUint()));
- if ( iState == EStopped )
- {
- return KErrNone;
- }
- iBitmapCS.Wait();
- iVideoFrameQueue->SinkStoppedL();
- iBitmapCS.Signal();
- iState = EStopped;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkStopL()>"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::CDisplaySink
-// -----------------------------------------------------------------------------
-//
-CDisplaySink::CDisplaySink() : MVTVideoSink( KNullUid ),
- iSinkFourCC( 0 ), iState( EStopped )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::Ctor()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::Ctor()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SetFrameRateLimit(
-// TDisplaySinkParams::TFrameRateLimit aFrameRateLimit )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::SetFrameRateLimit(
- TDisplaySinkParams::TFrameRateLimit aFrameRateLimit )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SetFrameRateLimit()<"), RThread().Id().operator TUint()));
- iFrameRateInterval = TInt( aFrameRateLimit );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SetFrameRateLimit()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::ResetFrameRateLimitter()
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::ResetFrameRateLimitter()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::ResetFrameRateLimitter()<"), RThread().Id().operator TUint()));
- iMilliSecondsSinceLastFrame = 0;
- iLastFrameTime = Time::NullTTime();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::ResetFrameRateLimitter()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::BufferFilledL
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySink::IsOkToSendFrame()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::IsOkToSendFrame()<"), RThread().Id().operator TUint()));
- TBool isOkToSendFrame( EFalse );
- if( iPaused )
- {
- // nothing to do here because okToSendFrame defaults to EFalse
- }
- else if( iFrameRateInterval == TDisplaySinkParams::EFrameRateLimitNone )
- {
- // If no limitation is set -> send frame
- isOkToSendFrame = ETrue;
- }
- else if( iLastFrameTime == Time::NullTTime() )
- {
- // EmptyBufferL() is being called the first time after SinkPlayL() ->
- // send frame
- iLastFrameTime.HomeTime();
- isOkToSendFrame = ETrue;
- }
- else
- {
- // Check if enough time has passed since previous frame sent
- TTime now;
- now.HomeTime();
- TTimeIntervalMicroSeconds interval(
- now.MicroSecondsFrom( iLastFrameTime ) );
- iMilliSecondsSinceLastFrame += I64INT( interval.Int64() ) / 1000;
- iLastFrameTime = now;
- if( iMilliSecondsSinceLastFrame >= iFrameRateInterval )
- {
- // Enough time passed -> send frame
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::IsOkToSendFrame(): sending frame %d >= %d"), RThread().Id().operator TUint(), iMilliSecondsSinceLastFrame, iFrameRateInterval ));
- isOkToSendFrame = ETrue;
- while( iMilliSecondsSinceLastFrame >= iFrameRateInterval )
- {
- iMilliSecondsSinceLastFrame -= iFrameRateInterval;
- }
- }
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::IsOkToSendFrame() %d>"), RThread().Id().operator TUint(), isOkToSendFrame));
- return isOkToSendFrame;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::FbsConnectL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::FbsConnectL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::FbsConnectL()<"), RThread().Id().operator TUint()));
- if ( !( iInitFlags & EFbsSessionConnected ) )
- {
- User::LeaveIfError( RFbsSession::Connect() );
- iInitFlags |= EFbsSessionConnected;
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::FbsConnectL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::ThreadOpenL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::ThreadOpenL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::ThreadOpenL()<"), RThread().Id().operator TUint()));
- if ( !( iInitFlags & EThreadOpened ) )
- {
- User::LeaveIfError( iThread.Open( iThreadId ) );
- iInitFlags |= EThreadOpened;
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::ThreadOpenL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::FbsDisconnect
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::FbsDisconnect()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::FbsDisconnect()<"), RThread().Id().operator TUint()));
- if ( iInitFlags & EFbsSessionConnected )
- {
- RFbsSession::Disconnect();
- iInitFlags &= ~EFbsSessionConnected;
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::FbsDisconnect()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::ThreadClose
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::ThreadClose()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::ThreadClose()<"), RThread().Id().operator TUint()));
- if ( iInitFlags & EThreadOpened )
- {
- iThread.Close();
- iInitFlags &= ~EThreadOpened;
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::ThreadClose()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySink::SinkThreadLogonCleanup
-// -----------------------------------------------------------------------------
-//
-void CDisplaySink::SinkThreadLogonCleanup( TAny* aPtr )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkThreadLogonCleanup()<"), RThread().Id().operator TUint()));
- CDisplaySink* self = reinterpret_cast< CDisplaySink* >( aPtr );
- self->iVideoFrameQueue->ThreadLogoff();
- self->ThreadClose();
- self->FbsDisconnect();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySink::SinkThreadLogonCleanup()>"), RThread().Id().operator TUint()));
- }
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-// -----------------------------------------------------------------------------
-// CreateSinkL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MDisplaySink* CreateSinkL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData )
- {
- MDisplaySink* sink = NULL;
- if (aParams.iFlags & TDisplaySinkParams::EDisplaySinkNGA)
- {
- sink = CDisplaySinkNGA::NewL( aParams, aInitData );
- }
- else if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) &&
- ( aParams.iFlags & TDisplaySinkParams::EDisplaySinkDP ) )
- {
- sink = CDisplaySinkDP::NewL( aParams, aInitData );
- }
- else
- {
- sink = CDisplaySinkDSA::NewL( aParams, aInitData );
- }
- return sink;
- }
-
-// End of File
-
--- a/vtprotocolplugins/DisplaySink/src/CDisplaySinkDP.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,309 +0,0 @@
-/*
-* Copyright (c) 2004 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: Display Sink subsystem for Display Posting.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "CDisplaySinkDP.h"
-#include "vtyuvconverter.h"
-
-// MACROS
-
-#ifdef _DEBUG
- #include <e32debug.h>
- #define PRINT RDebug::Print
- #define _IFDBG(a) a
-#else
- #define PRINT
- #define _IFDBG(a)
-#endif
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::NewL
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDP* CDisplaySinkDP::NewL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::NewL()<"), RThread().Id().operator TUint()));
- CDisplaySinkDP* self = new ( ELeave ) CDisplaySinkDP();
- CleanupStack::PushL( self );
- self->ConstructL( aParams, aInitData );
- CleanupStack::Pop(); // self
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::NewL()>"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::CDisplaySinkDP
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDP::CDisplaySinkDP()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::Ctor<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::Ctor>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::~CDisplaySinkDP
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDP::~CDisplaySinkDP()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::~<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::~>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseConstructL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseConstructL( TDisplaySinkParams& aParams,
- const TDesC8& )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConstructL()<"), RThread().Id().operator TUint()));
- iNewParams = static_cast< const TDisplaySinkParamsDP& >( aParams );
- if ( !iNewParams.iPostingBuffer1 || !iNewParams.iPostingBuffer2 )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConstructL() posting buffer is NULL!")));
- User::Leave( KErrArgument );
- }
- iBitmapTable[EFirstBitmap].iBuffer = iNewParams.iPostingBuffer1;
- iBitmapTable[ESecondBitmap].iBuffer = iNewParams.iPostingBuffer2;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConstructL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseConvert
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkDP::BaseConvert( const TVtMMFDataBuffer& aBuffer )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConvert()<"), RThread().Id().operator TUint()));
-
- TBool consumed( ETrue );
- TBitmapNo bitmapNo( iBitmapTable[ EFirstBitmap ].iIsFree ? EFirstBitmap : ESecondBitmap );
- if ( iBitmapTable[ bitmapNo ].iIsFree &&
- !iReleased &&
- ( *iRequestStatusPtr == KRequestPending ) )
- {
- CPostingSurface::TPostingBuff* postingBuffer =
- *iBitmapTable[ bitmapNo ].iBuffer;
-
- TInt bufferLength(
- postingBuffer->GetSize().iHeight * postingBuffer->GetStride() );
-
- TPtr8 ptrBuffer(
- static_cast< TUint8* >( postingBuffer->GetBuffer() ),
- bufferLength,
- bufferLength
- );
-
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConvert(): buffer %d: $%x %d bytes"), RThread().Id().operator TUint(), bitmapNo, postingBuffer->GetBuffer(), bufferLength));
-
- // Determine wether to convert or copy (420 will be just copied)
- if ( iNewParams.iPostingFormat ==
- CPostingSurface::EYuv422LeBt601Range0 )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConvert(): converting to 422"), RThread().Id().operator TUint()));
- VtYuvConverter::ConvertFrom420PlanarTo422Interleaved(
- aBuffer.Data(),
- aBuffer.GetFrameSize(),
- ptrBuffer,
- postingBuffer->GetStride() );
- }
- else
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConvert(): copying as 420"), RThread().Id().operator TUint()));
- ptrBuffer = aBuffer.Data();
- }
-
- iBitmapTable[ bitmapNo ].iIsFree = EFalse;
- TRequestStatus* statusP = iRequestStatusPtr;
- iThread.RequestComplete( statusP, bitmapNo );
- }
- else
- {
- consumed = EFalse;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConvert(): could not find free buffer"), RThread().Id().operator TUint()));
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseConvert()>"), RThread().Id().operator TUint()));
- return consumed;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseSinkThreadLogonL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseSinkThreadLogonL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSinkThreadLogonL()<"), RThread().Id().operator TUint()));
- UpdateExpectedFrameSizeL();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSinkThreadLogonL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseSinkThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseSinkThreadLogoff()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSinkThreadLogoff()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSinkThreadLogoff()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseUpdateSinkParamsL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseUpdateSinkParamsL( const TDisplaySinkParams& aParams )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseUpdateSinkParamsL()<"), RThread().Id().operator TUint()));
- iNewParams = static_cast< const TDisplaySinkParamsDP& >( aParams );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseUpdateSinkParamsL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseDoUpdateParamsL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseDoUpdateParamsL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseDoUpdateParamsL()<"), RThread().Id().operator TUint()));
- iBitmapTable[ EFirstBitmap ].iBuffer = iNewParams.iPostingBuffer1;
- iBitmapTable[ ESecondBitmap ].iBuffer = iNewParams.iPostingBuffer2;
- UpdateExpectedFrameSizeL();
- if( iNewParams.iFrameRateLimit != iFrameRateInterval )
- {
- SetFrameRateLimit( iNewParams.iFrameRateLimit );
- ResetFrameRateLimitter();
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseDoUpdateParamsL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseSetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseSetVideoFrameSizeL( const TSize& )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSetVideoFrameSizeL()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSetVideoFrameSizeL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseSizesMatch
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkDP::BaseSizesMatch( const TSize& aSize )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSizesMatch()<"), RThread().Id().operator TUint()));
- TBool sizesMatch( iExpectedFrameSize == aSize );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSizesMatch() %d>"), RThread().Id().operator TUint(), sizesMatch));
- return sizesMatch;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BitmapEntry
-// -----------------------------------------------------------------------------
-//
-CDisplaySink::TBitmapEntry& CDisplaySinkDP::BitmapEntry( TInt aIndex )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BitmapEntry(%d)<"), RThread().Id().operator TUint(), aIndex));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BitmapEntry()>"), RThread().Id().operator TUint()));
- return iBitmapTable[ aIndex ];
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseEmptyBufferL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseEmptyBufferL( TVtMMFDataBuffer& aVTMMFBuffer )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseEmptyBufferL()<"), RThread().Id().operator TUint()));
- if ( BaseConvert( aVTMMFBuffer ) )
- {
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- iSupplier->BufferEmptiedL( iBuffer );
- }
- else
- {
- if ( iVideoFrameQueue->IsStored() || !IsOkToSendFrame() )
- {
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- iSupplier->BufferEmptiedL( iBuffer );
- }
- else
- {
- iVideoFrameQueue->Store( *iSupplier, static_cast<CMMFDataBuffer*>(aVTMMFBuffer.GetMMFBuffer()), aVTMMFBuffer.GetFrameSize(), aVTMMFBuffer.Data() );
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- }
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseEmptyBufferL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseSetBitmapAvailable( TBitmapNo aBitmapNo )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseSetBitmapAvailable( TBitmapNo )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSetBitmapAvailable()<"), RThread().Id().operator TUint()));
- NextFrame();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseSetBitmapAvailable()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::BaseVideoFrameSizeChangedL( const TSize& )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::BaseVideoFrameSizeChangedL( const TSize& )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseVideoFrameSizeChangedL()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::BaseVideoFrameSizeChangedL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::NextFrame
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::NextFrame()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::NextFrame()<"), RThread().Id().operator TUint()));
- if ( iVideoFrameQueue->IsStored() )
- {
- if ( IsOkToSendFrame() )
- {
- BaseConvert( iVideoFrameQueue->Buffer() );
- }
- iVideoFrameQueue->Release();
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::NextFrame()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::UpdateExpectedFrameSizeL()
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDP::UpdateExpectedFrameSizeL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::UpdateExpectedFrameSizeL()<"), RThread().Id().operator TUint()));
- iExpectedFrameSize = iNewParams.iFrameSize;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDP::UpdateExpectedFrameSizeL()>"), RThread().Id().operator TUint()));
- }
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/src/CDisplaySinkDSA.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,464 +0,0 @@
-/*
-* Copyright (c) 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: Display Sink subsystem for Direct Screen Access.
-*
-*/
-
-
-// INCLUDES
-
-#include <cvtimageconverter.h>
-#include <cvtimageiyuv.h>
-#include "CDisplaySinkDSA.h"
-#include "TDisplaySinkParamsDSA.h"
-
-// MACROS
-
-#ifdef _DEBUG
- #include <e32debug.h>
- #define PRINT RDebug::Print
- #define _IFDBG(a) a
-#else
- #define PRINT
- #define _IFDBG(a)
-#endif
-
-// ======================== CDisplaySinkDSA ==============================
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::NewL
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDSA* CDisplaySinkDSA::NewL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::NewL()<"), RThread().Id().operator TUint()));
- CDisplaySinkDSA* self = new ( ELeave ) CDisplaySinkDSA();
- CleanupStack::PushL( self );
- self->ConstructL( aParams, aInitData );
- CleanupStack::Pop(); // self
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::NewL()>"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::CDisplaySinkDSA
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDSA::CDisplaySinkDSA()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::Ctor<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::Ctor>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::~CDisplaySinkDSA
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDSA::~CDisplaySinkDSA()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::~<"), RThread().Id().operator TUint()));
- delete iRotator;
- delete iYUVBitmapConverterVT;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::~>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseConstructL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseConstructL( TDisplaySinkParams& aParams,
- const TDesC8& )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConstructL()<"), RThread().Id().operator TUint()));
- iNewParams = static_cast< TDisplaySinkParamsDSA& > ( aParams );
- if ( !iNewParams.iBitmap1Handle || !iNewParams.iBitmap2Handle )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConstructL() bitmap handle NULL!") ));
- User::Leave( KErrArgument );
- }
- iBitmapTable[EFirstBitmap].iHandle = iNewParams.iBitmap1Handle;
- iBitmapTable[ESecondBitmap].iHandle = iNewParams.iBitmap2Handle;
- iRotator = CVtImageRotator::NewL( *this );
- iRotationAngle = iNewParams.iRotationAngle;
- iYUVBitmapConverterVT = CVTIYUVFbsBitmapConverter::NewL(
- QCIF, iBitmapTable[EFirstBitmap].iHandle );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConstructL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseConvert
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkDSA::BaseConvert( const TVtMMFDataBuffer& aBuffer )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConvert()<"), RThread().Id().operator TUint()));
- TBool converted( EFalse );
- TRAPD( err, ConvertL( aBuffer.Data(), converted ) );
- if ( err != KErrNone )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConvert() err=%d"), RThread().Id().operator TUint(), err));
- converted = EFalse;
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConvert() %d>"), RThread().Id().operator TUint(), converted));
- return converted;
- }
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSinkThreadLogonL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseSinkThreadLogonL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogonL()<"), RThread().Id().operator TUint()));
- CVTYUVFbsBitmapConverter* converter1 =
- CVTIYUVFbsBitmapConverter::NewL(
- QCIF,
- iBitmapTable[EFirstBitmap].iHandle );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogonL() 1"), RThread().Id().operator TUint()));
- CleanupStack::PushL( converter1 );
- CVTYUVFbsBitmapConverter* converter2 =
- CVTIYUVFbsBitmapConverter::NewL(
- QCIF,
- iBitmapTable[ESecondBitmap].iHandle );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogonL() 2"), RThread().Id().operator TUint()));
- CleanupStack::PushL( converter2 );
- CleanupStack::Pop( 2 ); // converter1, converter2
- iYUVBitmapConverter1 = converter1;
- iYUVBitmapConverter2 = converter2;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogonL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSinkThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseSinkThreadLogoff()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogoff()<"), RThread().Id().operator TUint()));
- delete iYUVBitmapConverter1;
- delete iYUVBitmapConverter2;
- delete iSourceImg; iSourceImg = 0;
- delete iTargetImg; iTargetImg = 0;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogoff()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseUpdateSinkParamsL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseUpdateSinkParamsL( const TDisplaySinkParams& aParams )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseUpdateSinkParamsL()<"), RThread().Id().operator TUint()));
- iNewParams = static_cast< const TDisplaySinkParamsDSA& >( aParams );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseUpdateSinkParamsL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseDoUpdateParamsL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseDoUpdateParamsL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseDoUpdateParamsL()<"), RThread().Id().operator TUint()));
- iRotationAngle = iNewParams.iRotationAngle;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseDoUpdateParamsL() handle1=%d"), RThread().Id().operator TUint(), iNewParams.iBitmap1Handle));
- iBitmapTable[ EFirstBitmap ].iHandle = iNewParams.iBitmap1Handle;
- iBitmapTable[ EFirstBitmap ].iIsFree = ETrue;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseDoUpdateParamsL() handle2=%d"), RThread().Id().operator TUint(), iNewParams.iBitmap2Handle));
- iBitmapTable[ ESecondBitmap ].iHandle = iNewParams.iBitmap2Handle;
- iBitmapTable[ ESecondBitmap ].iIsFree = EFalse;
- UpdateExpectedFrameSizeL();
- iYUVBitmapConverter1->SetSourceSizeL( iExpectedFrameSize );
- iYUVBitmapConverter1->SetDestinationL( iNewParams.iBitmap1Handle );
- iYUVBitmapConverter2->SetSourceSizeL( iExpectedFrameSize );
- iYUVBitmapConverter2->SetDestinationL( iNewParams.iBitmap2Handle );
- if( iNewParams.iFrameRateLimit != iFrameRateInterval )
- {
- SetFrameRateLimit( iNewParams.iFrameRateLimit );
- ResetFrameRateLimitter();
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseDoUpdateParamsL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseSetVideoFrameSizeL( const TSize& aSize )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetVideoFrameSizeL()<"), RThread().Id().operator TUint()));
- TSize size( aSize );
- if( ( iRotationAngle == CVtImageRotator::E90DegreesClockwise ) ||
- ( iRotationAngle == CVtImageRotator::E270DegreesClockwise ) )
- {
- size = TSize( aSize.iHeight, aSize.iWidth );
- }
- iYUVBitmapConverter1->SetSourceSizeL( size );
- iYUVBitmapConverter2->SetSourceSizeL( size );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetVideoFrameSizeL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSizesMatch
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkDSA::BaseSizesMatch( const TSize& aSize )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSizesMatch()<"), RThread().Id().operator TUint()));
- TBool sizesMatch( iExpectedFrameSize == aSize );
- TBool rotateChangesDimension(
- ( iRotationAngle == CVtImageRotator::E90DegreesClockwise ) ||
- ( iRotationAngle == CVtImageRotator::E270DegreesClockwise ) );
- if( rotateChangesDimension )
- {
- sizesMatch =
- ( iExpectedFrameSize.iWidth == aSize.iHeight ) &&
- ( iExpectedFrameSize.iHeight == aSize.iWidth );
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSizesMatch() %d>"), RThread().Id().operator TUint(), sizesMatch));
- return sizesMatch;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BitmapEntry
-// -----------------------------------------------------------------------------
-//
-CDisplaySink::TBitmapEntry& CDisplaySinkDSA::BitmapEntry( TInt aIndex )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BitmapEntry(%d)<"), RThread().Id().operator TUint(), aIndex));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BitmapEntry()>"), RThread().Id().operator TUint()));
- return iBitmapTable[ aIndex ];
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseEmptyBufferL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseEmptyBufferL( TVtMMFDataBuffer& aVTMMFBuffer )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseEmptyBufferL()<"), RThread().Id().operator TUint()));
- if( iRotationAngle != CVtImageRotator::ERotationNone )
- {
- TSize size( aVTMMFBuffer.GetFrameSize() );
- TInt length( ( size.iWidth * size.iHeight * 12 ) / 8 );
- // Modifiable pointer descriptor needed, we don't want a copy of image!
- TPtr8 ptrData( const_cast< TUint8* >(
- aVTMMFBuffer.Data().Ptr() ), length, length );
-
- if( iSourceImg == 0 )
- {
- // If source image is not created -> create it
- iSourceImg = CVtImageIYUV::NewL( size, ptrData );
- }
- else
- {
- // otherwise just update the data
- if( iSourceImg->Size() == size )
- {
- iSourceImg->SetImageL( ptrData );
- }
- else
- {
- delete iSourceImg; iSourceImg = 0;
- iSourceImg = CVtImageIYUV::NewL( size, ptrData );
- }
- }
- iRotator->RotateL( *iSourceImg, *iTargetImg, iRotationAngle );
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- }
- else
- {
- if ( BaseConvert( aVTMMFBuffer ) )
- {
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- iSupplier->BufferEmptiedL( iBuffer );
- }
- else
- {
- if ( iVideoFrameQueue->IsStored() || !IsOkToSendFrame() )
- {
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- iSupplier->BufferEmptiedL( iBuffer );
- }
- else
- {
- iVideoFrameQueue->Store( *iSupplier, static_cast<CMMFDataBuffer*>(aVTMMFBuffer.GetMMFBuffer()), aVTMMFBuffer.GetFrameSize(), aVTMMFBuffer.Data());
- CleanupStack::PopAndDestroy();
- }
- }
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseEmptyBufferL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSetBitmapAvailable( TBitmapNo aBitmapNo )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseSetBitmapAvailable( TBitmapNo aBitmapNo )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable()<"), RThread().Id().operator TUint()));
- if ( iVideoFrameQueue->IsStored() )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable() buffer pending"), RThread().Id().operator TUint()));
- if ( !iReleased && ( *iRequestStatusPtr == KRequestPending ) && IsOkToSendFrame() )
- {
- TRAPD( result, {
- iYUVBitmapConverterVT->SetDestinationL(
- iBitmapTable[ aBitmapNo ].iHandle );
- iYUVBitmapConverterVT->SetSourceL(
- iVideoFrameQueue->Buffer().Data() );
- iYUVBitmapConverterVT->ProcessL();
- } );
- if ( result == KErrNone )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable() conversion succeeded!"), RThread().Id().operator TUint()));
- iBitmapTable[ aBitmapNo ].iIsFree = EFalse;
- TRequestStatus* statusP = iRequestStatusPtr;
- iThread.RequestComplete( statusP, aBitmapNo );
- }
- else
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable() conversion failed!"), RThread().Id().operator TUint()));
- // Drop frame
- }
- }
- else
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable() dropping frame"), RThread().Id().operator TUint()));
- // Drop frame
- }
- iVideoFrameQueue->Release();
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseVideoFrameSizeChangedL( const TSize& aNewSize )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseVideoFrameSizeChangedL( const TSize& aNewSize )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseVideoFrameSizeChangedL()<"), RThread().Id().operator TUint()));
- iYUVBitmapConverterVT->SetSourceSizeL( aNewSize );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseVideoFrameSizeChangedL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::UpdateExpectedFrameSizeL()
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::UpdateExpectedFrameSizeL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::UpdateExpectedFrameSizeL()<"), RThread().Id().operator TUint()));
- CFbsBitmap* bm = new ( ELeave ) CFbsBitmap();
- CleanupStack::PushL( bm );
- User::LeaveIfError( bm->Duplicate( iBitmapTable[ EFirstBitmap ].iHandle ) );
- iExpectedFrameSize = bm->SizeInPixels();
- User::LeaveIfError( bm->Duplicate( iBitmapTable[ ESecondBitmap ].iHandle ) );
- if( iExpectedFrameSize != bm->SizeInPixels() )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::UpdateExpectedFrameSizeL(): EFirstBitmap size is different from ESecondBitmap size -> Leave()"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
- CleanupStack::PopAndDestroy(); // bm
- delete iTargetImg; iTargetImg = 0;
- iTargetImg = CVtImageIYUV::NewL( iExpectedFrameSize );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::UpdateExpectedFrameSizeL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::RotationFinished( TInt aError )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::RotationFinished( TInt aError )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::RotationFinished()<"), RThread().Id().operator TUint()));
- // Rotation finished .. do something
- if( aError == KErrNone )
- {
- iBitmapCS.Wait();
- TBool converted( EFalse );
- TRAP( aError, ConvertL( iTargetImg->Image(), converted ) );
- iBitmapCS.Signal();
- TRAPD( aError2, iSupplier->BufferEmptiedL( iBuffer ) );
- if( ( aError != KErrNone ) || ( aError2 != KErrNone ) )
- {
- *iRequestStatusPtr = KRequestPending;
- TRequestStatus* statusP = iRequestStatusPtr;
- iThread.RequestComplete( statusP, aError );
- }
- }
- else
- {
- *iRequestStatusPtr = KRequestPending;
- TRequestStatus* statusP = iRequestStatusPtr;
- iThread.RequestComplete( statusP, aError );
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::RotationFinished()>"), RThread().Id().operator TUint()));
- }
-
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::ConvertL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::ConvertL( const TPtrC8& aBuffer, TBool& aConverted )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::ConvertL()<"), RThread().Id().operator TUint()));
- TBitmapNo bitmapNo( iBitmapTable[ EFirstBitmap ].iIsFree ? EFirstBitmap : ESecondBitmap );
- if ( iBitmapTable[ bitmapNo ].iIsFree &&
- !iReleased &&
- ( *iRequestStatusPtr == KRequestPending ) )
- {
- DoConvertL( aBuffer, bitmapNo );
- aConverted = ETrue;
- iBitmapTable[ bitmapNo ].iIsFree = EFalse;
- TRequestStatus* statusP = iRequestStatusPtr;
- iThread.RequestComplete( statusP, bitmapNo );
- }
- else
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::ConvertL(): could not find free bitmap"), RThread().Id().operator TUint()));
- aConverted = EFalse;
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::ConvertL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::DoConvert
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::DoConvertL( const TPtrC8& aBuffer, TBitmapNo aBitmapNo )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::DoConvertL()<"), RThread().Id().operator TUint()));
- CVTYUVFbsBitmapConverter* c = 0;
- switch( aBitmapNo )
- {
- case EFirstBitmap:
- c = iYUVBitmapConverter1;
- break;
-
- case ESecondBitmap:
- c = iYUVBitmapConverter2;
- break;
-
- default:
- User::Leave( KErrArgument );
- };
- c->SetSourceL( aBuffer );
- c->ProcessL();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::DoConvertL()>"), RThread().Id().operator TUint()));
- }
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/src/CDisplaySinkNGA.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,818 +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: Class for CDisplaySinkNGA.
-*
-*/
-
-// INCLUDE FILES
-
-#include "CDisplaySinkNGA.h"
-
-// MACROS
-
-#ifdef _DEBUG
- #include <e32debug.h>
- #define PRINT RDebug::Print
- #define _IFDBG(a) a
-#else
- #define PRINT
- #define _IFDBG(a)
-#endif
-
- static const TUint8 NGA_COFF_TBL_64K[ 220 ]=
- {
- 0xe9,0x66,0x01,0x00, // KRedCrFactor
- 0x1a,0x58,0x00,0x00, // KGreenCbFactor
- 0xd2,0xb6,0x00,0x00, // KGreenCrFactor
- 0xa2,0xc5,0x01,0x00, // KBlueCbFactor
-
- 0x00,0x00,0x00,0x00, // 5-bit
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x01,0x02,0x03,
- 0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,
- 0x0c,0x0d,0x0e,0x0f,
- 0x10,0x11,0x12,0x13,
- 0x14,0x15,0x16,0x17,
- 0x18,0x19,0x1a,0x1b,
- 0x1c,0x1d,0x1e,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
-
- 0x00,0x00,0x00,0x00, // 6-bit
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x01,0x02,0x03,
- 0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,
- 0x0c,0x0d,0x0e,0x0f,
- 0x10,0x11,0x12,0x13,
- 0x14,0x15,0x16,0x17,
- 0x18,0x19,0x1a,0x1b,
- 0x1c,0x1d,0x1e,0x1f,
- 0x20,0x21,0x22,0x23,
- 0x24,0x25,0x26,0x27,
- 0x28,0x29,0x2a,0x2b,
- 0x2c,0x2d,0x2e,0x2f,
- 0x30,0x31,0x32,0x33,
- 0x34,0x35,0x36,0x37,
- 0x38,0x39,0x3a,0x3b,
- 0x3c,0x3d,0x3e,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f
- };
-
-
- const TUint8 NGA_COFF_TBL_16M[ 528 ] =
- {
- 0xe9,0x66,0x01,0x00, // KRedCrFactor
- 0x1a,0x58,0x00,0x00, // KGreenCbFactor
- 0xd2,0xb6,0x00,0x00, // KGreenCrFactor
- 0xa2,0xc5,0x01,0x00, // KBlueCbFactor
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x01,0x02,0x03, // 8-bit
- 0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,
- 0x0c,0x0d,0x0e,0x0f,
-
- 0x10,0x11,0x12,0x13,
- 0x14,0x15,0x16,0x17,
- 0x18,0x19,0x1a,0x1b,
- 0x1c,0x1d,0x1e,0x1f,
-
- 0x20,0x21,0x22,0x23,
- 0x24,0x25,0x26,0x27,
- 0x28,0x29,0x2a,0x2b,
- 0x2c,0x2d,0x2e,0x2f,
-
- 0x30,0x31,0x32,0x33,
- 0x34,0x35,0x36,0x37,
- 0x38,0x39,0x3a,0x3b,
- 0x3c,0x3d,0x3e,0x3f,
-
- 0x40,0x41,0x42,0x43,
- 0x44,0x45,0x46,0x47,
- 0x48,0x49,0x4a,0x4b,
- 0x4c,0x4d,0x4e,0x4f,
-
- 0x50,0x51,0x52,0x53,
- 0x54,0x55,0x56,0x57,
- 0x58,0x59,0x5a,0x5b,
- 0x5c,0x5d,0x5e,0x5f,
-
- 0x60,0x61,0x62,0x63,
- 0x64,0x65,0x66,0x67,
- 0x68,0x69,0x6a,0x6b,
- 0x6c,0x6d,0x6e,0x6f,
-
- 0x70,0x71,0x72,0x73,
- 0x74,0x75,0x76,0x77,
- 0x78,0x79,0x7a,0x7b,
- 0x7c,0x7d,0x7e,0x7f,
-
- 0x80,0x81,0x82,0x83,
- 0x84,0x85,0x86,0x87,
- 0x88,0x89,0x8a,0x8b,
- 0x8c,0x8d,0x8e,0x8f,
-
- 0x90,0x91,0x92,0x93,
- 0x94,0x95,0x96,0x97,
- 0x98,0x99,0x9a,0x9b,
- 0x9c,0x9d,0x9e,0x9f,
-
- 0xa0,0xa1,0xa2,0xa3,
- 0xa4,0xa5,0xa6,0xa7,
- 0xa8,0xa9,0xaa,0xab,
- 0xac,0xad,0xae,0xaf,
-
- 0xb0,0xb1,0xb2,0xb3,
- 0xb4,0xb5,0xb6,0xb7,
- 0xb8,0xb9,0xba,0xbb,
- 0xbc,0xbd,0xbe,0xbf,
-
- 0xc0,0xc1,0xc2,0xc3,
- 0xc4,0xc5,0xc6,0xc7,
- 0xc8,0xc9,0xca,0xcb,
- 0xcc,0xcd,0xce,0xcf,
-
- 0xd0,0xd1,0xd2,0xd3,
- 0xd4,0xd5,0xd6,0xd7,
- 0xd8,0xd9,0xda,0xdb,
- 0xdc,0xdd,0xde,0xdf,
-
- 0xe0,0xe1,0xe2,0xe3,
- 0xe4,0xe5,0xe6,0xe7,
- 0xe8,0xe9,0xea,0xeb,
- 0xec,0xed,0xee,0xef,
-
- 0xf0,0xf1,0xf2,0xf3,
- 0xf4,0xf5,0xf6,0xf7,
- 0xf8,0xf9,0xfa,0xfb,
- 0xfc,0xfd,0xfe,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff
- };
-
-
- void ConvertFrom420PlanarToRGB_565(
- const TDesC8& aSource,
- const TSize& aSize,
- TDes8& aTarget,
- TInt aStride )
- {
- TInt height( aSize.iHeight >> 1 );
- TInt width( aSize.iWidth );
-
- TInt ySize = aSize.iWidth * aSize.iHeight;
- TInt ySizeDiv4 = ( ySize >> 2 );
-
- const TUint32* y1 = reinterpret_cast< const TUint32* >( aSource.Mid( 0, ySize ).Ptr() );
- const TUint32* u = reinterpret_cast< const TUint32* >( aSource.Mid( ySize, ySizeDiv4 ).Ptr() );
- const TUint32* v = reinterpret_cast< const TUint32* >( aSource.Mid( ySize + ySizeDiv4, ySizeDiv4 ).Ptr() );
-
- TUint32 uintsPerDestRow = aStride >> 2;
-
- const TUint32* TargetPtr = reinterpret_cast< const TUint32* >( aTarget.Ptr() );
-
- TUint32* d1 = const_cast< TUint32* >( TargetPtr );
-
- TUint32 ywidth = width >> 2;
-
- width >>= 3;
-
- TInt32 cb;
- TInt32 cr;
- TInt32 greenCbCr;
- TInt32 yy;
- TInt32 red;
- TInt32 green;
- TInt32 blue;
- TUint32 r1;
- const TUint8* clip = NGA_COFF_TBL_64K + 40;
-
- for( TInt y = 0; y < height; y++ )
- {
- for( TInt x = 0; x < width; x++ )
- {
- TUint32 u1 = *u++;
- TUint32 v1 = *v++;
-
- for( TInt c2 = 0; c2 < 2; c2++ )
- {
- TUint32 yy2 = y1[ ywidth ];
- TUint32 yy1 = *y1++;
-
- for( TInt c = 0; c < 2; c++ )
- {
- cb = TInt32( u1 & 0xff ) - 128;
- u1 >>= 8;
- cr = TInt32( v1 & 0xff ) - 128;
- v1 >>= 8;
-
- greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 32 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 36 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 40 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 28 )
- ) >> 16;
-
- // lower left
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- r1 = green | ( red << 4 );
- r1 = blue | ( r1 << 4 );
-
- // lower right
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- r1 |= ( ( green | ( red << 4 ) ) << 4 | blue ) << 16;
-
- d1[ uintsPerDestRow ] = r1;
-
- // upper left
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- r1 = green | ( red << 4 );
- r1 = blue | ( r1 << 4 );
-
- // upper right
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- r1 |= ( ( green | ( red << 4 ) ) << 4 | blue ) << 16;
-
- *d1++ = r1;
- }
- }
- }
-
- y1 += ( width << 1 );
- d1 += uintsPerDestRow;
- }
- }
-
-
- void ConvertFrom420PlanarToXRGB_8888(
- const TDesC8& aSource,
- const TSize& aSize,
- TDes8& aTarget,
- TInt aStride )
- {
-
- TInt height( aSize.iHeight >> 1 );
- TInt width( aSize.iWidth );
-
- TInt ySize = aSize.iWidth * aSize.iHeight;
- TInt ySizeDiv4 = ( ySize >> 2 );
-
- const TUint32* y1 = reinterpret_cast< const TUint32* >( aSource.Mid( 0, ySize ).Ptr() );
- const TUint32* u = reinterpret_cast< const TUint32* >( aSource.Mid( ySize, ySizeDiv4 ).Ptr() );
- const TUint32* v = reinterpret_cast< const TUint32* >( aSource.Mid( ySize + ySizeDiv4, ySizeDiv4 ).Ptr() );
-
- TUint32 uintsPerDestRow = aStride >> 2;
-
- const TUint32* TargetPtr = reinterpret_cast< const TUint32* >( aTarget.Ptr() );
-
- TUint32* d1 = const_cast< TUint32* >( TargetPtr );
-
-
- TUint32 ywidth = width >> 2;
-
- width >>= 3;
-
- TInt32 cb;
- TInt32 cr;
- TInt32 greenCbCr;
- TInt32 yy;
- TUint32 p;
- const TUint8* clip = NGA_COFF_TBL_16M + 144;
-
- for( TInt y = 0; y < height; y++ )
- {
- for( TInt x = 0; x < width; x++ )
- {
- TUint32 u1 = *u++;
- TUint32 v1 = *v++;
-
- for( TInt c2 = 0; c2 < 2; c2++ )
- {
- TUint32 yy2 = y1[ ywidth ];
- TUint32 yy1 = *y1++;
-
- for( TInt c = 0; c < 2; c++ )
- {
- cb = TInt32( u1 & 0xff ) - 128;
- u1 >>= 8;
- cr = TInt32( v1 & 0xff ) - 128;
- v1 >>= 8;
-
- greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 136 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 140 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 144 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 132 )
- ) >> 16;
-
- // lower left
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- // 0xffBBGG
- p = 0xff0000 |
- ( clip[ yy + cr ] << 8 ) | clip[ yy - greenCbCr ];
- // 0xffBBGGRR
- d1[ uintsPerDestRow ] = clip[ yy + cb ] | ( p << 8 );
-
- // lower right
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- // 0xffBBGG
- p = 0xff0000 |
- ( clip[ yy + cr ] << 8 ) | clip[ yy - greenCbCr ];
- // 0xffBBGGRR
- d1[ uintsPerDestRow + 1 ] = clip[ yy + cb ] | ( p << 8 );
-
- // upper left
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- // 0xffBBGG
- p = 0xff0000 |
- ( clip[ yy + cr ] << 8 ) | clip[ yy - greenCbCr ];
- // 0xffBBGGRR
- *d1++ = clip[ yy + cb ] | ( p << 8 );
-
- // upper right
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- // 0xffBBGG
- p = 0xff0000 |
- ( clip[ yy + cr ] << 8 ) | clip[ yy - greenCbCr ];
- // 0xffBBGGRR
- *d1++ = clip[ yy + cb ] | ( p << 8 );
- }
- }
- }
-
- y1 += ( width << 1 );
- d1 += uintsPerDestRow;
- }
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::NewL
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkNGA* CDisplaySinkNGA::NewL( TDisplaySinkParams& aParams,
- const TDesC8& aInitData )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::NewL()<"), RThread().Id().operator TUint()));
- CDisplaySinkNGA* self = new ( ELeave ) CDisplaySinkNGA();
- CleanupStack::PushL( self );
- self->ConstructL( aParams, aInitData );
- CleanupStack::Pop(); // self
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::NewL()>"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::CDisplaySinkNGA
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkNGA::CDisplaySinkNGA()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::Ctor<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::Ctor>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::~CDisplaySinkNGA
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkNGA::~CDisplaySinkNGA()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::~<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::~>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseConstructL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseConstructL( TDisplaySinkParams& aParams,
- const TDesC8& )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConstructL()<"), RThread().Id().operator TUint()));
- iNewParams = static_cast< const TDisplaySinkParamsNGA& >( aParams );
- if ( !iNewParams.iSurfaceBuffer1 || !iNewParams.iSurfaceBuffer2 )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConstructL() surface buffer is NULL!")));
- User::Leave( KErrArgument );
- }
- iBitmapTable[EFirstBitmap].iBuffer = iNewParams.iSurfaceBuffer1;
- iBitmapTable[ESecondBitmap].iBuffer = iNewParams.iSurfaceBuffer2;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConstructL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseConvert
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkNGA::BaseConvert( const TVtMMFDataBuffer& aBuffer )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConvert()<"), RThread().Id().operator TUint()));
-
- TBool consumed( ETrue );
- TBitmapNo bitmapNo( iBitmapTable[ EFirstBitmap ].iIsFree ? EFirstBitmap : ESecondBitmap );
- if ( iBitmapTable[ bitmapNo ].iIsFree &&
- !iReleased &&
- ( *iRequestStatusPtr == KRequestPending ) )
- {
-#if 1
- TInt bufferLength(
- //iNewParams.iFrameSize.iHeight * ( iNewParams.iFrameSize.iWidth * 2 ) );
- iNewParams.iFrameSize.iHeight * ( iNewParams.iFrameSize.iWidth * 3/2 ) );
-#else
- TInt bufferLength(
- iNewParams.iFrameSize.iHeight * ( iNewParams.iFrameSize.iWidth * 4 ) );
-#endif
-
- TPtr8 ptrBuffer(
- *iBitmapTable[ bitmapNo ].iBuffer,
- bufferLength,
- bufferLength
- );
-
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConvert(): buffer %d: $%x %d bytes"), RThread().Id().operator TUint(), bitmapNo, *iBitmapTable[ bitmapNo ].iBuffer, bufferLength));
-
- // Determine wether to convert or copy (420 will be just copied)
- //if ( iNewParams.iSurfaceFormat == EUidPixelFormatRGB_565 )
- if ( iNewParams.iSurfaceFormat == EUidPixelFormatXRGB_8888 )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConvert(): converting to RGB565"), RThread().Id().operator TUint()));
-
- /*
- ConvertFrom420PlanarToRGB_565(
- aBuffer.Data(),
- aBuffer.GetFrameSize(),
- ptrBuffer,
- iNewParams.iFrameSize.iWidth * 2 );
- */
-
- ConvertFrom420PlanarToXRGB_8888(
- aBuffer.Data(),
- aBuffer.GetFrameSize(),
- ptrBuffer,
- iNewParams.iFrameSize.iWidth * 4 );
-
- }
- else
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConvert(): copying as 420"), RThread().Id().operator TUint()));
- ptrBuffer = aBuffer.Data();
- }
-
- iBitmapTable[ bitmapNo ].iIsFree = EFalse;
- TRequestStatus* statusP = iRequestStatusPtr;
- iThread.RequestComplete( statusP, bitmapNo );
- }
- else
- {
- consumed = EFalse;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConvert(): could not find free buffer"), RThread().Id().operator TUint()));
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseConvert()>"), RThread().Id().operator TUint()));
- return consumed;
-
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseSinkThreadLogonL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseSinkThreadLogonL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSinkThreadLogonL()<"), RThread().Id().operator TUint()));
- UpdateExpectedFrameSizeL();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSinkThreadLogonL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseSinkThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseSinkThreadLogoff()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSinkThreadLogoff()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSinkThreadLogoff()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseUpdateSinkParamsL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseUpdateSinkParamsL( const TDisplaySinkParams& aParams )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseUpdateSinkParamsL()<"), RThread().Id().operator TUint()));
- iNewParams = static_cast< const TDisplaySinkParamsNGA& >( aParams );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseUpdateSinkParamsL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseDoUpdateParamsL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseDoUpdateParamsL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseDoUpdateParamsL()<"), RThread().Id().operator TUint()));
- iBitmapTable[ EFirstBitmap ].iBuffer = iNewParams.iSurfaceBuffer1;
- iBitmapTable[ ESecondBitmap ].iBuffer = iNewParams.iSurfaceBuffer2;
- UpdateExpectedFrameSizeL();
- if( iNewParams.iFrameRateLimit != iFrameRateInterval )
- {
- SetFrameRateLimit( iNewParams.iFrameRateLimit );
- ResetFrameRateLimitter();
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseDoUpdateParamsL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseSetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseSetVideoFrameSizeL( const TSize& )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSetVideoFrameSizeL()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSetVideoFrameSizeL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseSizesMatch
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkNGA::BaseSizesMatch( const TSize& aSize)
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSizesMatch()<"), RThread().Id().operator TUint()));
- TBool sizesMatch( iExpectedFrameSize == aSize );
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSizesMatch()>"), RThread().Id().operator TUint()));
- return sizesMatch;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BitmapEntry
-// -----------------------------------------------------------------------------
-//
-CDisplaySink::TBitmapEntry& CDisplaySinkNGA::BitmapEntry( TInt aIndex )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BitmapEntry(%d)<"), RThread().Id().operator TUint(), aIndex));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BitmapEntry()>"), RThread().Id().operator TUint()));
- return iBitmapTable[ aIndex ];
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseEmptyBufferL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseEmptyBufferL( TVtMMFDataBuffer& aVTMMFBuffer )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseEmptyBufferL()<"), RThread().Id().operator TUint()));
- if ( BaseConvert( aVTMMFBuffer ) )
- {
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- iSupplier->BufferEmptiedL( iBuffer );
- }
- else
- {
- if ( iVideoFrameQueue->IsStored() || !IsOkToSendFrame() )
- {
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- iSupplier->BufferEmptiedL( iBuffer );
- }
- else
- {
- iVideoFrameQueue->Store( *iSupplier, static_cast<CMMFDataBuffer*>(aVTMMFBuffer.GetMMFBuffer()), aVTMMFBuffer.GetFrameSize(), aVTMMFBuffer.Data());
- CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
- }
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseEmptyBufferL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseSetBitmapAvailable( TBitmapNo aBitmapNo )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseSetBitmapAvailable( TBitmapNo )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSetBitmapAvailable()<"), RThread().Id().operator TUint()));
- if ( iVideoFrameQueue->IsStored() )
- {
- if ( IsOkToSendFrame() )
- {
- BaseConvert( iVideoFrameQueue->Buffer() );
- }
- iVideoFrameQueue->Release();
- }
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseSetBitmapAvailable()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::BaseVideoFrameSizeChangedL( const TSize& )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::BaseVideoFrameSizeChangedL( const TSize& )
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseVideoFrameSizeChangedL()<"), RThread().Id().operator TUint()));
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::BaseVideoFrameSizeChangedL()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkNGA::NextFrame
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::NextFrame()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::NextFrame()<"), RThread().Id().operator TUint()));
- iBitmapCS.Wait();
- if ( iVideoFrameQueue->IsStored() )
- {
- if ( IsOkToSendFrame() )
- {
- BaseConvert( iVideoFrameQueue->Buffer() );
- }
- iVideoFrameQueue->Release();
- }
- iBitmapCS.Signal();
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::NextFrame()>"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDP::UpdateExpectedFrameSizeL()
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkNGA::UpdateExpectedFrameSizeL()
- {
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::UpdateExpectedFrameSizeL()<"), RThread().Id().operator TUint()));
- iExpectedFrameSize = iNewParams.iFrameSize;
- _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkNGA::UpdateExpectedFrameSizeL()>"), RThread().Id().operator TUint()));
- }
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/src/CVtImage.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "cvtimage.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtImage::Type() const
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVtImage::TVtImageType CVtImage::Type() const
- {
- return iType;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImage::DisplayModeToVtDisplayMode( TDisplayMode aMode )
-// -----------------------------------------------------------------------------
-//
-CVtImage::TVtDisplayMode CVtImage::DisplayModeToVtDisplayMode(
- TDisplayMode aMode )
- {
- TVtDisplayMode mode;
-
- switch( aMode )
- {
- case EColor4K:
- mode = EVtColor4K;
- break;
-
- case EColor64K:
- mode = EVtColor64K;
- break;
-
- case EColor16M:
- mode = EVtColor16M;
- break;
-
- case EColor16MU:
- mode = EVtColor16MU;
- break;
-
- case EColor16MA:
- case EColor16MAP:
- mode = EVtColor16MA;
- break;
-
- default:
- mode = EVtColorNone;
- break;
- }
-
- return mode;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImage::CVtImage( TVtImageType aType )
-// -----------------------------------------------------------------------------
-//
-CVtImage::CVtImage( TVtImageType aType )
-: iType( aType )
- {
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageBitmap.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageBitmap.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::NewL( TInt aBitmapHandle )
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageBitmap* CVtImageBitmap::NewL( TInt aBitmapHandle )
- {
- CVtImageBitmap* self = new ( ELeave ) CVtImageBitmap();
- CleanupStack::PushL( self );
- self->ConstructL( aBitmapHandle );
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::NewL( const TSize& aSize, TDisplayMode aDisplayMode )
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageBitmap* CVtImageBitmap::NewL(
- const TSize& aSize,
- TDisplayMode aDisplayMode )
- {
- CVtImageBitmap* self = new ( ELeave ) CVtImageBitmap();
- CleanupStack::PushL( self );
- self->ConstructL( aSize, aDisplayMode );
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::~CVtImageBitmap()
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageBitmap::~CVtImageBitmap()
- {
- delete iBitmap;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::ResizeL( const TSize& aSize )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageBitmap::ResizeL( const TSize& aSize )
- {
- User::LeaveIfError( iBitmap->Resize( aSize ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::SetBitmapL( TInt aBitmapHandle )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageBitmap::SetBitmapL( TInt aBitmapHandle )
- {
- delete iBitmap;
- iBitmap = 0;
- ConstructL( aBitmapHandle );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::Bitmap() const
-// -----------------------------------------------------------------------------
-EXPORT_C CFbsBitmap& CVtImageBitmap::Bitmap() const
- {
- return *iBitmap;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::NeedHeapLock() const
-// -----------------------------------------------------------------------------
-TBool CVtImageBitmap::NeedHeapLock() const
- {
- return iBitmap->IsLargeBitmap();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::DisplayMode() const
-// -----------------------------------------------------------------------------
-CVtImage::TVtDisplayMode CVtImageBitmap::DisplayMode() const
- {
- return CVtImage::DisplayModeToVtDisplayMode( iBitmap->DisplayMode() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::Size() const
-// -----------------------------------------------------------------------------
-TSize CVtImageBitmap::Size() const
- {
- return iBitmap->SizeInPixels();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::BytesPerRow() const
-// -----------------------------------------------------------------------------
-TInt CVtImageBitmap::BytesPerRow() const
- {
- return iBitmap->ScanLineLength( Size().iWidth, iBitmap->DisplayMode() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::DataAddress() const
-// -----------------------------------------------------------------------------
-TUint32* CVtImageBitmap::DataAddress() const
- {
- return iBitmap->DataAddress();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::LineAddress( TInt aLine ) const
-// -----------------------------------------------------------------------------
-TUint32* CVtImageBitmap::LineAddress( TInt aLine ) const
- {
- if( aLine < 0 )
- {
- aLine = 0;
- }
- else if( aLine > Size().iHeight - 1 )
- {
- aLine = Size().iHeight - 1;
- }
- return reinterpret_cast< TUint32* >(
- reinterpret_cast< TUint8* >( DataAddress() ) + BytesPerRow() * aLine );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::CVtImageBitmap()
-// -----------------------------------------------------------------------------
-CVtImageBitmap::CVtImageBitmap()
-: CVtImage( CVtImage::EVtImageBitmap )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::ConstructL( const TSize& aSize, TDisplayMode aDisplayMode )
-// -----------------------------------------------------------------------------
-void CVtImageBitmap::ConstructL( const TSize& aSize, TDisplayMode aDisplayMode )
- {
- iBitmap = new ( ELeave ) CFbsBitmap();
- User::LeaveIfError( iBitmap->Create( aSize, aDisplayMode ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageBitmap::ConstructL( TInt aBitmapHandle )
-// -----------------------------------------------------------------------------
-void CVtImageBitmap::ConstructL( TInt aBitmapHandle )
- {
- iBitmap = new ( ELeave ) CFbsBitmap();
- User::LeaveIfError( iBitmap->Duplicate( aBitmapHandle ) );
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageConverter.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1894 +0,0 @@
-/*
-* Copyright (c) 2004 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: YUV to bitmap and bitmap to YUV conversion routines for VT
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-#include "CVtImageConverter.h"
-
-// LOCAL CONSTANTS AND MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// Calculates average for two integer values
-#define AVG( a, b ) ( ( a + b ) >> 1 )
-
-// MODULE DATA STRUCTURES
-
-/**
-* Holds data for one YUV pixel
-*
-* @lib VTImageConverter.lib
-*/
-struct TVSYCrCb
- {
- public:
- // Y data
- TInt iY;
-
- // Cb (U) data
- TInt iCb;
-
- // Cr (V) data
- TInt iCr;
- };
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// RGBtoYCbCr( TVSYCrCb* aYuv, const TRgb& aColor )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUint8 RGBtoYCbCr( TVSYCrCb* aYuv, const TRgb& aColor )
- {
- const TInt YRedFactor = 19595; // 0.299 << 16
- const TInt YGreenFactor = 38470; // 0.587 << 16
- const TInt YBlueFactor = 7471; // 0.114 << 16
- const TInt CbRedFactor = 11056; // 0.1687 << 16
- const TInt CbGreenFactor = 21712; // 0.3313 << 16
- const TInt CrGreenFactor = 27440; // 0.4187 << 16
- const TInt CrBlueFactor = 5328; // 0.0813 << 16
-
- TInt red = aColor.Red();
- TInt green = aColor.Green();
- TInt blue = aColor.Blue();
-
- aYuv->iY = ( YRedFactor * red ) +
- ( YGreenFactor * green ) +
- ( YBlueFactor * blue );
- aYuv->iCb = - ( CbRedFactor * red ) -
- ( CbGreenFactor * green ) +
- ( blue << 15 );
- aYuv->iCr = ( red << 15 ) -
- ( CrGreenFactor * green ) -
- ( CrBlueFactor * blue );
-
- aYuv->iY >>= 16;
- aYuv->iCb >>= 16;
- aYuv->iCr >>= 16;
-
- aYuv->iCb += 128;
- aYuv->iCr += 128;
-
- return static_cast< TUint8 >( aYuv->iY );
- }
-
-// -----------------------------------------------------------------------------
-// VSReadColor4K( TAny*& aSource )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRgb VSReadColor4K( TAny*& aSource )
- {
- TUint16* s = static_cast< TUint16* >( aSource );
- TRgb rgb( TRgb::Color4K( *s++ ) );
- aSource = s;
- return rgb;
- }
-
-// -----------------------------------------------------------------------------
-// VSReadColor64K( TAny*& aSource )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRgb VSReadColor64K( TAny*& aSource )
- {
- TUint16* s = static_cast< TUint16* >( aSource );
- TRgb rgb( TRgb::Color64K( *s++ ) );
- aSource = s;
- return rgb;
- }
-
-// -----------------------------------------------------------------------------
-// VSReadColor16M( TAny*& aSource )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRgb VSReadColor16M( TAny*& aSource )
- {
- TUint8* s = static_cast< TUint8* >( aSource );
- TRgb rgb( s[ 2 ], s[ 1 ], s[ 0 ] );
- aSource = s + 3;
- return rgb;
- }
-
-// -----------------------------------------------------------------------------
-// VSReadColor16MU( TAny*& aSource )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRgb VSReadColor16MU( TAny*& aSource )
- {
- TUint32* s = static_cast< TUint32* >( aSource );
- TRgb rgb( TRgb::Color16MU( *s++ ) );
- aSource = s;
- return rgb;
- }
-
-// -----------------------------------------------------------------------------
-// VSReadColor16MA( TAny*& aSource )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRgb VSReadColor16MA( TAny*& aSource )
- {
- TUint32* s = static_cast< TUint32* >( aSource );
- TRgb rgb( TRgb::Color16MA( *s++ ) );
- aSource = s;
- return rgb;
- }
-
-// -----------------------------------------------------------------------------
-// VSReadColor16MAP( TAny*& aSource )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRgb VSReadColor16MAP( TAny*& aSource )
- {
- TUint32* s = static_cast< TUint32* >( aSource );
- TRgb rgb( TRgb::Color16MAP( *s++ ) );
- aSource = s;
- return rgb;
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-/**
-*
-*/
-const TUint8 CVTYUVFbsBitmapConverter::COFF_TBL_4K[ 80 ]=
- {
- 0xe9,0x66,0x01,0x00, // KRedCrFactor
- 0x1a,0x58,0x00,0x00, // KGreenCbFactor
- 0xd2,0xb6,0x00,0x00, // KGreenCrFactor
- 0xa2,0xc5,0x01,0x00, // KBlueCbFactor
-
- 0x00,0x00,0x00,0x00, // 4-bit
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00, // 5
- 0x00,0x00,0x00,0x00,
- 0x00,0x01,0x02,0x03,
- 0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,
- 0x0c,0x0d,0x0e,0x0f, // 10
- 0x0f,0x0f,0x0f,0x0f,
- 0x0f,0x0f,0x0f,0x0f,
- 0x0f,0x0f,0x0f,0x0f,
- 0x0f,0x0f,0x0f,0x0f,
- 0x0f,0x0f,0x0f,0x0f, // 15
- 0x0f,0x0f,0x0f,0x0f
- };
-
-/**
-*
-*/
-const TUint8 CVTYUVFbsBitmapConverter::COFF_TBL_64K[ 220 ]=
- {
- 0xe9,0x66,0x01,0x00, // KRedCrFactor
- 0x1a,0x58,0x00,0x00, // KGreenCbFactor
- 0xd2,0xb6,0x00,0x00, // KGreenCrFactor
- 0xa2,0xc5,0x01,0x00, // KBlueCbFactor
-
- 0x00,0x00,0x00,0x00, // 5-bit
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x01,0x02,0x03,
- 0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,
- 0x0c,0x0d,0x0e,0x0f,
- 0x10,0x11,0x12,0x13,
- 0x14,0x15,0x16,0x17,
- 0x18,0x19,0x1a,0x1b,
- 0x1c,0x1d,0x1e,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
- 0x1f,0x1f,0x1f,0x1f,
-
- 0x00,0x00,0x00,0x00, // 6-bit
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x01,0x02,0x03,
- 0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,
- 0x0c,0x0d,0x0e,0x0f,
- 0x10,0x11,0x12,0x13,
- 0x14,0x15,0x16,0x17,
- 0x18,0x19,0x1a,0x1b,
- 0x1c,0x1d,0x1e,0x1f,
- 0x20,0x21,0x22,0x23,
- 0x24,0x25,0x26,0x27,
- 0x28,0x29,0x2a,0x2b,
- 0x2c,0x2d,0x2e,0x2f,
- 0x30,0x31,0x32,0x33,
- 0x34,0x35,0x36,0x37,
- 0x38,0x39,0x3a,0x3b,
- 0x3c,0x3d,0x3e,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f,
- 0x3f,0x3f,0x3f,0x3f
- };
-
-/**
-*
-*/
-const TUint8 CVTYUVFbsBitmapConverter::COFF_TBL_16M[ 528 ] =
- {
- 0xe9,0x66,0x01,0x00, // KRedCrFactor
- 0x1a,0x58,0x00,0x00, // KGreenCbFactor
- 0xd2,0xb6,0x00,0x00, // KGreenCrFactor
- 0xa2,0xc5,0x01,0x00, // KBlueCbFactor
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,
-
- 0x00,0x01,0x02,0x03, // 8-bit
- 0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,
- 0x0c,0x0d,0x0e,0x0f,
-
- 0x10,0x11,0x12,0x13,
- 0x14,0x15,0x16,0x17,
- 0x18,0x19,0x1a,0x1b,
- 0x1c,0x1d,0x1e,0x1f,
-
- 0x20,0x21,0x22,0x23,
- 0x24,0x25,0x26,0x27,
- 0x28,0x29,0x2a,0x2b,
- 0x2c,0x2d,0x2e,0x2f,
-
- 0x30,0x31,0x32,0x33,
- 0x34,0x35,0x36,0x37,
- 0x38,0x39,0x3a,0x3b,
- 0x3c,0x3d,0x3e,0x3f,
-
- 0x40,0x41,0x42,0x43,
- 0x44,0x45,0x46,0x47,
- 0x48,0x49,0x4a,0x4b,
- 0x4c,0x4d,0x4e,0x4f,
-
- 0x50,0x51,0x52,0x53,
- 0x54,0x55,0x56,0x57,
- 0x58,0x59,0x5a,0x5b,
- 0x5c,0x5d,0x5e,0x5f,
-
- 0x60,0x61,0x62,0x63,
- 0x64,0x65,0x66,0x67,
- 0x68,0x69,0x6a,0x6b,
- 0x6c,0x6d,0x6e,0x6f,
-
- 0x70,0x71,0x72,0x73,
- 0x74,0x75,0x76,0x77,
- 0x78,0x79,0x7a,0x7b,
- 0x7c,0x7d,0x7e,0x7f,
-
- 0x80,0x81,0x82,0x83,
- 0x84,0x85,0x86,0x87,
- 0x88,0x89,0x8a,0x8b,
- 0x8c,0x8d,0x8e,0x8f,
-
- 0x90,0x91,0x92,0x93,
- 0x94,0x95,0x96,0x97,
- 0x98,0x99,0x9a,0x9b,
- 0x9c,0x9d,0x9e,0x9f,
-
- 0xa0,0xa1,0xa2,0xa3,
- 0xa4,0xa5,0xa6,0xa7,
- 0xa8,0xa9,0xaa,0xab,
- 0xac,0xad,0xae,0xaf,
-
- 0xb0,0xb1,0xb2,0xb3,
- 0xb4,0xb5,0xb6,0xb7,
- 0xb8,0xb9,0xba,0xbb,
- 0xbc,0xbd,0xbe,0xbf,
-
- 0xc0,0xc1,0xc2,0xc3,
- 0xc4,0xc5,0xc6,0xc7,
- 0xc8,0xc9,0xca,0xcb,
- 0xcc,0xcd,0xce,0xcf,
-
- 0xd0,0xd1,0xd2,0xd3,
- 0xd4,0xd5,0xd6,0xd7,
- 0xd8,0xd9,0xda,0xdb,
- 0xdc,0xdd,0xde,0xdf,
-
- 0xe0,0xe1,0xe2,0xe3,
- 0xe4,0xe5,0xe6,0xe7,
- 0xe8,0xe9,0xea,0xeb,
- 0xec,0xed,0xee,0xef,
-
- 0xf0,0xf1,0xf2,0xf3,
- 0xf4,0xf5,0xf6,0xf7,
- 0xf8,0xf9,0xfa,0xfb,
- 0xfc,0xfd,0xfe,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
-
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff
- };
-
-// ============================ CVTYUVFbsBitmapConverter =======================
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::CVTYUVFbsBitmapConverter(
-// const TSize& aSourceSize )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CVTYUVFbsBitmapConverter::CVTYUVFbsBitmapConverter( const TSize& aSourceSize )
-: iSourceSize( aSourceSize )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::CVTYUVFbsBitmapConverter() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::CVTYUVFbsBitmapConverter() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::~CVTYUVFbsBitmapConverter()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVTYUVFbsBitmapConverter::~CVTYUVFbsBitmapConverter()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::~CVTYUVFbsBitmapConverter() >>"), RThread().Id().operator TUint()));
- delete iDestination;
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::~CVTYUVFbsBitmapConverter() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::ProcessL()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVTYUVFbsBitmapConverter::ProcessL()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::ProcessL() >>"), RThread().Id().operator TUint()));
- switch( iDestination->DisplayMode() )
- {
- case EColor4K:
- DoProcess4K();
- break;
-
- case EColor64K:
- DoProcess64K();
- break;
-
- case EColor16M:
- DoProcess16M();
- break;
-
- case EColor16MU:
- case EColor16MA: // 16MU and 16MA are handled equally
- DoProcess16MU16MA();
- break;
-
- default:
- User::Leave( KErrNotSupported );
- break;
- };
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::ProcessL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::SetDestinationL(
-// const CFbsBitmap& aDestinationBitmap )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVTYUVFbsBitmapConverter::SetDestinationL(
- const CFbsBitmap& aDestinationBitmap )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::SetDestinationL() >>"), RThread().Id().operator TUint()));
- SetDestinationL( aDestinationBitmap.Handle() );
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::SetDestinationL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::SetDestinationL( TInt aHandle )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVTYUVFbsBitmapConverter::SetDestinationL( TInt aHandle )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::SetDestinationL() >>"), RThread().Id().operator TUint()));
- ReConstructL( aHandle );
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::SetDestinationL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::ConstructL( TInt aBitmapHandle )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVFbsBitmapConverter::ConstructL( TInt aBitmapHandle )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::ConstructL() >>"), RThread().Id().operator TUint()));
- iDestination = new (ELeave) CFbsBitmap();
- ReConstructL( aBitmapHandle );
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::ConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::ReConstructL( TInt aBitmapHandle )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVFbsBitmapConverter::ReConstructL( TInt aBitmapHandle )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::ReConstructL() >>"), RThread().Id().operator TUint()));
- User::LeaveIfError( iDestination->Duplicate( aBitmapHandle ) );
- // make sure that destination bitmap's displaymode is supported
- if( ( iDestination->DisplayMode() != EColor4K ) &&
- ( iDestination->DisplayMode() != EColor64K ) &&
- ( iDestination->DisplayMode() != EColor16M ) &&
- ( iDestination->DisplayMode() != EColor16MU ) &&
- ( iDestination->DisplayMode() != EColor16MA )
- )
- {
- User::Leave( KErrNotSupported );
- }
- iDestinationSize = iDestination->SizeInPixels();
- SizeUpdateL();
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::ReConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVFbsBitmapConverter::SizeUpdateL()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVFbsBitmapConverter::SizeUpdateL()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::SizeUpdate() >>"), RThread().Id().operator TUint()));
- if( ( SourceSize().iWidth < 2 ) || ( DestinationSize().iWidth < 2 ) )
- {
- User::Leave( KErrNotSupported ); // !!!!
- }
-
- iVSkipReal = TReal32( SourceSize().iHeight ) /
- TReal32( DestinationSize().iHeight );
- iHSkipReal = TReal32( SourceSize().iWidth ) /
- TReal32( DestinationSize().iWidth );
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVFbsBitmapConverter::SizeUpdate() <<"), RThread().Id().operator TUint()));
- }
-
-// ============================ CVTYUVPlanarFbsBitmapConverter ===============================
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::SetSourceSizeL( const TSize& aSize )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVTYUVPlanarFbsBitmapConverter::SetSourceSizeL(
- const TSize& aSize )
- {
- iSourceSize = aSize;
- SizeUpdateL();
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::SetSourceL(
-// const TSize& aSize, const TDesC8& aSourceData )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVTYUVPlanarFbsBitmapConverter::SetSourceL(
- const TSize& aSize,
- const TDesC8& aSourceData )
- {
- iSourceSize = aSize;
- SetSourceL( aSourceData );
- SizeUpdateL();
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::CVTYUVPlanarFbsBitmapConverter(
-// const TSize& aSourceSize )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CVTYUVPlanarFbsBitmapConverter::CVTYUVPlanarFbsBitmapConverter(
- const TSize& aSourceSize )
-: CVTYUVFbsBitmapConverter( aSourceSize )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::CVTYUVPlanarFbsBitmapConverter() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::CVTYUVPlanarFbsBitmapConverter() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::DoProcess4K()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVPlanarFbsBitmapConverter::DoProcess4K()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess4K() >>"), RThread().Id().operator TUint()));
-
- // Vertical scaling needed?
- if( ( iVSkipReal == 1 ) && ( iHSkipReal == 1 ) )
- {
- // NO: Use really fast conversion
- DoProcess4KNoScale();
- }
- else
- {
-
- // YES: Use slower conversion method
- const TUint8* y = iY;
- const TUint8* u = iU;
- const TUint8* v = iV;
- const TUint8* clip = COFF_TBL_4K + 40;
-
- TInt height = DestinationSize().iHeight;
- TInt width = DestinationSize().iWidth;
-
- iDestination->LockHeap();
- TUint32* d = iDestination->DataAddress();
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess4K(): [%d, %d] for >>"), RThread().Id().operator TUint(), width, height ));
-
- for( TInt h = 0; h < height; h++ )
- {
- TInt sourceY = TInt( TReal32( h ) * iVSkipReal );
- TInt hTimesW = sourceY * SourceSize().iWidth;
- TInt uvIdx = ( sourceY >> 1 ) * ( SourceSize().iWidth >> 1 );
- for( TInt w = 0; w < width; w++ )
- {
- TInt sourceX = TInt( TReal32( w ) * iHSkipReal );
- TInt uvIdxW( uvIdx + ( sourceX >> 1 ) );
-
- TInt ay = y[ hTimesW + sourceX ];
- TInt cb = u[ uvIdxW ] - 128;
- TInt cr = v[ uvIdxW ] - 128;
-
- TInt greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 32 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 36 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 40 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 28 )
- ) >> 16;
-
- TInt red = ay + cr;
- TInt green = ay - greenCbCr;
- TInt blue = ay + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- TUint32 s = green | ( red << 4 );
- s = blue | ( s << 4 );
-
- w++;
- sourceX = TInt( TReal32( w ) * iHSkipReal );
- uvIdxW = uvIdx + ( sourceX >> 1 );
-
- ay = y[ hTimesW + sourceX ];
- cb = u[ uvIdxW ] - 128;
- cr = v[ uvIdxW ] - 128;
-
- greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 32 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 36 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 40 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 28 )
- ) >> 16;
-
- red = ay + cr;
- green = ay - greenCbCr;
- blue = ay + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- s |= ( ( green | ( red << 4 ) ) << 4 | blue ) << 16;
-
- *d++ = s;
- }
- }
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess4K(): for <<"), RThread().Id().operator TUint()));
-
- iDestination->UnlockHeap();
- }
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess4K() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::DoProcess4KNoScale()
-// When vertical and horizontal scaling is not required we can do two vertical
-// lines in parallel in that case we need to calculate Cr and Cb values only
-// once for four pixels.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVPlanarFbsBitmapConverter::DoProcess4KNoScale()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess4KNoScale() >>"), RThread().Id().operator TUint()));
-
- TInt height( SourceSize().iHeight >> 1 );
- TInt width( SourceSize().iWidth );
-
- const TUint32* y1 = reinterpret_cast< const TUint32* >( iY );
- const TUint32* u = reinterpret_cast< const TUint32* >( iU );
- const TUint32* v = reinterpret_cast< const TUint32* >( iV );
-
- iDestination->LockHeap();
-
- TUint32 uintsPerDestRow = CFbsBitmap::ScanLineLength
- ( DestinationSize().iWidth, EColor4K ) >> 2;
-
- TUint32* d1 = iDestination->DataAddress();
-
- TUint32 ywidth = width >> 2;
-
- width >>= 3;
-
- TInt32 cb;
- TInt32 cr;
- TInt32 greenCbCr;
- TInt32 yy;
- TInt32 red;
- TInt32 green;
- TInt32 blue;
- TUint32 r1;
- const TUint8* clip = COFF_TBL_4K + 40;
-
- for( TInt y = 0; y < height; y++ )
- {
- for( TInt x = 0; x < width; x++ )
- {
- TUint32 u1 = *u++;
- TUint32 v1 = *v++;
-
- for( TInt c2 = 0; c2 < 2; c2++ )
- {
- TUint32 yy2 = y1[ ywidth ];
- TUint32 yy1 = *y1++;
-
- for( TInt c = 0; c < 2; c++ )
- {
- cb = TInt32( u1 & 0xff ) - 128;
- u1 >>= 8;
- cr = TInt32( v1 & 0xff ) - 128;
- v1 >>= 8;
-
- greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 32 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 36 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 40 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 28 )
- ) >> 16;
-
- // lower left
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- r1 = green | ( red << 4 );
- r1 = blue | ( r1 << 4 );
-
- // lower right
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- r1 |= ( ( green | ( red << 4 ) ) << 4 | blue ) << 16;
-
- d1[ uintsPerDestRow ] = r1;
-
- // upper left
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- r1 = green | ( red << 4 );
- r1 = blue | ( r1 << 4 );
-
- // upper right
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 4 ];
- green = clip[ green >> 4 ];
- blue = clip[ blue >> 4 ];
-
- // RGB_444
- r1 |= ( ( green | ( red << 4 ) ) << 4 | blue ) << 16;
-
- *d1++ = r1;
- }
- }
- }
-
- y1 += ( width << 1 );
- d1 += uintsPerDestRow;
- }
-
- iDestination->UnlockHeap();
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess4KNoScale() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::DoProcess64K()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVPlanarFbsBitmapConverter::DoProcess64K()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess64K() >>"), RThread().Id().operator TUint()));
-
- // Vertical scaling needed?
- if( ( iVSkipReal == 1 ) && ( iHSkipReal == 1 ) ) // !!!
- {
- // NO: Use really fast conversion
- DoProcess64KNoScale();
- return;
- }
- else
- {
- // YES: Use slower conversion method
- const TUint8* y = iY;
- const TUint8* u = iU;
- const TUint8* v = iV;
- const TUint8* clip = COFF_TBL_64K + 40;
-
- TInt height = DestinationSize().iHeight;
- TInt width = DestinationSize().iWidth;
-
- iDestination->LockHeap();
- TUint32* d = iDestination->DataAddress();
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess64K(): [%d, %d] for >>"), RThread().Id().operator TUint(), width, height ));
-
- for( TInt h = 0; h < height; h++ )
- {
- TInt sourceY = TInt( TReal32( h ) * iVSkipReal );
- TInt hTimesW = sourceY * SourceSize().iWidth;
- TInt uvIdx = ( sourceY >> 1 ) * ( SourceSize().iWidth >> 1 );
- for( TInt w = 0; w < width; w++ )
- {
- TInt sourceX = TInt( TReal32( w ) * iHSkipReal );
-
- TInt uvIdxW( uvIdx + ( sourceX >> 1 ) );
-
- TInt ay = y[ hTimesW + sourceX ];
- TInt cb = u[ uvIdxW ] - 128;
- TInt cr = v[ uvIdxW ] - 128;
-
- TInt greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 32 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 36 ) -
- 0x1200000
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 40 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 28 )
- ) >> 16;
-
- TInt red = ay + cr;
- TInt green = ay - greenCbCr;
- TInt blue = ay + cb;
-
- red = clip[ red >> 3 ];
- green = clip[ green >> 2 ];
- blue = clip[ blue >> 3 ];
-
- // RGB_565
- TUint32 s = green | ( red << 6 );
- s = blue | ( s << 5 );
-
- w++;
- sourceX = TInt( TReal32( w ) * iHSkipReal );
-
- uvIdxW = uvIdx + ( sourceX >> 1 );
-
- ay = y[ hTimesW + sourceX ];
- cb = u[ uvIdxW ] - 128;
- cr = v[ uvIdxW ] - 128;
-
- greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 32 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 36 ) -
- 0x1200000
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 40 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 28 )
- ) >> 16;
-
- red = ay + cr;
- green = ay - greenCbCr;
- blue = ay + cb;
-
- red = clip[ red >> 3 ];
- green = clip[ green >> 2 ];
- blue = clip[ blue >> 3 ];
-
- s |= ( ( green | ( red << 6 ) ) << 5 | blue ) << 16;
-
- *d++ = s;
- }
- }
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess64K(): for <<"), RThread().Id().operator TUint()));
-
- iDestination->UnlockHeap();
- }
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess64K() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::DoProcess64KNoScale()
-// Source YUV image must be even divisible by 8.
-// -----------------------------------------------------------------------------
-//
-void CVTYUVPlanarFbsBitmapConverter::DoProcess64KNoScale()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess64KNoScale() >>"), RThread().Id().operator TUint()));
-
- TInt height( SourceSize().iHeight >> 1 );
- TInt width( SourceSize().iWidth );
-
- const TUint32* y1 = reinterpret_cast< const TUint32* >( iY );
- const TUint32* u = reinterpret_cast< const TUint32* >( iU );
- const TUint32* v = reinterpret_cast< const TUint32* >( iV );
-
- iDestination->LockHeap();
-
- TUint32 uintsPerDestRow = CFbsBitmap::ScanLineLength
- ( DestinationSize().iWidth, EColor64K ) >> 2;
-
- TUint32* d1 = iDestination->DataAddress();
-
- TUint32 ywidth = width >> 2;
-
- width >>= 3;
-
- TInt32 cb;
- TInt32 cr;
- TInt32 greenCbCr;
- TInt32 yy;
- TInt32 red;
- TInt32 green;
- TInt32 blue;
- TUint32 r1;
- const TUint8* clip = COFF_TBL_64K + 40;
-
- for( TInt y = 0; y < height; y++ )
- {
- for( TInt x = 0; x < width; x++ )
- {
- TUint32 u1 = *u++;
- TUint32 v1 = *v++;
-
- for( TInt c2 = 0; c2 < 2; c2++ )
- {
- TUint32 yy2 = y1[ ywidth ];
- TUint32 yy1 = *y1++;
-
- for( TInt c = 0; c < 2; c++ )
- {
- cb = TInt32( u1 & 0xff ) - 128;
- u1 >>= 8;
- cr = TInt32( v1 & 0xff ) - 128;
- v1 >>= 8;
-
- greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 32 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 36 ) -
- 0x1200000
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 40 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 28 )
- ) >> 16;
-
- // lower left
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 3 ];
- green = clip[ green >> 2 ];
- blue = clip[ blue >> 3 ];
-
- // RGB_565
- r1 = green | ( red << 6 );
- r1 = blue | ( r1 << 5 );
-
- // lower right
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- // clear lowest 3 bits
- red = clip[ red >> 3 ];
- green = clip[ green >> 2 ];
- blue = clip[ blue >> 3 ];
-
- // RGB_565
- r1 |= ( ( green | ( red << 6 ) ) << 5 | blue ) << 16;
-
- d1[ uintsPerDestRow ] = r1;
-
- // upper left
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 3 ];
- green = clip[ green >> 2 ];
- blue = clip[ blue >> 3 ];
-
- // RGB_565
- r1 = green | ( red << 6 );
- r1 = blue | ( r1 << 5 );
-
- // upper right
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- red = yy + cr;
- green = yy - greenCbCr;
- blue = yy + cb;
-
- red = clip[ red >> 3 ];
- green = clip[ green >> 2 ];
- blue = clip[ blue >> 3 ];
-
- // RGB_565
- r1 |= ( ( green | ( red << 6 ) ) << 5 | blue ) << 16;
-
- *d1++ = r1;
- }
- }
- }
-
- y1 += ( width << 1 );
- d1 += uintsPerDestRow;
- }
-
- iDestination->UnlockHeap();
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess64KNoScale() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::DoProcess16M()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVPlanarFbsBitmapConverter::DoProcess16M()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16M() >>"), RThread().Id().operator TUint()));
-
- // Vertical scaling needed?
- if( ( iVSkipReal == 1 ) && ( iHSkipReal == 1 ) )
- {
- // NO: Use really fast conversion
- DoProcess16MNoScale();
- }
- else
- {
- // YES: Use slower conversion method
-
- // YES: Use slower conversion method
- const TUint8* y = iY;
- const TUint8* u = iU;
- const TUint8* v = iV;
- const TUint8* clip = COFF_TBL_16M + 144;
-
- TInt height = DestinationSize().iHeight;
- TInt width = DestinationSize().iWidth;
-
- iDestination->LockHeap();
-
- TUint8* d = reinterpret_cast<TUint8*>( iDestination->DataAddress() );
- TUint32 dPitch = iDestination->ScanLineLength( width, iDestination->DisplayMode() );
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16M(): [%d, %d] for >>"), RThread().Id().operator TUint(), width, height ));
-
- for( TInt h = 0; h < height; h++ )
- {
- TInt sourceY = TInt( TReal32( h ) * iVSkipReal );
- TInt hTimesW = sourceY * SourceSize().iWidth;
- TInt uvIdx = ( sourceY >> 1 ) * ( SourceSize().iWidth >> 1 );
- TUint8* dTemp = d;
- for( TInt w = 0; w < width; w++ )
- {
- TInt sourceX = TInt( TReal32( w ) * iHSkipReal );
-
- TInt uvIdxW( uvIdx + ( sourceX >> 1 ) );
-
- TInt ay = y[ hTimesW + sourceX ];
- TInt cb = u[ uvIdxW ] - 128;
- TInt cr = v[ uvIdxW ] - 128;
-
- TInt greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 136 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 140 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 144 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 132 )
- ) >> 16;
-
- *dTemp++ = clip[ ay + cb ];
- *dTemp++ = clip[ ay - greenCbCr ];
- *dTemp++ = clip[ ay + cr ];
- }
- d += dPitch;
- }
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16M(): for <<"), RThread().Id().operator TUint()));
-
- iDestination->UnlockHeap();
- }
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16M() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::DoProcess16MNoScale()
-// When vertical and horizontal scaling is not required we can do two vertical
-// lines in parallel in that case we need to calculate Cr and Cb values only
-// once for four pixels.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVPlanarFbsBitmapConverter::DoProcess16MNoScale()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16MNoScale() >>"), RThread().Id().operator TUint()));
-
- TInt height( SourceSize().iHeight >> 1 );
- TInt width( SourceSize().iWidth );
-
- const TUint32* y1 = reinterpret_cast< const TUint32* >( iY );
- const TUint32* u = reinterpret_cast< const TUint32* >( iU );
- const TUint32* v = reinterpret_cast< const TUint32* >( iV );
-
- iDestination->LockHeap();
-
- TUint32 bytesPerDestRow = CFbsBitmap::ScanLineLength
- ( DestinationSize().iWidth, EColor16M );
-
- TUint8* d1 = reinterpret_cast< TUint8* >( iDestination->DataAddress() );
-
- TUint32 ywidth = width >> 2;
-
- width >>= 3;
-
- TInt32 cb;
- TInt32 cr;
- TInt32 greenCbCr;
- TInt32 yy;
- TInt32 idx1;
- TInt32 idx2;
- const TUint8* clip = COFF_TBL_16M + 144;
-
- for( TInt y = 0; y < height; y++ )
- {
- idx1 = 0;
- idx2 = bytesPerDestRow;
-
- for( TInt x = 0; x < width; x++ )
- {
- TUint32 u1 = *u++;
- TUint32 v1 = *v++;
-
- for( TInt c2 = 0; c2 < 2; c2++ )
- {
- TUint32 yy2 = y1[ ywidth ];
- TUint32 yy1 = *y1++;
-
- for( TInt c = 0; c < 2; c++ )
- {
- cb = TInt32( u1 & 0xff ) - 128;
- u1 >>= 8;
- cr = TInt32( v1 & 0xff ) - 128;
- v1 >>= 8;
-
- greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 136 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 140 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 144 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 132 )
- ) >> 16;
-
- // lower left
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- d1[ idx2++ ] = clip[ yy + cb ];
- d1[ idx2++ ] = clip[ yy - greenCbCr ];
- d1[ idx2++ ] = clip[ yy + cr ];
-
- // lower right
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- d1[ idx2++ ] = clip[ yy + cb ];
- d1[ idx2++ ] = clip[ yy - greenCbCr ];
- d1[ idx2++ ] = clip[ yy + cr ];
-
- // upper left
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- d1[ idx1++ ] = clip[ yy + cb ];
- d1[ idx1++ ] = clip[ yy - greenCbCr ];
- d1[ idx1++ ] = clip[ yy + cr ];
-
- // upper right
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- d1[ idx1++ ] = clip[ yy + cb ];
- d1[ idx1++ ] = clip[ yy - greenCbCr ];
- d1[ idx1++ ] = clip[ yy + cr ];
- }
- }
- }
-
- y1 += ( width << 1 );
- d1 += bytesPerDestRow * 2;
- }
-
- iDestination->UnlockHeap();
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16MNoScale() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MA()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MA()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MA() >>"), RThread().Id().operator TUint()));
-
- // Vertical scaling needed?
- if( ( iVSkipReal == 1 ) && ( iHSkipReal == 1 ) )
- {
- // NO: Use really fast conversion
- DoProcess16MU16MANoScale();
- }
- else
- {
- // YES: Use slower conversion method
- const TUint8* y = iY;
- const TUint8* u = iU;
- const TUint8* v = iV;
- const TUint8* clip = COFF_TBL_16M + 144;
-
- TInt height = DestinationSize().iHeight;
- TInt width = DestinationSize().iWidth;
-
- iDestination->LockHeap();
- TUint32* d = iDestination->DataAddress();
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MA(): [%d, %d] for >>"), RThread().Id().operator TUint(), width, height ));
-
- for( TInt h = 0; h < height; h++ )
- {
- TInt sourceY = TInt( TReal32( h ) * iVSkipReal );
- TInt hTimesW = sourceY * SourceSize().iWidth;
- TInt uvIdx = ( sourceY >> 1 ) * ( SourceSize().iWidth >> 1 );
- for( TInt w = 0; w < width; w++ )
- {
- TInt sourceX = TInt( TReal32( w ) * iHSkipReal );
-
- TInt uvIdxW( uvIdx + ( sourceX >> 1 ) );
-
- TInt ay = y[ hTimesW + sourceX ];
- TInt cb = u[ uvIdxW ] - 128;
- TInt cr = v[ uvIdxW ] - 128;
-
- TInt greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 136 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 140 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 144 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 132 )
- ) >> 16;
-
-
- // 0xffBBGG
- TUint32 p = 0xff0000 |
- ( clip[ ay + cr ] << 8 ) | clip[ ay - greenCbCr ];
- // 0xffBBGGRR
- *d++ = clip[ ay + cb ] | ( p << 8 );
- }
- }
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MA(): for <<"), RThread().Id().operator TUint()));
-
- iDestination->UnlockHeap();
- }
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MA() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MANoScale()
-// When vertical and horizontal scaling is not required we can do two vertical
-// lines in parallel in that case we need to calculate Cr and Cb values only
-// once for four pixels.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MANoScale()
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MANoScale() >>"), RThread().Id().operator TUint()));
-
- TInt height( SourceSize().iHeight >> 1 );
- TInt width( SourceSize().iWidth );
-
- const TUint32* y1 = reinterpret_cast< const TUint32* >( iY );
- const TUint32* u = reinterpret_cast< const TUint32* >( iU );
- const TUint32* v = reinterpret_cast< const TUint32* >( iV );
-
- iDestination->LockHeap();
-
- TUint32 uintsPerDestRow = CFbsBitmap::ScanLineLength
- ( DestinationSize().iWidth, EColor16MU ) >> 2;
-
- TUint32* d1 = iDestination->DataAddress();
-
- TUint32 ywidth = width >> 2;
-
- width >>= 3;
-
- TInt32 cb;
- TInt32 cr;
- TInt32 greenCbCr;
- TInt32 yy;
- TUint32 p;
- const TUint8* clip = COFF_TBL_16M + 144;
-
- for( TInt y = 0; y < height; y++ )
- {
- for( TInt x = 0; x < width; x++ )
- {
- TUint32 u1 = *u++;
- TUint32 v1 = *v++;
-
- for( TInt c2 = 0; c2 < 2; c2++ )
- {
- TUint32 yy2 = y1[ ywidth ];
- TUint32 yy1 = *y1++;
-
- for( TInt c = 0; c < 2; c++ )
- {
- cb = TInt32( u1 & 0xff ) - 128;
- u1 >>= 8;
- cr = TInt32( v1 & 0xff ) - 128;
- v1 >>= 8;
-
- greenCbCr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 136 ) +
- cb * *reinterpret_cast< const TInt32* >( clip - 140 )
- ) >> 16;
- cr =
- (
- cr * *reinterpret_cast< const TInt32* >( clip - 144 )
- ) >> 16;
- cb =
- (
- cb * *reinterpret_cast< const TInt32* >( clip - 132 )
- ) >> 16;
-
- // lower left
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- // 0xffBBGG
- p = 0xff0000 |
- ( clip[ yy + cr ] << 8 ) | clip[ yy - greenCbCr ];
- // 0xffBBGGRR
- d1[ uintsPerDestRow ] = clip[ yy + cb ] | ( p << 8 );
-
- // lower right
- yy = ( yy2 & 0xff );
- yy2 >>= 8;
-
- // 0xffBBGG
- p = 0xff0000 |
- ( clip[ yy + cr ] << 8 ) | clip[ yy - greenCbCr ];
- // 0xffBBGGRR
- d1[ uintsPerDestRow + 1 ] = clip[ yy + cb ] | ( p << 8 );
-
- // upper left
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- // 0xffBBGG
- p = 0xff0000 |
- ( clip[ yy + cr ] << 8 ) | clip[ yy - greenCbCr ];
- // 0xffBBGGRR
- *d1++ = clip[ yy + cb ] | ( p << 8 );
-
- // upper right
- yy = ( yy1 & 0xff );
- yy1 >>= 8;
-
- // 0xffBBGG
- p = 0xff0000 |
- ( clip[ yy + cr ] << 8 ) | clip[ yy - greenCbCr ];
- // 0xffBBGGRR
- *d1++ = clip[ yy + cb ] | ( p << 8 );
- }
- }
- }
-
- y1 += ( width << 1 );
- d1 += uintsPerDestRow;
- }
-
- iDestination->UnlockHeap();
-
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYUVPlanarFbsBitmapConverter::DoProcess16MU16MANoScale() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVTYUVPlanarFbsBitmapConverter::SetSourceL( const TDesC8& aSourceData )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVTYUVPlanarFbsBitmapConverter::SetSourceL(
- const TDesC8& aSourceData )
- {
- // make sure dimension and buffer size match
- if( aSourceData.Length() !=
- ( ( SourceSize().iWidth * SourceSize().iHeight * 12 ) / 8 ) )
- {
- User::Leave( KErrArgument );
- }
- SetYUVPtrs( aSourceData );
- }
-
-// ============================ CVTIYUVFbsBitmapConverter ===============================
-
-// -----------------------------------------------------------------------------
-// CVTIYUVFbsBitmapConverter::NewL( const TSize& aSourceSize,
-// const CFbsBitmap& aDestinationBitmap )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVTIYUVFbsBitmapConverter* CVTIYUVFbsBitmapConverter::NewL(
- const TSize& aSourceSize,
- const CFbsBitmap& aDestinationBitmap )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTIYUVFbsBitmapConverter::NewL() >>"), RThread().Id().operator TUint()));
- CVTIYUVFbsBitmapConverter* self = NewL(
- aSourceSize, aDestinationBitmap.Handle() );
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTIYUVFbsBitmapConverter::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVTIYUVFbsBitmapConverter::NewL( const TSize& aSourceSize,
-// TInt aBitmapHandle )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVTIYUVFbsBitmapConverter* CVTIYUVFbsBitmapConverter::NewL(
- const TSize& aSourceSize,
- TInt aBitmapHandle )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTIYUVFbsBitmapConverter::NewL() >>"), RThread().Id().operator TUint()));
- CVTIYUVFbsBitmapConverter* self = new (ELeave)
- CVTIYUVFbsBitmapConverter( aSourceSize );
- CleanupStack::PushL( self );
- self->ConstructL( aBitmapHandle );
- CleanupStack::Pop(); // self
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTIYUVFbsBitmapConverter::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVTIYUVFbsBitmapConverter::SetYUVPtrs( const TDesC8& aSourceData )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTIYUVFbsBitmapConverter::SetYUVPtrs( const TDesC8& aSourceData )
- {
- TInt ySize = SourceSize().iWidth * SourceSize().iHeight;
- TInt ySizeDiv4 = ( ySize >> 2 );
- iY = aSourceData.Mid( 0, ySize ).Ptr();
- iU = aSourceData.Mid( ySize, ySizeDiv4 ).Ptr();
- iV = aSourceData.Mid( ySize + ySizeDiv4, ySizeDiv4 ).Ptr();
- }
-
-// -----------------------------------------------------------------------------
-// CVTIYUVFbsBitmapConverter::CVTIYUVFbsBitmapConverter( const TSize&
-// aSourceSize )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CVTIYUVFbsBitmapConverter::CVTIYUVFbsBitmapConverter( const TSize& aSourceSize )
-: CVTYUVPlanarFbsBitmapConverter( aSourceSize )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTIYUVFbsBitmapConverter::CVTIYUVFbsBitmapConverter() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTIYUVFbsBitmapConverter::CVTIYUVFbsBitmapConverter() <<"), RThread().Id().operator TUint()));
- }
-
-// ============================ CVTYV12FbsBitmapConverter ===============================
-
-// -----------------------------------------------------------------------------
-// CVTYV12FbsBitmapConverter::NewL( const TSize& aSourceSize,
-// const CFbsBitmap& aDestinationBitmap )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVTYV12FbsBitmapConverter* CVTYV12FbsBitmapConverter::NewL(
- const TSize& aSourceSize,
- const CFbsBitmap& aDestinationBitmap )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYV12FbsBitmapConverter::NewL() >>"), RThread().Id().operator TUint()));
- CVTYV12FbsBitmapConverter* self = NewL(
- aSourceSize, aDestinationBitmap.Handle() );
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYV12FbsBitmapConverter::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVTYV12FbsBitmapConverter::NewL( const TSize& aSourceSize,
-// TInt aBitmapHandle )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVTYV12FbsBitmapConverter* CVTYV12FbsBitmapConverter::NewL(
- const TSize& aSourceSize,
- TInt aBitmapHandle )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYV12FbsBitmapConverter::NewL() >>"), RThread().Id().operator TUint()));
- CVTYV12FbsBitmapConverter* self = new (ELeave)
- CVTYV12FbsBitmapConverter( aSourceSize );
- CleanupStack::PushL( self );
- self->ConstructL( aBitmapHandle );
- CleanupStack::Pop(); // self
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYV12FbsBitmapConverter::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVTYV12FbsBitmapConverter::SetYUVPtrs( const TDesC8& aSourceData )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVTYV12FbsBitmapConverter::SetYUVPtrs( const TDesC8& aSourceData )
- {
- TInt ySize = SourceSize().iWidth * SourceSize().iHeight;
- TInt ySizeDiv4 = ( ySize >> 2 );
- iY = aSourceData.Mid( 0, ySize ).Ptr();
- iV = aSourceData.Mid( ySize, ySizeDiv4 ).Ptr();
- iU = aSourceData.Mid( ySize + ySizeDiv4, ySizeDiv4 ).Ptr();
- }
-
-// -----------------------------------------------------------------------------
-// CVTYV12FbsBitmapConverter::CVTYV12FbsBitmapConverter(
-// const TSize& aSourceSize )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CVTYV12FbsBitmapConverter::CVTYV12FbsBitmapConverter( const TSize& aSourceSize )
-: CVTYUVPlanarFbsBitmapConverter( aSourceSize )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYV12FbsBitmapConverter::CVTYV12FbsBitmapConverter() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVTYV12FbsBitmapConverter::CVTYV12FbsBitmapConverter() <<"), RThread().Id().operator TUint()));
- }
-
-// ============================ CVSFbsBitmapIYUVConverter ===============================
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::CVSFbsBitmapIYUVConverter()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CVSFbsBitmapIYUVConverter::CVSFbsBitmapIYUVConverter()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::NewL( const CFbsBitmap& aBitmap )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSFbsBitmapIYUVConverter* CVSFbsBitmapIYUVConverter::NewL(
- const CFbsBitmap& aBitmap )
- {
- CVSFbsBitmapIYUVConverter* self = new (ELeave) CVSFbsBitmapIYUVConverter();
- CleanupStack::PushL( self );
- self->ConstructL( aBitmap );
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::~CVSFbsBitmapIYUVConverter()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSFbsBitmapIYUVConverter::~CVSFbsBitmapIYUVConverter()
- {
- delete iSource;
- delete iYUVData;
- }
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::SetSourceL( const CFbsBitmap& aBitmap )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVSFbsBitmapIYUVConverter::SetSourceL( const CFbsBitmap& aBitmap )
- {
- ReConstructL( aBitmap );
- }
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::ProcessL()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CVSFbsBitmapIYUVConverter::ProcessL()
- {
- switch( iSource->DisplayMode() )
- {
- case EColor4K:
- DoProcess( VSReadColor4K );
- break;
-
- case EColor64K:
- DoProcess( VSReadColor64K );
- break;
-
- case EColor16M:
- DoProcess( VSReadColor16M );
- break;
-
- case EColor16MU:
- DoProcess( VSReadColor16MU );
- break;
-
- case EColor16MA:
- DoProcess( VSReadColor16MA );
- break;
-
- case EColor16MAP:
- DoProcess( VSReadColor16MAP );
- break;
-
- default:
- User::Leave( KErrNotSupported );
- break;
- };
- }
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::YUVData() const
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TPtrC8 CVSFbsBitmapIYUVConverter::YUVData() const
- {
- return *iYUVData;
- }
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::ConstructL( const CFbsBitmap& aBitmap )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVSFbsBitmapIYUVConverter::ConstructL( const CFbsBitmap& aBitmap )
- {
- iSource = new (ELeave) CFbsBitmap();
- ReConstructL( aBitmap );
- }
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::ReConstructL( const CFbsBitmap& aBitmap )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVSFbsBitmapIYUVConverter::ReConstructL( const CFbsBitmap& aBitmap )
- {
- User::LeaveIfError( iSource->Duplicate( aBitmap.Handle() ) );
-
- // make sure that source bitmap's displaymode is supported
- if( ( iSource->DisplayMode() != EColor4K ) &&
- ( iSource->DisplayMode() != EColor64K ) &&
- ( iSource->DisplayMode() != EColor16M ) &&
- ( iSource->DisplayMode() != EColor16MU ) &&
- ( iSource->DisplayMode() != EColor16MA ) &&
- ( iSource->DisplayMode() != EColor16MAP ) )
- {
- User::Leave( KErrNotSupported );
- }
-
- if( !iYUVData || !( iSize == iSource->SizeInPixels() ) )
- {
- iSize = iSource->SizeInPixels();
- delete iYUVData; iYUVData = 0;
- TInt ySize = iSize.iWidth * iSize.iHeight;
- iYUVData = HBufC8::NewMaxL( ySize + ( ySize >> 1 ) );
- iY.Set( iYUVData->Des().Mid( 0, ySize ) );
- iU.Set( iYUVData->Des().Mid( ySize, ySize >> 2 ) );
- iV.Set( iYUVData->Des().Mid( ySize + ( ySize >> 2 ), ySize >> 2 ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVSFbsBitmapIYUVConverter::DoProcess( TVSColorReadFunc aReadFunction )
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVSFbsBitmapIYUVConverter::DoProcess( TVSColorReadFunc aReadFunction )
- {
- TUint8* pY = const_cast<TUint8*>( iY.Ptr() );
- TUint8* pU = const_cast<TUint8*>( iU.Ptr() );
- TUint8* pV = const_cast<TUint8*>( iV.Ptr() );
- TVSYCrCb yuv1, yuv2;
-
- iSource->LockHeap();
- TAny* s = iSource->DataAddress();
- for( TInt h = 0; h < iSize.iHeight; h++ )
- {
- if( h&1 )
- {
- // Note! width must be even divisible by 2
- for( TInt w = 0; w < iSize.iWidth >> 1; w++ )
- {
- *pY++ = RGBtoYCbCr( &yuv1, aReadFunction( s ) );
- *pY++ = RGBtoYCbCr( &yuv2, aReadFunction( s ) );
- *pU++ = static_cast<TUint8>( AVG( yuv1.iCb, yuv2.iCb ) );
- *pV++ = static_cast<TUint8>( AVG( yuv1.iCr, yuv2.iCr ) );
- }
- }
- else
- {
- // Note! width must be even divisible by 2
- for( TInt w = 0; w < iSize.iWidth >> 1; w++ )
- {
- *pY++ = RGBtoYCbCr( &yuv1, aReadFunction( s ) );
- *pY++ = RGBtoYCbCr( &yuv2, aReadFunction( s ) );
- *pU++ = static_cast<TUint8>(
- AVG( *pU, AVG( yuv1.iCb, yuv2.iCb ) ) );
- *pV++ = static_cast<TUint8>(
- AVG( *pV, AVG( yuv1.iCr, yuv2.iCr ) ) );
- }
- // if even row -> decrease pU and pV, we will calculate average for
- // those on odd rows
- pU -= ( iSize.iWidth >> 1 );
- pV -= ( iSize.iWidth >> 1 );
- }
- }
- iSource->UnlockHeap();
- }
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/src/CVtImageIYUV.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageIYUV.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::NewL( TInt aBitmapHandle )
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageIYUV* CVtImageIYUV::NewL( const TSize& aSize )
- {
- CVtImageIYUV* self = new ( ELeave ) CVtImageIYUV( aSize );
- CleanupStack::PushL( self );
- self->ConstructL( 0 );
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::NewL( const TSize& aSize, TDisplayMode aDisplayMode,
-// const TDesC8& aImage )
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageIYUV* CVtImageIYUV::NewL(
- const TSize& aSize,
- const TDesC8& aImage )
- {
- CVtImageIYUV* self = new ( ELeave ) CVtImageIYUV( aSize );
- CleanupStack::PushL( self );
- self->ConstructL( &aImage );
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::NewL( const TSize& aSize, TDisplayMode aDisplayMode,
-// TPtr8& aImage )
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageIYUV* CVtImageIYUV::NewL(
- const TSize& aSize,
- TPtr8& aImage )
- {
- CVtImageIYUV* self = new ( ELeave ) CVtImageIYUV( aSize );
- CleanupStack::PushL( self );
- self->ValidateSizeL( aSize );
- self->SetImageL( aImage ); // No constructor call!
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::~CVtImageIYUV()
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageIYUV::~CVtImageIYUV()
- {
- delete iImage;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::SetImageL( const TDesC8& aImage )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageIYUV::SetImageL( const TDesC8& aImage )
- {
- CheckDescriptorSizeL( aImage );
- if( !iImage )
- {
- ConstructL( &aImage );
- }
- else
- {
- *iImage = aImage;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::SetImageL( TPtr8& aImage )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageIYUV::SetImageL( TPtr8& aImage )
- {
- CheckDescriptorSizeL( aImage );
- delete iImage; iImage = 0;
- iPtrImage.Set( aImage );
- SetYUVPointers();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::Image() const
-// -----------------------------------------------------------------------------
-EXPORT_C TPtrC8 CVtImageIYUV::Image() const
- {
- return iPtrImage;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::Y() const
-// -----------------------------------------------------------------------------
-EXPORT_C TUint8* CVtImageIYUV::Y() const
- {
- return iY;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::U() const
-// -----------------------------------------------------------------------------
-EXPORT_C TUint8* CVtImageIYUV::U() const
- {
- return iU;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::V() const
-// -----------------------------------------------------------------------------
-EXPORT_C TUint8* CVtImageIYUV::V() const
- {
- return iV;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::UVPlaneWidth() const
-// -----------------------------------------------------------------------------
-EXPORT_C TInt CVtImageIYUV::UVPlaneWidth() const
- {
- return iSize.iWidth / 2;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::UVPlaneHeight() const
-// -----------------------------------------------------------------------------
-EXPORT_C TInt CVtImageIYUV::UVPlaneHeight() const
- {
- return iSize.iHeight / 2;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::NeedHeapLock() const
-// -----------------------------------------------------------------------------
-TBool CVtImageIYUV::NeedHeapLock() const
- {
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::DisplayMode() const
-// -----------------------------------------------------------------------------
-CVtImage::TVtDisplayMode CVtImageIYUV::DisplayMode() const
- {
- return CVtImage::EVtColorIYUV;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::Size() const
-// -----------------------------------------------------------------------------
-TSize CVtImageIYUV::Size() const
- {
- return iSize;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::BytesPerRow() const
-// -----------------------------------------------------------------------------
-TInt CVtImageIYUV::BytesPerRow() const
- {
- return iSize.iWidth;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::DataAddress() const
-// -----------------------------------------------------------------------------
-TUint32* CVtImageIYUV::DataAddress() const
- {
- return reinterpret_cast< TUint32* >( iY );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::LineAddress( TInt aLine ) const
-// -----------------------------------------------------------------------------
-TUint32* CVtImageIYUV::LineAddress( TInt aLine ) const
- {
- if( aLine < 0 )
- {
- aLine = 0;
- }
- else if( aLine > Size().iHeight - 1 )
- {
- aLine = Size().iHeight - 1;
- }
- return reinterpret_cast< TUint32* >(
- reinterpret_cast< TUint8* >( DataAddress() ) + BytesPerRow() * aLine );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::ImageSize() const
-// -----------------------------------------------------------------------------
-TInt CVtImageIYUV::ImageSize() const
- {
- return UVPlaneWidth() * UVPlaneHeight() * 2 + BytesPerRow() * iSize.iHeight;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::CVtImageIYUV( const TSize& aSize )
-// -----------------------------------------------------------------------------
-CVtImageIYUV::CVtImageIYUV( const TSize& aSize )
-: CVtImage( CVtImage::EVtImageIYUV ), iSize( aSize ), iPtrImage( 0, 0 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::ConstructL( const TDesC8* aImage )
-// -----------------------------------------------------------------------------
-void CVtImageIYUV::ConstructL( const TDesC8* aImage )
- {
- ValidateSizeL( iSize );
- if( !aImage )
- {
- // empty image
- TInt size( ImageSize() );
- iImage = HBufC8::NewL( size );
- iImage->Des().SetLength( size );
- }
- else
- {
- // prefilled image
- CheckDescriptorSizeL( *aImage );
- iImage = aImage->AllocL();
- }
- // set ptr descriptor
- iPtrImage.Set( iImage->Des() );
- // set YUV pointers
- SetYUVPointers();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::ValidateSizeL( const TSize& aSize )
-// -----------------------------------------------------------------------------
-void CVtImageIYUV::ValidateSizeL( const TSize& aSize )
- {
- if( ( aSize.iWidth & 1 ) || ( aSize.iHeight & 1 ) )
- {
- User::Leave( KErrNotSupported );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::CheckDescriptorSizeL( const TDesC8& aImage )
-// -----------------------------------------------------------------------------
-void CVtImageIYUV::CheckDescriptorSizeL( const TDesC8& aImage )
- {
- if( aImage.Size() != ImageSize() )
- {
- User::Leave( KErrArgument );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageIYUV::SetYUVPointers()
-// -----------------------------------------------------------------------------
-void CVtImageIYUV::SetYUVPointers()
- {
- iY = const_cast< TUint8* >( iPtrImage.Ptr() );
- iU = iY + BytesPerRow() * iSize.iHeight;
- iV = iU + UVPlaneWidth() * UVPlaneHeight();
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageRotator.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "cvtimagerotator.h"
-#include "CVtImageRotatorImplMirrorFlip.h"
-#include "CVtImageRotatorImplClockwise.h"
-
-// CONSTANTS
-
-_LIT( KModuleName, "CVtImageRotator" );
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::NewL( MVtImageRotatorObserver& aObserver,
-// TPriority aPriority )
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageRotator* CVtImageRotator::NewL(
- MVtImageRotatorObserver& aObserver,
- TPriority aPriority)
- {
- CVtImageRotator* self = new ( ELeave ) CVtImageRotator( aObserver, aPriority );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::~CVtImageRotator()
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageRotator::~CVtImageRotator()
- {
- Cancel();
- delete iAsyncCallBack;
- delete iHeapLock;
- delete iRotatorImpl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::ScaleL( const CVtImage& aSource,
-// CVtImage& aTarget, const TRotationAngle& aAngle )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageRotator::RotateL( const CVtImage& aSource,
- CVtImage& aTarget, const TRotationAngle& aAngle )
- {
- if ( !IsActive() )
- {
- CreateRotatorL( aAngle );
- iRotatorImpl->SetSourceTargetL( aSource, aTarget );
- iCancelled = EFalse;
- Activate();
- iAsyncCallBack->CallBack();
- }
- else
- {
- User::Panic( KModuleName(), EBusy );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::Rotate
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageRotator::Rotate(
- const CVtImage& aSource,
- CVtImage& aTarget, const TRotationAngle& aAngle )
- {
- TRAPD( result, RotateL( aSource, aTarget, aAngle ) );
- if ( result != KErrNone )
- {
- Activate();
- Signal( result );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::CVtImageRotator( MVtImageRotatorObserver& aObserver,
-// TPriority aPriority )
-// -----------------------------------------------------------------------------
-CVtImageRotator::CVtImageRotator( MVtImageRotatorObserver& aObserver,
- TPriority aPriority )
-: CActive( aPriority ), iObserver( aObserver )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::ConstructL()
-// -----------------------------------------------------------------------------
-void CVtImageRotator::ConstructL()
- {
- iHeapLock = new ( ELeave ) CFbsBitmap();
- iHeapLock->Create( TSize( 1, 1 ), EColor256 );
- iAsyncCallBack = new ( ELeave )
- CAsyncCallBack( TCallBack( StaticRotate, this ), Priority() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::CreateRotatorL( const TRotationAngle& aAngle )
-// -----------------------------------------------------------------------------
-void CVtImageRotator::CreateRotatorL( const TRotationAngle& aAngle )
- {
- if( iRotatorImpl )
- {
- if( iRotatorImpl->SupportsRotationAngle( aAngle ) )
- {
- iRotatorImpl->SetAngle( aAngle );
- return;
- }
- delete iRotatorImpl;
- iRotatorImpl = 0;
- }
-
- switch( aAngle )
- {
- case E90DegreesClockwise:
- case E270DegreesClockwise:
- iRotatorImpl =
- new ( ELeave ) CVtImageRotatorImplClockwise( aAngle );
- break;
-
- case EMirrorHorizontalAxis:
- case EFlipVerticalAxis:
- case E180DegreesClockwise:
- iRotatorImpl =
- new ( ELeave ) CVtImageRotatorImplMirrorFlip( aAngle );
- break;
-
- default:
- User::Leave( KErrNotSupported );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::Activate
-// -----------------------------------------------------------------------------
-void CVtImageRotator::Activate()
- {
- iStatus = KRequestPending;
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::Signal( TInt aError )
-// -----------------------------------------------------------------------------
-void CVtImageRotator::Signal( TInt aError )
- {
- TRequestStatus* pStatus = &iStatus;
- User::RequestComplete( pStatus, aError );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::RunL()
-// -----------------------------------------------------------------------------
-void CVtImageRotator::RunL()
- {
- iObserver.RotationFinished( iStatus.Int() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::DoCancel()
-// -----------------------------------------------------------------------------
-void CVtImageRotator::DoCancel()
- {
- if ( iStatus == KRequestPending )
- {
- iCancelled = ETrue;
- Signal( KErrCancel );
- iObserver.RotationFinished( KErrCancel );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::StaticRotate()
-// -----------------------------------------------------------------------------
-TInt CVtImageRotator::StaticRotate( TAny* aPtr )
- {
- CVtImageRotator* self = reinterpret_cast< CVtImageRotator* >( aPtr );
- self->DoRotate();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotator::DoRotate
-// -----------------------------------------------------------------------------
-void CVtImageRotator::DoRotate()
- {
- if ( !iCancelled )
- {
- TBool more;
- TBool needsLock = iRotatorImpl->NeedHeapLock();
- if( needsLock )
- {
- iHeapLock->LockHeap( ETrue );
- }
- TInt result = iRotatorImpl->Rotate( more );
- if( needsLock )
- {
- iHeapLock->UnlockHeap( ETrue );
- }
- if( !more || ( result != KErrNone ) )
- {
- Signal( result );
- }
- else
- {
- iAsyncCallBack->CallBack();
- }
- }
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageRotatorImpl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageRotatorImpl.h"
-#include "cvtimage.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ========================== CVtImageRotatorImpl ==============================
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImpl::SetSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImpl::SetSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
- iSource = iTarget = 0;
- ValidateSourceTargetL( aSource, aTarget );
- iSource = &aSource;
- iTarget = &aTarget;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImpl::NeedHeapLock() const
-// -----------------------------------------------------------------------------
-TBool CVtImageRotatorImpl::NeedHeapLock() const
- {
- return iSource->NeedHeapLock() || iTarget->NeedHeapLock();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImpl::SetAngle(
-// const CVtImageRotator::TRotationAngle& aAngle )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImpl::SetAngle( const CVtImageRotator::TRotationAngle& aAngle )
- {
- iAngle = aAngle;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImpl::CVtImageRotatorImpl(
-// const CVtImageRotator::TRotationAngle& aAngle )
-// -----------------------------------------------------------------------------
-CVtImageRotatorImpl::CVtImageRotatorImpl( const CVtImageRotator::TRotationAngle& aAngle )
-: iAngle( aAngle )
- {
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageRotatorImplClockwise.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,372 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageRotatorImplClockwise.h"
-#include "cvtimage.h"
-#include "CVtImageIYUV.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ======================= CVtImageRotatorImplClockwise =======================
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplClockwise::CVtImageRotatorImplClockwise(
-// const CVtImageRotator::TRotationAngle& aAngle )
-// -----------------------------------------------------------------------------
-CVtImageRotatorImplClockwise::CVtImageRotatorImplClockwise(
- const CVtImageRotator::TRotationAngle& aAngle ) : CVtImageRotatorImpl( aAngle )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplClockwise::Rotate( TBool& aContinue )
-// -----------------------------------------------------------------------------
-TInt CVtImageRotatorImplClockwise::Rotate( TBool& aContinue )
- {
- __IF_DEBUG( Print( _L( "ImageRotator [%d]: CVtImageRotatorImplClockwise::Rotate() >>" ), RThread().Id().operator TUint() ) );
-
- TInt result( KErrNone );
-
- aContinue = EFalse;
-
- DoRotate();
-
- __IF_DEBUG( Print( _L( "ImageRotator [%d]: CVtImageRotatorImplClockwise::Rotate() <<" ), RThread().Id().operator TUint() ) );
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplClockwise::ValidateSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplClockwise::ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
- // SourceWidth == TargetHeight && SourceHeight == TargetWidth
- if( ( aSource.Size().iWidth != aTarget.Size().iHeight ) ||
- ( aSource.Size().iHeight != aTarget.Size().iWidth ) )
- {
- User::Leave( KErrNotSupported );
- }
-
- // Displaymodes must match
- if( aSource.DisplayMode() != aTarget.DisplayMode() )
- {
- User::Leave( KErrNotSupported );
- }
-
- // Check that displaymode is one of the supported
- switch( aSource.DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- case CVtImage::EVtColor16M:
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- case CVtImage::EVtColorIYUV:
- break;
-
- default:
- User::Leave( KErrNotSupported );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplClockwise::ValidateSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-TBool CVtImageRotatorImplClockwise::SupportsRotationAngle(
- const CVtImageRotator::TRotationAngle& aAngle )
- {
- TBool result( EFalse );
-
- if( ( aAngle == CVtImageRotator::E90DegreesClockwise ) ||
- ( aAngle == CVtImageRotator::E270DegreesClockwise ) )
- {
- result = ETrue;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// void CVtImageRotatorImplClockwise::DoRotate()
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplClockwise::DoRotate()
- {
- TInt bytesPerRow( iSource->BytesPerRow() );
-
- TInt height( iSource->Size().iHeight );
-
- TInt width( iSource->Size().iWidth );
-
- TInt targetWidth( iTarget->Size().iWidth );
-
- TInt targetHeight( iTarget->Size().iHeight );
-
- TInt targetBytesPerRow( iTarget->BytesPerRow() );
-
- switch( iSource->DisplayMode() )
- {
- // DisplayMode: 4K and 64K
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- {
- const TUint8* s = reinterpret_cast< const TUint8* >( iSource->DataAddress() );
-
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- TInt offsetPerRow( -2 );
-
- if( iAngle == CVtImageRotator::E90DegreesClockwise )
- {
- d += targetBytesPerRow - 2;
-
- if( targetWidth & 1 )
- {
- d -= 2;
- }
- }
- else
- {
- d += targetBytesPerRow * ( targetHeight - 1 );
-
- targetBytesPerRow = -targetBytesPerRow;
-
- offsetPerRow = 2;
- }
-
- targetBytesPerRow /= 2; // in loop we need 16-bit precalculated
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- register const TUint16* tempS = reinterpret_cast< const TUint16* >( s );
-
- register TUint16* tempD = reinterpret_cast< TUint16* >( d );
-
- for( register TInt x = width - 1; x >= 0; x-- )
- {
- *tempD = *tempS++;
- tempD += targetBytesPerRow;
- }
-
- s += bytesPerRow;
- d += offsetPerRow;
- }
- }
- break;
-
- // DisplayMode: 16M
- case CVtImage::EVtColor16M:
- {
- const TUint8* s = reinterpret_cast< const TUint8* >( iSource->DataAddress() );
-
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- TInt offsetPerRow( -3 );
-
- if( iAngle == CVtImageRotator::E90DegreesClockwise )
- {
- d += targetWidth * 3 - 3;
- }
- else
- {
- d += targetBytesPerRow * ( targetHeight - 1 );
-
- targetBytesPerRow = -targetBytesPerRow;
-
- offsetPerRow = 3;
- }
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- register const TUint8* tempS = s;
-
- register TUint8* tempD = d;
-
- for( register TInt x = width - 1; x >= 0; x-- )
- {
- tempD[ 0 ] = *tempS++;
- tempD[ 1 ] = *tempS++;
- tempD[ 2 ] = *tempS++;
- tempD += targetBytesPerRow;
- }
-
- s += bytesPerRow;
- d += offsetPerRow;
- }
- }
- break;
-
- // DisplayMode: 16MU and 16MA
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- {
- const TUint8* s = reinterpret_cast< const TUint8* >( iSource->DataAddress() );
-
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- TInt offsetPerRow( -4 );
-
- if( iAngle == CVtImageRotator::E90DegreesClockwise )
- {
- d += targetBytesPerRow - 4;
- }
- else
- {
- d += targetBytesPerRow * ( targetHeight - 1 );
-
- targetBytesPerRow = -targetBytesPerRow;
-
- offsetPerRow = 4;
- }
-
- targetBytesPerRow /= 4; // in loop we need 32-bit precalculated
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- register const TUint32* tempS = reinterpret_cast< const TUint32* >( s );
-
- register TUint32* tempD = reinterpret_cast< TUint32* >( d );
-
- for( register TInt x = width - 1; x >= 0; x-- )
- {
- *tempD = *tempS++;
- tempD += targetBytesPerRow;
- }
-
- s += bytesPerRow;
- d += offsetPerRow;
- }
- }
- break;
-
- // DisplayMode: IYUV
- case CVtImage::EVtColorIYUV:
- {
- const CVtImageIYUV* src = reinterpret_cast< const CVtImageIYUV* >( iSource );
- CVtImageIYUV* trg = reinterpret_cast< CVtImageIYUV* >( iTarget );
- RotatePlane
- (
- src->Y(),
- trg->Y(),
- width,
- height,
- bytesPerRow,
- targetHeight,
- targetBytesPerRow
- );
-
- RotatePlane
- (
- src->U(),
- trg->U(),
- src->UVPlaneWidth(),
- src->UVPlaneHeight(),
- src->UVPlaneWidth(),
- trg->UVPlaneHeight(),
- trg->UVPlaneWidth()
- );
-
- RotatePlane
- (
- src->V(),
- trg->V(),
- src->UVPlaneWidth(),
- src->UVPlaneHeight(),
- src->UVPlaneWidth(),
- trg->UVPlaneHeight(),
- trg->UVPlaneWidth()
- );
-
- }
- break;
-
- default:
- break;
-
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplClockwise::RotatePlane(
-// const TUint8* aSource,
-// TUint8* aTarget,
-// TInt aSourceWidth,
-// TInt aSourceHeight,
-// TInt aSourceBytesPerRow,
-// TInt aTargetHeight,
-// TInt aTargetBytesPerRow )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplClockwise::RotatePlane(
- const TUint8* aSource,
- TUint8* aTarget,
- TInt aSourceWidth,
- TInt aSourceHeight,
- TInt aSourceBytesPerRow,
- TInt aTargetHeight,
- TInt aTargetBytesPerRow )
- {
- TInt offsetPerRow( -1 );
-
- if( iAngle == CVtImageRotator::E90DegreesClockwise )
- {
- aTarget += aTargetBytesPerRow - 1;
- }
- else
- {
- aTarget += aTargetBytesPerRow * ( aTargetHeight - 1 );
- aTargetBytesPerRow = -aTargetBytesPerRow;
- offsetPerRow = -offsetPerRow;
- }
-
- for( TInt y = aSourceHeight - 1; y >= 0; y-- )
- {
- register const TUint8* tempS = aSource;
- register TUint8* tempD = aTarget;
- for( register TInt x = aSourceWidth - 1; x >= 0; x-- )
- {
- *tempD = *tempS++;
- tempD += aTargetBytesPerRow;
- }
-
- aSource += aSourceBytesPerRow;
- aTarget += offsetPerRow;
- }
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageRotatorImplMirrorFlip.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageRotatorImplMirrorFlip.h"
-#include "cvtimage.h"
-#include "CVtImageIYUV.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ======================= CVtImageRotatorImplMirrorFlip =======================
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::CVtImageRotatorImplMirrorFlip(
-// const CVtImageRotator::TRotationAngle& aAngle )
-// -----------------------------------------------------------------------------
-CVtImageRotatorImplMirrorFlip::CVtImageRotatorImplMirrorFlip(
- const CVtImageRotator::TRotationAngle& aAngle ) : CVtImageRotatorImpl( aAngle )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::Rotate( TBool& aContinue )
-// -----------------------------------------------------------------------------
-TInt CVtImageRotatorImplMirrorFlip::Rotate( TBool& aContinue )
- {
- __IF_DEBUG( Print( _L( "ImageRotator [%d]: CVtImageRotatorImplMirrorFlip::Rotate() >>" ), RThread().Id().operator TUint() ) );
-
- TInt result( KErrNone );
-
- aContinue = EFalse;
-
- TBool isSameBitmap( iSource->DataAddress() == iTarget->DataAddress() );
-
- if( iAngle == CVtImageRotator::EFlipVerticalAxis )
- {
- // Are source and target referencing same bitmap?
- if( isSameBitmap )
- {
- // YES: Flip inside bitmap
- Flip( *iTarget );
- }
- else
- {
- // NO: Use flipping from source to target
- Flip();
- }
- }
- else if( iAngle == CVtImageRotator::EMirrorHorizontalAxis )
- {
- // Are source and target referencing same bitmap?
- if( isSameBitmap )
- {
- // YES: Mirror inside bitmap
- Mirror( *iTarget );
- }
- else
- {
- // NO: Mirror from source to target
- Mirror();
- }
- }
- else if( iAngle == CVtImageRotator::E180DegreesClockwise )
- {
- // Are source and target referencing same bitmap?
- if( isSameBitmap )
- {
- // YES: Mirror inside bitmap
- Mirror( *iTarget );
- }
- else
- {
- // NO: Mirror from source to target
- Mirror();
- }
- Flip( *iTarget );
- }
-
- __IF_DEBUG( Print( _L( "ImageRotator [%d]: CVtImageRotatorImplMirrorFlip::Rotate() <<" ), RThread().Id().operator TUint() ) );
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::ValidateSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
-
-
- // Sizes must match
- if( aSource.Size() != aTarget.Size() )
- {
- User::Leave( KErrNotSupported );
- }
-
- // Displaymodes must match
- if( aSource.DisplayMode() != aTarget.DisplayMode() )
- {
- User::Leave( KErrNotSupported );
- }
-
- // Check that displaymode is one of the supported
- switch( aSource.DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- case CVtImage::EVtColor16M:
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- case CVtImage::EVtColorIYUV:
- break;
-
- default:
- User::Leave( KErrNotSupported );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::ValidateSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-TBool CVtImageRotatorImplMirrorFlip::SupportsRotationAngle(
- const CVtImageRotator::TRotationAngle& aAngle )
- {
- TBool result( EFalse );
-
- if( ( aAngle == CVtImageRotator::EMirrorHorizontalAxis ) ||
- ( aAngle == CVtImageRotator::EFlipVerticalAxis ) ||
- ( aAngle == CVtImageRotator::E180DegreesClockwise ) )
- {
- result = ETrue;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::Mirror()
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::Mirror()
- {
- TInt bytesPerRow( iSource->BytesPerRow() );
-
- TInt height( iSource->Size().iHeight );
-
- TInt width( iSource->Size().iWidth );
-
- switch( iSource->DisplayMode() )
- {
- // DisplayMode: 4K and 64K
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- {
- const TUint8* s = reinterpret_cast< const TUint8* >( iSource->DataAddress() );
-
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- d += bytesPerRow;
-
- if( width & 1 )
- {
- d -= 2;
- }
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- register const TUint16* tempS = reinterpret_cast< const TUint16* >( s );
-
- register TUint16* tempD = reinterpret_cast< TUint16* >( d );
-
- for( register TInt x = width - 1; x >= 0; x-- )
- {
- *--tempD = *tempS++;
- }
-
- s += bytesPerRow;
-
- d += bytesPerRow;
- }
- }
- break;
-
- // DisplayMode: 16M
- case CVtImage::EVtColor16M:
- {
- const TUint8* s = reinterpret_cast< const TUint8* >( iSource->DataAddress() );
-
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- d += width * 3;
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- const TUint8* tempS = s;
-
- TUint8* tempD = d - 3;
-
- for( TInt x = width - 1; x >= 0; x-- )
- {
- tempD[ 0 ] = *tempS++;
- tempD[ 1 ] = *tempS++;
- tempD[ 2 ] = *tempS++;
- tempD -= 3;
- }
-
- s += bytesPerRow;
-
- d += bytesPerRow;
- }
- }
- break;
-
- // DisplayMode: 16MU and 16MA
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- {
- const TUint8* s = reinterpret_cast< const TUint8* >( iSource->DataAddress() );
-
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- d += bytesPerRow;
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- register const TUint32* tempS = reinterpret_cast< const TUint32* >( s );
- register TUint32* tempD = reinterpret_cast< TUint32* >( d );
-
- for( TInt x = width - 1; x >= 0; x-- )
- {
- *--tempD = *tempS++;
- }
-
- s += bytesPerRow;
-
- d += bytesPerRow;
- }
- }
- break;
-
- // IYUV
- case CVtImage::EVtColorIYUV:
- MirrorIYUV( reinterpret_cast< const CVtImageIYUV& >( *iSource ), reinterpret_cast< CVtImageIYUV& >( *iTarget ) );
- break;
-
- default:
- break;
-
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::Mirror( CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::Mirror( CVtImage& aTarget )
- {
- TInt bytesPerRow( aTarget.BytesPerRow() );
-
- TInt height( aTarget.Size().iHeight );
-
- TInt width( aTarget.Size().iWidth );
-
- switch( aTarget.DisplayMode() )
- {
- // DisplayMode: 4K and 64K
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- {
- TUint8* d = reinterpret_cast< TUint8* >( aTarget.DataAddress() );
-
- TUint8* s = reinterpret_cast< TUint8* >( d );
-
- d += bytesPerRow;
-
- if( width & 1 )
- {
- d -= 2;
- }
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- register TUint16* tempS = reinterpret_cast< TUint16* >( s );
-
- register TUint16* tempD = reinterpret_cast< TUint16* >( d );
-
- for( register TInt x = width/2 - 1; x >= 0; x-- )
- {
- TUint16 p = *tempS;
- *tempS++ = *--tempD;
- *tempD = p;
- }
-
- s += bytesPerRow;
-
- d += bytesPerRow;
- }
- }
- break;
-
- // DisplayMode: 16M
- case CVtImage::EVtColor16M:
- {
- TUint8* d = reinterpret_cast< TUint8* >( aTarget.DataAddress() );
-
- TUint8* s = reinterpret_cast< TUint8* >( d );
-
- d += width * 3;
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- TUint8* tempS = s;
-
- TUint8* tempD = d - 3;
-
- for( TInt x = width/2 - 1; x >= 0; x-- )
- {
- TUint8 s = *tempS;
- TUint8 t = *tempD;
- *tempD++ = s;
- *tempS++ = t;
-
- s = *tempS;
- t = *tempD;
- *tempD++ = s;
- *tempS++ = t;
-
- s = *tempS;
- t = *tempD;
- *tempD++ = s;
- *tempS++ = t;
-
- tempD -= 6;
- }
-
- s += bytesPerRow;
-
- d += bytesPerRow;
- }
- }
- break;
-
- // DisplayMode: 16MU and 16MA
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- {
- TUint8* d = reinterpret_cast< TUint8* >( aTarget.DataAddress() );
-
- TUint8* s = reinterpret_cast< TUint8* >( d );
-
- d += bytesPerRow;
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- register TUint32* tempS = reinterpret_cast< TUint32* >( s );
- register TUint32* tempD = reinterpret_cast< TUint32* >( d );
-
- for( TInt x = width/2 - 1; x >= 0; x-- )
- {
- TUint32 p = *tempS;
- *tempS++ = *--tempD;
- *tempD = p;
- }
-
- s += bytesPerRow;
-
- d += bytesPerRow;
- }
- }
- break;
-
- // IYUV
- case CVtImage::EVtColorIYUV:
- MirrorIYUV( reinterpret_cast< const CVtImageIYUV& >( aTarget ), reinterpret_cast< CVtImageIYUV& >( aTarget ) );
- break;
-
- default:
- break;
-
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::MirrorIYUV( const CVtImageIYUV& aSource,
-// CVtImageIYUV& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::MirrorIYUV( const CVtImageIYUV& aSource,
- CVtImageIYUV& aTarget )
- {
- MirrorPlane( aSource.Y(), aTarget.Y(), aSource.Size().iWidth,
- aSource.Size().iHeight, aSource.BytesPerRow() );
- MirrorPlane( aSource.U(), aTarget.U(), aSource.UVPlaneWidth(),
- aSource.UVPlaneHeight(), aSource.UVPlaneWidth() );
- MirrorPlane( aSource.V(), aTarget.V(), aSource.UVPlaneWidth(),
- aSource.UVPlaneHeight(), aSource.UVPlaneWidth() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::MirrorPlane( TUint8* aSource, TUint8* aTarget,
-// TInt aWidth, TInt aHeight, TInt aBytesPerRow )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::MirrorPlane( TUint8* aSource,
- TUint8* aTarget, TInt aWidth, TInt aHeight, TInt aBytesPerRow )
- {
- if( aSource != aTarget )
- {
- aTarget += aBytesPerRow;
- for( TInt y = aHeight - 1; y >= 0; y-- )
- {
- register const TUint8* tempS = aSource;
- register TUint8* tempD = aTarget;
- for( TInt x = aWidth - 1; x >= 0; x-- )
- {
- *--tempD = *tempS++;
- }
- aSource += aBytesPerRow;
- aTarget += aBytesPerRow;
- }
- }
- else
- {
- aTarget += aBytesPerRow;
- for( TInt y = aHeight - 1; y >= 0; y-- )
- {
- register TUint8* tempS = aSource;
- register TUint8* tempD = aTarget;
- for( TInt x = aWidth/2 - 1; x >= 0; x-- )
- {
- TUint8 p = *tempS;
- *tempS++ = *--tempD;
- *tempD = p;
- }
- aSource += aBytesPerRow;
- aTarget += aBytesPerRow;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::Flip()
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::Flip()
- {
- if( iSource->DisplayMode() == CVtImage::EVtColorIYUV )
- {
- FlipIYUV
- (
- reinterpret_cast< const CVtImageIYUV& >( *iSource ),
- reinterpret_cast< CVtImageIYUV& >( *iTarget )
- );
- }
- else
- {
- TInt bytesPerRow( iSource->BytesPerRow() );
-
- TInt height( iSource->Size().iHeight );
-
- const TUint8* s = reinterpret_cast< const TUint8* >( iSource->DataAddress() );
-
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- d += ( height - 1 ) * bytesPerRow;
-
- for( TInt y = height - 1; y >= 0; y-- )
- {
- Mem::Copy( d, s, bytesPerRow );
- s += bytesPerRow;
- d -= bytesPerRow;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::FlipIYUV()
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::FlipIYUV
- (
- const CVtImageIYUV& aSource,
- CVtImageIYUV& aTarget
- )
- {
- FlipPlane( aSource.Y(), aTarget.Y(), aSource.Size().iHeight, aSource.BytesPerRow() );
- FlipPlane( aSource.U(), aTarget.U(), aSource.UVPlaneHeight(), aSource.UVPlaneWidth() );
- FlipPlane( aSource.V(), aTarget.V(), aSource.UVPlaneHeight(), aSource.UVPlaneWidth() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::FlipPlane()
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::FlipPlane
- (
- TUint8* aSource,
- TUint8* aTarget,
- TInt aHeight,
- TInt aBytesPerRow
- )
- {
- TBool doSwap = ( aSource == aTarget );
-
- aTarget += ( aHeight - 1 ) * aBytesPerRow;
-
- if( doSwap )
- {
- for( TInt y = aHeight / 2 - 1; y >= 0; y-- )
- {
- Mem::Swap( aTarget, aSource, aBytesPerRow );
- aSource += aBytesPerRow;
- aTarget -= aBytesPerRow;
- }
- }
- else
- {
- for( TInt y = aHeight - 1; y >= 0; y-- )
- {
- Mem::Copy( aTarget, aSource, aBytesPerRow );
- aSource += aBytesPerRow;
- aTarget -= aBytesPerRow;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageRotatorImplMirrorFlip::Flip( CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageRotatorImplMirrorFlip::Flip( CVtImage& aTarget )
- {
- if( iSource->DisplayMode() == CVtImage::EVtColorIYUV )
- {
- FlipIYUV
- (
- reinterpret_cast< const CVtImageIYUV& >( aTarget ),
- reinterpret_cast< CVtImageIYUV& >( aTarget )
- );
- }
- else
- {
- TInt bytesPerRow( aTarget.BytesPerRow() );
-
- TInt height( aTarget.Size().iHeight );
-
- TUint8* s = reinterpret_cast< TUint8* >( aTarget.DataAddress() );
-
- TUint8* d = s;
-
- d += ( height - 1 ) * bytesPerRow;
-
- for( TInt y = height / 2 - 1; y >= 0; y-- )
- {
- Mem::Swap( d, s, bytesPerRow );
- s += bytesPerRow;
- d -= bytesPerRow;
- }
- }
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageScaler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageScaler.h"
-#include "CVtImageScalerImpl.h"
-#include "CVtImageScalerImplNearest.h"
-#include "CVtImageScalerImplWeightedAverage.h"
-#include "CVtImageScalerImplBilinear.h"
-
-// CONSTANTS
-
-_LIT( KModuleName, "CVtImageScaler" );
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::NewL( MVtImageScalerObserver& aObserver, TQuality aQuality,
-// TPriority aPriority )
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageScaler* CVtImageScaler::NewL(
- MVtImageScalerObserver& aObserver,
- TQuality aQuality,
- TPriority aPriority )
- {
- CVtImageScaler* self = new ( ELeave ) CVtImageScaler( aObserver, aPriority );
- CleanupStack::PushL( self );
- self->ConstructL( aQuality );
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::~CVtImageScaler()
-// -----------------------------------------------------------------------------
-EXPORT_C CVtImageScaler::~CVtImageScaler()
- {
- Cancel();
- delete iAsyncCallBack;
- delete iHeapLock;
- delete iScalerImpl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::SetQualityL( TQuality aQuality )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageScaler::SetQualityL( TQuality aQuality )
- {
- delete iScalerImpl;
- iScalerImpl = 0;
-
- switch( aQuality )
- {
- case ENearest:
- iScalerImpl = new ( ELeave ) CVtImageScalerImplNearest();
- break;
-
- case EWeightedAverage:
- iScalerImpl = new ( ELeave ) CVtImageScalerImplWeightedAverage();
- break;
-
- case EBilinear:
- iScalerImpl = new ( ELeave ) CVtImageScalerImplBilinear();
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::ScaleL( const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageScaler::ScaleL(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
- if( !IsActive() )
- {
- if( !iScalerImpl )
- {
- User::Leave( KErrNotReady );
- }
- iScalerImpl->SetSourceTargetL( aSource, aTarget );
- iCancelled = EFalse;
- Activate();
- iAsyncCallBack->CallBack();
- }
- else
- {
- User::Panic( KModuleName(), EBusy );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::Scale( const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageScaler::Scale(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
- TRAPD( result, ScaleL( aSource, aTarget ) );
- if( result != KErrNone )
- {
- Activate();
- Signal( result );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::ScaleNowL( const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-EXPORT_C void CVtImageScaler::ScaleNowL(
- const CVtImage& aSource, CVtImage& aTarget )
- {
- if( !iScalerImpl )
- {
- User::Leave( KErrNotReady );
- }
-
- iScalerImpl->SetSourceTargetL( aSource, aTarget );
-
- TInt result;
- TBool more;
- TBool needsLock( iScalerImpl->NeedHeapLock() );
- do
- {
-
- if ( needsLock )
- {
- iHeapLock->LockHeap( ETrue );
- }
-
- result = iScalerImpl->Scale( more );
-
- if ( needsLock )
- {
- iHeapLock->UnlockHeap( ETrue );
- }
-
- } while ( more && ( result == KErrNone ) );
-
- User::LeaveIfError( result );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::CVtImageScaler()
-// -----------------------------------------------------------------------------
-CVtImageScaler::CVtImageScaler( MVtImageScalerObserver& aObserver, TPriority aPriority )
-: CActive( aPriority ), iObserver( aObserver )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::ConstructL( TQuality aQuality )
-// -----------------------------------------------------------------------------
-void CVtImageScaler::ConstructL( TQuality aQuality )
- {
- SetQualityL( aQuality );
- iHeapLock = new ( ELeave ) CFbsBitmap();
- iHeapLock->Create( TSize( 1, 1 ), EColor256 );
- iAsyncCallBack = new ( ELeave )
- CAsyncCallBack( TCallBack( StaticScale, this ), Priority() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::Activate
-// -----------------------------------------------------------------------------
-void CVtImageScaler::Activate()
- {
- iStatus = KRequestPending;
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::Signal( TInt aError )
-// -----------------------------------------------------------------------------
-void CVtImageScaler::Signal( TInt aError )
- {
- TRequestStatus* pStatus = &iStatus;
- User::RequestComplete( pStatus, aError );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::RunL()
-// -----------------------------------------------------------------------------
-void CVtImageScaler::RunL()
- {
- iObserver.ScalingFinished( iStatus.Int() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::DoCancel()
-// -----------------------------------------------------------------------------
-void CVtImageScaler::DoCancel()
- {
- if ( iStatus == KRequestPending )
- {
- iCancelled = ETrue;
- Signal( KErrCancel );
- iObserver.ScalingFinished( KErrCancel );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::StaticScale()
-// -----------------------------------------------------------------------------
-TInt CVtImageScaler::StaticScale( TAny* aPtr )
- {
- CVtImageScaler* self = reinterpret_cast< CVtImageScaler* >( aPtr );
- self->DoScale();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScaler::DoScale
-// -----------------------------------------------------------------------------
-void CVtImageScaler::DoScale()
- {
- if ( !iCancelled )
- {
- TBool more;
- TBool needsLock = iScalerImpl->NeedHeapLock();
- if ( needsLock )
- {
- iHeapLock->LockHeap( ETrue );
- }
- TInt result = iScalerImpl->Scale( more );
- if ( needsLock )
- {
- iHeapLock->UnlockHeap( ETrue );
- }
- if ( !more || ( result != KErrNone ) )
- {
- Signal( result );
- }
- else
- {
- iAsyncCallBack->CallBack();
- }
- }
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageScalerImpl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageScalerImpl.h"
-#include "cvtimage.h"
-#include "CVtImageBitmap.h"
-
-// MACROS
-
-#ifdef _DEBUG
- #include <e32debug.h>
- #define PRINT RDebug::Print
- #define _IFDBG(a) a
-#else
- #define PRINT
- #define _IFDBG(a)
-#endif
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ========================== CVtImageScalerImpl ==============================
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImpl::CVtImageScalerImpl()
-// -----------------------------------------------------------------------------
-CVtImageScalerImpl::CVtImageScalerImpl() : CActive( EPriorityStandard )
- {
- _IFDBG(PRINT( _L("ScaleImpl.Ctor<") ));
- CActiveScheduler::Add( this );
- _IFDBG(PRINT( _L("ScaleImpl.Ctor>") ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImpl::~CVtImageScalerImpl()
-// -----------------------------------------------------------------------------
-CVtImageScalerImpl::~CVtImageScalerImpl()
- {
- _IFDBG(PRINT( _L("ScaleImpl.~<") ));
- Cancel();
- delete iScaler;
- _IFDBG(PRINT( _L("ScaleImpl.~>") ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImpl::SetSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImpl::SetSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
- iSource = iTarget = 0;
- LeaveIfNotValidSizeL( aSource.Size(), TSize( 2, 2 ) );
- LeaveIfNotValidSizeL( aTarget.Size() );
- ValidateSourceTargetL( aSource, aTarget );
- iSource = &aSource;
- iTarget = &aTarget;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImpl::NeedHeapLock() const
-// -----------------------------------------------------------------------------
-TBool CVtImageScalerImpl::NeedHeapLock() const
- {
- return iSource->NeedHeapLock() || iTarget->NeedHeapLock();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImpl::ScaleWithBitmapScalerL()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImpl::ScaleWithBitmapScalerL(
- const CBitmapScaler::TQualityAlgorithm
-#ifdef _DEBUG
- aQuality
-#endif // _DEBUG
- )
- {
- _IFDBG(PRINT( _L("ScaleImpl.ScaleWithBitmapScalerL<") ));
- if ( IsActive() || iActiveSchedulerWait.IsStarted() )
- {
- _IFDBG(PRINT( _L("ScaleImpl.ScaleWithBitmapScalerL LEAVE KErrInUse>") ));
- User::Leave( KErrInUse );
- }
- _IFDBG(PRINT( _L("ScaleImpl::ScaleWithBitmapScalerL aQuality = %d"), aQuality ));
- CFbsBitmap& source( static_cast< CVtImageBitmap* >(
- const_cast< CVtImage* >( iSource ) )->Bitmap() );
- CFbsBitmap& target( static_cast< CVtImageBitmap* >( iTarget )->Bitmap() );
- iScaler = CBitmapScaler::NewL();
- SetActive();
- iScaler->Scale( &iStatus, source, target, EFalse );
- iActiveSchedulerWait.Start();
- delete iScaler; iScaler = NULL;
- _IFDBG(PRINT( _L("ScaleImpl.ScaleWithBitmapScalerL iStatus.Int() = %d"), iStatus.Int() ));
- User::LeaveIfError( iStatus.Int() );
- _IFDBG(PRINT( _L("ScaleImpl.ScaleWithBitmapScalerL>") ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImpl::LeaveIfNotValidSizeL(
-// const TSize& aSize, const TSize aMinSize )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImpl::LeaveIfNotValidSizeL(
- const TSize& aSize,
- const TSize aMinSize )
- {
- _IFDBG(PRINT( _L("ScaleImpl.LeaveIfNotValidSizeL<") ));
- if( ( aSize.iWidth < aMinSize.iWidth ) ||
- ( aSize.iHeight < aMinSize.iHeight ) )
- {
- User::Leave( KErrNotSupported );
- }
- _IFDBG(PRINT( _L("ScaleImpl.LeaveIfNotValidSizeL>") ));
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImpl::RunL()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImpl::RunL()
- {
- _IFDBG(PRINT( _L("CVtImageScalerImpl.RunL") ));
- iActiveSchedulerWait.AsyncStop();
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImpl::RunL()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImpl::DoCancel()
- {
- _IFDBG(PRINT( _L("CVtImageScalerImpl.DoCancel") ));
- iScaler->Cancel();
- iActiveSchedulerWait.AsyncStop();
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageScalerImplBilinear.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1462 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageScalerImplBilinear.h"
-#include "cvtimage.h"
-#include "CVtImageScalerMacros.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-const TUint32 KDecimalBits = 14; // 18.14 pseudo real format,
- // this must be lower than 15!
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ======================= CVtImageScalerImplBilinear ==========================
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale( TBool& aContinue )
-// -----------------------------------------------------------------------------
-TInt CVtImageScalerImplBilinear::Scale( TBool& aContinue )
- {
- TInt result( KErrNone );
-
- aContinue = EFalse;
-
- // this implementation does not support different display modes for source
- // and target
- if( iSource->DisplayMode() != iTarget->DisplayMode() )
- {
- return KErrNotSupported;
- }
-
- // if sizes are same, just copy the data
- if( iSource->Size() == iTarget->Size() )
- {
- Mem::Copy(
- iTarget->DataAddress(),
- iSource->DataAddress(),
- iTarget->BytesPerRow() * iTarget->Size().iHeight );
- }
- else if ( ( iSource->Size().iHeight * 2 == iTarget->Size().iHeight )
- && ( iSource->Size().iWidth * 2 == iTarget->Size().iWidth ) )
- {
- switch( iSource->DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- Scale2x4K64K( 0xeee ); // 0000ggggbbbbrrrr ->
- break; // mask = %0000111011101110 = 0xeee
-
- case CVtImage::EVtColor64K:
- Scale2x4K64K( 0xf7de ); // bbbbbggggggrrrrr ->
- break; // mask = %1111011111011110 = 0xf7de
-
- case CVtImage::EVtColor16M:
- Scale2x16M();
- break;
-
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- Scale2x16MU16MA();
- break;
-
- default:
- if ( iSource->Type() == CVtImage::EVtImageBitmap &&
- iTarget->Type() == CVtImage::EVtImageBitmap )
- {
- TRAPD( error,
- ScaleWithBitmapScalerL(
- CBitmapScaler::EMaximumQuality ) );
- result = error;
- }
- else
- {
- result = KErrNotSupported;
- }
- }
- }
- else
- {
- Initialize();
-
- switch( iSource->DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- Scale4K();
- break;
-
- case CVtImage::EVtColor64K:
- Scale64K();
- break;
-
- case CVtImage::EVtColor16M:
- Scale16M();
- break;
-
- case CVtImage::EVtColor16MU:
- Scale16MU();
- break;
-
- case CVtImage::EVtColor16MA:
- Scale16MA();
- break;
-
- default:
- if ( iSource->Type() == CVtImage::EVtImageBitmap &&
- iTarget->Type() == CVtImage::EVtImageBitmap )
- {
- TRAPD( error,
- ScaleWithBitmapScalerL(
- CBitmapScaler::EMaximumQuality ) );
- result = error;
- }
- else
- {
- result = KErrNotSupported;
- }
- }
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::ValidateSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
- if( aSource.DisplayMode() != aTarget.DisplayMode() )
- {
- User::Leave( KErrNotSupported );
- }
-
- switch( aSource.DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- case CVtImage::EVtColor16M:
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- break;
-
- default:
- // Scaling for bitmaps is supported for other display modes
- if ( !( aSource.Type() == CVtImage::EVtImageBitmap &&
- aTarget.Type() == CVtImage::EVtImageBitmap ) )
- {
- User::Leave( KErrNotSupported );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Initialize()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Initialize()
- {
- iU = ( 1 << KDecimalBits ) * iSource->Size().iWidth /
- iTarget->Size().iWidth;
- iV = ( 1 << KDecimalBits ) * iSource->Size().iHeight /
- iTarget->Size().iHeight;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale4K()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Scale4K()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale4K() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint16* t = reinterpret_cast< TUint16* >( iTarget->DataAddress() );
-
- TUint32 sourceY( 0 );
-
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
- TUint32 b11( 0 );
- TUint32 g11( 0 );
- TUint32 r11( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint16* s = reinterpret_cast< TUint16* >(
- iSource->LineAddress( sourceY >> KDecimalBits ) );
- TUint16* snext = reinterpret_cast< TUint16* >(
- iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 ) );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
- TUint32 x0prev( TUint32( -1 ) );
-
- TInt x;
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- // If the source is still same then we don't have to fetch
- // pixels from memory and unpack them again
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
-
- b00 = UNPACK_4K_BLUE( p0 );
- g00 = UNPACK_4K_GREEN( p0 );
- r00 = UNPACK_4K_RED( p0 );
-
- p0 = *( s + x0 + 1 );
-
- b01 = UNPACK_4K_BLUE( p0 );
- g01 = UNPACK_4K_GREEN( p0 );
- r01 = UNPACK_4K_RED( p0 );
-
- p0 = *( snext + x0 );
-
- b10 = UNPACK_4K_BLUE( p0 );
- g10 = UNPACK_4K_GREEN( p0 );
- r10 = UNPACK_4K_RED( p0 );
-
- p0 = *( snext + x0 + 1 );
-
- b11 = UNPACK_4K_BLUE( p0 );
- g11 = UNPACK_4K_GREEN( p0 );
- r11 = UNPACK_4K_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *t = 0;
-
- *t++ = PACK_4K_BGR(
- bres >> KDecimalBits,
- gres >> KDecimalBits,
- rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- // last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- // If the source is still same then we don't have to fetch pixels
- // from memory and unpack them again
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
- b01 = b00 = UNPACK_4K_BLUE( p0 );
- g01 = g00 = UNPACK_4K_GREEN( p0 );
- r01 = r00 = UNPACK_4K_RED( p0 );
-
- p0 = *( snext + x0 );
- b11 = b10 = UNPACK_4K_BLUE( p0 );
- g11 = g10 = UNPACK_4K_GREEN( p0 );
- r11 = r10 = UNPACK_4K_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *t++ = PACK_4K_BGR(
- bres >> KDecimalBits,
- gres >> KDecimalBits,
- rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- // if width is not even -> then we need to skip one additional byte
- if( width & 1 )
- {
- t++;
- }
-
- sourceY += iV;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale4K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale64K()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Scale64K()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale64K() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint16* t = reinterpret_cast< TUint16* >( iTarget->DataAddress() );
-
- TUint32 sourceY( 0 );
-
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
- TUint32 b11( 0 );
- TUint32 g11( 0 );
- TUint32 r11( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint16* s = reinterpret_cast< TUint16* >(
- iSource->LineAddress( sourceY >> KDecimalBits ) );
- TUint16* snext = reinterpret_cast< TUint16* >(
- iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 ) );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
- TUint32 x0prev( TUint32( -1 ) );
-
- TInt x;
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- // If the source is still same then we don't have to fetch pixels
- // from memory and unpack them again
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
-
- b00 = UNPACK_64K_BLUE( p0 );
- g00 = UNPACK_64K_GREEN( p0 );
- r00 = UNPACK_64K_RED( p0 );
-
- p0 = *( s + x0 + 1 );
-
- b01 = UNPACK_64K_BLUE( p0 );
- g01 = UNPACK_64K_GREEN( p0 );
- r01 = UNPACK_64K_RED( p0 );
-
- p0 = *( snext + x0 );
-
- b10 = UNPACK_64K_BLUE( p0 );
- g10 = UNPACK_64K_GREEN( p0 );
- r10 = UNPACK_64K_RED( p0 );
-
- p0 = *( snext + x0 + 1 );
-
- b11 = UNPACK_64K_BLUE( p0 );
- g11 = UNPACK_64K_GREEN( p0 );
- r11 = UNPACK_64K_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *t++ = PACK_64K_BGR(
- bres >> KDecimalBits,
- gres >> KDecimalBits,
- rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- // last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- // If the source is still same then we don't have to fetch pixels
- // from memory and unpack them again
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
- b01 = b00 = UNPACK_64K_BLUE( p0 );
- g01 = g00 = UNPACK_64K_GREEN( p0 );
- r01 = r00 = UNPACK_64K_RED( p0 );
-
- p0 = *( snext + x0 );
- b11 = b10 = UNPACK_64K_BLUE( p0 );
- g11 = g10 = UNPACK_64K_GREEN( p0 );
- r11 = r10 = UNPACK_64K_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *t++ = PACK_64K_BGR(
- bres >> KDecimalBits,
- gres >> KDecimalBits,
- rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- // if width is not even -> then we need to skip one additional byte
- if( width & 1 )
- {
- t++;
- }
-
- sourceY += iV;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale64K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale16M()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Scale16M()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale16M() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint32 t_pitch = iTarget->BytesPerRow();
-
- TUint8* t = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- TUint32 sourceY( 0 );
-
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
- TUint32 b11( 0 );
- TUint32 g11( 0 );
- TUint32 r11( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint8* s = reinterpret_cast< TUint8* >(
- iSource->LineAddress( sourceY >> KDecimalBits ) );
- TUint8* snext = reinterpret_cast< TUint8* >(
- iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 ) );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
- TUint32 x0prev( TUint32( -1 ) );
-
- TInt x;
-
- TUint8* d = t;
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = ( sourceX >> KDecimalBits ) * 3;
-
- if( x0 != x0prev )
- {
- TUint8* tempSrc = s + x0;
-
- b00 = *tempSrc++;
- g00 = *tempSrc++;
- r00 = *tempSrc++;
-
- b01 = *tempSrc++;
- g01 = *tempSrc++;
- r01 = *tempSrc++;
-
- tempSrc = snext + x0;
-
- b10 = *tempSrc++;
- g10 = *tempSrc++;
- r10 = *tempSrc++;
-
- b11 = *tempSrc++;
- g11 = *tempSrc++;
- r11 = *tempSrc++;
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *d++ = static_cast< TUint8 >( bres >> KDecimalBits );
- *d++ = static_cast< TUint8 >( gres >> KDecimalBits );
- *d++ = static_cast< TUint8 >( rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- // last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = ( sourceX >> KDecimalBits ) * 3;
-
- if( x0 != x0prev )
- {
- TUint8* tempSrc = s + x0;
-
- b01 = b00 = *tempSrc++;
- g01 = g00 = *tempSrc++;
- r01 = r00 = *tempSrc++;
-
- tempSrc = snext + x0;
-
- b11 = b10 = *tempSrc++;
- g11 = g10 = *tempSrc++;
- r11 = r10 = *tempSrc++;
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *d++ = static_cast< TUint8 >( bres >> KDecimalBits );
- *d++ = static_cast< TUint8 >( gres >> KDecimalBits );
- *d++ = static_cast< TUint8 >( rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- t += t_pitch;
-
- sourceY += iV;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale16M() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale16MU()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Scale16MU()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale16MU() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint32* t = iTarget->DataAddress();
-
- TUint32 sourceY( 0 );
-
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
- TUint32 b11( 0 );
- TUint32 g11( 0 );
- TUint32 r11( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint32* s = iSource->LineAddress( sourceY >> KDecimalBits );
- TUint32* snext = iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
- TUint32 x0prev( TUint32( -1 ) );
-
- TInt x;
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- // If the source is still same then we don't have to fetch pixels
- // from memory and unpack them again
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
-
- b00 = UNPACK_16MU_BLUE( p0 );
- g00 = UNPACK_16MU_GREEN( p0 );
- r00 = UNPACK_16MU_RED( p0 );
-
- p0 = *( s + x0 + 1 );
-
- b01 = UNPACK_16MU_BLUE( p0 );
- g01 = UNPACK_16MU_GREEN( p0 );
- r01 = UNPACK_16MU_RED( p0 );
-
- p0 = *( snext + x0 );
-
- b10 = UNPACK_16MU_BLUE( p0 );
- g10 = UNPACK_16MU_GREEN( p0 );
- r10 = UNPACK_16MU_RED( p0 );
-
- p0 = *( snext + x0 + 1 );
-
- b11 = UNPACK_16MU_BLUE( p0 );
- g11 = UNPACK_16MU_GREEN( p0 );
- r11 = UNPACK_16MU_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *t++ = PACK_16MU_BGR(
- bres >> KDecimalBits,
- gres >> KDecimalBits,
- rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- // last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- // If the source is still same then we don't have to fetch pixels
- // from memory and unpack them again
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
- b01 = b00 = UNPACK_16MU_BLUE( p0 );
- g01 = g00 = UNPACK_16MU_GREEN( p0 );
- r01 = r00 = UNPACK_16MU_RED( p0 );
-
- p0 = *( snext + x0 );
- b11 = b10 = UNPACK_16MU_BLUE( p0 );
- g11 = g10 = UNPACK_16MU_GREEN( p0 );
- r11 = r10 = UNPACK_16MU_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *t++ = PACK_16MU_BGR(
- bres >> KDecimalBits,
- gres >> KDecimalBits,
- rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- sourceY += iV;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale16MU() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale16MA()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Scale16MA()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale16MA() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint32* t = iTarget->DataAddress();
-
- TUint32 sourceY( 0 );
-
- TUint32 a00( 0 );
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 a01( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 a10( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
- TUint32 a11( 0 );
- TUint32 b11( 0 );
- TUint32 g11( 0 );
- TUint32 r11( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint32* s = iSource->LineAddress( sourceY >> KDecimalBits );
- TUint32* snext = iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
- TUint32 x0prev( TUint32( -1 ) );
-
- TInt x;
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- // If the source is still same then we don't have to fetch pixels
- // from memory and unpack them again
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
-
- a00 = UNPACK_16MA_ALPHA( p0 );
- b00 = UNPACK_16MA_BLUE( p0 );
- g00 = UNPACK_16MA_GREEN( p0 );
- r00 = UNPACK_16MA_RED( p0 );
-
- p0 = *( s + x0 + 1 );
-
- a01 = UNPACK_16MA_ALPHA( p0 );
- b01 = UNPACK_16MA_BLUE( p0 );
- g01 = UNPACK_16MA_GREEN( p0 );
- r01 = UNPACK_16MA_RED( p0 );
-
- p0 = *( snext + x0 );
-
- a10 = UNPACK_16MA_ALPHA( p0 );
- b10 = UNPACK_16MA_BLUE( p0 );
- g10 = UNPACK_16MA_GREEN( p0 );
- r10 = UNPACK_16MA_RED( p0 );
-
- p0 = *( snext + x0 + 1 );
-
- a11 = UNPACK_16MA_ALPHA( p0 );
- b11 = UNPACK_16MA_BLUE( p0 );
- g11 = UNPACK_16MA_GREEN( p0 );
- r11 = UNPACK_16MA_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 ares = w1 * a00 + w2 * a01 + w3 * a10 + w4 * a11;
- ares += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *t++ = PACK_16MA_ABGR(
- ares >> KDecimalBits,
- bres >> KDecimalBits,
- gres >> KDecimalBits,
- rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- // last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- // If the source is still same then we don't have to fetch pixels
- // from memory and unpack them again
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
- a01 = a00 = UNPACK_16MA_ALPHA( p0 );
- b01 = b00 = UNPACK_16MA_BLUE( p0 );
- g01 = g00 = UNPACK_16MA_GREEN( p0 );
- r01 = r00 = UNPACK_16MA_RED( p0 );
-
- p0 = *( snext + x0 );
- a11 = a10 = UNPACK_16MA_ALPHA( p0 );
- b11 = b10 = UNPACK_16MA_BLUE( p0 );
- g11 = g10 = UNPACK_16MA_GREEN( p0 );
- r11 = r10 = UNPACK_16MA_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 w1 = ( du * dv ) >> KDecimalBits;
- TUint32 w2 = ( invdu * dv ) >> KDecimalBits;
- TUint32 w3 = ( du * invdv ) >> KDecimalBits;
- TUint32 w4 = ( invdu * invdv ) >> KDecimalBits;
-
- TUint32 ares = w1 * a00 + w2 * a01 + w3 * a10 + w4 * a11;
- ares += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 bres = w1 * b00 + w2 * b01 + w3 * b10 + w4 * b11;
- bres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 gres = w1 * g00 + w2 * g01 + w3 * g10 + w4 * g11;
- gres += ( 1 << ( KDecimalBits - 1 ) );
- TUint32 rres = w1 * r00 + w2 * r01 + w3 * r10 + w4 * r11;
- rres += ( 1 << ( KDecimalBits - 1 ) );
-
- *t++ = PACK_16MA_ABGR(
- ares >> KDecimalBits,
- bres >> KDecimalBits,
- gres >> KDecimalBits,
- rres >> KDecimalBits );
-
- sourceX += iU;
- }
-
- sourceY += iV;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale16MA() <<" ), RThread().Id().operator TUint() ) );
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale2x4K64K( TUint32 aMask )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Scale2x4K64K( TUint32 aMask )
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale2x4K64K() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint32* s = iSource->DataAddress();
- TUint32* d = iTarget->DataAddress();
- TInt y;
-
- // first average source rows
- for( y = 0; y < sheight; y++ )
- {
- TUint32* s1 = s;
- TUint32* d1 = d;
-
- TUint32 p = *s1++; // 2 pixels
- TUint32 p1 = p & 0xffff;
- TUint32 p2 = ( p >> 16 ) & 0xffff;
- TInt x;
-
- for( x = 0; x < swidth/2 - 1; x++ )
- {
- TUint32 p1a = ( ( ( p1 ^ p2 ) & aMask ) >> 1 ) + ( p1 & p2 );
- *d1++ = p1 | ( p1a << 16 );
-
- p = *s1++; // 2 pixels
-
- p1 = p & 0xffff;
- TUint32 p2a = ( ( ( p1 ^ p2 ) & aMask ) >> 1 ) + ( p1 & p2 );
- *d1++ = p2 | ( p2a << 16 );
-
- p2 = ( p >> 16 ) & 0xffff;
- }
-
- TUint32 p1a = ( ( ( p1 ^ p2 ) & aMask ) >> 1 ) + ( p1 & p2 );
- *d1++ = p1 | ( p1a << 16 );
-
- if( swidth & 1 )
- {
- p = *s1; // 2 pixels
- p1 = p & 0xffff;
- TUint32 p2a = ( ( ( p1 ^ p2 ) & aMask ) >> 1 ) + ( p1 & p2 );
- *d1++ = p2 | ( p2a << 16 );
-
- p = *--s1; // 2 pixels
- p2 = ( p >> 16 ) & 0xffff;
- *d1++ = p1 | ( p1 << 16 );
- }
- else
- {
- p = *--s1; // 2 pixels
- p2 = ( p >> 16 ) & 0xffff;
- *d1++ = p2 | ( p2 << 16 );
- }
-
- d = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d ) + dpitch * 2 );
- s = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( s ) + spitch );
- }
-
- // then average rows between
- d = iTarget->DataAddress();
-
- TUint32 mask32bit = aMask | ( aMask << 16 );
-
- for( y = 0; y < sheight - 1; y++ )
- {
- TUint32* d1 = reinterpret_cast< TUint32* >( d );
- TUint32* d2 = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d1 ) + dpitch );
- TUint32* d3 = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d2 ) + dpitch );
-
- for( TInt x = 0; x < swidth; x++ )
- {
- TUint32 p1 = *d1++;
- TUint32 p2 = *d3++;
- *d2++ = ( ( ( p1 ^ p2 ) & mask32bit ) >> 1 ) + ( p1 & p2 );
- }
-
- d = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d ) + dpitch * 2 );
- }
-
- // last row is just copy of previous row, because we cannot calculate
- // average
- Mem::Copy( reinterpret_cast< TUint8* >( d ) + dpitch, d, dpitch );
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale2x4K64K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale2x16M()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Scale2x16M()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale2x16M() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint8* s = reinterpret_cast< TUint8* >( iSource->DataAddress() );
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- TInt y;
-
- for( y = 0; y < sheight; y++ )
- {
- TUint8* s2 = s;
- TUint8* d1 = d;
-
- TUint32 g1 = 0;
- TUint32 b1 = 0;
- TUint32 r1 = 0;
-
- TUint32 g2 = 0;
- TUint32 b2 = 0;
- TUint32 r2 = 0;
-
- for( TInt x = 0; x < swidth - 1; x++ )
- {
- g1 = *s2++;
- b1 = *s2++;
- r1 = *s2++;
-
- *d1++ = static_cast< TUint8 >( g1 );
- *d1++ = static_cast< TUint8 >( b1 );
- *d1++ = static_cast< TUint8 >( r1 );
-
- g2 = s2[ 0 ];
- b2 = s2[ 1 ];
- r2 = s2[ 2 ];
-
- *d1++ = static_cast< TUint8 >( ( g1 + g2 ) >> 1 );
- *d1++ = static_cast< TUint8 >( ( b1 + b2 ) >> 1 );
- *d1++ = static_cast< TUint8 >( ( r1 + r2 ) >> 1 );
- }
-
- *d1++ = static_cast< TUint8 >( ( g1 + g2 ) >> 1 );
- *d1++ = static_cast< TUint8 >( ( b1 + b2 ) >> 1 );
- *d1++ = static_cast< TUint8 >( ( r1 + r2 ) >> 1 );
-
- *d1++ = static_cast< TUint8 >( g2 );
- *d1++ = static_cast< TUint8 >( b2 );
- *d1++ = static_cast< TUint8 >( r2 );
-
- d += dpitch * 2;
- s += spitch;
- }
-
- // then average rows between
- d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- for( y = 0; y < sheight - 1; y++ )
- {
- TUint8* d1 = d;
- TUint8* d2 = d1 + dpitch;
- TUint8* d3 = d2 + dpitch;
-
- for( TInt x = 0; x < swidth; x++ )
- {
- TUint32 g1 = *d1++;
- TUint32 g2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( g1 + g2 ) >> 1 );
-
- TUint32 b1 = *d1++;
- TUint32 b2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( b1 + b2 ) >> 1 );
-
- TUint32 r1 = *d1++;
- TUint32 r2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( r1 + r2 ) >> 1 );
-
- g1 = *d1++;
- g2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( g1 + g2 ) >> 1 );
-
- b1 = *d1++;
- b2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( b1 + b2 ) >> 1 );
-
- r1 = *d1++;
- r2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( r1 + r2 ) >> 1 );
- }
-
- d += dpitch * 2;
- }
-
- // last row is just copy of previous row, because we cannot calculate
- // average
- Mem::Copy( reinterpret_cast< TUint8* >( d ) + dpitch, d, dpitch );
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale2x16M() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplBilinear::Scale2x16MU16MA()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplBilinear::Scale2x16MU16MA()
- {
-
-#if defined ( __MARM_ARMI__ ) && defined ( NDEBUG ) && defined ( __USE_ASM_OPTS ) // From urel
-
- asm("stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, r11, r12, lr} ");
- asm("ldr r11, .L1_671");
- asm("sub sp, sp, #24 ");
- asm("mov r6, r0 ");
- asm("ldr r1, [r6, #4] ");
- asm("ldr r3, [r1, #0] ");
- asm("add r0, sp, #16 ");
- asm("ldr ip, [r3, #20] ");
- asm("mov lr, pc ");
- asm("bx ip ");
- asm("ldr r7, [sp, #20] ");
- asm("ldr r1, [r6, #4] ");
- asm("ldr r3, [r1, #0] ");
- asm("add r0, sp, #8 ");
- asm("ldr ip, [r3, #20] ");
- asm("mov lr, pc ");
- asm("bx ip ");
- asm("ldr r9, [sp, #8] ");
- asm("str r9, [sp, #0] ");
- asm("ldr r0, [r6, #4] ");
- asm("ldr r3, [r0, #0] ");
- asm("ldr ip, [r3, #24] ");
- asm("mov lr, pc ");
- asm("bx ip ");
- asm("str r0, [sp, #4] ");
- asm("ldr r0, [r6, #8] ");
- asm("ldr r3, [r0, #0] ");
- asm("ldr ip, [r3, #24] ");
- asm("mov lr, pc ");
- asm("bx ip ");
- asm("mov sl, r0 ");
- asm("ldr r0, [r6, #4] ");
- asm("ldr r3, [r0, #0] ");
- asm("ldr ip, [r3, #28] ");
- asm("mov lr, pc ");
- asm("bx ip ");
- asm("mov r4, r0 ");
- asm("ldr r0, [r6, #8] ");
- asm("ldr r3, [r0, #0] ");
- asm("ldr ip, [r3, #28] ");
- asm("mov lr, pc ");
- asm("bx ip ");
- asm("mov r5, r0 ");
- asm("subs r8, r7, #1 ");
- asm("bmi .L1_654 ");
-
-asm(" .L1_656: ");
- asm("mov ip, r5 ");
- asm("mov lr, r4 ");
- asm("ldr r1, [lr], #4 ");
- asm("ldr r9, [sp, #0] ");
- asm("cmp r9, #4");
- asm("bhi .L1_658_1");
-
- // picture width lower or equal to 4
- asm("subs r0, r9, #2");
- asm("bmi .L1_658");
-
- asm("ldr r9, [lr], #4 ");
- asm("eor r2, r9, r1 ");
- asm("and r2, r2, r11 ");
- asm("and r3, r9, r1 ");
- asm("add r3, r3, r2, lsr #1 ");
- asm("str r1, [ip], #4");
- asm("str r3, [ip], #4");
-
- asm("subs r0, r0, #1");
- asm("strmi r9, [ip], #4");
- asm("strmi r9, [ip], #4");
- asm("bmi .L1_658");
-
- asm("ldr r1, [lr], #4 ");
- asm("eor r2, r9, r1 ");
- asm("and r2, r2, r11 ");
- asm("and r3, r9, r1 ");
- asm("add r3, r3, r2, lsr #1 ");
- asm("str r9, [ip], #4");
- asm("str r3, [ip], #4");
-
- asm("subs r0, r0, #1");
- asm("strmi r1, [ip], #4");
- asm("strmi r1, [ip], #4");
- asm("bmi .L1_658");
-
- asm("ldr r9, [lr], #4 ");
- asm("eor r2, r9, r1 ");
- asm("and r2, r2, r11 ");
- asm("and r3, r9, r1 ");
- asm("add r3, r3, r2, lsr #1 ");
- asm("str r1, [ip], #4");
- asm("str r3, [ip], #4");
-
- asm("b .L1_658");
-
- // picture width higher than 4
-asm(" .L1_658_1:");
- asm("mov r9, r9, lsr #1 ");
- asm("subs r0, r9, #2 ");
- asm("bmi .L1_658 ");
-
-asm(" .L1_660: ");
- asm("ldr r9, [lr], #4 ");
- asm("eor r2, r9, r1 ");
- asm("and r2, r2, r11 ");
- asm("and r3, r9, r1 ");
- asm("add r3, r3, r2, lsr #1 ");
- asm("stmia ip!, { r1, r3, r9 } ");
- asm("sub r0, r0, #1 ");
- asm("ldr r1, [lr], #4 ");
- asm("eor r2, r9, r1 ");
- asm("and r2, r2, r11 ");
- asm("and r3, r9, r1 ");
- asm("add r3, r3, r2, lsr #1 ");
- asm("str r3, [ip], #4");
- asm("cmp r0,#0");
- asm("bge .L1_660 ");
-
-asm(" .L1_658: ");
- asm("str r1, [ip], #4 ");
- asm("str r1, [ip, #0] ");
- asm("add r5, r5, sl, asl #1 ");
- asm("ldr r9, [sp, #4] ");
- asm("add r4, r4, r9 ");
- asm("subs r8, r8, #1 ");
- asm("bpl .L1_656 ");
-
-asm(" .L1_654: ");
- asm("ldr r0, [r6, #8] ");
- asm("ldr r3, [r0, #0] ");
- asm("ldr ip, [r3, #28] ");
- asm("mov lr, pc ");
- asm("bx ip ");
- asm("mov r5, r0 ");
- asm("subs r8, r7, #2 ");
- asm("bmi .L1_664 ");
-
-asm(" .L1_666: ");
- asm("mov r7, r5 ");
- asm("add r4, r5, sl ");
- asm("add r6, r4, sl ");
- asm("ldr r9, [sp, #0] ");
- asm("subs lr, r9, #1 ");
- asm("bmi .L1_668 ");
-
-asm(" .L1_670: ");
- asm("ldr r1, [r7], #4 ");
- asm("ldr r2, [r7], #4 ");
- asm("ldr r0, [r6], #4 ");
- asm("ldr ip, [r6], #4 ");
- asm("eor r3, r1, r0 ");
- asm("and r3, r3, r11 ");
- asm("and r1, r1, r0 ");
- asm("add r1, r1, r3, lsr #1 ");
- asm("str r1, [r4], #4 ");
- asm("eor r3, r2, ip ");
- asm("and r3, r3, r11 ");
- asm("and r2, r2, ip ");
- asm("add r2, r2, r3, lsr #1 ");
- asm("str r2, [r4], #4 ");
- asm("subs lr, lr, #1 ");
- asm("bpl .L1_670 ");
-
-asm(" .L1_668: ");
- asm("add r5, r5, sl, asl #1 ");
- asm("subs r8, r8, #1 ");
- asm("bpl .L1_666 ");
-
-asm(" .L1_664: ");
- asm("add r0, r5, sl ");
- asm("mov r1, r5 ");
- asm("mov r2, sl ");
- asm("bl Copy__3MemPvPCvi ");
- asm("add sp, sp, #24 ");
- asm("ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, r11, r12, lr} ");
- asm("bx lr ");
-
-asm(" .align 0 ");
-asm(" .L1_671: ");
-asm(" .word 0x00fefefe ");
-
-#else
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale2x16MU16MA() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint32 mask = 0xfefefefe;
- TUint32* s = iSource->DataAddress();
- TUint32* d = iTarget->DataAddress();
- TInt y;
-
- TUint32 p1;
- TUint32 p2;
- TUint32 p3;
- TUint32 p4;
-
- // first average source rows
- for( y = sheight - 1; y >= 0; y-- )
- {
- TUint32* s1 = s;
- TUint32* d1 = d;
-
- TUint32 p2 = *s1++;
- TUint32 p1 = 0;
-
- for( TInt x = swidth - 2; x >= 0; x-- )
- {
- *d1++ = p2;
- p1 = p2;
- p2 = *s1++;
- *d1++ = ( ( ( p1 ^ p2 ) & mask ) >> 1 ) + ( p1 & p2 );
- }
-
- *d1++ = p2;
- *d1++ = p2;
-
- d = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d ) + dpitch * 2 );
- s = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( s ) + spitch );
- }
-
- // then average rows between
- d = iTarget->DataAddress();
-
- for( y = sheight - 2; y >= 0; y-- )
- {
- TUint32* d1 = reinterpret_cast< TUint32* >( d );
- TUint32* d2 = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d1 ) + dpitch );
- TUint32* d3 = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d2 ) + dpitch );
-
- for( TInt x = swidth - 1; x >= 0; x-- )
- {
- p1 = *d1++;
- p2 = *d3++;
- *d2++ = ( ( ( p1 ^ p2 ) & mask ) >> 1 ) + ( p1 & p2 );
- p3 = *d1++;
- p4 = *d3++;
- *d2++ = ( ( ( p3 ^ p4 ) & mask ) >> 1 ) + ( p3 & p4 );
- }
-
- d = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d ) + dpitch * 2 );
- }
-
- // last row is just copy of previous row, because we cannot calculate
- // average
- Mem::Copy( reinterpret_cast< TUint8* >( d ) + dpitch, d, dpitch );
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplBilinear::Scale2x16MU16MA() <<" ), RThread().Id().operator TUint() ) );
-
-#endif
-
- }
-
-// End of File
--- a/vtprotocolplugins/DisplaySink/src/CVtImageScalerImplNearest.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,522 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageScalerImplNearest.h"
-#include "cvtimage.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-const TUint32 KDecimalBits = 16; // 16.16 pseudo real format
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ======================= CVtImageScalerImplNearest =======================
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Scale( TBool& aContinue )
-// -----------------------------------------------------------------------------
-TInt CVtImageScalerImplNearest::Scale( TBool& aContinue )
- {
- TInt result( KErrNone );
-
- aContinue = EFalse;
-
- // this implementation does not support different display modes for source
- // and target
- if( iSource->DisplayMode() != iTarget->DisplayMode() )
- {
- return KErrNotSupported;
- }
-
- // if sizes are same, just copy the data
- if( iSource->Size() == iTarget->Size() )
- {
- Mem::Copy(
- iTarget->DataAddress(),
- iSource->DataAddress(),
- iTarget->BytesPerRow() * iTarget->Size().iHeight );
- }
- else if( ( iSource->Size().iHeight * 2 == iTarget->Size().iHeight ) &&
- ( iSource->Size().iWidth * 2 == iTarget->Size().iWidth ) )
- {
- switch( iSource->DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- Scale2x4K64K();
- break;
-
- case CVtImage::EVtColor16M:
- Scale2x16M();
- break;
-
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- Scale2x16MU16MA();
- break;
-
- default:
- if ( iSource->Type() == CVtImage::EVtImageBitmap &&
- iTarget->Type() == CVtImage::EVtImageBitmap )
- {
- TRAPD( error,
- ScaleWithBitmapScalerL(
- CBitmapScaler::EMinimumQuality ) );
- result = error;
- }
- else
- {
- result = KErrNotSupported;
- }
- }
- }
- else
- {
- Initialize();
-
- switch( iSource->DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- Scale4K(
- reinterpret_cast< const TUint16* >(
- iSource->DataAddress() ),
- iSource->BytesPerRow(),
- reinterpret_cast< TUint16* >( iTarget->DataAddress() ),
- iTarget->Size().iWidth,
- iTarget->Size().iHeight,
- iU,
- iV );
- break;
-
- case CVtImage::EVtColor64K:
- Scale64K(
- reinterpret_cast< const TUint16* >(
- iSource->DataAddress() ),
- iSource->BytesPerRow(),
- reinterpret_cast< TUint16* >( iTarget->DataAddress() ),
- iTarget->Size().iWidth,
- iTarget->Size().iHeight,
- iU,
- iV );
- break;
-
- case CVtImage::EVtColor16M:
- Scale16M(
- reinterpret_cast< const TUint8* >(
- iSource->DataAddress() ),
- iSource->BytesPerRow(),
- reinterpret_cast< TUint8* >( iTarget->DataAddress() ),
- iTarget->Size().iWidth,
- iTarget->Size().iHeight,
- iTarget->BytesPerRow(),
- iU,
- iV );
- break;
-
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- Scale16MU16MA(
- iSource->DataAddress(),
- iSource->BytesPerRow(),
- iTarget->DataAddress(),
- iTarget->Size().iWidth,
- iTarget->Size().iHeight,
- iU,
- iV );
- break;
-
- default:
- if ( iSource->Type() == CVtImage::EVtImageBitmap &&
- iTarget->Type() == CVtImage::EVtImageBitmap )
- {
- TRAPD( error,
- ScaleWithBitmapScalerL(
- CBitmapScaler::EMinimumQuality ) );
- result = error;
- }
- else
- {
- result = KErrNotSupported;
- }
- }
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::ValidateSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
- if( aSource.DisplayMode() != aTarget.DisplayMode() )
- {
- User::Leave( KErrNotSupported );
- }
-
- switch( aSource.DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- case CVtImage::EVtColor16M:
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- break;
-
- default:
- // Scaling for bitmaps is supported for other display modes
- if ( !( aSource.Type() == CVtImage::EVtImageBitmap &&
- aTarget.Type() == CVtImage::EVtImageBitmap ) )
- {
- User::Leave( KErrNotSupported );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Initialize()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::Initialize()
- {
- iU = ( 1 << KDecimalBits ) * iSource->Size().iWidth /
- iTarget->Size().iWidth + 1;
- iV = ( 1 << KDecimalBits ) * iSource->Size().iHeight /
- iTarget->Size().iHeight + 1;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Scale4K(
-// const TUint16* aSrcPtr, TUint32 aSrcWidth, TUint16* aTrgPtr,
-// TUint32 aTrgWidth, TUint32 aTrgHeight, TUint32 aDx, TUint32 aDy )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::Scale4K(
- const TUint16* aSrcPtr,
- TUint32 aSrcWidth,
- TUint16* aTrgPtr,
- TUint32 aTrgWidth,
- TUint32 aTrgHeight,
- TUint32 aDx,
- TUint32 aDy )
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale4K() >>" ), RThread().Id().operator TUint() ) );
- // scaling 4K and 64K is equal procedure
- Scale64K( aSrcPtr, aSrcWidth, aTrgPtr, aTrgWidth, aTrgHeight, aDx, aDy );
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale4K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Scale64K(
-// const TUint16* aSrcPtr, TUint32 aSrcPitch, TUint16* aTrgPtr,
-// TUint32 aTrgWidth, TUint32 aTrgHeight, TUint32 aDx, TUint32 aDy )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::Scale64K(
- const TUint16* aSrcPtr,
- TUint32 aSrcPitch,
- TUint16* aTrgPtr,
- TUint32 aTrgWidth,
- TUint32 aTrgHeight,
- TUint32 aDx,
- TUint32 aDy )
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale64K() >>" ), RThread().Id().operator TUint() ) );
-
- TUint32 sy( 0 );
-
- for( TUint32 y = 0; y < aTrgHeight; y++ )
- {
- const TUint16* srow =
- aSrcPtr + ( sy >> KDecimalBits ) * ( aSrcPitch >> 1 );
-
- TUint32 sx( 0 );
-
- TUint32 x( 0 );
-
- // loop unrolled with 8
- for( ; x < ( aTrgWidth >> 3 ); x++ )
- {
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- }
-
- // handle remaining columns
- for( x = 0; x < ( aTrgWidth & 7 ); x++ )
- {
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- }
-
- // if target width is not even aligning is needed
- if( aTrgWidth & 1 )
- {
- aTrgPtr++;
- }
-
- sy += aDy;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale64K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Scale16M(
-// const TUint8* aSrcPtr, TUint32 aSrcPitch, TUint8* aTrgPtr,
-// TUint32 aTrgWidth, TUint32 aTrgHeight, TUint32 aTrgPitch, TUint32 aDx, TUint32 aDy )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::Scale16M(
- const TUint8* aSrcPtr,
- TUint32 aSrcPitch,
- TUint8* aTrgPtr,
- TUint32 aTrgWidth,
- TUint32 aTrgHeight,
- TUint32 aTrgPitch,
- TUint32 aDx,
- TUint32 aDy )
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale16M() >>" ), RThread().Id().operator TUint() ) );
-
- TUint32 sy( 0 );
-
- for( TUint32 y = 0; y < aTrgHeight; y++ )
- {
- const TUint8* s = aSrcPtr + ( sy >> KDecimalBits ) * aSrcPitch;
-
- TUint8* d = aTrgPtr;
-
- TUint32 sx( 0 );
-
- TUint32 x( 0 );
-
- for( ; x < aTrgWidth; x++ )
- {
- const TUint8* tempSrc = s + ( sx >> KDecimalBits ) * 3;
- *d++ = *tempSrc++;
- *d++ = *tempSrc++;
- *d++ = *tempSrc++;
- sx += aDx;
- }
-
- aTrgPtr += aTrgPitch;
-
- sy += aDy;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale16M() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Scale16MU16MA( const TUint32* aSrcPtr,
-// TUint32 aSrcPitch, TUint32* aTrgPtr, TUint32 aTrgWidth, TUint32 aTrgHeight,
-// TUint32 aDx, TUint32 aDy )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::Scale16MU16MA(
- const TUint32* aSrcPtr,
- TUint32 aSrcPitch,
- TUint32* aTrgPtr,
- TUint32 aTrgWidth,
- TUint32 aTrgHeight,
- TUint32 aDx,
- TUint32 aDy )
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale16MU16MA() >>" ), RThread().Id().operator TUint() ) );
-
- TUint32 sy( 0 );
-
- for( TUint32 y = 0; y < aTrgHeight; y++ )
- {
- const TUint32* srow =
- aSrcPtr + ( sy >> KDecimalBits ) * ( aSrcPitch >> 2 );
-
- TUint32 sx( 0 );
-
- TUint32 x( 0 );
-
- // loop unrolled with 8
- for( ; x < ( aTrgWidth >> 3 ); x++ )
- {
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- }
-
- // handle remaining columns
- for( x = 0; x < ( aTrgWidth & 7 ); x++ )
- {
- *aTrgPtr++ = srow[ sx >> KDecimalBits ];
- sx += aDx;
- }
-
- sy += aDy;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale16MU16MA() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Scale2x4K64K()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::Scale2x4K64K()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale2x4K64K() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint16* s = reinterpret_cast< TUint16* >( iSource->DataAddress() );
- TUint32* d = iTarget->DataAddress();
-
- for( TInt y = 0; y < sheight; y++ )
- {
- TUint16* s2 = s;
- TUint32* d1 = d;
- for( TInt x = 0; x < swidth; x++ )
- {
- TUint32 p = *s2++;
- p |= ( p << 16 );
- *d1++ = p;
- }
- d = reinterpret_cast< TUint32* >(
- Mem::Copy( reinterpret_cast< TUint8* >( d ) + dpitch, d, dpitch ) );
- s = reinterpret_cast< TUint16* >(
- reinterpret_cast< TUint8* >( s ) + spitch );
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale2x4K64K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Scale2x16M()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::Scale2x16M()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale2x16M() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint8* s = reinterpret_cast< TUint8* >( iSource->DataAddress() );
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- for( TInt y = 0; y < sheight; y++ )
- {
- TUint8* s2 = s;
- TUint8* d1 = d;
- for( TInt x = 0; x < swidth; x++ )
- {
- TUint8 g = *s2++;
- TUint8 b = *s2++;
- TUint8 r = *s2++;
-
- *d1++ = g;
- *d1++ = b;
- *d1++ = r;
-
- *d1++ = g;
- *d1++ = b;
- *d1++ = r;
- }
- d = Mem::Copy( d + dpitch, d, dpitch );
- s += spitch;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale2x16M() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplNearest::Scale2x16MU16MA()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplNearest::Scale2x16MU16MA()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale2x16MU16MA() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint32* s = iSource->DataAddress();
- TUint32* d = iTarget->DataAddress();
-
- for( TInt y = 0; y < sheight; y++ )
- {
- TUint32* s2 = s;
- TUint32* d1 = d;
- for( TInt x = 0; x < swidth; x++ )
- {
- TUint32 p = *s2++;
- *d1++ = p;
- *d1++ = p;
- }
- d = reinterpret_cast< TUint32* >(
- Mem::Copy( reinterpret_cast< TUint8* >( d ) + dpitch, d, dpitch ) );
- s = reinterpret_cast< TUint32* >(
- reinterpret_cast< TUint8* >( s ) + spitch );
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplNearest::Scale2x16MU16MA() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/CVtImageScalerImplWeightedAverage.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1183 +0,0 @@
-/*
-* Copyright (c) 2004 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: Image Transforms subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVtImageScalerImplWeightedAverage.h"
-#include "cvtimage.h"
-#include "CVtImageScalerMacros.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-const TUint32 KDecimalBits = 16; // 16.16 pseudo real format
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ======================= CVtImageScalerImplWeightedAverage ===================
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale( TBool& aContinue )
-// -----------------------------------------------------------------------------
-TInt CVtImageScalerImplWeightedAverage::Scale( TBool& aContinue )
- {
- TInt result( KErrNone );
-
- aContinue = EFalse;
-
- // this implementation does not support different display modes for source
- // and target
- if( iSource->DisplayMode() != iTarget->DisplayMode() )
- {
- return KErrNotSupported;
- }
-
- // if sizes are same, just copy the data
- if( iSource->Size() == iTarget->Size() )
- {
- Mem::Copy(
- iTarget->DataAddress(),
- iSource->DataAddress(),
- iTarget->BytesPerRow() * iTarget->Size().iHeight );
- }
- else if ( ( iSource->Size().iHeight * 2 == iTarget->Size().iHeight )
- && ( iSource->Size().iWidth * 2 == iTarget->Size().iWidth ) )
- {
- switch( iSource->DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- Scale2x4K64K( 0xeee ); // 0000ggggbbbbrrrr ->
- break; // mask = %0000111011101110 = 0xeee
-
- case CVtImage::EVtColor64K:
- Scale2x4K64K( 0xf7de ); // bbbbbggggggrrrrr ->
- break; // mask = %1111011111011110 = 0xf7de
-
- case CVtImage::EVtColor16M:
- Scale2x16M();
- break;
-
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- Scale2x16MU16MA();
- break;
-
- default:
- if ( iSource->Type() == CVtImage::EVtImageBitmap &&
- iTarget->Type() == CVtImage::EVtImageBitmap )
- {
- TRAPD( error,
- ScaleWithBitmapScalerL(
- CBitmapScaler::EMediumQuality ) );
- result = error;
- }
- else
- {
- result = KErrNotSupported;
- }
- }
- }
- else
- {
- Initialize();
-
- switch( iSource->DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- Scale4K();
- break;
-
- case CVtImage::EVtColor64K:
- Scale64K();
- break;
-
- case CVtImage::EVtColor16M:
- Scale16M();
- break;
-
- case CVtImage::EVtColor16MU:
- Scale16MU();
- break;
-
- case CVtImage::EVtColor16MA:
- Scale16MA();
- break;
-
- default:
- if ( iSource->Type() == CVtImage::EVtImageBitmap &&
- iTarget->Type() == CVtImage::EVtImageBitmap )
- {
- TRAPD( error,
- ScaleWithBitmapScalerL(
- CBitmapScaler::EMediumQuality ) );
- result = error;
- }
- else
- {
- result = KErrNotSupported;
- }
- }
- }
-
- return result;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::ValidateSourceTargetL(
-// const CVtImage& aSource, CVtImage& aTarget )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::ValidateSourceTargetL(
- const CVtImage& aSource,
- CVtImage& aTarget )
- {
- // source and target must have same displaymode
- if( aSource.DisplayMode() != aTarget.DisplayMode() )
- {
- User::Leave( KErrNotSupported );
- }
-
- // only 4K, 64K, 16M and 16MU modes are supported
- switch( aSource.DisplayMode() )
- {
- case CVtImage::EVtColor4K:
- case CVtImage::EVtColor64K:
- case CVtImage::EVtColor16M:
- case CVtImage::EVtColor16MU:
- case CVtImage::EVtColor16MA:
- break;
-
- default:
- // Scaling for bitmaps is supported for other display modes
- if ( !( aSource.Type() == CVtImage::EVtImageBitmap &&
- aTarget.Type() == CVtImage::EVtImageBitmap ) )
- {
- User::Leave( KErrNotSupported );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Initialize()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Initialize()
- {
- iU = ( 1 << KDecimalBits ) * iSource->Size().iWidth /
- iTarget->Size().iWidth;
- iV = ( 1 << KDecimalBits ) * iSource->Size().iHeight /
- iTarget->Size().iHeight;
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale4K()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Scale4K()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale4K() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint16* t = reinterpret_cast< TUint16* >( iTarget->DataAddress() );
-
- TUint32 sourceY( 0 );
-
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint16* s = reinterpret_cast< TUint16* >(
- iSource->LineAddress( sourceY >> KDecimalBits ) );
- TUint16* snext = reinterpret_cast< TUint16* >(
- iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 ) );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
-
- TInt x;
-
- TUint32 x0prev( TUint32( -1 ) );
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
-
- b00 = UNPACK_4K_BLUE( p0 );
- g00 = UNPACK_4K_GREEN( p0 );
- r00 = UNPACK_4K_RED( p0 );
-
- p0 = *( s + x0 + 1 );
-
- b01 = UNPACK_4K_BLUE( p0 );
- g01 = UNPACK_4K_GREEN( p0 );
- r01 = UNPACK_4K_RED( p0 );
-
- p0 = *( snext + x0 );
-
- b10 = UNPACK_4K_BLUE( p0 );
- g10 = UNPACK_4K_GREEN( p0 );
- r10 = UNPACK_4K_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 );
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *t++ = PACK_4K_BGR(
- bres >> ( KDecimalBits + 1 ),
- gres >> ( KDecimalBits + 1 ),
- rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- // handle last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
- b01 = b00 = UNPACK_4K_BLUE( p0 );
- g01 = g00 = UNPACK_4K_GREEN( p0 );
- r01 = r00 = UNPACK_4K_RED( p0 );
-
- p0 = *( snext + x0 );
- b10 = UNPACK_4K_BLUE( p0 );
- g10 = UNPACK_4K_GREEN( p0 );
- r10 = UNPACK_4K_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *t++ = PACK_4K_BGR(
- bres >> ( KDecimalBits + 1 ),
- gres >> ( KDecimalBits + 1 ),
- rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- // if width is not even -> then we need to skip one additional byte
- if( width & 1 )
- {
- t++;
- }
-
- sourceY += iV;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale4K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale64K()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Scale64K()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale64K() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint16* t = reinterpret_cast< TUint16* >( iTarget->DataAddress() );
-
- TUint32 sourceY( 0 );
-
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint16* s = reinterpret_cast< TUint16* >
- ( iSource->LineAddress( sourceY >> KDecimalBits ) );
- TUint16* snext = reinterpret_cast< TUint16* >
- ( iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 ) );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
-
- TInt x;
-
- TUint32 x0prev( TUint32( -1 ) );
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
-
- b00 = UNPACK_64K_BLUE( p0 );
- g00 = UNPACK_64K_GREEN( p0 );
- r00 = UNPACK_64K_RED( p0 );
-
- p0 = *( s + x0 + 1 );
-
- b01 = UNPACK_64K_BLUE( p0 );
- g01 = UNPACK_64K_GREEN( p0 );
- r01 = UNPACK_64K_RED( p0 );
-
- p0 = *( snext + x0 );
-
- b10 = UNPACK_64K_BLUE( p0 );
- g10 = UNPACK_64K_GREEN( p0 );
- r10 = UNPACK_64K_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 );
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *t++ = PACK_64K_BGR(
- bres >> ( KDecimalBits + 1 ),
- gres >> ( KDecimalBits + 1 ),
- rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- // handle last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
- b01 = b00 = UNPACK_64K_BLUE( p0 );
- g01 = g00 = UNPACK_64K_GREEN( p0 );
- r01 = r00 = UNPACK_64K_RED( p0 );
-
- p0 = *( snext + x0 );
- b10 = UNPACK_64K_BLUE( p0 );
- g10 = UNPACK_64K_GREEN( p0 );
- r10 = UNPACK_64K_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *t++ = PACK_64K_BGR(
- bres >> ( KDecimalBits + 1 ),
- gres >> ( KDecimalBits + 1 ),
- rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- // if width is not even -> then we need to skip one additional byte
- if( width & 1 )
- {
- t++;
- }
-
- sourceY += iV;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale64K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale16M()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Scale16M()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale16M() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint32 t_pitch = iTarget->BytesPerRow();
-
- TUint8* t = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- TUint32 sourceY( 0 );
-
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint8* s = reinterpret_cast< TUint8* >(
- iSource->LineAddress( sourceY >> KDecimalBits ) );
- TUint8* snext = reinterpret_cast< TUint8* >(
- iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 ) );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
-
- TInt x;
-
- TUint32 x0prev( TUint32( -1 ) );
-
- TUint8* d = t;
-
- // first columns
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = ( sourceX >> KDecimalBits ) * 3;
-
- if( x0 != x0prev )
- {
- TUint8* tempSrc = s + x0;
-
- b00 = *tempSrc++;
- g00 = *tempSrc++;
- r00 = *tempSrc++;
-
- b01 = *tempSrc++;
- g01 = *tempSrc++;
- r01 = *tempSrc++;
-
- tempSrc = snext + x0;
-
- b10 = *tempSrc++;
- g10 = *tempSrc++;
- r10 = *tempSrc++;
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *d++ = static_cast< TUint8 >( bres >> ( KDecimalBits + 1 ) );
- *d++ = static_cast< TUint8 >( gres >> ( KDecimalBits + 1 ) );
- *d++ = static_cast< TUint8 >( rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- // handle last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = ( sourceX >> KDecimalBits ) * 3;
-
- if( x0 != x0prev )
- {
- TUint8* tempSrc = s + x0;
-
- b01 = b00 = *tempSrc++;
- g01 = g00 = *tempSrc++;
- r01 = r00 = *tempSrc++;
-
- tempSrc = snext + x0;
-
- b10 = *tempSrc++;
- g10 = *tempSrc++;
- r10 = *tempSrc++;
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *d++ = static_cast< TUint8 >( bres >> ( KDecimalBits + 1 ) );
- *d++ = static_cast< TUint8 >( gres >> ( KDecimalBits + 1 ) );
- *d++ = static_cast< TUint8 >( rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- t += t_pitch;
-
- sourceY += iV;
- }
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale16M() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale16MU()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Scale16MU()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale16MU() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint32* t = iTarget->DataAddress();
-
- TUint32 sourceY( 0 );
-
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint32* s = iSource->LineAddress( sourceY >> KDecimalBits );
- TUint32* snext = iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
-
- TInt x;
-
- TUint32 x0prev( TUint32( -1 ) );
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
-
- b00 = UNPACK_16MU_BLUE( p0 );
- g00 = UNPACK_16MU_GREEN( p0 );
- r00 = UNPACK_16MU_RED( p0 );
-
- p0 = *( s + x0 + 1 );
-
- b01 = UNPACK_16MU_BLUE( p0 );
- g01 = UNPACK_16MU_GREEN( p0 );
- r01 = UNPACK_16MU_RED( p0 );
-
- p0 = *( snext + x0 );
-
- b10 = UNPACK_16MU_BLUE( p0 );
- g10 = UNPACK_16MU_GREEN( p0 );
- r10 = UNPACK_16MU_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 );
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *t++ = PACK_16MU_BGR(
- bres >> ( KDecimalBits + 1 ),
- gres >> ( KDecimalBits + 1 ),
- rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- // handle last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
- b01 = b00 = UNPACK_16MU_BLUE( p0 );
- g01 = g00 = UNPACK_16MU_GREEN( p0 );
- r01 = r00 = UNPACK_16MU_RED( p0 );
-
- p0 = *( snext + x0 );
- b10 = UNPACK_16MU_BLUE( p0 );
- g10 = UNPACK_16MU_GREEN( p0 );
- r10 = UNPACK_16MU_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *t++ = PACK_16MU_BGR(
- bres >> ( KDecimalBits + 1 ),
- gres >> ( KDecimalBits + 1 ),
- rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- sourceY += iV;
- }
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale16MU() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale16MA()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Scale16MA()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale16MA() >>" ), RThread().Id().operator TUint() ) );
-
- TInt width = iTarget->Size().iWidth;
-
- TInt height = iTarget->Size().iHeight;
-
- TInt mod_width = width - ( ( 1 << KDecimalBits ) / iU );
-
- TUint32* t = iTarget->DataAddress();
-
- TUint32 sourceY( 0 );
-
- TUint32 a00( 0 );
- TUint32 b00( 0 );
- TUint32 g00( 0 );
- TUint32 r00( 0 );
- TUint32 a01( 0 );
- TUint32 b01( 0 );
- TUint32 g01( 0 );
- TUint32 r01( 0 );
- TUint32 a10( 0 );
- TUint32 b10( 0 );
- TUint32 g10( 0 );
- TUint32 r10( 0 );
-
- for( TInt y = 0; y < height; y++ )
- {
- TUint32* s = iSource->LineAddress( sourceY >> KDecimalBits );
- TUint32* snext = iSource->LineAddress( ( sourceY >> KDecimalBits ) + 1 );
-
- TUint32 invdv = sourceY & ( ( 1 << KDecimalBits ) - 1 ); // decimal part
- TUint32 dv = ( 1 << KDecimalBits ) - invdv; // 1 - decimal part
-
- TUint32 sourceX( 0 );
-
- TInt x;
-
- TUint32 x0prev( TUint32( -1 ) );
-
- for( x = 0; x < mod_width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
-
- a00 = UNPACK_16MA_ALPHA( p0 );
- b00 = UNPACK_16MA_BLUE( p0 );
- g00 = UNPACK_16MA_GREEN( p0 );
- r00 = UNPACK_16MA_RED( p0 );
-
- p0 = *( s + x0 + 1 );
-
- a01 = UNPACK_16MA_ALPHA( p0 );
- b01 = UNPACK_16MA_BLUE( p0 );
- g01 = UNPACK_16MA_GREEN( p0 );
- r01 = UNPACK_16MA_RED( p0 );
-
- p0 = *( snext + x0 );
-
- a10 = UNPACK_16MA_ALPHA( p0 );
- b10 = UNPACK_16MA_BLUE( p0 );
- g10 = UNPACK_16MA_GREEN( p0 );
- r10 = UNPACK_16MA_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 );
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 ares = ( du + dv ) * a00 + invdu * a01 + invdv * a10;
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *t++ = PACK_16MA_ABGR(
- ares >> ( KDecimalBits + 1 ),
- bres >> ( KDecimalBits + 1 ),
- gres >> ( KDecimalBits + 1 ),
- rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- // handle last columns
- for( ; x < width; x++ )
- {
- TUint32 x0 = sourceX >> KDecimalBits;
-
- if( x0 != x0prev )
- {
- TUint32 p0 = *( s + x0 );
- a01 = a00 = UNPACK_16MA_ALPHA( p0 );
- b01 = b00 = UNPACK_16MA_BLUE( p0 );
- g01 = g00 = UNPACK_16MA_GREEN( p0 );
- r01 = r00 = UNPACK_16MA_RED( p0 );
-
- p0 = *( snext + x0 );
- a10 = UNPACK_16MA_ALPHA( p0 );
- b10 = UNPACK_16MA_BLUE( p0 );
- g10 = UNPACK_16MA_GREEN( p0 );
- r10 = UNPACK_16MA_RED( p0 );
-
- x0prev = x0;
- }
-
- TUint32 invdu = sourceX & ( ( 1 << KDecimalBits ) - 1 ); // decimal
- TUint32 du = ( 1 << KDecimalBits ) - invdu; // 1 - decimal part
-
- TUint32 ares = ( du + dv ) * a00 + invdu * a01 + invdv * a10;
- TUint32 bres = ( du + dv ) * b00 + invdu * b01 + invdv * b10;
- TUint32 gres = ( du + dv ) * g00 + invdu * g01 + invdv * g10;
- TUint32 rres = ( du + dv ) * r00 + invdu * r01 + invdv * r10;
-
- *t++ = PACK_16MA_ABGR(
- ares >> ( KDecimalBits + 1 ),
- bres >> ( KDecimalBits + 1 ),
- gres >> ( KDecimalBits + 1 ),
- rres >> ( KDecimalBits + 1 ) );
-
- sourceX += iU;
- }
-
- sourceY += iV;
- }
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale16MA() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale2x4K64K( TUint32 aMask )
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Scale2x4K64K( TUint32 aMask )
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale2x4K64K() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint32* s = iSource->DataAddress();
- TUint32* d = iTarget->DataAddress();
- TInt y;
-
- // first average source rows
- for( y = 0; y < sheight; y++ )
- {
- TUint32* s1 = s;
- TUint32* d1 = d;
-
- TUint32 p = *s1++; // 2 pixels
- TUint32 p1 = p & 0xffff;
- TUint32 p2 = ( p >> 16 ) & 0xffff;
- TInt x;
-
- for( x = 0; x < swidth/2 - 1; x++ )
- {
- TUint32 p1a = ( ( ( p1 ^ p2 ) & aMask ) >> 1 ) + ( p1 & p2 );
- p1a = ( ( ( p1 ^ p1a ) & aMask ) >> 1 ) + ( p1 & p1a );
- *d1++ = p1 | ( p1a << 16 );
-
- p = *s1++; // 2 pixels
-
- p1 = p & 0xffff;
- TUint32 p2a = ( ( ( p1 ^ p2 ) & aMask ) >> 1 ) + ( p1 & p2 );
- p2a = ( ( ( p2a ^ p2 ) & aMask ) >> 1 ) + ( p2a & p2 );
- *d1++ = p2 | ( p2a << 16 );
-
- p2 = ( p >> 16 ) & 0xffff;
- }
-
- TUint32 p1a = ( ( ( p1 ^ p2 ) & aMask ) >> 1 ) + ( p1 & p2 );
- p1a = ( ( ( p1 ^ p1a ) & aMask ) >> 1 ) + ( p1 & p1a );
- *d1++ = p1 | ( p1a << 16 );
-
- if( swidth & 1 )
- {
- p = *s1; // 2 pixels
- p1 = p & 0xffff;
- TUint32 p2a = ( ( ( p1 ^ p2 ) & aMask ) >> 1 ) + ( p1 & p2 );
- p2a = ( ( ( p2a ^ p2 ) & aMask ) >> 1 ) + ( p2a & p2 );
- *d1++ = p2 | ( p2a << 16 );
-
- p = *--s1; // 2 pixels
- p2 = ( p >> 16 ) & 0xffff;
- *d1++ = p1 | ( p1 << 16 );
- }
- else
- {
- p = *--s1; // 2 pixels
- p2 = ( p >> 16 ) & 0xffff;
- *d1++ = p2 | ( p2 << 16 );
- }
-
- d = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d ) + dpitch * 2 );
- s = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( s ) + spitch );
- }
-
- // then average rows between
- d = iTarget->DataAddress();
-
- for( y = 0; y < sheight - 1; y++ )
- {
- TUint32* d1 = reinterpret_cast< TUint32* >( d );
- TUint32* d2 = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d1 ) + dpitch );
- TUint32* d3 = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d2 ) + dpitch );
-
- TUint32 p1 = *d1++;
- for( TInt x = 0; x < swidth - 1; x++ )
- {
- TUint32 p11 = p1 & 0xffff;
- TUint32 p3 = *d3++;
- TUint32 p31 = p3 & 0xffff;
-
- TUint32 r1 = ( ( ( p11 ^ p31 ) & aMask ) >> 1 ) + ( p11 & p31 );
- r1 = ( ( ( p11 ^ r1 ) & aMask ) >> 1 ) + ( p11 & r1 );
-
- p1 = *d1++; // read ahead
- TUint32 p21 = p1 & 0xffff;
- TUint32 r2 = ( ( ( p21 ^ p31 ) & aMask ) >> 1 ) + ( p21 & p31 );
- r2 = ( ( ( p11 ^ r2 ) & aMask ) >> 1 ) + ( p11 & r2 );
-
- *d2++ = r1 | ( r2 << 16 );
- }
-
- TUint32 p11 = p1 & 0xffff;
- TUint32 p3 = *d3++;
- TUint32 p31 = p3 & 0xffff;
- TUint32 r1 = ( ( ( p11 ^ p31 ) & aMask ) >> 1 ) + ( p11 & p31 );
- r1 = ( ( ( p11 ^ r1 ) & aMask ) >> 1 ) + ( p11 & r1 );
- *d2++ = r1 | ( r1 << 16 );
-
- d = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d ) + dpitch * 2 );
- }
-
- // last row is just copy of previous row, because we cannot calculate
- // average
- Mem::Copy( reinterpret_cast< TUint8* >( d ) + dpitch, d, dpitch );
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale2x4K64K() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale2x16M()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Scale2x16M()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale2x16M() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint8* s = reinterpret_cast< TUint8* >( iSource->DataAddress() );
- TUint8* d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- TInt y;
-
- for( y = 0; y < sheight; y++ )
- {
- TUint8* s2 = s;
- TUint8* d1 = d;
-
- TUint32 g1 = 0;
- TUint32 b1 = 0;
- TUint32 r1 = 0;
-
- TUint32 g2 = 0;
- TUint32 b2 = 0;
- TUint32 r2 = 0;
-
- for( TInt x = 0; x < swidth - 1; x++ )
- {
- g1 = *s2++;
- b1 = *s2++;
- r1 = *s2++;
-
- *d1++ = static_cast< TUint8 >( g1 );
- *d1++ = static_cast< TUint8 >( b1 );
- *d1++ = static_cast< TUint8 >( r1 );
-
- g2 = s2[ 0 ];
- b2 = s2[ 1 ];
- r2 = s2[ 2 ];
-
- *d1++ = static_cast< TUint8 >( ( g1 + ( ( g1 + g2 ) >> 1 ) ) >> 1 );
- *d1++ = static_cast< TUint8 >( ( b1 + ( ( b1 + b2 ) >> 1 ) ) >> 1 );
- *d1++ = static_cast< TUint8 >( ( r1 + ( ( r1 + r2 ) >> 1 ) ) >> 1 );
- }
-
- *d1++ = static_cast< TUint8 >( ( g1 + g2 ) >> 1 );
- *d1++ = static_cast< TUint8 >( ( b1 + b2 ) >> 1 );
- *d1++ = static_cast< TUint8 >( ( r1 + r2 ) >> 1 );
-
- *d1++ = static_cast< TUint8 >( g2 );
- *d1++ = static_cast< TUint8 >( b2 );
- *d1++ = static_cast< TUint8 >( r2 );
-
- d += dpitch * 2;
- s += spitch;
- }
-
- // then average rows between
- d = reinterpret_cast< TUint8* >( iTarget->DataAddress() );
-
- for( y = 0; y < sheight - 1; y++ )
- {
- TUint8* d1 = d;
- TUint8* d2 = d1 + dpitch;
- TUint8* d3 = d2 + dpitch;
-
- for( TInt x = 0; x < swidth; x++ )
- {
- TUint32 g1 = *d1++;
- TUint32 g2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( g1 + g2 ) >> 1 );
-
- TUint32 b1 = *d1++;
- TUint32 b2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( b1 + b2 ) >> 1 );
-
- TUint32 r1 = *d1++;
- TUint32 r2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( r1 + r2 ) >> 1 );
-
- g1 = *d1++;
- g2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( g1 + g2 ) >> 1 );
-
- b1 = *d1++;
- b2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( b1 + b2 ) >> 1 );
-
- r1 = *d1++;
- r2 = *d3++;
- *d2++ = static_cast< TUint8 >( ( r1 + r2 ) >> 1 );
- }
-
- d += dpitch * 2;
- }
-
- // last row is just copy of previous row, because we cannot calculate
- // average
- Mem::Copy( reinterpret_cast< TUint8* >( d ) + dpitch, d, dpitch );
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale2x16M() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtImageScalerImplWeightedAverage::Scale2x16MU16MA()
-// -----------------------------------------------------------------------------
-void CVtImageScalerImplWeightedAverage::Scale2x16MU16MA()
- {
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale2x16MU16MA() >>" ), RThread().Id().operator TUint() ) );
-
- TInt sheight = iSource->Size().iHeight;
- TInt swidth = iSource->Size().iWidth;
- TInt spitch = iSource->BytesPerRow();
- TInt dpitch = iTarget->BytesPerRow();
-
- TUint32 mask = 0xfefefefe;
- TUint32* s = iSource->DataAddress();
- TUint32* d = iTarget->DataAddress();
- TInt y;
-
- // first average source rows
- for( y = 0; y < sheight; y++ )
- {
- TInt x;
- TUint32* s1 = s;
- TUint32* d1 = d;
- TUint32 p2 = *s1++;
- TUint32 p1 = 0;
- for( x = 0; x < swidth - 1; x++ )
- {
- p1 = p2;
- *d1++ = p1;
- p2 = *s1++;
- TUint32 p1a = ( ( ( p1 ^ p2 ) & mask ) >> 1 ) + ( p1 & p2 );
- p1a = ( ( ( p1 ^ p1a ) & mask ) >> 1 ) + ( p1 & p1a );
- *d1++ = p1a;
- }
-
- if( swidth & 1 )
- {
- TUint32 p2a = ( ( ( p1 ^ p2 ) & mask ) >> 1 ) + ( p1 & p2 );
- p2a = ( ( ( p2a ^ p2 ) & mask ) >> 1 ) + ( p2a & p2 );
- *d1++ = p2a;
- *d1++ = p2;
- }
- else
- {
- p2 = *--s1;
- *d1++ = p2;
- *d1++ = p2;
- }
-
- d = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d ) + dpitch * 2 );
- s = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( s ) + spitch );
- }
-
- // then average rows between
- d = iTarget->DataAddress();
-
- for( y = 0; y < sheight - 1; y++ )
- {
- TUint32* d1 = reinterpret_cast< TUint32* >( d );
- TUint32* d2 = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d1 ) + dpitch );
- TUint32* d3 = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d2 ) + dpitch );
-
- TUint32 p1 = *d1++;
-
- for( TInt x = 0; x < swidth - 1; x++ )
- {
- TUint32 p3 = *d3++;
- d3++;
-
- TUint32 r1 = ( ( ( p1 ^ p3 ) & mask ) >> 1 ) + ( p1 & p3 );
- r1 = ( ( ( p1 ^ r1 ) & mask ) >> 1 ) + ( p1 & r1 );
-
- *d2++ = r1;
-
- d1++;
- TUint32 p2 = *d1++;
-
- TUint32 r2 = ( ( ( p2 ^ p3 ) & mask ) >> 1 ) + ( p2 & p3 );
- r2 = ( ( ( p1 ^ r2 ) & mask ) >> 1 ) + ( p1 & r2 );
-
- *d2++ = r2;
-
- p1 = p2;
- }
-
- TUint32 p3 = *d3++;
- TUint32 r1 = ( ( ( p1 ^ p3 ) & mask ) >> 1 ) + ( p1 & p3 );
- r1 = ( ( ( p1 ^ r1 ) & mask ) >> 1 ) + ( p1 & r1 );
- *d2++ = r1;
- *d2++ = r1;
-
- d = reinterpret_cast< TUint32* >
- ( reinterpret_cast< TUint8* >( d ) + dpitch * 2 );
- }
-
- // last row is just copy of previous row, because we cannot calculate
- // average
- Mem::Copy( reinterpret_cast< TUint8* >( d ) + dpitch, d, dpitch );
-
- __IF_DEBUG( Print( _L( "ImageScaler [%d]: CVtImageScalerImplWeightedAverage::Scale2x16MU16MA() <<" ), RThread().Id().operator TUint() ) );
- }
-
-// End of File
-
-
--- a/vtprotocolplugins/DisplaySink/src/vtyuvconverter.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2005-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: YUV format transcoder.
-*
-*/
-
-
-#include "vtyuvconverter.h"
-
-#ifdef _DEBUG
- #include <e32debug.h>
- #define PRINT RDebug::Print
- #define _IFDBG(a) a
-#else
- #define PRINT
- #define _IFDBG(a)
-#endif
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// VtYuvConverter::ConvertFrom420PlanarTo422Interleaved
-// ---------------------------------------------------------------------------
-//
-TInt VtYuvConverter::ConvertFrom420PlanarTo422Interleaved(
- const TDesC8& aSource,
- const TSize& aSize,
- TDes8& aTarget,
- TInt aStride )
- {
- _IFDBG(PRINT( _L( "VtYuvConverter::ConvertFrom420PlanarTo422Interleaved<" ) ));
-
- if ( aTarget.MaxLength() < ByteSize422Interleaved( aSize ) )
- {
- _IFDBG(PRINT( _L( "VtYuvConverter::ConvertFrom420PlanarTo422Interleaved> TargetMaxLength < ByteSize422" ) ));
- return KErrUnderflow;
- }
-
- if ( aSource.Size() != ByteSize420Planar( aSize ) )
- {
- _IFDBG(PRINT( _L( "VtYuvConverter::ConvertFrom420PlanarTo422Interleaved> 420SourceSize != ByteSize420" ) ));
- return KErrArgument;
- }
-
- TInt planeSize( aSize.iWidth * aSize.iHeight );
- const TUint8* sy = aSource.Ptr();
- const TUint8* su = sy + planeSize;
- const TUint8* sv = su + ( planeSize >> 2 );
- TUint8* t = const_cast< TUint8* >( aTarget.Ptr() );
-
- TUint8* tsave = t;
- for ( TInt y = ( aSize.iHeight >> 1 ) - 1; y >= 0; y-- )
- {
- const TUint8* susave = su;
- const TUint8* svsave = sv;
- for ( TInt x = ( aSize.iWidth >> 1 ) - 1; x >= 0; x-- )
- {
- *t++ = *su++;
- *t++ = *sy++;
- *t++ = *sv++;
- *t++ = *sy++;
- }
- tsave = t = tsave + aStride;
- su = susave;
- sv = svsave;
- for ( TInt x = ( aSize.iWidth >> 1 ) - 1; x >= 0; x-- )
- {
- *t++ = *su++;
- *t++ = *sy++;
- *t++ = *sv++;
- *t++ = *sy++;
- }
- tsave = t = tsave + aStride;
- }
-
- _IFDBG(PRINT( _L( "VtYuvConverter::ConvertFrom420PlanarTo422Interleaved>" ) ));
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// VtYuvConverter::ByteSize420Planar
-// ---------------------------------------------------------------------------
-//
-TInt VtYuvConverter::ByteSize420Planar( const TSize& aSizeInPixels )
- {
- TInt planeSize( aSizeInPixels.iWidth * aSizeInPixels.iHeight );
- return planeSize + planeSize / 2;
- }
-
-// ---------------------------------------------------------------------------
-// VtYuvConverter::ByteSize422Interleaved
-// ---------------------------------------------------------------------------
-//
-TInt VtYuvConverter::ByteSize422Interleaved( const TSize& aSizeInPixels )
- {
- TInt planeSize( aSizeInPixels.iWidth * aSizeInPixels.iHeight );
- return planeSize * 2;
- }
--- a/vtprotocolplugins/VideoSource/EABI/VideoSourceU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-EXPORTS
- _ZN13CVSController4NewLEP21MVSControllerObserver @ 1 NONAME
- _ZN14CVsFrameBuffer4NewLEi @ 2 NONAME
- _ZN14CVsFrameBufferD0Ev @ 3 NONAME
- _ZN14CVsFrameBufferD1Ev @ 4 NONAME
- _ZN14CVsFrameBufferD2Ev @ 5 NONAME
- _ZN16CVSMMFDataBuffer4NewLEi @ 6 NONAME
- _ZN16CVSMMFDataBuffer4NewLEv @ 7 NONAME
- _ZN16CVSMMFDataBufferD0Ev @ 8 NONAME
- _ZN16CVSMMFDataBufferD1Ev @ 9 NONAME
- _ZN16CVSMMFDataBufferD2Ev @ 10 NONAME
- _ZTI14CVsFrameBuffer @ 11 NONAME ; #<TI>#
- _ZTI15CVSDataProvider @ 12 NONAME ; #<TI>#
- _ZTI16CVSControllerImp @ 13 NONAME ; #<TI>#
- _ZTI16CVSDataSourceImp @ 14 NONAME ; #<TI>#
- _ZTI16CVSMMFDataBuffer @ 15 NONAME ; #<TI>#
- _ZTI17CVSFrameRateTimer @ 16 NONAME ; #<TI>#
- _ZTI18CSyncCameraReserve @ 17 NONAME ; #<TI>#
- _ZTI19CVSProviderSwitchAO @ 18 NONAME ; #<TI>#
- _ZTI21CVSCameraDataProvider @ 19 NONAME ; #<TI>#
- _ZTI23CVSDataSourceObserverAO @ 20 NONAME ; #<TI>#
- _ZTI24CProviderErrorNotifierAO @ 21 NONAME ; #<TI>#
- _ZTI25CVSStillImageDataProvider @ 22 NONAME ; #<TI>#
- _ZTI28CVSOnboardCameraDataProvider @ 23 NONAME ; #<TI>#
- _ZTV14CVsFrameBuffer @ 24 NONAME ; #<VT>#
- _ZTV15CVSDataProvider @ 25 NONAME ; #<VT>#
- _ZTV16CVSControllerImp @ 26 NONAME ; #<VT>#
- _ZTV16CVSDataSourceImp @ 27 NONAME ; #<VT>#
- _ZTV16CVSMMFDataBuffer @ 28 NONAME ; #<VT>#
- _ZTV17CVSFrameRateTimer @ 29 NONAME ; #<VT>#
- _ZTV18CSyncCameraReserve @ 30 NONAME ; #<VT>#
- _ZTV19CVSProviderSwitchAO @ 31 NONAME ; #<VT>#
- _ZTV21CVSCameraDataProvider @ 32 NONAME ; #<VT>#
- _ZTV23CVSDataSourceObserverAO @ 33 NONAME ; #<VT>#
- _ZTV24CProviderErrorNotifierAO @ 34 NONAME ; #<VT>#
- _ZTV25CVSStillImageDataProvider @ 35 NONAME ; #<VT>#
- _ZTV28CVSOnboardCameraDataProvider @ 36 NONAME ; #<VT>#
-
--- a/vtprotocolplugins/VideoSource/bmarm/VIDEOSOURCEU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-EXPORTS
- NewL__13CVSControllerP21MVSControllerObserver @ 1 NONAME R3UNUSED ; CVSController::NewL(MVSControllerObserver *)
- SwitchDataProviderL__16CVSDataSourceImpP15CVSDataProvider @ 2 NONAME R3UNUSED ; CVSDataSourceImp::SwitchDataProviderL(CVSDataProvider *)
-
--- a/vtprotocolplugins/VideoSource/bwins/VIDEOSOURCEU.DEF Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
- ??1CVSMMFDataBuffer@@UAE@XZ @ 1 NONAME ; CVSMMFDataBuffer::~CVSMMFDataBuffer(void)
- ??1CVsFrameBuffer@@UAE@XZ @ 2 NONAME ; CVsFrameBuffer::~CVsFrameBuffer(void)
- ?NewL@CVSController@@SAPAV1@PAVMVSControllerObserver@@@Z @ 3 NONAME ; class CVSController * CVSController::NewL(class MVSControllerObserver *)
- ?NewL@CVSMMFDataBuffer@@SAPAV1@H@Z @ 4 NONAME ; class CVSMMFDataBuffer * CVSMMFDataBuffer::NewL(int)
- ?NewL@CVSMMFDataBuffer@@SAPAV1@XZ @ 5 NONAME ; class CVSMMFDataBuffer * CVSMMFDataBuffer::NewL(void)
- ?NewL@CVsFrameBuffer@@SAPAV1@H@Z @ 6 NONAME ; class CVsFrameBuffer * CVsFrameBuffer::NewL(int)
-
Binary file vtprotocolplugins/VideoSource/data/videosource_stub.SIS has changed
--- a/vtprotocolplugins/VideoSource/data/videosource_stub.pkg Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-;
-; Copyright (c) 2009 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:
-;
-; Languages
-&EN
-
-; Header
-#{"videosource"}, (0x101F8692), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\videosource.dll"
--- a/vtprotocolplugins/VideoSource/group/CApiVideoSource.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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: Project definition file for Video Source subsystem
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include "../inc/VideoSourceUids.hrh"
-
-TARGET videosource.dll
-TARGETTYPE dll
-VENDORID VID_DEFAULT
-
-UID KSharedLibraryUidDefine KUidVideoSourceLibrary
-
-SOURCEPATH ../src
-SOURCE CVSController.cpp
-SOURCE CVSControllerImp.cpp
-SOURCE CVSDataProvider.cpp
-SOURCE CVSStillImageDataProvider.cpp
-SOURCE CVSCameraDataProvider.cpp
-SOURCE CVSOnboardCameraDataProvider.cpp
-SOURCE CVSDataSourceImp.cpp
-SOURCE CVSMMFDataBuffer.cpp
-
-SOURCE cmultiframeloopao.cpp
-SOURCE cmultiframeprovider.cpp
-SOURCE cmultiframedataao.cpp
-USERINCLUDE ../inc
-SYSTEMINCLUDE ../../../inc
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/mmf/server
-SYSTEMINCLUDE /epoc32/include/mmf/common
-
-LIBRARY euser.lib
-LIBRARY fbscli.lib
-LIBRARY mmfcontrollerframework.lib
-LIBRARY ecam.lib
-LIBRARY efsrv.lib
-LIBRARY bafl.lib
-LIBRARY bitgdi.lib
-LIBRARY imageconversion.lib
-LIBRARY vtimageconverter.lib
-LIBRARY vtimagetransforms.lib
-LIBRARY featmgr.lib
-LIBRARY phoneclient.lib
-LIBRARY ws32.lib
-LIBRARY ecamadvsettings.lib
-
-CAPABILITY CAP_GENERAL_DLL
-
-// End of File
-
--- a/vtprotocolplugins/VideoSource/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: Component definition file for Video Source subsystem
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/CApiVideoSource.h |../../../inc/capivideosource.h
-../inc/capivideosource.inl |../../../inc/capivideosource.inl
-
-// Export SIS stub file
-../data/videosource_stub.SIS /epoc32/data/z/system/install/videosource_stub.sis
-
-// Export IBY file
-../rom/VideoSource.iby CORE_APP_LAYER_IBY_EXPORT_PATH(videosource.iby)
-
-PRJ_MMPFILES
-CApiVideoSource.mmp
-
-// End of File
\ No newline at end of file
--- a/vtprotocolplugins/VideoSource/inc/CApiVideoSource.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,922 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-#ifndef CAPIVIDEOSOURCE_H
-#define CAPIVIDEOSOURCE_H
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <ecam.h>
-#include <mmfutilities.h>
-#include <mmfdatasource.h>
-#include <mvtprotocolhandler.h>
-#include <ecamimageprocessing.h>
-
-// FORWARD DECLARATIONS
-
-class MVSControllerObserver;
-class MVSDataSourceObserver;
-class MVSDataProviderObserver;
-class CVSDataSource;
-class CVSDataProvider;
-class TVSDataProviderInfo;
-class CVSDataSourceImp;
-class CProviderErrorNotifierAO;
-
-class MFrameBuffer;
-class RWsSession;
-class CWsScreenDevice;
-class RWindowBase;
-class CFbsBitmap;
-class MDataSink;
-class MDataSource;
-class MAsyncEventHandler;
-class TMMFPrioritySettings;
-class TMMFMessage;
-class CDesC8Array;
-class CVSMMFDataBuffer;
-
-// Camera lost during VT error
-const TInt KVsErrCameraNoLongerReserved = 666;
-// CLASS DECLARATION
-
-/**
-* Initialization settings class for still image provider.
-*
-* @lib videosource.lib
-*/
-class TVSStillImageDataProviderParams
- {
- public:
- /**
- * Enumeration that defines different initialization
- * types.
- */
- enum TInitialize
- {
- /** Created as blank image */
- EInitializeAsBlankImage,
- /** Image will be load from General Settings */
- EInitializeFromGeneralSettings,
- /** Image will be from file */
- EInitializeFromFile,
- /** Imge will be load from phone server */
- EInitializeAsDefaultStillImage
- };
-
- public:
- /**
- * Constructor, set iInitialize to EInitializeAsBlankImage. iFileName
- * is initialized as an empty descriptor.
- */
- inline TVSStillImageDataProviderParams();
-
- /**
- * Constructor. iFileName is initialized as an empty descriptor.
- * @param aInitialize Defines how provider must be initialized.
- */
- inline TVSStillImageDataProviderParams( const TInitialize aInitialize );
-
- /**
- * Constructor. iInitialize is set to EInitializeFromFile.
- * @param aFileName Name of the file from which this instance will
- * be initialized.
- */
- inline TVSStillImageDataProviderParams( const TFileName& aFileName );
-
- public:
- // Initialization type
- TInitialize iInitialize;
-
- // Filename for EInitializeFromFile
- TFileName iFileName;
- };
-
-typedef TPckgBuf< TVSStillImageDataProviderParams > TVSStillImageDataProviderParamsBuf;
-
-/**
-* An interface to access free MMF buffers.
-*
-* @lib videosource.lib
-*/
-class MVSBufferPool
- {
- public:
-
- /**
- * Pure virtual function to get next free buffer from free buffer pool.
- * @param "aRemove" Boolean flag. If ETrue buffer will be removed from
- * the pool.
- * @exception Can leave with one of the system wide error codes.
- * @return Returns pointer to next available buffer in free buffers
- * queue or NULL if no buffers in queue are available.
- */
- virtual CVSMMFDataBuffer* GetBufferL( TBool aRemove ) = 0;
-
- /**
- * Frees buffer that was previously got using GetBufferL().
- * @param "aBuffer" Buffer to be freed.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void FreeBufferL( CVSMMFDataBuffer* aBuffer ) = 0;
- };
-
-/**
-* An interface to a controller callback functions.
-*
-* @lib videosource.lib
-*/
-class MVSControllerObserver
- {
- public:
-
- /**
- * Called when provider count has been changed.
- * @param "aAttached" ETrue if provider attached, else EFalse.
- */
- virtual void vsProvidersChanged( TBool aAttached ) = 0;
- };
-
-/**
-* Controller interface.
-*
-* @lib videosource.lib
-*/
-class CVSController : public CBase
- {
- public: // Constructor and destructor
-
- /**
- * Static factory function to create instance of this class.
- * @param "aObserver" Pointer to controller observer.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- IMPORT_C static CVSController* NewL( MVSControllerObserver* aObserver );
-
- /**
- * Pure virtual function to create data source instance.
- * @param "aObserver" Pointer to data source observer.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new data source instance.
- */
- virtual CVSDataSource* CreateDataSourceL(
- MVSDataSourceObserver* aObserver ) = 0;
-
- public: // New functions
-
- /**
- * Pure virtual function to return provider count and provider index.
- * @return Number of providers available. Count also acts as zero based
- * provider index.
- */
- virtual TInt ProvidersAvailable() = 0;
-
- /**
- * Pure virtual function to return provider information.
- * @param "aProviderIndex" Index of the provider to return information
- * for.
- * @param "aInfo" Reference to the variable where the provider
- * information is copied.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void ProviderInfoL(
- TInt aProviderIndex,
- TVSDataProviderInfo& aInfo ) = 0;
-
- /**
- * Pure virtual function to create provider instance.
- * @param "aProviderIndex" Index of the provider to be created.
- * @param "aObserver" Pointer to provider observer.
- * @param "aPool" Pointer to data MVSBufferPool that gives buffer to
- * data provider.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new provider instance.
- */
- virtual CVSDataProvider* CreateDataProviderL(
- TInt aProviderIndex,
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool ) = 0;
-
- public: // Constructor and destructor
-
- public: // Functions from base classes
-
- protected: // New functions
-
- /**
- * C++ default constructor.
- */
- CVSController();
-
- /**
- * Inliner to return reference to the controller observer.
- * @return Reference to the controller observer.
- */
- inline MVSControllerObserver& Observer() const;
-
- protected: // Constructor and destructor
-
- /**
- * 2nd phase constructor.
- * @param "aObserver" Pointer to controller observer
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void ConstructL( MVSControllerObserver* aObserver ) = 0;
-
- protected: // Functions from base classes
-
- public: // Data
-
- protected: // Data
-
- // Pointer to controller observer
- MVSControllerObserver* iObserver;
-
- private: // Data
-
- };
-
-/**
-* An interface to a provider callback functions.
-*
-* @lib videosource.lib
-*/
-class MVSDataProviderObserver
- {
- public:
-
- /**
- * Called when an error occurred in provider.
- * @param "aError" of the system wide error codes.
- */
- virtual void vsProviderError( TInt aError ) = 0;
-
- /**
- * Called when provider is initalized.
- */
- virtual void vsProviderReady() = 0;
-
- /**
- * Called when provider has view finder bitmap ready.
- * @param "aFrame" Reference to the view finder bitmap.
- */
- virtual void vsViewFinderFrameReady( CFbsBitmap& aFrame ) = 0;
- };
-
-/**
-* Extension to standard ECam TCameraInfo class.
-*
-* @lib videosource.lib
-*/
-class TVSDataProviderInfo : public TCameraInfo
- {
- public: // Data
-
- // ETrue if the Freeze() is supported.
- TBool iFreezeSupported;
-
- // Pointer to extension information.
- TAny* iExtension;
-
- // A bitfield of suported colortones
- TUint32 iSupportedColorTones;
- };
-
-/**
-* Provider interface.
-*
-* @lib videosource.lib
-*/
-class CVSDataProvider : public CBase
- {
- public: // Constructor and destructor
-
- /**
- * Static factory function to create instance of this class.
- * @param "aProviderIndex" Index of the provider to be created.
- * @param "aObserver" Pointer to data provider observer.
- * @param "aPool" Pointer to data MVSBufferPool that gives buffer to
- * data provider.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- static CVSDataProvider* NewL(
- TInt aProviderIndex,
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool );
-
- /**
- * Destructor.
- */
- ~CVSDataProvider();
-
- public: // New functions
-
- /**
- * Static function get provider count and provider index.
- * @return Number of providers available. Count also acts as zero based
- * provider index.
- */
- static TInt ProvidersAvailable();
-
- /**
- * Static function to return provider information.
- * @param "aProviderIndex" Index of the provider to return information
- * for.
- * @param "aInfo" Reference to the variable to where the provider
- * information is copied.
- * @exception Can leave with one of the system wide error codes.
- */
- static void ProviderInfoL(
- TInt aProviderIndex,
- TVSDataProviderInfo& aInfo );
-
- /**
- * Pure virtual function to initialize provider.
- * @param "aInitParams" Reference to the initialization parameters.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void InitializeL( const TDesC8& aInitParams ) = 0;
-
- /**
- * Pure virtual function to cancel initialization of provider.
- */
- virtual void CancelInitializing() = 0;
-
- /**
- * Pure virtual function to return digital zoom factor.
- * @return Digital zoom factor.
- */
- virtual TInt DigitalZoomFactor() const = 0;
-
- /**
- * Pure virtual function to set digital zoom factor.
- * @param "aDigitalZoomFactor" Digital zoom factor.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void SetDigitalZoomFactorL( TInt aDigitalZoomFactor = 0 ) = 0;
-
- /**
- * Pure virtual function to start view finder bitmaps.
- * @param "aSize" Size of the returned view finder bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderBitmapsL( TSize& aSize ) = 0;
-
- /**
- * Pure virtual function to start view finder bitmaps.
- * @param "aSize" Size of the returned view finder bitmap.
- * @param "aClipRect" Required clip rectangle.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderBitmapsL(
- TSize& aSize,
- TRect& aClipRect ) = 0;
-
- /**
- * Pure virtual function to start view finder bitmaps using direct
- * screen access.
- * @param "aWs" Window server session.
- * @param "aScreenDevice" Screen device.
- * @param "aWindow" Displayable window.
- * @param "aScreenRect" Portion of the screen to which view finder data
- * is to be transferred.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderDirectL(
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- TRect& aScreenRect ) = 0;
-
- /**
- * Pure virtual function to start view finder bitmaps using direct
- * screen access.
- * @param "aWs" Window server session.
- * @param "aScreenDevice" Screen device.
- * @param "aWindow" Displayable window.
- * @param "aScreenRect" Portion of the screen to which view finder data
- * is to be transferred.
- * @param "aClipRect" The rectangle to which the screen will be clipped.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderDirectL(
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- TRect& aScreenRect,
- TRect& aClipRect ) = 0;
-
- /**
- * Pure virtual function to test if view finder is active.
- * @return ETrue if view finder active.
- */
- virtual TBool ViewFinderActive() const = 0;
-
- /**
- * Pure virtual function to stop view finder bitmaps.
- */
- virtual void StopViewFinder() = 0;
-
- /**
- * Pure virtual function to return provider information.
- * @param "aInfo" Reference to the variable to where the provider
- * information is copied.
- */
- virtual void ProviderInfo( TVSDataProviderInfo& aInfo ) = 0;
-
- /**
- * Used to switch between what the camera sees and what you would see
- * if the device were a mirror.
- * @param "aMirror" ETrue to set mirroring on, EFalse to set mirroring off.
- * @exception May leave with KErrNotSupported.
- */
- virtual void SetViewFinderMirrorL( TBool aMirror ) = 0;
-
- /**
- * Gets whether view finder mirroring is active.
- * @return ETrue if mirroring is set, EFalse if mirroring is not set.
- */
- virtual TBool ViewFinderMirror() const = 0;
-
- /**
- * Freezes video (i.e. starts sending the last frame until provider is
- * unfrozen).
- * @exception May leave with KErrNotSupported if freezing is not supported
- * by the provider.
- */
- virtual void FreezeL() = 0;
-
- /**
- * Unfreezes video (i.e. starts sending actual frames).
- * @exception May leave with KErrNotSupported if freezing
- * is not supported
- * by the provider.
- */
- virtual void UnfreezeL()= 0;
-
- /**
- * Gets whether freeze is active.
- * @return ETrue if video is frozen, EFalse otherwise.
- */
- virtual TBool IsFrozen() const = 0;
-
- /**
- * Sets the contrast adjustment of the device.
- * This must be in the range of -100 to +100 or EContrastAuto.
- * May leave with KErrNotSupported if the specified contrast value
- * is out of range.
- * @since S60 v3.2
- * @param aContrast
- */
- virtual void SetContrastL( TInt aContrast ) = 0;
-
- /**
- * Gets the currently set contrast value.
- * @since S60 v3.2
- * @param aContrast The currently set contrast value.
- * @return indication if method succeed or not.
- */
- virtual TInt GetContrast( TInt& aContrast ) const = 0;
-
- /**
- * Sets the brightness adjustment of the device.
- * This must be in the range of -100 to +100 or EBrightnessAuto.
- * May leave with KErrNotSupported if the brightness adjustment
- * is out of range.
- * @since S60 v3.2
- * @param aBrightness The required brightness adjustment.
- */
- virtual void SetBrightnessL( TInt aBrightness ) = 0;
-
- /**
- * Gets the currently set brightness adjustment value.
- * @since S60 v3.2
- * @param aBrightness The currently set brightness adjustment value.
- * @return indication if method succeed or not.
- */
- virtual TInt GetBrightness( TInt& aBrightness ) const = 0;
-
- /**
- * Sets the white balance adjustment of the device.
- * No effect if this is not supported, see
- * TCameraInfo::iWhiteBalanceModesSupported.
- * @since S60 v3.2
- * @param aWhiteBalance The required white balance adjustment.
- * @leave KErrNotSupported if the specified white balance adjustment
- * is invalid.
- */
- virtual void SetWhiteBalanceL(
- CCamera::TWhiteBalance aWhiteBalance = CCamera::EWBAuto) = 0;
-
- /**
- * Gets the currently set white balance adjustment value.
- * @since S60 v3.2
- * @param aWhiteBalance The currently set white balance adjustment value.
- * @return indication if method succeed or not.
- */
- virtual TInt GetWhiteBalance(
- CCamera::TWhiteBalance& aWhiteBalance ) const = 0;
-
- /**
- * Gives the current color tone setting value
- * @since S60 v3.2
- * @param aColorTone The currently set color tone adjustment value.
- * @return indication if method succeed or not.
- */
- virtual TInt GetColorTone(
- CCamera::CCameraImageProcessing::TEffect& aColorTone ) const = 0;
-
- /**
- * Sets color tone
- * @since S60 v3.2
- * @param aValue new color tone
- */
- virtual void SetColorToneL(
- CCamera::CCameraImageProcessing::TEffect aValue ) = 0;
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // New functions
-
- /**
- * See MDataSource for description.
- */
- virtual void FillBufferL(
- CMMFBuffer* aBuffer,
- MVTVideoSink* aConsumer,
- TMediaId aMediaId ) = 0;
-
- /**
- * See MDataSource for description.
- */
- virtual TInt SourceThreadLogon( MAsyncEventHandler& aEventHandler ) = 0;
-
- /**
- * See MDataSource for description.
- */
- virtual void SourceThreadLogoff() = 0;
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePrimeL() = 0;
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePlayL() = 0;
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePauseL() = 0;
-
- /**
- * See MDataSource for description.
- */
- virtual void SourceStopL() = 0;
-
- private: // New functions
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetFormatL( const TDesC8& aFormat ) = 0;
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetFrameRateL( TReal32 aFrameRate ) = 0;
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetVideoFrameSizeL( const TSize& aSize ) = 0;
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void GetVideoFrameSizeL( TSize& aSize ) const = 0;
-
- private: // Functions from base classes
-
- protected: // New functions
-
- /**
- * This version of prime method will be called when a provider
- * is being switched.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void PrimeL() = 0;
-
- /**
- * Inliner to test if FillBufferL call is active.
- * @return ETrue if FillBufferL call is ongoing, else EFalse.
- */
- inline TBool FillBufferActive() const;
-
- /**
- * Inliner to return the sink that will empty the buffer.
- * @return Pointer to sink.
- */
- inline MVTVideoSink* Consumer() const;
-
- /**
- * Inliner to return sink media ID that is used.
- * @return Media ID identifiyng the stream that is used.
- */
- inline TMediaId MediaId() const;
-
- /**
- * Inliner to return reference to the provider observer.
- * @return Reference to the provider observer.
- */
- inline MVSDataProviderObserver& Observer() const;
-
- /**
- * Saves input parameters given in FillBufferL call.
- * @param "aConsumer" Pointer to sink that will empty the filled buffer.
- * @param "aMediaId" Media ID for source/provider stream that is used.
- */
- virtual void SetFillBufferParams(
- MVTVideoSink* aConsumer,
- TMediaId aMediaId );
-
- /**
- * Notify observer about provider error.
- * @param "aError" Error code
- */
- void NotifyError( TInt aError );
-
- /**
- * Inliner to return reference to the buffer pool.
- * @return Reference to the buffer pool.
- */
- inline MVSBufferPool& BufferPool() const;
-
- protected: // Constructor and destructor
-
- /**
- * C++ default constructor.
- */
- CVSDataProvider();
-
- /**
- * Constructor.
- * @param "aObserver" Pointer to provider observer.
- */
- CVSDataProvider(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool );
-
- /**
- * 2nd phase constructor.
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL();
-
- /**
- * Returns microseconds from the first SourcePlayL() call.
- */
- const TTimeIntervalMicroSeconds& TimeToPlay();
-
- /**
- * Resets start time (the time when SourcePlayL() was called).
- * iStartTime is set to TTime::HomeTime().
- */
- void ResetStartTime();
-
- private: // New functions
-
- /**
- *
- */
- static TInt CamerasAvailable();
-
- /**
- * Sets timestamp for first SourcePlayL() call. This method
- * is called by the CVSDataSource when data provider is switched.
- */
- void SwitchFrom( const CVSDataProvider& anOldProvider );
-
- /**
- * Enumerate all providers and create a set of formats that is supported
- * by all of them.
- */
- static void EnumerateVideoFrameFormatsL(
- CDesC8Array* aSupportedFormats );
-
- /**
- * Enumerate all providers and create a set of video frame sizes that
- * is supported by all of them.
- */
- static void EnumerateVideoFrameSizesL(
- RArray<TSize>& aSupportedSizes,
- const TDesC8& aFormat );
-
- /**
- * Enumerate all providers and create a set of video frame rates that
- * is supported by all of them.
- */
- static void EnumerateVideoFrameRatesL(
- RArray<TReal32>& aSupportedRates,
- const TDesC8& aFormat,
- const TSize& aSize );
-
- protected: // New functions
-
- /**
- * Get video frame size. Implemented in each provider.
- */
- virtual void GetVideoFrameSize(
- TSize& aSize,
- TInt aSizeIndex,
- const TDesC8& aFormat ) = 0;
-
- /**
- * Get video frame rate. Implemented in each provider.
- */
- virtual void GetVideoFrameRate(
- TReal32& aRate,
- TInt aRateIndex,
- const TDesC8& aFormat,
- const TSize& aSize ) = 0;
-
- public: // Data
-
- protected: // Data
-
- // Boolean that is ETrue when FillBufferL call is active.
- TBool iFillBufferActive;
-
- // Sink that empties the buffer filled with video frame. Not owned.
- MVTVideoSink* iConsumer;
-
- // Provider's media ID identifying media stream used.
- TMediaId iMediaId;
-
- private: // Data
-
- // Pointer to provider observer.
- MVSDataProviderObserver* iObserver;
-
- // Pointer to AO that reports provider errors to provider observer,
- // used through NotifyError call.
- CProviderErrorNotifierAO* iErrorNotifier;
-
- // Pointer to buffer pool
- MVSBufferPool* iPool;
-
- // Previous TimeToPlay interval
- TTimeIntervalMicroSeconds iPreviousTimeToPlay;
-
- // Start time (time when SourcePlayL() was called)
- TTime iStartTime;
-
- private: // Data
-
- // Source is friend because it's MDataSource and MVTVideoInput derived
- // calls are forwarded to provider.
- friend class CVSDataSource;
-
- // Source is friend because it's MDataSource and MVTVideoInput derived
- // calls are forwarded to provider.
- friend class CVSDataSourceImp;
- };
-
-/**
-* An interface to a data source callback functions.
-*
-* @lib videosource.lib
-*/
-class MVSDataSourceObserver
- {
- public:
-
- /**
- * Called when provider switch completed.
- * @param "aOldProvider" Pointer provider that was previously active.
- */
- virtual void vsProviderSwitchDone( CVSDataProvider* aOldProvider ) = 0;
- };
-
-/**
-* Data source interface.
-*
-* @lib videosource.lib
-*/
-class CVSDataSource :
- public CBase,
- public MVTVideoSource,
- public MVSBufferPool
- {
- public: // Constructor and destructor
-
- /**
- * Static factory function to create data source instance.
- * @param "aObserver" Pointer to data source observer.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to data source instance.
- */
- static CVSDataSource* NewSourceL( MVSDataSourceObserver* aObserver );
-
- public: // New functions
-
- /**
- * Pure virtual function to switch active provider for source.
- * @param "aNewProvider" Pointer to provider instance.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void SwitchDataProviderL( CVSDataProvider* aNewProvider ) = 0;
-
- /**
- * Temporarily pause video sending. Used during initialization.
- */
- virtual void PauseSending() = 0;
-
- /**
- * Resume video sending. Used during initialization.
- */
- virtual void ResumeSending() = 0;
-
- public: // Functions from base classes
-
- protected: // New functions
-
- /**
- * Inliner to return reference to the data source observer.
- * @return Reference to the data source observer.
- */
- inline MVSDataSourceObserver& Observer() const;
-
- /**
- * Inliner to return reference to the provider that is active.
- * @return Reference to the provider.
- */
- inline CVSDataProvider& DataProvider() const;
-
- /**
- * Inliner to update member variable holding pointer to provider with
- * new provider pointer.
- * @param "aNewProvider" Pointer to (new) provider.
- * @return Pointer to (old) provider.
- */
- inline CVSDataProvider* SwitchProvider( CVSDataProvider* aNewProvider );
-
- protected: // Constructor and destructor
-
- /**
- * Constructor.
- */
- CVSDataSource();
-
- private: // Constructor and destructor
-
- /**
- * 2nd phase consturctor.
- * @param "aObserver" Pointer to data source observer.
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL( MVSDataSourceObserver* aObserver );
-
- private: // New functions
-
- private: // Functions from base classes
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Pointer to data source observer.
- MVSDataSourceObserver* iObserver;
-
- // Pointer to active provider.
- CVSDataProvider* iProvider;
- };
-
-#include "capivideosource.inl"
-
-#endif // CAPIVIDEOSOURCE_H
--- a/vtprotocolplugins/VideoSource/inc/CVSCameraDataProvider.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,517 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-#ifndef CVSCAMERADATAPROVIDER_H
-#define CVSCAMERADATAPROVIDER_H
-
-// INCLUDE FILES
-
-#include "CApiVideoSource.h"
-
-#include <cvtimagescaler.h>
-#include <cvtimagebitmap.h>
-// CLASS FORWARDS
-
-class CVsFrameBuffer;
-
-// CLASS DECLARATION
-
-/**
-* Internal MFrameBuffer API.
-*
-* @lib videosource.lib
-* @since 5.0
-*/
-class MVsFrameBuffer
- {
-
-public:
-
- /**
- * Copies properties from the given frame buffer.
- * @param "aSource" Source frame buffer from which propreties will
- * be copied.
- */
- virtual void CopyProperties( MFrameBuffer* aSource ) = 0;
-
- /**
- * Copies properties from the given camera buffer.
- * @param "aSource" Source camera buffer from which propreties will
- * be copied.
- */
- virtual void CopyProperties( MCameraBuffer* aSource ) = 0;
-
- /**
- * Copies frame data and properties from the given frame buffer.
- * @param "aSource" Source frame buffer from which propreties and
- * frame data will be copied.
- */
- virtual void CopyFrameL( MFrameBuffer* aSource ) = 0;
-
- /**
- * Copies frame data and properties from the given camera buffer.
- * @param "aSource" Source camera buffer from which propreties and
- * frame data will be copied.
- */
- virtual void CopyFrameL( MCameraBuffer* aSource ) = 0;
-
- };
-
-/**
-* Internal MFrameBuffer implementation.
-*
-* @lib videosource.lib
-*/
-class CVsFrameBuffer : public CBase, public MVsFrameBuffer,
- public MFrameBuffer, public MCameraBuffer
- {
- public:
-
- /**
- * Constructor.
- * @param "sSize" Size of stored frame in bytes.
- * @exception Can leave with one of the system wide error codes.
- */
- IMPORT_C static CVsFrameBuffer* NewL( TInt aSize );
-
- /**
- * Destructor.
- */
- IMPORT_C ~CVsFrameBuffer();
-
- public: // from MVsFrameBuffer
-
- /**
- * @see MVsFrameBuffer::CopyProperties
- */
- virtual void CopyProperties( MFrameBuffer* aSource );
-
- /**
- * @see MVsFrameBuffer::CopyProperties
- */
- virtual void CopyProperties( MCameraBuffer* aSource );
-
- /**
- * @see MVsFrameBuffer::CopyFrameL
- */
- virtual void CopyFrameL( MFrameBuffer* aSource );
-
- /**
- * @see MVsFrameBuffer::CopyFrameL
- */
- virtual void CopyFrameL( MCameraBuffer* aSource );
-
- public: // from MFrameBuffer
-
- /**
- * @see MFrameBuffer::DataL or MCameraBuffer::DataL
- */
- TDesC8* DataL( TInt aIndex );
-
- /**
- * @see MFrameBuffer::FrameL or MCameraBuffer::FrameL
- */
- CFbsBitmap* FrameL( TInt aIndex );
-
- /**
- * @see MFrameBuffer::Release or MCameraBuffer::Release
- */
- void Release();
-
- /**
- * @see MCameraBuffer::FrameSize
- */
- TInt FrameSize(TInt aFrameIndex);
-
- /**
- * @see MCameraBuffer::ChunkOffsetL
- */
- TInt ChunkOffsetL(TInt aFrameIndex);
-
- /**
- * @see MCameraBuffer::ChunkL
- */
- RChunk& ChunkL();
-
- /**
- * @see MCameraBuffer::BitmapL
- */
- CFbsBitmap& BitmapL(TInt aFrameIndex);
-
- /**
- * @see MCameraBuffer::NumFrames
- */
- TInt NumFrames();
-
- private:
-
- /**
- * Constructor.
- */
- CVsFrameBuffer();
-
- /**
- * Second phase constructor.
- * @param "aSize" Size of the frame in bytes.
- */
- void ConstructL( TInt aSize );
-
- private:
-
- HBufC8* iBuffer;
-
- TPtr8 iPtr;
-
- };
-
-/**
-* Internal implementation of onboard camera data provider base class. This
-* class is inherited from public provider interface.
-*
-* @lib videosource.lib
-*/
-class CVSCameraDataProvider : public CVSDataProvider, public MCameraObserver, public MVtImageScalerObserver, public MCameraObserver2
- {
- public: // Constructor and destructor
-
- /**
- * Factory function to create instance of onboard camera data provider.
- * @param "aObserver" Pointer to provider observer.
- * @param "aProviderIndex" Index of the provider to be created.
- * @param "aPool" Pointer to data MVSBufferPool that gives buffer to
- * data provider.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new provider instance.
- */
- static CVSCameraDataProvider* NewL(
- MVSDataProviderObserver* aObserver,
- TInt aProviderIndex,
- MVSBufferPool* aPool );
-
- /**
- * Destructor.
- */
- ~CVSCameraDataProvider();
-
- public: // New functions
-
- public: // Functions from base classes
-
- /**
- * Initialize provider.
- * @param "aInitParams" Initialization parameters.
- * @exception Can leave with one of the system wide error codes.
- */
- void InitializeL( const TDesC8& aInitParams );
-
- /**
- * Cancel initialization of camera provider.
- */
- void CancelInitializing();
-
- /**
- * Return digital zoom factor.
- * @return Digital zoom factor.
- */
- virtual TInt DigitalZoomFactor() const;
-
- /**
- * Set digital zoom factor.
- * @param "aDigitalZoomFactor" Digital zoom factor.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void SetDigitalZoomFactorL( TInt aDigitalZoomFactor = 0 );
-
- /**
- * Start view finder bitmaps.
- * @param "aSize" Size of the returned view finder bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderBitmapsL( TSize& aSize );
-
- /**
- * Start view finder bitmaps.
- * @param "aSize" Size of the returned view finder bitmap.
- * @param "aClipRect" Required clip rectangle.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderBitmapsL( TSize& aSize,TRect& aClipRect );
-
- /**
- * Stop view finder bitmaps.
- */
- virtual void StopViewFinder();
-
- /**
- * Test if view finder is active.
- * @return ETrue if view finder active.
- */
- virtual TBool ViewFinderActive() const;
-
- /**
- * Start view finder bitmaps using direct screen access.
- * @param "aWs" Window server session.
- * @param "aScreenDevice" Screen device.
- * @param "aWindow" Displayable window.
- * @param "aScreenRect" Portion of the screen to which view finder data
- * is to be transferred.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderDirectL(
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- TRect& aScreenRect );
-
- /**
- * Start view finder bitmaps using direct screen access.
- * @param "aWs" Window server session.
- * @param "aScreenDevice" Screen device.
- * @param "aWindow" Displayable window.
- * @param "aScreenRect" Portion of the screen to which view finder data
- * is to be transferred.
- * @param "aClipRect" The rectangle to which the screen will be clipped.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderDirectL(
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- TRect& aScreenRect,
- TRect& aClipRect );
-
- /**
- * Return provider information.
- * @param @param "aInfo" Reference to variable to where the provider
- * information is copied.
- */
- virtual void ProviderInfo( TVSDataProviderInfo& aInfo );
-
- /**
- * See CVSDataProvider for description.
- */
- virtual void SetViewFinderMirrorL( TBool aMirror );
-
- /**
- * See CVSDataProvider for description.
- */
- virtual TBool ViewFinderMirror() const;
-
- /**
- * See CVSDataProvider for description.
- */
- virtual void FreezeL();
-
- /**
- * See CVSDataProvider for description.
- */
- virtual void UnfreezeL();
-
- /**
- * See CVSDataProvider for description.
- */
- virtual TBool IsFrozen() const;
-
- /**
- * @see CVSDataProvider::SetContrastL for description.
- */
- virtual void SetContrastL( TInt aContrast );
-
- /**
- * @see CVSDataProvider::GetContrast
- */
- virtual TInt GetContrast( TInt& aContrast ) const;
-
- /**
- * @see CVSDataProvider::SetBrightnessL for description.
- */
- virtual void SetBrightnessL( TInt aBrightness );
-
- /**
- * @see CVSDataProvider::GetBrightness for description.
- */
- virtual TInt GetBrightness( TInt& aBrightness ) const;
-
- /**
- * @see CVSDataProvider::SetWhiteBalanceL for description.
- */
- virtual void SetWhiteBalanceL(
- CCamera::TWhiteBalance aWhiteBalance = CCamera::EWBAuto );
-
- /**
- * @see CVSDataProvider::GetWhiteBalance for description.
- */
- virtual TInt GetWhiteBalance(
- CCamera::TWhiteBalance& aWhiteBalance ) const;
-
- /**
- * @see CVSDataProvider::GetColorTone for description.
- */
- virtual TInt GetColorTone(
- CCamera::CCameraImageProcessing::TEffect& aColorTone ) const;
-
- /**
- * @see CVSDataProvider::SetColorToneL for description.
- */
- virtual void SetColorToneL(
- CCamera::CCameraImageProcessing::TEffect aValue );
-
- protected: // from MCameraObserver
-
- /**
- * @see MCameraObserver::ImageReady
- */
- virtual void ImageReady( CFbsBitmap* aBitmap, HBufC8* aData,
- TInt aError );
-
- /**
- * @see MCameraObserver::PowerOnComplete
- */
- virtual void PowerOnComplete( TInt aError );
-
- /**
- * @see MCameraObserver::ViewFinderFrameReady
- */
- virtual void ViewFinderFrameReady( CFbsBitmap& aFrame );
-
- protected: // from MVtImageScalerObserver
-
- /**
- * @see MVtImageScalerObserver::ScalingFinished( TInt aError )
- */
- virtual void ScalingFinished( TInt aError );
-
- protected: // from MCameraObserver2
-
- /**
- * @see MCameraObserver2::ImageBufferReady
- */
- virtual void ImageBufferReady( MCameraBuffer& aCameraBuffer,
- TInt aError );
-
- protected: // New functions
-
- /**
- * Inliner to return reference to the onboard camera handle.
- * @return Reference to the onboard camera handle.
- */
- inline CCamera& Camera() const;
-
- protected: // Constructors and destructor
-
- /**
- * Constructor.
- * @param "aObserver" Pointer to provider observer.
- */
- CVSCameraDataProvider(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool );
-
- private: // Constructors and destructors
-
- /**
- * 2nd phase constructor.
- * @param "aProviderIndex" Index of the provider to be created.
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL( TInt aProviderIndex );
-
- void FreezeViewFinderFrame( CFbsBitmap& aFrame );
-
- void ScaleFrozenBitmapL( TSize& aSize );
-
- private: // New functions
-
- /**
- * Return provider information.
- */
- void ProviderInfoExL( TVSDataProviderInfo& aInfo );
-
- private: // Functions from base classes
-
- public: // Data
-
- protected: // Data
-
- enum TFreezePendingFlags
- {
- EViewFinderFreezePending = ( 1 << 0 ),
- EVideoFrameFreezePending = ( 1 << 1 )
- };
-
- // Camera handle number.
- TInt iCameraHandle;
-
- // ETrue after ReserveComplete for iCamera
- TBool iReserverComplete;
-
- // ETrue after PowerOnComplete for iCamera
- TBool iPowerOnComplete;
-
- // ETrue after Freeze
- TBool iFrozen;
-
- // Contains pending freeze flags after Freeze
- TUint iFreezePendingFlags;
-
- // has frozen viewfinder frame copy
- TBool iHasFrozenVFFrameCopyCreated;
-
- CVsFrameBuffer* iFrozenFrame;
-
- RCriticalSection iFreezeCS;
-
- private: // Data
-
- // Camera handle.
- CCamera* iCamera;
-
- // owned: Copy of frozen VF frame
- CFbsBitmap* iFrozenVFFrameCopy;
-
- //
- CVtImageBitmap* iSource;
-
- // owned: Scaled version of frozen VF frame (this is sent)
- CFbsBitmap* iFrozenVFFrameToBeSent;
-
- //
- CVtImageBitmap* iTarget;
-
- // owned: Scaler instance
- CVtImageScaler* iScaler;
-
- // ETrue when frozen VF frame is ready to be sent EFalse otherwise
- TBool iFrozenVfFrameReady;
-
- // Camera image processing
- CCamera::CCameraImageProcessing* iCamImgProc;
-
- private: // friends
-
- // Stif test module must be set as friend to be able to call protected
- // and private methods
- friend class CstiffVideoSourceAPICases;
-
- };
-
-#include "CVSCameraDataProvider.inl"
-
-#endif // CVSCAMERADATAPROVIDER_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/inc/CVSCameraDataProvider.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::Camera
-// -----------------------------------------------------------------------------
-//
-inline CCamera& CVSCameraDataProvider::Camera() const
- {
- return *iCamera;
- }
-
-
--- a/vtprotocolplugins/VideoSource/inc/CVSControllerImp.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-#ifndef CVSCONTROLLERIMP_H
-#define CVSCONTROLLERIMP_H
-
-// INCLUDE FILES
-#include "CApiVideoSource.h"
-
-// CLASS DECLARATIONS
-
-/**
-* Internal implementation of controller. This class is inherited from
-* public controller interface.
-*
-* @lib videosource.lib
-*/
-class CVSControllerImp : public CVSController
- {
- public: // Constructors and destructor
-
- /**
- * Static factory function to create controller instance.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new controller instance.
- */
- static CVSControllerImp* NewL();
-
- /**
- * Destructor.
- */
- ~CVSControllerImp();
-
- public: // New functions
-
- public: // Functions from base classes
-
- /**
- * Create data source instance.
- * @param "aObserver" Pointer to data source observer.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new data source instance.
- */
- virtual CVSDataSource* CreateDataSourceL(
- MVSDataSourceObserver* aObserver );
-
- /**
- * Return provider count and provider index.
- * @return Number of providers available. Count also acts as zero
- * based provider index.
- */
- virtual TInt ProvidersAvailable();
-
- /**
- * Return provider information.
- * @param "aProviderIndex" Index of the provider to return information
- * for.
- * @param "aInfo" Reference to the variable where the provider
- * information is copied.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void ProviderInfoL(
- TInt aProviderIndex,
- TVSDataProviderInfo& aInfo );
-
- /**
- * Create provider instance.
- * @param "aProviderIndex" Index of the provider to be created.
- * @param "aObserver" Pointer to provider observer.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new provider instance.
- */
- virtual CVSDataProvider* CreateDataProviderL(
- TInt aProviderIndex,
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool );
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // Constructors and destructor
-
- /**
- * 2nd phase constructor.
- * @param "aObserver" Pointer to controller observer
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL( MVSControllerObserver* aObserver );
-
- private: // New functions
-
- private: // Functions from base classes
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- };
-
-#endif // CVSCONTROLLERIMP_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/inc/CVSDataSourceImp.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,577 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-#ifndef CVSDATASOURCEIMP_H
-#define CVSDATASOURCEIMP_H
-
-// INCLUDE FILES
-
-#include "CApiVideoSource.h"
-
-// FORWARD DECLARATIONS
-
-class CVSDataSourceImp;
-class CVSMMFDataBuffer;
-
-// CLASS DECLARATION
-
-/**
-* Active Object that handles switch of active provider for data source.
-*
-* @lib videosource.lib
-*/
-class CVSProviderSwitchAO : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Leave safe static constructor.
- * @param "aDataSourceImp" Pointer to VSDataSourceImp instance.
- */
- static CVSProviderSwitchAO* NewL( CVSDataSourceImp* aDataSourceImp );
-
- /**
- * Destructor.
- */
- ~CVSProviderSwitchAO();
-
- public: // New functions
-
- /**
- * Adds this instance to calling thread's active scheduler.
- * @param "aEventHandler" Reference to asynchronous event handler. This
- * will be given to provider that will be switched as active provider
- * in SourceThreadLogon() call.
- * @return Possible error code.
- */
- TInt ThreadLogon( MAsyncEventHandler& aEventHandler );
-
- /**
- * Removes this instance from calling thread's active scheduler.
- */
- void ThreadLogoff();
-
- /**
- * Initializes provider switch.
- * @param "aNewProvider" Pointer to CVSDataProvider instance that will
- * be set as active provider.
- */
- void InitiateProviderSwitch( CVSDataProvider* aNewProvider );
-
- /**
- * Return reference to event handler.
- */
- inline MAsyncEventHandler& EventHandler() { return *iEventHandler; }
-
- /**
- * Return pointer to new provider.
- */
- inline CVSDataProvider*& NewDataProvider() { return iNewProvider; }
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // New functions
-
- /**
- * Constructor.
- * @param "aDataSourceImp" Pointer to VSDataSourceImp instance.
- */
- CVSProviderSwitchAO( CVSDataSourceImp* aDataSourceImp );
-
- /**
- * Leave safe construtor
- */
- void ConstructL();
-
- private: // Functions from base classes
-
- /**
- * From CActive. See CActive for description.
- */
- void RunL();
-
- /**
- * From CActive. See CActive for description.
- */
- void DoCancel();
-
- private: // New functions
-
- /**
- * Signals this active object with given error code.
- * @param "aError" Error code with which active object will be signalled.
- */
- void Signal( TInt aError );
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Pointer to data source implementation.
- CVSDataSourceImp* iDataSourceImp; // not owned
-
- // Pointer to data provider that will be switched.
- CVSDataProvider* iNewProvider; // not owned
-
- // Id of thread whose active scheduler this instance is added into.
- TThreadId iThreadId;
-
- // Pointer to async handler that will be given to the new provider in
- // SourceThreadLogon() call.
- MAsyncEventHandler* iEventHandler; // not owned
-
- // Critical section for switch handling
- RCriticalSection iSwitchCs;
-
- };
-
-/**
-* Data source observer active object. This AO is needed because we want to
-* call vsProviderSwitchDone() callback
-* in correct thread context.
-*
-* @lib videosource.lib
-*/
-class CVSDataSourceObserverAO : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- */
- CVSDataSourceObserverAO();
-
- /**
- * Destructor.
- */
- ~CVSDataSourceObserverAO();
-
- public: // New functions
-
- /**
- * This method is called when CVSProviderSwitchAO has completed provider
- * switching.
- * @param "aObserver" Observer that will signalled when RunL() is called.
- * @param "aOldProvider" Pointer to provider that was active before the
- * provider switch was done.
- */
- void vsProviderSwitchDone(
- MVSDataSourceObserver& aObserver,
- CVSDataProvider* aOldProvider );
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // New functions
-
- private: // Functions from base classes
-
- /**
- * From CActive. See CActive for description.
- */
- void RunL();
-
- /**
- * From CActive. See CActive for description.
- */
- void DoCancel();
-
- private: // New functions
-
- /**
- * Signals this active object with given error code.
- * @param "aError" Error code with which active object will be signalled.
- */
- void Signal( TInt aError );
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Data source observer pointer
- MVSDataSourceObserver* iObserver; // not owned
-
- // Previous active provider
- CVSDataProvider* iOldProvider; // not owned
-
- // Thread Id whose active scheduler this instance is added into
- TThreadId iThreadId;
- };
-
-
-
-/**
-* Internal implementation of data source. This class is inherited from
-* public data source interface. Some of the implemented MVTVideoSource,
-* MVTVideoInput calls are forwarded to active data provider,
-* some are processed here.
-*
-* @lib videosource.lib
-*/
-class CVSDataSourceImp : public CVSDataSource
- {
- public: // Constructors and destructor
-
- /**
- * Static factory function to create instance of this class.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- static CVSDataSourceImp* NewSourceL();
-
- public: // New functions
-
- public: // Functions from base classes
-
- /**
- * Switch active provider for source.
- * @param "aNewProvider" Pointer to provider instance.
- * @exception Can leave with one of the system wide error codes.
- */
- void SwitchDataProviderL( CVSDataProvider* aNewProvider );
-
- /**
- * @see CVSDataSource::PauseSending
- */
- void PauseSending();
-
- /**
- * @see CVSDataSource::ResumeSending
- */
- void ResumeSending();
-
- public: // Constructors and destructor
-
- /**
- * Destructor.
- */
- ~CVSDataSourceImp();
-
- public: // Functions from base classes
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual void FillBufferL(
- CMMFBuffer* aBuffer,
- MVTVideoSink* aConsumer,
- TMediaId aMediaId );
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- void BufferEmptiedL( CMMFBuffer* aBuffer );
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual TBool CanCreateSourceBuffer();
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual CMMFBuffer* CreateSourceBufferL(
- TMediaId aMediaId,
- TBool &aReference );
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual CMMFBuffer* CreateSourceBufferL(
- TMediaId aMediaId,
- CMMFBuffer& aSinkBuffer,
- TBool &aReference );
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual TInt SourceThreadLogon( MAsyncEventHandler& aEventHandler );
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual void SourceThreadLogoff();
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual TInt SourcePrimeL();
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual TInt SourcePlayL();
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual TInt SourcePauseL();
-
- /**
- * From MVTVideoSource / MDataSource. See MDataSource for description.
- */
- virtual TInt SourceStopL();
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- /**
- * From MDataSource. See MDataSource for description.
- */
- virtual void ConstructSourceL(const TDesC8& aInitData);
-
- public: // Functions from base classes
-
-
- virtual const RArray<TDesC8* >& GetMultimediaTypesL() const;
-
-
-
- public: // Functions from base classes
-
- /**
- * From MVTVideoInput. See MVTVideoInput for description.
- */
- virtual void SetFormatL( const TDesC8& aFormat );
-
- /**
- * From MVTVideoInput. See MVTVideoInput for description.
- */
- virtual void SetFrameRateL( TReal32 aFrameRate );
-
- /**
- * From MVTVideoInput. See MVTVideoInput for description.
- */
- virtual void SetVideoFrameSizeL( const TSize& aSize );
-
- /**
- * From MVTVideoInput. See MVTVideoInput for description.
- */
- virtual void GetVideoFrameSizeL( TSize& aSize ) const;
-
- private: // New functions
-
- /**
- * Starts provider switching. Switching must be done in correct thread
- * context.
- * @param "aNewProvider" Pointer to provider that will be switched as
- * active.
- * @param "aEventHandler" Reference to asynchronous event handler.
- * @exception Can leave with one of the system wide error codes.
- */
- void DoProviderSwitchL(
- CVSDataProvider* aNewProvider,
- MAsyncEventHandler& aEventHandler );
-
- /**
- * Test if provider switch operation is ongoing.
- * @return ETrue if provider switch operation was suspended because
- * buffers were not free.
- */
- inline TBool SwitchPending() { return iSwitchPending; };
-
- /**
- * Notifies provider observer about error occurred in provider switch.
- * @param "aError" Standard Symbian error code
- */
- void ProviderSwitchError( TInt aError );
-
- private: // Constructors and destructor
-
- /**
- * Constructor.
- */
- CVSDataSourceImp();
-
- private: // Functions from base classes
-
- /**
- * From MVSBufferPool. See MVSBufferPool for description.
- */
- virtual CVSMMFDataBuffer* GetBufferL( TBool aRemove );
-
- /**
- * From MVSBufferPool. See MVSBufferPool for description.
- */
- virtual void FreeBufferL( CVSMMFDataBuffer* aBuffer );
-
- private: // New functions
-
- /**
- * Add buffer to free buffer pool without locking queue cs.
- * @return One of the system wide error codes or KErrNone if no error
- * happens.
- * @param "aBuffer" A pointer to buffer to add to free buffer pool.
- * If buffer pointer is found from active buffer pool it is first
- * removed from there.
- */
- TInt FreeBufferNoWait( CVSMMFDataBuffer* aBuffer );
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Data source state
- enum TDataSourceState
- {
- EStopped,
- EPrimed,
- EPlaying
- };
-
- // Data source method call flags
- enum TCallFlags
- {
- // SetVideoFrameSizeL() was called
- ESetSizeCalled = ( 1 << 0 ),
-
- // SetFrameRateL() was called
- ESetFrameRateCalled = ( 1 << 1 ),
-
- // SetFormatL() was called
- ESetFormatCalled = ( 1 << 2 )
- };
-
- // Data source state
- TDataSourceState iDSState;
-
- // Call flags
- TUint32 iCallFlags;
-
-
- // Provider switch AO pointer
- CVSProviderSwitchAO* iProviderSwitchAO;
-
- // Data source observer AO pointer
- CVSDataSourceObserverAO* iDataSourceObserverAO; // owned
-
- // Format heap descriptor pointer
- HBufC8* iFormat; // owned
-
- // Frame rate
- TReal32 iFrameRate;
-
- // Frame size
- TSize iSize;
-
- // SourceThreadLogon() called flag
- TBool iThreadLogonCalled;
-
- // Array to return in response to GetMultimediaTypesL call
- // (supported video frame formats).
- RArray<TDesC8*> iProtoMimeTypes;
-
- // Video frame formats supported by all providers.
- CDesC8Array* iSupportedVideoFormats;
-
- // Video frame sizes for each format supported by all providers
- class TVSFrameSize
- {
- public:
- TPtrC8 iFormat; // Primary key, 1st field
- TSize iSize;
- };
- RArray<TVSFrameSize> iSupportedVideoSizes;
-
- // Video frame rates for each format and frame size supported by all
- // providers.
- class TVSFrameRate
- {
- public:
- TPtrC8 iFormat; // Primary key, 1st field
- TSize iSize; // Primary key, 2nd field
- TReal32 iRate;
- };
-
- RArray<TVSFrameRate> iSupportedFrameRates;
-
- private: // Data
-
- // Needs to be friend
- friend class CVSProviderSwitchAO;
-
- // MIME type holder
- TBuf8<128> iYuv420PlanarDesc;
-
- private: // Data
-
- // Critical section for queue handling
- RCriticalSection iQueueCs;
-
- // Critical section for queue handling
- RCriticalSection iPauseCs;
-
- // Queue for buffers that are free for use
- RPointerArray<CVSMMFDataBuffer> iFreeQueue;
-
- // Queue for buffers that are being used by the Protocol
- RPointerArray<CVSMMFDataBuffer> iActiveQueue;
-
- // All buffers allocated by CreateSourceBufferL()
- RPointerArray<CVSMMFDataBuffer> iAllocatedBuffers;
-
- // Number of buffer requests by CreateSourceBufferL()
- TInt iRequestedBufferCount;
-
- // Set to ETrue when protocol is initializing (From
- // SourceThreadLogon to SourcePlayL)
- TBool iProtoInitOngoing;
-
- // Set to ETrue if provider switch operation was suspended because
- // protocol was initializing
- TBool iProviderSwitchRequestDuringProtoInit;
-
- // Temporary save pointer, not owned
- CVSDataProvider* iNewProvider;
-
- // Critical section for synchronizing access to
- // iProviderSwitchRequestDuringProtoInit and iProtoInitOngoing
- RCriticalSection iProtoInitCS;
-
- // Set to ETrue during DoProviderSwitchL
- TBool iSwitchOngoing;
-
- // Set to ETrue when DoProviderSwitchL is needed
- TBool iSwitchPending;
-
- // Set to ETrue when video sending is paused to Protocol
- // Guarded by: iPauseCs
- TBool iSendingPaused;
-
- // If true then FBS was started during SourceThreadLogon() and
- // thus should be stopped in SourceThreadLogoff()
- TBool iFbsStarted;
- };
-
-#endif // CVSDATASOURCEIMP_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/inc/CVSMMFDataBuffer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-#ifndef CVSMMFDATABUFFER_H
-#define CVSMMFDATABUFFER_H
-
-// INCLUDE FILES
-
-#include <mmfdatabuffer.h>
-
-// FORWARD DECLARATIONS
-
-class MFrameBuffer;
-class MCameraBuffer;
-
-/**
-* API of data buffer that allows provider's buffer contents to
-* be given to consumer without copying.
-*
-* @lib videosource.lib
-* @since 5.0
-*/
-class MVSMMFDataBuffer
- {
-
-public:
-
- /**
- * Sets the ECAM frame buffer.
- * @param "aFrameBuffer" MFrameBuffer pointer.
- */
- virtual void SetFrameBufferL( MFrameBuffer* aFrameBuffer ) = 0;
-
- /**
- * Sets the ECAM camera buffer.
- * @param "aFrameBuffer" MFrameBuffer pointer.
- */
- virtual void SetFrameBufferL( MCameraBuffer* aCameraBuffer ) = 0;
-
- /**
- * Calls Release() for MFrameBuffer and sets aFrameBuffer to NULL.
- */
- virtual void ReleaseL() = 0;
-
- /**
- * Sets start offset and length of internal iPtr variable (when
- * pointing to iData).
- */
- virtual void SetBufferOffset( TInt aOffset ) = 0;
-
- /**
- * Reallocates the max size in bytes.
- * @param "aMaxBufferSize" New size in bytes.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void ReAllocBufferL( TInt aMaxBufferSize ) = 0;
-
- /**
- * Checks whether buffer needs reset or not.
- * @return ETrue if buffer needs reset, EFalse otherwise.
- */
- virtual TBool NeedsReset() const = 0;
-
- /**
- * Sets needs reset state.
- * @param aNeedsReset New reset state.
- */
- virtual void SetNeedsReset( TBool aNeedsReset ) = 0;
-
- /**
- * Resets buffer (i.e. clears data).
- */
- virtual void Reset() = 0;
-
- };
-
-/**
-* Implementation of data buffer that allows provider's buffer contents to
-* be given to consumer without copying.
-*
-* @lib videosource.lib
-*/
-class CVSMMFDataBuffer : public CMMFDataBuffer, public MVSMMFDataBuffer
- {
- public: // new methods
-
- /**
- * Static factory function to create instance of this class.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- IMPORT_C static CVSMMFDataBuffer* NewL();
-
- /**
- * Static factory function to create instance of this class.
- * @param "aMaxBufferSize" Buffer size
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- IMPORT_C static CVSMMFDataBuffer* NewL( TInt aMaxBufferSize );
-
- /**
- * Destructor.
- */
- IMPORT_C ~CVSMMFDataBuffer();
-
- public: // from CMMFDataBuffer
-
- /**
- * @see CMMFDataBuffer::Data
- */
- virtual TDes8& Data();
-
- /**
- * @see CMMFDataBuffer::Data
- */
- virtual const TDesC8& Data() const;
-
- /**
- * @see CMMFDataBuffer::SetStatus
- */
- virtual void SetStatus( TBufferStatus aStatus );
-
- /**
- * @see CMMFDataBuffer::SetRequestSizeL
- */
- virtual void SetRequestSizeL( TInt aSize );
-
- /**
- * @see CMMFDataBuffer::BufferSize
- */
- virtual TUint BufferSize() const;
-
- /**
- * @see CMMFDataBuffer::SetPosition
- */
- virtual void SetPosition( TUint aPosition );
-
- public: // from MVSMMFDataBuffer
-
- /**
- * @see MVSMMFDataBuffer::SetFrameBufferL
- */
- void SetFrameBufferL( MFrameBuffer* aFrameBuffer );
-
- /**
- * @see MVSMMFDataBuffer::SetFrameBufferL
- */
- void SetFrameBufferL( MCameraBuffer* aCameraBuffer );
-
- /**
- * @see MVSMMFDataBuffer::ReleaseL
- */
- void ReleaseL();
-
- /**
- * @see MVSMMFDataBuffer::SetBufferOffset
- */
- void SetBufferOffset( TInt aOffset );
-
- /**
- * @see MVSMMFDataBuffer::ReAllocBufferL
- */
- void ReAllocBufferL( TInt aMaxBufferSize );
-
- /**
- * @see MVSMMFDataBuffer::NeedsReset
- */
- TBool NeedsReset() const;
-
- /**
- * @see MVSMMFDataBuffer::SetNeedsReset
- */
- void SetNeedsReset( TBool aNeedsReset );
-
- /**
- * @see MVSMMFDataBuffer::Reset
- */
- void Reset();
-
-
- private: // Constructors and destructor
-
- /**
- * Constructor.
- */
- CVSMMFDataBuffer();
-
- /**
- * 2nd phase constructor.
- * @param "aMaxBufferSize" Buffer size in bytes.
- */
- void ConstructL( TInt aMaxBufferSize );
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Pointer to ECAM buffer
- MFrameBuffer* iFrameBuffer;
-
- // Pointer to ECAM buffer
- MCameraBuffer* iCameraBuffer;
-
- // Pointer to data buffer ( n/a for ECAM )
- TUint8* iData;
-
- // TPtr8 pointing to iData or ECAM buffer data content
- TPtr8 iPtr;
-
- // Max buffer size ( n/a for ECAM )
- TInt iMaxBufferSize;
-
- // ETrue if buffers needs reset, EFalse otherwise
- TBool iNeedsReset;
-
- // ETrue if buffer is set, EFalse otherwise
- TBool iIsBufferSet;
-
- };
-
-#endif // CVSMMFDATABUFFER_H
--- a/vtprotocolplugins/VideoSource/inc/CVSOnboardCameraDataProvider.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,387 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-#ifndef CVSONBOARDCAMERADATAPROVIDER_H
-#define CVSONBOARDCAMERADATAPROVIDER_H
-
-// INCLUDE FILES
-
-#include "CVSCameraDataProvider.h"
-
-// CLASS DECLARATION
-
-/**
-* Handles provider error notification using interface to provider callback
-* functions. Provider errors can occur in two threads and this class provides
-* error notification in the same thread context that the provider was created.
-*
-* @lib videosource.lib
-*/
-class CProviderErrorNotifierAO : public CActive
- {
- public: // New functions
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // Constructors and destructor
-
- /**
- * Static factory function to create instance of this class.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- static CProviderErrorNotifierAO* NewL();
-
- /**
- * Destructor.
- */
- ~CProviderErrorNotifierAO();
-
- private: // New functions
-
- /**
- * Notify provider observer about error.
- * @param "aObserver" Pointer to provider observer to notify.
- * @param "aError" Error code.
- */
- void NotifyError( MVSDataProviderObserver* aObserver, TInt aError );
-
- private: // Constructors and destructor
-
- /**
- * Constructor.
- */
- CProviderErrorNotifierAO();
-
- /**
- * 2nd phase constructor.
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL();
-
- private: // Functions from base classes
-
- /**
- * From CActive. See CActive for description.
- */
- void DoCancel();
-
- /**
- * From CActive. See CActive for description.
- */
- void RunL();
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Pointer to provider observer that will receive the error
- // notification.
- MVSDataProviderObserver* iObserver;
-
- // Error code.
- TInt iError;
-
- // Critical section to synchronize access to this object.
- RCriticalSection iCS;
-
- // Thread id of the thread in which this object was created.
- TThreadId iThreadId;
-
- private: // Data
-
- // This class is private to CVSDataProvider.
- friend class CVSDataProvider;
- };
-
-/**
-* Makes onboard camera Reserve and PowerOn function calls synchronous.
-*
-* @lib videosource.lib
-*/
-class CSyncCameraReserve : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Static factory function to create instance of this class.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- static CSyncCameraReserve* NewL();
-
- public: // New functions
-
- /**
- * Starts waiting and returns when RunL is called.
- * @exception Can leave with one of the system wide error codes.
- */
- void StartL();
-
- private: // Constructors and destructor
-
- /**
- * Constructor.
- */
- CSyncCameraReserve();
-
- private: // Functions from base classes
-
- /**
- * From CActive. See CActive for description.
- */
- void DoCancel();
-
- /**
- * From CActive. See CActive for description.
- */
- void RunL();
-
- private: // Data
-
- // Active scheduler loop owner. See CActiveSchedulerWait for
- // description.
- CActiveSchedulerWait iWait;
- };
-
-/**
-* Internal implementation of onboard camera data provider. This
-* class is inherited from onboard camera data provider base class.
-*
-* @lib videosource.lib
-*/
-class CVSOnboardCameraDataProvider : public CVSCameraDataProvider
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- * @param "aObserver" Pointer to provider observer.
- * @param "aPool" Pointer to data MVSBufferPool that gives buffer to
- * data provider.
- */
- CVSOnboardCameraDataProvider(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool );
-
- /**
- * Destructor.
- */
- ~CVSOnboardCameraDataProvider();
-
- public: // New functions
-
- public: // Functions from base classes
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // New functions
-
- /**
- * See CVSDataProvider for description.
- */
- void PrimeL();
-
- private: // Functions from base classes
-
- /**
- * See MDataSource for description.
- */
- virtual void FillBufferL(
- CMMFBuffer* aBuffer,
- MVTVideoSink* aConsumer,
- TMediaId aMediaId );
-
- /**
- * See MDataSource for description.
- */
- virtual void BufferEmptiedL( CMMFBuffer* aBuffer );
-
- /**
- * See MDataSource for description.
- */
- virtual TInt SourceThreadLogon( MAsyncEventHandler& aEventHandler );
-
- /**
- * See MDataSource for description.
- */
- virtual void SourceThreadLogoff();
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePrimeL();
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePlayL();
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePauseL();
-
- /**
- * See MDataSource for description.
- */
- virtual void SourceStopL();
-
- private: // Functions from base classes
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetFormatL( const TDesC8& aFormat );
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetFrameRateL( TReal32 aFrameRate );
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetVideoFrameSizeL( const TSize& aSize );
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void GetVideoFrameSizeL( TSize& aSize ) const;
-
- private: // from MCameraObserver
-
- /**
- * @see MCameraObserver::ReserveComplete
- */
- virtual void ReserveComplete( TInt aError );
-
- /**
- * @see MCameraObserver::FrameBufferReady
- */
- virtual void FrameBufferReady( MFrameBuffer* aFrameBuffer,
- TInt aError );
-
- private: // from MCameraObserver2
-
- /**
- * @see MCameraObserver2::HandleEvent
- */
- virtual void HandleEvent(const TECAMEvent& aEvent);
-
- /**
- * @see MCameraObserver2::ViewFinderReady
- */
- virtual void ViewFinderReady(MCameraBuffer& aCameraBuffer,TInt aError);
-
- /**
- * @see MCameraObserver2::VideoBufferReady
- */
- virtual void VideoBufferReady(MCameraBuffer& aCameraBuffer,TInt aError);
-
- private: // Functions from base classes
-
- /**
- * Get video frame size.
- */
- virtual void GetVideoFrameSize(
- TSize& aSize,
- TInt aSizeIndex,
- const TDesC8& aFormat );
-
- /**
- * Get video frame rate.
- */
- virtual void GetVideoFrameRate(
- TReal32& aRate,
- TInt aRateIndex,
- const TDesC8& aFormat,
- const TSize& aSize );
-
- void FreezeFrame( MFrameBuffer* aFrameBuffer );
-
- void FreezeFrame( MCameraBuffer* aCameraBuffer );
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Onboard camera dublicate for the second thread. Owned.
- CCamera* iCameraDuplicate;
-
- // MMF controller framwork mixin for event handling
- MAsyncEventHandler* iEventHandler;
-
- // Enumerated values for possible states this class can have.
- enum TState
- {
- EStopped,
- EPrimed,
- EPlaying
- };
-
- // One of the enumerated states.
- TState iState;
-
- // ECAM frame rate index.
- TInt iFrameRateIndex;
-
- // ECAM frame size index.
- TInt iFrameSizeIndex;
-
- // Frame size.
- TSize iFrameSize;
-
- // ECAM Video frame format.
- CCamera::TFormat iFormat;
-
- // Pointer to AO that makes iCameraDuplicate.Reserve() and PowerOn()
- // synchronous. Owned. These are called in SourcePrimeL and because
- // it is synchronous, reserve & poweron must be too.
- CSyncCameraReserve* iSyncReserve;
-
- //
- TBool iAsynchronousReserveIssued;
-
- // Pointer to dublicated camera bitmap
- CFbsBitmap* iDublicatedBitmap;
-
- // Camera lost by force indicator
- TBool iCameraLost;
-
- private: // friends
-
- // Stif test module must be set as friend to be able to call protected
- // and private methods
- friend class CstiffVideoSourceAPICases;
-
- };
-
-#endif // CVSONBOARDCAMERADATAPROVIDER_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/inc/CVSStillImageDataProvider.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,532 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-#ifndef CVSSTILLIMTAGEDATAPROVIDER_H
-#define CVSSTILLIMTAGEDATAPROVIDER_H
-
-// INCLUDE FILES
-
-#include <gdi.h>
-#include "CApiVideoSource.h"
-#include "cvtimagescaler.h"
-#include <ecamimageprocessing.h>
-
-#include "cactivewait.h"
-#include "mmultiframeprovider.h"
-
-// FORWARD DECLARATIONS
-
-class CImageDecoder;
-class CVSStillImageDataProvider;
-class CVSFrameRateTimer;
-class CVtImageBitmap;
-class CMultiframeProvider;
-
-
-// CLASS DECLARATION
-
-/**
-* Internal implementation of still image data provider. This
-* class is inherited from from public provider interface.
-*
-* @lib videosource.lib
-*/
-class CVSStillImageDataProvider : public CVSDataProvider, MMultiframeprovider
- {
- public: // Constructors and destructor
-
- /**
- * Static factory function create instance of this class.
- * @param "aObserver" Pointer to provider observer.
- * @param "aPool" Pointer to data MVSBufferPool that gives buffer to
- * data provider.
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- static CVSStillImageDataProvider* NewL(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool );
-
- /**
- * Destructor.
- */
- ~CVSStillImageDataProvider();
-
- public: // New functions
-
- public: // Functions from base classes
-
- /**
- * Initialize provider.
- * @param "aInitParams" Reference to the initialization parameters.
- * @exception Can leave with one of the system wide error codes.
- */
- void InitializeL( const TDesC8& aInitParams );
-
- /**
- * Cancel initialization of still image provider.
- */
- void CancelInitializing();
-
- /**
- * Return digital zoom factor.
- * @return Digital zoom factor.
- */
- virtual TInt DigitalZoomFactor() const;
-
- /**
- * Set digital zoom factor.
- * @param "aDigitalZoomFactor" Digital zoom factor.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void SetDigitalZoomFactorL( TInt aDigitalZoomFactor = 0 );
-
- /**
- * Start view finder bitmaps.
- * @param "aSize" Size of the returned view finder bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderBitmapsL( TSize& aSize );
-
- /**
- * Start view finder bitmaps.
- * @param "aSize" Size of the returned view finder bitmap.
- * @param "aClipRect" Required clip rectangle.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderBitmapsL( TSize& aSize,TRect& aClipRect );
-
- /**
- * Stop view finder bitmaps.
- */
- virtual void StopViewFinder();
-
- /**
- * Test if view finder is active.
- * @return ETrue if view finder active.
- */
- virtual TBool ViewFinderActive() const;
-
- /**
- * Start view finder bitmaps using direct screen access.
- * @param "aWs" Window server session.
- * @param "aScreenDevice" Screen device.
- * @param "aWindow" Displayable window.
- * @param "aScreenRect" Portion of the screen to which view finder data
- * is to be transferred.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderDirectL(
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- TRect& aScreenRect );
-
- /**
- * Start view finder bitmaps using direct screen access.
- * @param "aWs" Window server session.
- * @param "aScreenDevice" Screen device.
- * @param "aWindow" Displayable window.
- * @param "aScreenRect" Portion of the screen to which view finder data
- * is to be transferred.
- * @param "aClipRect" The rectangle to which the screen will be clipped.
- * @exception Can leave with one of the system wide error codes.
- */
- virtual void StartViewFinderDirectL(
- RWsSession& aWs,
- CWsScreenDevice& aScreenDevice,
- RWindowBase& aWindow,
- TRect& aScreenRect,
- TRect& aClipRect );
-
- /**
- * Return provider information.
- * @param @param "aInfo" Reference to variable to where the provider
- * information is copied.
- */
- virtual void ProviderInfo( TVSDataProviderInfo& aInfo );
-
- /**
- * See CVSDataProvider for description.
- */
- virtual void SetViewFinderMirrorL( TBool aMirror );
-
- /**
- * See CVSDataProvider for description.
- */
- virtual TBool ViewFinderMirror() const;
-
- /**
- * See CVSDataProvider for description.
- */
- virtual void FreezeL();
-
- /**
- * See CVSDataProvider for description.
- */
- virtual void UnfreezeL();
-
- /**
- * See CVSDataProvider for description.
- */
- virtual TBool IsFrozen() const;
-
- /**
- * @See CVSDataProvider::SetContrastL for description.
- */
- virtual void SetContrastL( TInt aContrast );
-
- /**
- * @See CVSDataProvider::GetContrast for description.
- */
- virtual TInt GetContrast( TInt& aContrast ) const;
-
- /**
- * @See CVSDataProvider::SetBrightnessL for description.
- */
- virtual void SetBrightnessL( TInt aBrightness );
-
- /**
- * @See CVSDataProvider::GetBrightness for description.
- */
- virtual TInt GetBrightness( TInt& aBrightness ) const;
-
- /**
- * @See CVSDataProvider::SetWhiteBalanceL for description.
- */
- virtual void SetWhiteBalanceL(
- CCamera::TWhiteBalance aWhiteBalance = CCamera::EWBAuto);
-
- /**
- * @See CVSDataProvider::GetWhiteBalance for description.
- */
- virtual TInt GetWhiteBalance(
- CCamera::TWhiteBalance& aWhiteBalance ) const;
-
- /**
- * @See CVSDataProvider::GetColorTone for description.
- */
- virtual TInt GetColorTone(
- CCamera::CCameraImageProcessing::TEffect& aColorTone) const;
-
- /**
- * @See CVSDataProvider::SetColorToneL for description.
- */
- virtual void SetColorToneL(
- CCamera::CCameraImageProcessing::TEffect aValue );
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // New functions
-
- /**
- * See CVSDataProvider for description.
- */
- void PrimeL();
-
- private:
-
- private: // Functions from base classes
-
- /**
- * See MDataSource for description.
- */
- virtual void FillBufferL(
- CMMFBuffer* aBuffer,
- MVTVideoSink* aConsumer,
- TMediaId aMediaId );
-
- private:
-
- /**
- * See MDataSource for description.
- */
- virtual void BufferEmptiedL( CMMFBuffer* aBuffer );
-
- /**
- * See MDataSource for description.
- */
- virtual TInt SourceThreadLogon( MAsyncEventHandler& aEventHandler );
-
- /**
- * See MDataSource for description.
- */
- virtual void SourceThreadLogoff();
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePrimeL();
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePlayL();
-
- /**
- * See MDataSource for description.
- */
- virtual void SourcePauseL();
-
- /**
- * See MDataSource for description.
- */
- virtual void SourceStopL();
-
- private: // Functions from base classes
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetFormatL( const TDesC8& aFormat );
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetFrameRateL( TReal32 aFrameRate );
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void SetVideoFrameSizeL( const TSize& aSize );
-
- /**
- * See MVTVideoInput for description.
- */
- virtual void GetVideoFrameSizeL( TSize& aSize ) const;
-
- private: // New functions
-
- /**
- * Common initialization of the provider (initializes features
- * that are always needed by the provider).
- * @exception Can leave with one of the system wide error codes.
- */
- void CommonInitializeL();
-
- /**
- * Undo common initialization of still image data provider.
- */
- void UndoCommonInitialized();
-
- /**
- * Loads image that was set in General Settings application.
- * @param aType Type of of the general settings image.
- * @exception Can leave with one of the system wide error codes.
- */
- void GeneralSettingsInitializeL( const TGeneralSettingsImageType aType );
-
- /**
- * Initializes this instance as blank image instance.
- * @exception Can leave with one of the system wide error codes.
- */
- void BlankImageInitializeL();
-
- /**
- * Initializes this instance from image file.
- * @param aFileName Name of the file from which this intance will be
- * initialized.
- * @exception Can leave with one of the system wide error codes.
- */
- void FileImageInitializeL( const TFileName& aFileName );
-
- /**
- * View finder timer callback. This method is called when view finder
- * needs updating.
- */
- void VFTimer();
-
- /**
- * protocol timer callback. This method is called when new frame
- * will be sent to consumer.
- */
- void ProtoTimer();
-
- /**
- * Method for creating timer for protocol. This method is called
- * in Proto thread context.
- * @exception Can leave with one of the system wide error codes.
- */
- void CreateProtoTimerL();
-
- /**
- * Releases protocol timer. This method is called in Protocol thread
- * context.
- */
- void ReleaseProtoTimer();
-
- /**
- * Creates YUV buffer from still image. This method is called in Protocol
- * thread context.
- * @exception Can leave with one of the system wide error codes.
- */
- void CreateYUVDataL();
-
- /**
- * Release YUV buffer. This method is called in Protocol thread context.
- */
- void ReleaseYUVData();
-
- private: // Constructors and destructor
-
- /**
- * Constructor.
- * @param "aObserver" Pointer to provider observer.
- */
- CVSStillImageDataProvider(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool );
-
- /**
- * 2nd phase constructor.
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL();
-
- private: // Functions from base classes
-
- /**
- * Get video frame size.
- */
- virtual void GetVideoFrameSize(
- TSize& aSize,
- TInt aSizeIndex,
- const TDesC8& aFormat );
-
- /**
- * Get video frame rate.
- */
- virtual void GetVideoFrameRate(
- TReal32& aRate,
- TInt aRateIndex,
- const TDesC8& aFormat,
- const TSize& aSize );
-
- /**
- * Returns current screen display mode.
- */
- TDisplayMode DisplayMode() const;
-
- private:
-
- // from MMultiframeprovider
- /**
- * @See MMultiframeprovider for description.
- */
- virtual void InitializeReady();
-
- /**
- * @See MMultiframeprovider for description.
- */
- virtual void RefreshYUVData( TImageShareDataBuffer& aYUVBitMap );
-
- /**
- * @See MMultiframeprovider for description.
- */
- virtual void RefreshViewFinder( TImageShareDataBuffer& aVFBitMap );
-
- /**
- * @See MMultiframeprovider for description.
- */
- virtual void NotifyImageHandlingError( TInt aError );
-
- public: // Data
-
- protected: // Data
- RCriticalSection iFreezeCS;
- private: // Data
-
- // Provider state
- enum TProviderState
- {
- EPSUninitialized, // Provider is uninitialized
- EPSStopped, // Provider is initialized and stopped
- EPSPrimed, // Provider is initialized and ready for playing
- EPSPlaying, // Provider is playing
- EPSInitializing, // Provider is initializing
- EPSUndoInitializing // Provider is undoinitializing
- };
-
- // Provider state
- TProviderState iPSState;
-
- // View finder state
- enum TViewFinderState
- {
- EVFStopped, // View finder is not started
- EVFPlaying // View finder started
- };
-
- // View finder state
- TViewFinderState iVFState;
-
- // Source bitmap's name
- TFileName iBitmapFileName;
-
- // Pointer to view finder timer instance
- CVSFrameRateTimer* iVFTimer; // owned
-
- // Pointer to protocol timer instance
- CVSFrameRateTimer* iProtoTimer; // owned, created in Proto thread context!
-
- // Target image for CVtImageScaler
- CVtImageBitmap* iScaled;
- CVtImageBitmap* iYUVBitMap;
-
- // Pointer to selected view finder image
- CVtImageBitmap* iVFCurrent;
- CVtImageBitmap* iVFBitmap;
-
- // Pointer to active waiter instance
- CVSActiveWait< CVSStillImageDataProvider >* iActiveWait; // owned
-
- // Heap descriptor pointer that contains image as YUV
- HBufC8* iYUVBuffer; // owned, created in Protocol thread context!
-
- // Frame counter
- TUint32 iFrameCount;
-
- // protocol timer update rate
- TInt iProtoUpdateRate;
-
- // Rescaling recuirement flag
- TBool iVFRescalingRequired;
-
- // FireServer session instance
- RFs iFs;
-
- // Current display mode
- TDisplayMode iDisplayMode;
-
- // Viewer instance
- CMultiframeProvider* iViewer; //owned
-
- // Traget VF size
- TSize iTargetSize;
-
- //Record TVSStillImageDataProviderParams::iInitialize in InitializeL(),
- //used in CancelInitializing call
- TVSStillImageDataProviderParams::TInitialize iInitType;
-
- };
-
-#endif // CVSSTILLIMTAGEDATAPROVIDER_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/inc/VSPanic.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 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: Panic definitions for videosource module.
-*
-*/
-
-
-#ifndef VSPANIC_H
-#define VSPANIC_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-_LIT( KVSPanicCategory, "VideoSource" );
-
-// DATA TYPES
-enum TVSPanic
- {
- EVSPanicSwitchAlreadyPending, // 0
- EVSPanicProviderNotSet, // 1
- EVSPanicProviderAlreadyInitialized, // 2
- EVSPanicProviderNotReady, // 3
- EVSPanicOperationNotSupported, // 4
- EVSPanicThreadOpenFailure // 5
- };
-
-// FUNCTION PROTOTYPES
-extern void Panic( TVSPanic aPanicCode );
-
-#endif // VSPANIC_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/inc/VideoSourceUids.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2004 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: Uid definition file for Video Source subsystem
-*
-*/
-
-
-
-#ifndef __VIDEOSOURCEUIDS_HRH__
-#define __VIDEOSOURCEUIDS_HRH__
-
-#define KSharedLibraryUidDefine 0x1000008D
-#define KUidVideoSourceLibrary 0x101F8692
-
-#endif
\ No newline at end of file
--- a/vtprotocolplugins/VideoSource/inc/cactivewait.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-#ifndef C_ACTIVEWAIT_H
-#define C_ACTIVEWAIT_H
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <e32svr.h>
-/**
-* Active waiter class for waiting any active request. When asynchronous
-* request has been completed a given callback method will be called.
-*
-* @lib videosource.lib
-*/
-template < class R > class CVSActiveWait: public CActive
- {
- private :
-
- typedef void ( R::*TVSActiveWaitCallback) ( TInt );
-
- public : // Constructors and destructor
-
- /**
- * Constructor.
- * @param "aRequester" ?description
- */
- inline CVSActiveWait( R* aRequester );
-
- /**
- * Destructor.
- */
- inline ~CVSActiveWait();
-
- /**
- * Initializes the waiter class.
- * @param "aCallback" Pointer to callback method that will be called
- * when asynchronous request has been completed.
- */
- inline void InitializeWaiter( TVSActiveWaitCallback aCallback );
-
- /**
- * Returns pointer to this active object's TRequestStatus member
- * (iStatus).
- * @return Pointer to this classes TRequestStatus member (iStatus).
- */
- inline TRequestStatus* RequestStatus();
-
- /**
- * Signals waiter with given error code.
- * @param aError Integer error code.
- */
- inline void Signal( TInt aError );
-
- private : // Functions from base classes
-
- /**
- * From CActive. See CActive for description.
- */
- inline void RunL();
-
- /**
- * From CActive. See CActive for description.
- */
- inline void DoCancel();
-
- private : // Data
-
- // Pointer to requester. Callback method call will be made in this
- // context.
- R* iRequester; // not owned
-
- // Pointer to callback method.
- TVSActiveWaitCallback iCallback;
- };
-
-#include "cactivewait.inl"
-
-#endif // C_ACTIVEWAIT_H
-
\ No newline at end of file
--- a/vtprotocolplugins/VideoSource/inc/cactivewait.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ CVSActiveWait ===============================
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::~CVSActiveWait()
-// -----------------------------------------------------------------------------
-//
-template <class R>
-CVSActiveWait< R >::~CVSActiveWait()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::~CVSActiveWait() >>"), RThread().Id().operator TUint()));
- Cancel();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::~CVSActiveWait() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::RequestStatus()
-// -----------------------------------------------------------------------------
-//
-template <class R>
-TRequestStatus* CVSActiveWait< R >::RequestStatus()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::RequestStatus() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::RequestStatus() <<"), RThread().Id().operator TUint()));
- return &iStatus;
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::Signal( TInt aError )
-// -----------------------------------------------------------------------------
-//
-template <class R>
-void CVSActiveWait< R >::Signal( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::Signal() >>"), RThread().Id().operator TUint()));
- if( IsActive() )
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, aError );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::Signal() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::RunL()
-// -----------------------------------------------------------------------------
-//
-template <class R>
-void CVSActiveWait< R >::RunL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::RunL() >>"), RThread().Id().operator TUint()));
- (iRequester->*iCallback)( iStatus.Int() );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::RunL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::DoCancel()
-// -----------------------------------------------------------------------------
-//
-template <class R>
-void CVSActiveWait< R >::DoCancel()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::DoCancel() >>"), RThread().Id().operator TUint()));
- if ( iStatus == KRequestPending )
- {
- TRequestStatus* pStatus = &iStatus;
- User::RequestComplete( pStatus, KErrCancel );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::DoCancel() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::CVSActiveWait( CAnimatedImageViewer* aRequester )
-// -----------------------------------------------------------------------------
-//
-template < class R >
-CVSActiveWait< R >::CVSActiveWait( R* aRequester )
-: CActive( EPriorityHigh ), iRequester( aRequester )
- {
- __IF_DEBUG(Print(_L("CVSActiveWait::CVSActiveWait() >>")));
- CActiveScheduler::Add( this );
- __IF_DEBUG(Print(_L("CVSActiveWait::CVSActiveWait() <<")));
- }
-// -----------------------------------------------------------------------------
-// CVSActiveWait::InitializeWaiter( TVSActiveWaitCallback aCallback )
-// -----------------------------------------------------------------------------
-//
-template < class R >
-void CVSActiveWait< R >::InitializeWaiter( TVSActiveWaitCallback aCallback )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::InitializeWaiter() >>"), RThread().Id().operator TUint()));
- if ( !IsActive() )
- {
- iStatus = KRequestPending;
- iCallback = aCallback;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::InitializeWaiter() SetActive"), RThread().Id().operator TUint()));
- SetActive();
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::InitializeWaiter() <<"), RThread().Id().operator TUint()));
- }
-
-
\ No newline at end of file
--- a/vtprotocolplugins/VideoSource/inc/capivideosource.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-/*
- * CVSController
-*/
-
-// -----------------------------------------------------------------------------
-// CVSController::Observer
-// -----------------------------------------------------------------------------
-//
-inline MVSControllerObserver& CVSController::Observer() const
- {
- return *iObserver;
- }
-
-/*
- * CVSDataProvider
-*/
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::Observer
-// -----------------------------------------------------------------------------
-//
-inline MVSDataProviderObserver& CVSDataProvider::Observer() const
- {
- return *iObserver;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::BufferPool
-// -----------------------------------------------------------------------------
-//
-inline MVSBufferPool& CVSDataProvider::BufferPool() const
- {
- return *iPool;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::FillBufferActive
-// -----------------------------------------------------------------------------
-//
-inline TBool CVSDataProvider::FillBufferActive() const
- {
- return iFillBufferActive;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::Consumer
-// -----------------------------------------------------------------------------
-//
-inline MVTVideoSink* CVSDataProvider::Consumer() const
- {
- return iConsumer;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::MediaId
-// -----------------------------------------------------------------------------
-//
-inline TMediaId CVSDataProvider::MediaId() const
- {
- return iMediaId;
- }
-
-/*
- * CVSDataSource
-*/
-
-// -----------------------------------------------------------------------------
-// CVSDataSource::Observer
-// -----------------------------------------------------------------------------
-//
-inline MVSDataSourceObserver& CVSDataSource::Observer() const
- {
- return *iObserver;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSource::DataProvider
-// -----------------------------------------------------------------------------
-//
-inline CVSDataProvider& CVSDataSource::DataProvider() const
- {
- return *iProvider;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSource::SwitchProvider
-// -----------------------------------------------------------------------------
-//
-inline CVSDataProvider* CVSDataSource::SwitchProvider(
- CVSDataProvider* aNewProvider )
- {
- CVSDataProvider* oldProvider = iProvider;
- iProvider = aNewProvider;
- return oldProvider;
- }
-
-/*
- * TVSStillImageDataProviderParams
- */
-
-// -----------------------------------------------------------------------------
-// TVSStillImageDataProviderParams::TVSStillImageDataProviderParams
-// -----------------------------------------------------------------------------
-//
-TVSStillImageDataProviderParams::TVSStillImageDataProviderParams()
- : iInitialize( EInitializeAsBlankImage ), iFileName( TPtrC() )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVSStillImageDataProviderParams::TVSStillImageDataProviderParams
-// -----------------------------------------------------------------------------
-//
-TVSStillImageDataProviderParams::TVSStillImageDataProviderParams(
- const TInitialize aInitialize )
- : iInitialize( aInitialize ), iFileName( TPtrC() )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVSStillImageDataProviderParams::TVSStillImageDataProviderParams
-// -----------------------------------------------------------------------------
-//
-TVSStillImageDataProviderParams::TVSStillImageDataProviderParams(
- const TFileName& aFileName )
- : iInitialize( EInitializeFromFile ), iFileName( aFileName )
- {
- }
--- a/vtprotocolplugins/VideoSource/inc/cmultiframedataao.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-#ifndef C_MULTIFRAMEDATAAO_H
-#define C_MULTIFRAMEDATAAO_H
-
-// INCLUDE FILES
-#include <e32base.h>
-#include "mmultiframeprovider.h"
-// FORWARD DECLARATIONS
-class CMultiframeProvider;
-
-// MACROS
-
-/**
-* @lib videosource.lib
-*/
-// ============================ CMultiframeDataAO ===============================
-NONSHARABLE_CLASS( CMultiframeDataAO ) : public CTimer
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- * @param "aRequester" instance to requester
- */
- CMultiframeDataAO( CMultiframeProvider* aRequester );
-
- /**
- * Destructor.
- */
- ~CMultiframeDataAO();
-
- public: // New functions
-
- /**
- * Sets observer.
- * @param "aObserever" instance to observer
- */
- void SetObserver( MMultiframeprovider* aObserver );
-
- /**
- * Activates CTimer
- * @param "aUpdateTime" expiration time
- */
- void Activate( TTimeIntervalMicroSeconds aUpdateTime, TBool aInit, TBool aVFUpdate );
-
- /**
- * Updates local buffer.
- * @param "aLocalBuffer" local buffer
- */
- void LocalBuffer( CVtImageBitmap* aLocalBuffer );
-
- /**
- * Updates remote buffer.
- * @param "aRemoteBuffer" remote buffer
- */
- void RemoteBuffer ( CVtImageBitmap* aRemoteBuffer );
-
- /**
- * Cancels looping and completes request in correct thread.
- */
- void CancelTimeLoop();
-
- private: // Functions from base classes
-
- /**
- * From CActive. See CActive for description.
- */
- void RunL();
-
- private: // Data
-
- // Pointer to observer.
- MMultiframeprovider* iObserver; // not owned
-
- // Pointer to requester
- CMultiframeProvider* iRequester;
-
- // For updating ViewFinder buffer
- TImageShareDataBuffer iLocalBuffer;
- // For updating remote buffer
- TImageShareDataBuffer iRemoteBuffer;
-
- // For updating remote buffer if activated when active
- TImageShareDataBuffer iRemoteSecondBuffer;
-
- // For updating ViewFinder buffer if activated when active
- TImageShareDataBuffer iLocalSecondBuffer;
-
- // Initialization flag
- TBool iInit;
-
- // Delta calc ref point
- TTimeIntervalMicroSeconds iTime;
-
- // VF update flag
- TBool iVFUpdate;
-
- // Id of thread whose active scheduler this instance is added into.
- TThreadId iThreadId;
-
- // A flag to indecate loop ao must be stopped
- TBool iRequireStopping;
- };
-
-#endif //C_MULTIFRAMEDATAAO_H
-
-// End of File
-
-
-
-
-
--- a/vtprotocolplugins/VideoSource/inc/cmultiframeloopao.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-#ifndef C_MULTIFRAMELOOPAO_H
-#define C_MULTIFRAMELOOPAO_H
-
-// INCLUDE FILES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CMultiframeProvider;
-
-// MACROS
-
-/**
-* @lib videosource.lib
-* Handles data looping in multi frame sharing case.
-*/
-NONSHARABLE_CLASS( CMultiframeloopAO ) : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- * @param "aRequester" instance to requester
- */
- CMultiframeloopAO( CMultiframeProvider* aRequester );
-
- /**
- * Destructor.
- */
- ~CMultiframeloopAO();
-
- /**
- * Decreases number of free bitmaps
- * @param "aCount" count how many bitmaps to be removed
- */
- void RemoveFreeBitmaps( TInt aCount );
-
- /**
- * Increases number of free bitmaps
- * @param "aCount" count how many bitmaps to be increased
- */
- void SetFreeBitmaps( TInt aCount );
-
- /**
- * Cancels looping and completes request in correct thread.
- */
- void CancelDataLoop();
-
- public: // New functions
-
- /**
- * Activates looping and completes request in correct thread.
- */
- void Signal( );
-
- /**
- * Sets frame count.
- * @param "aCount" frame count
- */
- void SetFrameCount( TInt aCount );
-
- private: // Functions from base classes
-
- /**
- * From CActive. See CActive for description.
- */
- void RunL();
-
- /**
- * From CActive. See CActive for description.
- */
- void DoCancel();
-
- private: // Data
-
- // Pointer to requester.
- CMultiframeProvider* iRequester; // not owned
-
- // Index of frame to be handled
- TInt iIndex;
-
- // Total nuber of frames
- TInt iFramecount;
-
- // Number of free bitmaps
- TInt iFreeBMCount;
-
- // Id of thread whose active scheduler this instance is added into.
- TThreadId iThreadId;
-
- // A flag to indecate loop ao must be stopped
- TBool iRequireStopping;
- };
-#endif //C_MULTIFRAMELOOPAO_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/inc/cmultiframeprovider.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-#ifndef C_MULTIFRAMEPROVIDER_H
-#define C_MULTIFRAMEPROVIDER_H
-
-// INCLUDE FILES
-#include <f32file.h>
-#include <gdi.h>
-#include "cactivewait.h"
-#include "cvtimagescaler.h"
-#include "mmultiframeprovider.h"
-
-// FORWARD DECLARATIONS
-
-class CVtImageBitmap;
-class CImageDecoder;
-class CMultiframeloopAO;
-class TScalingMediator;
-class CMultiframeProvider;
-class CMultiframeDataAO;
-
-const TInt KFirstFrameIndx = 0;
-
-// CLASS DECLARATION
-// ============================ TScalingMediator ===============================
-/**
-* Internal implementation of still scaling mediator
-* @lib videosource.lib
-*/
-
-NONSHARABLE_CLASS( TScalingMediator) : public MVtImageScalerObserver
- {
- public :
- TScalingMediator();
- public :
- /**
- * @see MVtImageScalerObserver::ScalingFinished( TInt aError )
- */
- void ScalingFinished( TInt aError );
-
- /**
- * Sets waiter observer
- */
- void SetWaiter( CVSActiveWait< CMultiframeProvider >* aWait );
- private :
- CVSActiveWait< CMultiframeProvider >* iWait;
- };
-
-
-// ============================ CMultiframeProvider ===============================
-/**
-* Internal implementation of multiframe provider
-* @lib videosource.lib
-*/
-NONSHARABLE_CLASS( CMultiframeProvider ) : public CBase
- {
-
- public : // Constructors and destructor
-
- /**
- * Static factory function create instance of this class.
- * @param "aObserver" Pointer to data provider observer.
- * @param aDisplayMode current display mode
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- static CMultiframeProvider* NewL( MMultiframeprovider* aObserver, TDisplayMode aDisplayMode );
-
- /**
- * Destructor.
- */
- ~CMultiframeProvider();
-
-
- public : // Functions from base classes
-
- /**
- * Initializes this instance from image or multiframe file.
- * @param aFileName Name of the file from which this intance will be
- * initialized.
- * @exception Can leave with one of the system wide error codes.
- */
- void InitializeL( const TFileName* aFileName );
-
- /**
- * Cancel initialization of multiframe provider.
- * @return ETrue if don't need to wait a error message.
- */
- TBool CancelInitializing();
-
- /**
- * Initializes this instance for blank image bitmap.
- */
- void IniatializeBlankL();
-
- /**
- * Initializes this instance for Generalsettings image bitmap.
- */
- void IniatializeGSL( const TGeneralSettingsImageType aType );
- /**
- * Sets ViewFinder size
- * @param aSize size of target bitmap (view finder)
- */
- void SetVFScalingTargetSize( TSize aSize );
-
- /**
- * Decodes and scales initialized image or multiframe file
- * @param aFrameindex index of frame to be decoded and scaled
- */
- void ConvertAndScaleL( TInt aFrameIndex );
-
- /**
- * Scales and copies decoded frame for view finder display
- * @param aSize size of target bitmap ( view fiender )
- */
- void ScaleCopy( TSize& aSize, TBool aVFUpdate = EFalse );
-
- /**
- * Signals looping AO to proceed to next frame
- */
- void NextFrame();
-
- /**
- * Clears ViewFinder size
- */
- void ClearVFScalingTargetSize();
-
- /**
- * Increases number of data consumers by one
- */
- void IncreaseDataConsumer();
-
- /**
- * Decreases number of data consumers by one
- * and if number is less than one it cancels data looping
- * mechanism
- */
- void DecreaseDataConsumer();
-
- /**
- * Adds used bitmap to free queue
- */
- void AddBitmapToFreeQueue();
-
- /**
- * Indicates that second VF buffer needs to be used
- */
- void UseSecondVfBuffer();
-
- /**
- * Indicates that VF has been stopped
- */
- TBool IsVFStopped();
-
- /**
- * Set ViewFinder of Multiframe provider to stop
- */
- void SetVFStop();
-
- /**
- * Wait for converting function exit
- */
- void WaitForConverting();
-
- /**
- * Release converting flag
- */
- void ReleaseForConverting();
-
- private : // Constructors and destructor
-
- /**
- * Constructor.
- * @param "aObserver" Pointer to data provider observer.
- * @param aDisplayMode current display mode
- */
- CMultiframeProvider( MMultiframeprovider* aObserver, TDisplayMode aDisplayMode );
-
- /**
- * 2nd phase constructor.
- * @exception Can leave with one of the system wide error codes.
- */
- void ConstructL();
-
- /**
- * Image conversion finished callback. This method is called when image
- * conversion is done.
- * @param "aError" Error code. KErrNone if no error happened, one of the
- * system wide error codes.
- * otherwise.
- */
- void ConversionFinished( TInt aError );
-
- /**
- * Image scaling finished callback. This method is called when image
- * scaling is done.
- * @param "aError" Error code. KErrNone if no error happened, one of
- * the system wide error codes.
- */
- void BMSScalingFinished( TInt aError );
-
- /**
- * Scales VF to new size.
- * @param "aSize" New VF size.
- * the system wide error codes.
- */
- void ScaleVF( const TSize& aSize );
-
- /**
- * When view finder frame must be rescaled (wanted view finder size is
- * neither QCIF nor QQQCIF) this callback will be called when the
- * rescaling has finished.
- * @param "aError" Error code. KErrNone if no error happened, one of
- * the system wide error codes.
- */
- void VFRescalingFinished( TInt aError );
-
- /**
- * When view finder frames are rescaled this callback method will be
- * called.
- * @param "aError" Error code. KErrNone if no error happened, one of
- * the system wide error codes.
- */
- void VFScalingReady();
-
- /**
- * Creates blank bitmap with given size, color mode and color.
- * @param "aBitmap" Bitmap pointer reference into which pointer to new
- * isntance will be copied.
- * @param "aSize" Size of the blank bitmap to be created.
- * @param "aMode" Color mode for created bitmap.
- * @param "aColor" Color of created bitmap.
- * @exception Can leave with one of the system wide error codes.
- */
- void CreateBlankBitmapL( CFbsBitmap*& aBitmap, const TSize& aSize, const TDisplayMode& aMode, const TRgb& aColor );
-
- public : // Data
-
- TBool iAnimation;
-
- TBool iConvertAndScale;
-
- protected: // Data
-
- RCriticalSection iFreezeCS;
-
- private : //Data
-
-
- // Source image for CVtImageScaler
- CVtImageBitmap* iConverted;
-
- // Target image for CVtImageScaler
- CVtImageBitmap* iScaled;
- CVtImageBitmap* iBuffer1;
- CVtImageBitmap* iBuffer2;
-
- // Pointer to remote image
- CVtImageBitmap* iYUVBitMap;
-
- // Pointer to QCIF sized view finder image
- CVtImageBitmap* iVFbitmap;
- CVtImageBitmap* iFirstVfBuf;
- CVtImageBitmap* iSecondVfBuf;
-
- // Boolean values of VF buffer validation
- TBool iSecondVFBuffer;
- TBool iFirstVFBuffer;
-
- // Pointer to bitmap loaded from GS
- CVtImageBitmap* iGSBitmap;
-
- // Pointer to selected view finder image
- CVtImageBitmap* iVFCurrent;
-
- // Viewer AO instance
- CMultiframeloopAO* iLoopAo;// owned
-
- // Initalisation scaling mediator
- TScalingMediator iInitMediator;
-
- // ViewFinder scaling scaling mediator
- TScalingMediator iScalingMediator;
-
- // Waiter instance for initialisation
- CVSActiveWait< CMultiframeProvider >* iActiveWaitInit;// owned
-
- // Waiter instance for scaling
- CVSActiveWait< CMultiframeProvider >* iActiveWaitScale;// owned
-
- // Waiter instance for scaling
- CVSActiveWait< CMultiframeProvider >* iActiveWaitInitScale; // owned
-
- // VT image scaler instance for initialisation
- CVtImageScaler* iVtImageScalerInit; // owned
-
- // VT image scaler instance for scaling
- CVtImageScaler* iVtImageScalerScale; // owned
-
- // Image decoder instance
- CImageDecoder* iImageDecoder; // owned
-
- // Wanted view finder size
- TSize iWantedVFSize;
-
- // FireServer session instance
- RFs iFs;
-
- // Current display mode
- TDisplayMode iDisplayMode;
-
- // Rescaling recuirement flag
- TBool iVFRescalingRequired;
-
- // Multiframe observer instance
- MMultiframeprovider* iObserver;
-
- // VF bitmap size
- TSize iTargetSize;
-
- // Is blank image share
- TBool iBlank;
-
- // Is GS image share
- TBool iGSImage;
-
- // Is second bitmap in use
- TBool iOldBM;
-
- // Pointer to old bitmap
- CVtImageBitmap* iOldBitmap;
-
- // Frame count
- TInt iCount;
-
- // Is initialization ongoing flag
- TBool iInitialization;
-
- // Frame delay
- TTimeIntervalMicroSeconds iDelay;
-
- // Start time for image conversion
- TTime iStartTime;
-
- // Data timer expiration / Frame update time
- TTimeIntervalMicroSeconds iFrameUpdateTime;
-
- // Pointer to data timer AO
- CMultiframeDataAO* iDataTimer;
-
- // Number of data consumers
- TInt iNumOfConsumers;
-
- // Queue for bitmaps that are free for use
- RPointerArray<CVtImageBitmap> iFreeQueue;
-
- // Pointer to bitmap mask
- CFbsBitmap* iMask;
-
- // Pointer to temporary bitmap
- CVtImageBitmap* iTempBM;
-
- TSize iVFSize;
-
- // Boolean value of VF buffer update
- TBool iVFUpdate;
-
- // file handle to default VT image
- RFile iDefaultImageFile;
- // Boolean value of VF buffer stopping
- TBool iIsVfStopped;
-
- // Boolean value of VF buffer stopping
- TBool iWaitForConverting;
- };
-
-#endif // C_MULTIFRAMEPROVIDER_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/inc/mmultiframeprovider.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-#ifndef M_MULTIFRAMEPROVIDER_H
-#define M_MULTIFRAMEPROVIDER_H
-
-// INCLUDE FILES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CVtImageBitmap;
-
-// ============================ TImageShareDataBuffer ===============================
-/**
-* Share buffer class
-* @lib videosource.lib
-*/
-NONSHARABLE_CLASS( TImageShareDataBuffer)
- {
- public :
- CVtImageBitmap* iBitmap;
- TBool iIsBitmapFree;
- };
-
- // General Settings image type
- enum TGeneralSettingsImageType
- {
- EGSStillImage,
- EGSDefaultStillImage
- };
-
-// ============================ MMultiframeprovider ===============================
-/**
-* Multiframe observer API
-* Interface for receiving data and acknowledgements from multiframe provider.
-* @lib videosource.lib
-*/
-class MMultiframeprovider
- {
- public:
- /**
- * Indicates when initialization of multiframeprovider has finished
- */
- virtual void InitializeReady() = 0;
-
- /**
- * Refresh YUV data
- * @param "aYUVBitMap" reference new YUV data.
- */
- virtual void RefreshYUVData( TImageShareDataBuffer& aYUVBitMap ) = 0;
-
- /**
- * Refresh VF data
- * @param "aVFBitMap" reference new VF data.
- */
- virtual void RefreshViewFinder( TImageShareDataBuffer& aVFBitMap ) = 0;
-
- /**
- * Notifies if error occures in multiframeprovider
- * @param "aError" symbian wide error code.
- */
- virtual void NotifyImageHandlingError( TInt aError ) = 0;
-
- };
-#endif //M_MULTIFRAMEPROVIDER_H
-
-// End of File
--- a/vtprotocolplugins/VideoSource/rom/VideoSource.iby Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002 - 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:
-* IBY file for VideoSource
-*
-*
-*/
-
-
-#ifndef __VIDEOSOURCE_IBY__
-#define __VIDEOSOURCE_IBY__
-
-#ifdef __CS_VIDEO_TELEPHONY
-
-file=ABI_DIR\BUILD_DIR\VideoSource.dll SHARED_LIB_DIR\VideoSource.dll
-
-// Enabler for eclipsing ROM binary
-data=ZSYSTEM\install\videosource_stub.sis system\install\videosource_stub.sis
-
-#endif
-
-#endif
--- a/vtprotocolplugins/VideoSource/src/CVSCameraDataProvider.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,864 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <fbs.h>
-
-#include "CVSCameraDataProvider.h"
-#include "CVSOnboardCameraDataProvider.h"
-#include "VSPanic.h"
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-static const TInt KQcifWidth = 176;
-static const TInt KQcifHeight = 144;
-static const TReal32 KFrameRate = 15.0;
-static const TInt KFrozenFrameBufferSize = ( KQcifWidth * KQcifHeight ) + ( KQcifWidth * KQcifHeight ) / 2;
-static const TInt KCCameraPriority = 80;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ============================= CVsFrameBuffer ================================
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::NewL( TInt aSize )
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVsFrameBuffer* CVsFrameBuffer::NewL( TInt aSize )
- {
- CVsFrameBuffer* self = new ( ELeave ) CVsFrameBuffer();
- CleanupStack::PushL( self );
- self->ConstructL( aSize );
- CleanupStack::Pop(); // self
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::~CVsFrameBuffer()
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVsFrameBuffer::~CVsFrameBuffer()
- {
- delete iBuffer;
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::CopyProperties( MFrameBuffer* aSource )
-// -----------------------------------------------------------------------------
-//
-void CVsFrameBuffer::CopyProperties( MFrameBuffer* aSource )
- {
- MFrameBuffer::iIndexOfFirstFrameInBuffer = aSource->iIndexOfFirstFrameInBuffer;
- MFrameBuffer::iElapsedTime = aSource->iElapsedTime;
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::CopyProperties( MCameraBuffer* aSource )
-// -----------------------------------------------------------------------------
-//
-void CVsFrameBuffer::CopyProperties( MCameraBuffer* aSource )
- {
- MCameraBuffer::iIndexOfFirstFrameInBuffer = aSource->iIndexOfFirstFrameInBuffer;
- MCameraBuffer::iElapsedTime = aSource->iElapsedTime;
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::CopyFrameL( MFrameBuffer* aSource )
-// -----------------------------------------------------------------------------
-//
-void CVsFrameBuffer::CopyFrameL( MFrameBuffer* aSource )
- {
- iPtr = *( aSource->DataL( 0 ) );
- CopyProperties( aSource );
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::CopyFrameL( MCameraBuffer* aSource )
-// -----------------------------------------------------------------------------
-//
-void CVsFrameBuffer::CopyFrameL( MCameraBuffer* aSource )
- {
- iPtr = *( aSource->DataL( 0 ) );
- CopyProperties( aSource );
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::DataL( TInt aIndex )
-// -----------------------------------------------------------------------------
-//
-TDesC8* CVsFrameBuffer::DataL( TInt aIndex )
- {
- if( aIndex != 0 )
- {
- User::Leave( KErrNotSupported );
- }
-
- return &iPtr;
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::FrameL( TInt aIndex )
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap* CVsFrameBuffer::FrameL( TInt aIndex )
- {
- ( void ) aIndex;
- User::Leave( KErrNotSupported );
- return 0;
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::Release()
-// -----------------------------------------------------------------------------
-//
-void CVsFrameBuffer::Release()
- {
- // Nothing to do
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::FrameSize()
-// -----------------------------------------------------------------------------
-//
-TInt CVsFrameBuffer::FrameSize( TInt /*aFrameIndex*/ )
- {
- return KErrNotSupported;
- }
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::ChunkOffsetL()
-// -----------------------------------------------------------------------------
-//
-TInt CVsFrameBuffer::ChunkOffsetL( TInt /*aFrameIndex*/ )
- {
- User::Leave( KErrNotSupported );
- return KErrNotSupported;
- }
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::ChunkL()
-// -----------------------------------------------------------------------------
-//
-RChunk& CVsFrameBuffer::ChunkL()
- {
- User::Leave( KErrNotSupported );
- RChunk* help = NULL;
- return *help;
- }
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::BitmapL()
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap& CVsFrameBuffer::BitmapL(TInt /*aFrameIndex*/ )
- {
- CFbsBitmap* helpbit = new (ELeave) CFbsBitmap;
- CleanupStack::PushL( helpbit );
- User::Leave( KErrNotSupported );
- CleanupStack::Pop( helpbit );
- delete helpbit;
- return *helpbit;
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::NumFrames()
-// -----------------------------------------------------------------------------
-//
-TInt CVsFrameBuffer::NumFrames()
- {
- return KErrNotSupported;
- }
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::CVsFrameBuffer()
-// -----------------------------------------------------------------------------
-//
-CVsFrameBuffer::CVsFrameBuffer()
-: iPtr( 0, 0 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVsFrameBuffer::ConstructL( TInt aSize )
-// -----------------------------------------------------------------------------
-//
-void CVsFrameBuffer::ConstructL( TInt aSize )
- {
- iBuffer = HBufC8::NewL( aSize );
- iPtr.Set( iBuffer->Des() );
- }
-
-// ========================= CVSCameraDataProvider =============================
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::NewL
-// -----------------------------------------------------------------------------
-//
-CVSCameraDataProvider* CVSCameraDataProvider::NewL(
- MVSDataProviderObserver* aObserver,
- TInt aProviderIndex,
- MVSBufferPool* aPool )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::NewL() >>"), RThread().Id().operator TUint()));
- CVSCameraDataProvider* self =
- new (ELeave) CVSOnboardCameraDataProvider( aObserver, aPool );
- CleanupStack::PushL( self );
- self->ConstructL( aProviderIndex );
- CleanupStack::Pop( self );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::~CVSCameraDataProvider
-// -----------------------------------------------------------------------------
-//
-CVSCameraDataProvider::~CVSCameraDataProvider()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::~CVSCameraDataProvider() >>"), RThread().Id().operator TUint()));
- delete iFrozenFrame;
- delete iFrozenVFFrameCopy;
- delete iSource;
- delete iFrozenVFFrameToBeSent;
- delete iTarget;
- delete iScaler;
- delete iCamImgProc;
- if ( &Camera() != NULL )
- {
- Camera().Release();
- }
- delete iCamera;
- iFreezeCS.Close();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::~CVSCameraDataProvider() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::InitializeL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::InitializeL( const TDesC8& /*aInitParams*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::InitializeL() >>"), RThread().Id().operator TUint()));
- Camera().Reserve();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::InitializeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::DigitalZoomFactor
-// -----------------------------------------------------------------------------
-//
-TInt CVSCameraDataProvider::DigitalZoomFactor() const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::DigitalZoomFactor() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::DigitalZoomFactor() <<"), RThread().Id().operator TUint()));
- return Camera().DigitalZoomFactor();
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::SetDigitalZoomFactorL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::SetDigitalZoomFactorL( TInt aDigitalZoomFactor)
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetDigitalZoomFactorL() >>"), RThread().Id().operator TUint()));
- Camera().SetDigitalZoomFactorL( aDigitalZoomFactor );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetDigitalZoomFactorL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::StartViewFinderBitmapsL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::StartViewFinderBitmapsL( TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::StartViewFinderBitmapsL() >>"), RThread().Id().operator TUint()));
- TCameraInfo info;
- Camera().CameraInfo( info );
- if ( !(info.iOptionsSupported & TCameraInfo::EViewFinderBitmapsSupported) )
- {
- User::Leave( KErrNotSupported );
- }
- if( IsFrozen()&& iHasFrozenVFFrameCopyCreated )
- {
- ScaleFrozenBitmapL( aSize );
- }
- Camera().StartViewFinderBitmapsL( aSize );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::StartViewFinderBitmapsL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::StartViewFinderBitmapsL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::StartViewFinderBitmapsL( TSize&, TRect& )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::StartViewFinderBitmapsL() >>"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::StopViewFinder
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::StopViewFinder()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::StopViewFinder() >>"), RThread().Id().operator TUint()));
- Camera().StopViewFinder();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::StopViewFinder() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ViewFinderActive
-// -----------------------------------------------------------------------------
-//
-TBool CVSCameraDataProvider::ViewFinderActive() const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ViewFinderActive() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ViewFinderActive() <<"), RThread().Id().operator TUint()));
- return Camera().ViewFinderActive();
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::StartViewFinderDirectL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::StartViewFinderDirectL( RWsSession&,
- CWsScreenDevice&, RWindowBase&, TRect& )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::StartViewFinderDirectL() >>"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::StartViewFinderDirectL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::StartViewFinderDirectL( RWsSession&,
- CWsScreenDevice&, RWindowBase&, TRect&, TRect& )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::StartViewFinderDirectL() >>"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ProviderInfo
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::ProviderInfo( TVSDataProviderInfo& aInfo )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ProviderInfo() >>"), RThread().Id().operator TUint()));
- Camera().CameraInfo( static_cast< TCameraInfo& >( aInfo ) );
- aInfo.iFreezeSupported = ETrue;
- TRAP_IGNORE( ProviderInfoExL( aInfo ) );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ProviderInfo() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::SetViewFinderMirrorL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::SetViewFinderMirrorL( TBool aMirror )
- {
- Camera().SetViewFinderMirrorL( aMirror );
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ViewFinderMirror
-// -----------------------------------------------------------------------------
-//
-TBool CVSCameraDataProvider::ViewFinderMirror() const
- {
- return Camera().ViewFinderMirror();
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::FreezeL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::FreezeL()
- {
- iFreezeCS.Wait();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::FreezeL() >>"), RThread().Id().operator TUint()));
- if( !IsFrozen() )
- {
- iFrozen = ETrue;
- iFrozenVfFrameReady = EFalse;
- iFreezePendingFlags = EViewFinderFreezePending | EVideoFrameFreezePending;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::FreezeL() <<"), RThread().Id().operator TUint()));
- iFreezeCS.Signal();
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::UnfreezeL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::UnfreezeL()
- {
- iFreezeCS.Wait();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::UnfreezeL() >>"), RThread().Id().operator TUint()));
- if( IsFrozen() )
- {
- iFrozen = EFalse;
- iFreezePendingFlags = 0;
- iHasFrozenVFFrameCopyCreated = EFalse;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::UnfreezeL() <<"), RThread().Id().operator TUint()));
- iFreezeCS.Signal();
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::IsFrozen
-// -----------------------------------------------------------------------------
-//
-TBool CVSCameraDataProvider::IsFrozen() const
- {
- return iFrozen;
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ImageReady
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::ImageReady(
- CFbsBitmap* /*aBitmap*/, HBufC8* /*aData*/, TInt /*aError*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ImageReady() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ImageReady() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::PowerOnComplete
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::PowerOnComplete( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::PowerOnComplete() >>"), RThread().Id().operator TUint()));
- if ( !iPowerOnComplete )
- {
- if ( aError == KErrNone )
- {
- iPowerOnComplete = ETrue;
- iCameraHandle = Camera().Handle();
- // Setup ECAM so that the returned image is ok even if view finder
- // is asked before video
- TCameraInfo info;
- Camera().CameraInfo( info );
- if ( !(info.iOptionsSupported &
- TCameraInfo::EViewFinderBitmapsSupported) )
- {
- NotifyError( KErrNotSupported );
- return; // End debug print is missed
- }
- TInt sizeIndex, rateIndex;
- sizeIndex = rateIndex = 0;
- for (
- sizeIndex = 0;
- sizeIndex < info.iNumVideoFrameSizesSupported;
- sizeIndex++ )
- {
- TSize size;
- Camera().EnumerateVideoFrameSizes(
- size,
- sizeIndex,
- CCamera::EFormatYUV420Planar );
- if ( size == TSize( KQcifWidth, KQcifHeight ) )
- {
- TReal32 rate;
- for (
- rateIndex = 0;
- rateIndex < info.iNumVideoFrameRatesSupported;
- rateIndex++ )
- {
- Camera().EnumerateVideoFrameRates(
- rate,
- rateIndex,
- CCamera::EFormatYUV420Planar,
- sizeIndex );
- if ( KFrameRate == rate )
- {
- TRAPD(
- err,
- Camera().PrepareVideoCaptureL(
- CCamera::EFormatYUV420Planar,
- sizeIndex,
- rateIndex,
- 2,
- 1) );
- if ( err != KErrNone )
- {
- NotifyError( err );
- return; // End debug print is missed
- }
- break;
- }
- }
- break;
- }
- }
- Observer().vsProviderReady();
- }
- else
- {
- NotifyError( aError );
- }
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::PowerOnComplete() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ViewFinderFrameReady
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::ViewFinderFrameReady( CFbsBitmap& aFrame )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ViewFinderFrameReady() >>"), RThread().Id().operator TUint()));
- if( iFreezePendingFlags & EViewFinderFreezePending )
- {
- FreezeViewFinderFrame( aFrame );
- }
- if( IsFrozen() && !( iFreezePendingFlags & EViewFinderFreezePending ) && iFrozenVfFrameReady )
- {
- Observer().vsViewFinderFrameReady( *iFrozenVFFrameToBeSent );
- }
- else if( !IsFrozen() )
- {
- Observer().vsViewFinderFrameReady( aFrame );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ViewFinderFrameReady() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ImageBufferReady
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::ImageBufferReady(MCameraBuffer& /*aCameraBuffer*/,TInt /*aError*/)
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ImageBufferReady() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ImageBufferReady() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ScalingFinished
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::ScalingFinished( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ScalingFinished() >>"), RThread().Id().operator TUint()));
- if( aError == KErrNone )
- {
- iFrozenVfFrameReady = ETrue;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ScalingFinished() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::CVSCameraDataProvider
-// -----------------------------------------------------------------------------
-//
-CVSCameraDataProvider::CVSCameraDataProvider(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool ) :
- CVSDataProvider( aObserver, aPool )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::ConstructL( TInt aProviderIndex )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ConstructL() >>"), RThread().Id().operator TUint()));
- CVSDataProvider::ConstructL();
- // New CCamera API imp
- // Check which API is suported
- TRAPD( error, iCamera =
- CCamera::New2L( *this, aProviderIndex, KCCameraPriority ) );
- // try to create using API
- if ( error )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ConstructL() New2L failed, using NewL instead"), RThread().Id().operator TUint()));
- iCamera = CCamera::NewL( *this, aProviderIndex );
- }
- iFrozenVFFrameCopy = new ( ELeave ) CFbsBitmap();
- iFrozenVFFrameToBeSent = new ( ELeave ) CFbsBitmap();
- iScaler = CVtImageScaler::NewL( *this );
- iFrozenFrame = CVsFrameBuffer::NewL( KFrozenFrameBufferSize );
-
- iHasFrozenVFFrameCopyCreated = EFalse;
-
- // Camera image processing
- TRAP( error, iCamImgProc =
- CCamera::CCameraImageProcessing::NewL( *iCamera ) );
- User::LeaveIfError( iFreezeCS.CreateLocal() );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::FreezeViewFinderFrame
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::FreezeViewFinderFrame( CFbsBitmap& aFrame )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::FreezeViewFinderFrame() >>"), RThread().Id().operator TUint()));
-
- TSize frameSize( aFrame.SizeInPixels() );
-
- TUint scanlineLength( CFbsBitmap::ScanLineLength( frameSize.iWidth, aFrame.DisplayMode() ) );
-
- TInt result = iFrozenVFFrameCopy->Create( frameSize, aFrame.DisplayMode() );
-
- if( result != KErrNone )
- {
- Observer().vsProviderError( result );
- return;
- }
-
- iFrozenVFFrameCopy->LockHeap();
- const TUint8* source = reinterpret_cast< TUint8* >( aFrame.DataAddress() );
- TUint8* dest = reinterpret_cast< TUint8* >( iFrozenVFFrameCopy->DataAddress() );
- for( TInt y = frameSize.iHeight - 1; y >= 0; y-- )
- {
- Mem::Copy( dest, source, scanlineLength );
- dest += scanlineLength;
- source += scanlineLength;
- }
- iFrozenVFFrameCopy->UnlockHeap();
- TRAP( result, ScaleFrozenBitmapL( frameSize ) );
- iFreezePendingFlags &= ~EViewFinderFreezePending;
- iHasFrozenVFFrameCopyCreated = ETrue;
- if( result != KErrNone )
- {
- Observer().vsProviderError( result );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::FreezeViewFinderFrame() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ScaleFrozenBitmapL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::ScaleFrozenBitmapL( TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ScaleFrozenBitmapL() >>"), RThread().Id().operator TUint()));
- iFrozenVfFrameReady = EFalse;
- delete iSource; iSource = 0;
- iSource = CVtImageBitmap::NewL( iFrozenVFFrameCopy->Handle() );
- User::LeaveIfError( iFrozenVFFrameToBeSent->Create( aSize, iFrozenVFFrameCopy->DisplayMode() ) );
- delete iTarget; iTarget = 0;
- iTarget = CVtImageBitmap::NewL( iFrozenVFFrameToBeSent->Handle() );
- iScaler->Cancel();
- iScaler->ScaleL( *iSource, *iTarget );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ScaleFrozenBitmapL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::ProviderInfoExL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::ProviderInfoExL( TVSDataProviderInfo& aInfo )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ProviderInfoExL() >>"), RThread().Id().operator TUint()));
- aInfo.iSupportedColorTones = CCamera::CCameraImageProcessing::EEffectNone;
- // Check if colortone is suported and set colortone values
- if ( iCamImgProc )
- {
- RArray< TUid > uids;
- CleanupClosePushL( uids );
- iCamImgProc->GetSupportedTransformationsL( uids );
- if ( uids.Find( KUidECamEventImageProcessingEffect ) != KErrNotFound )
- {
- TValueInfo type;
- RArray< TInt > values;
- CleanupClosePushL( values );
- iCamImgProc->GetTransformationSupportedValuesL(
- KUidECamEventImageProcessingEffect, values, type );
- if ( ( type == EBitField ) && ( values.Count() > 0 ) )
- {
- aInfo.iSupportedColorTones = values[ 0 ];
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ProviderInfoExL() valueType is NOT bitfield, fix me"), RThread().Id().operator TUint()));
- }
- CleanupStack::PopAndDestroy(); // values.Close()
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ProviderInfoExL() camera image processing not supported"), RThread().Id().operator TUint()));
- }
- CleanupStack::PopAndDestroy(); // uids.Close()
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::ProviderInfoExL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::SetContrastL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::SetContrastL( TInt aContrast )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetContrastL() >>"), RThread().Id().operator TUint()));
- Camera().SetContrastL(aContrast);
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetContrastL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::GetContrast
-// -----------------------------------------------------------------------------
-//
-TInt CVSCameraDataProvider::GetContrast( TInt& aContrast ) const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetContrast() >>"), RThread().Id().operator TUint()));
- TInt result( KErrNotSupported );
- TCameraInfo info;
- Camera().CameraInfo( info );
- if ( info.iOptionsSupported & TCameraInfo::EContrastSupported )
- {
- aContrast = Camera().Contrast();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetContrast() %d"), RThread().Id().operator TUint(), aContrast));
- result = KErrNone;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetContrast() <<"), RThread().Id().operator TUint()));
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::SetBrightnessL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::SetBrightnessL( TInt aBrightness )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetBrightnessL() >>"), RThread().Id().operator TUint()));
- Camera().SetBrightnessL( aBrightness );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetBrightnessL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::GetBrightness
-// -----------------------------------------------------------------------------
-//
-TInt CVSCameraDataProvider::GetBrightness( TInt& aBrightness ) const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetBrightness() >>"), RThread().Id().operator TUint()));
- TInt result( KErrNotSupported );
- TCameraInfo info;
- Camera().CameraInfo( info );
- if ( info.iOptionsSupported & TCameraInfo::EBrightnessSupported )
- {
- aBrightness = Camera().Brightness();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetBrightness() %d"), aBrightness));
- result = KErrNone;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetBrightness() <<"), RThread().Id().operator TUint()));
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::SetWhiteBalanceL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::SetWhiteBalanceL( CCamera::TWhiteBalance
- aWhiteBalance )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetWhiteBalanceL() >>"), RThread().Id().operator TUint()));
- Camera().SetWhiteBalanceL( aWhiteBalance );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetWhiteBalanceL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::GetWhiteBalance
-// -----------------------------------------------------------------------------
-//
-TInt CVSCameraDataProvider::GetWhiteBalance( CCamera::TWhiteBalance&
- aWhiteBalance) const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetWhiteBalance() >>"),RThread().Id().operator TUint() ) );
- aWhiteBalance = Camera().WhiteBalance();
- __IF_DEBUG(Print(_L("WhiteBalance[%d]: CVSCameraDataProvider::GetWhiteBalance() %d"), aWhiteBalance ) );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetWhiteBalance() <<"), RThread().Id().operator TUint() ) );
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::SetColorToneL
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::SetColorToneL(
- CCamera::CCameraImageProcessing::TEffect aValue )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetColorToneL() >>"), RThread().Id().operator TUint()));
- if ( iCamImgProc )
- {
- iCamImgProc->SetTransformationValue( KUidECamEventImageProcessingEffect, aValue );
- }
- else
- {
- //Set colortone that is not suported -> Leave
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetColorToneL() LEAVE"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::SetColorToneL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::GetColorTone
-// -----------------------------------------------------------------------------
-//
-TInt CVSCameraDataProvider::GetColorTone(
- CCamera::CCameraImageProcessing::TEffect& aColorTone ) const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetColorTone() >>"), RThread().Id().operator TUint()));
- TInt result( KErrNotSupported );
- if ( iCamImgProc )
- {
- aColorTone =
- static_cast< CCamera::CCameraImageProcessing::TEffect >(
- iCamImgProc->TransformationValue(
- KUidECamEventImageProcessingEffect ) );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetColorTone() %d"), RThread().Id().operator TUint(), aColorTone));
- result = KErrNone;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::GetColorTone() <<"), RThread().Id().operator TUint()));
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVSCameraDataProvider::CancelInitializing
-// -----------------------------------------------------------------------------
-//
-void CVSCameraDataProvider::CancelInitializing()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::CancelInitializing() >>"), RThread().Id().operator TUint()));
- //There is a blank implemention.
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSCameraDataProvider::CancelInitializing() <<"), RThread().Id().operator TUint()));
- return;
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/CVSController.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "CApiVideoSource.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVSController::CVSController()
-// -----------------------------------------------------------------------------
-//
-CVSController::CVSController()
- {
- }
-
-// End of File
-
--- a/vtprotocolplugins/VideoSource/src/CVSControllerImp.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-
-#include "CVSControllerImp.h"
-#include "VSPanic.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// FORWARD DECLARATIONS
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Panics current thread.
-// -----------------------------------------------------------------------------
-//
-void Panic( TVSPanic aPanicCode )
- {
- User::Panic( KVSPanicCategory(), aPanicCode );
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVSController::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSController* CVSController::NewL( MVSControllerObserver* aObserver )
- {
- __IF_DEBUG(Print(_L("VideoSource: CVSController::NewL() entering")));
- if ( aObserver == NULL )
- {
- User::Leave( KErrArgument );
- }
- CVSController* self = CVSControllerImp::NewL();
- CleanupStack::PushL( self );
- self->ConstructL( aObserver );
- CleanupStack::Pop( self );
- __IF_DEBUG(Print(_L("VideoSource: CVSController::NewL() returning")));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSControllerImp::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVSControllerImp::ConstructL( MVSControllerObserver* aObserver )
- {
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::ConstructL() entering")));
- iObserver = aObserver;
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::ConstructL() returning")));
- }
-
-// -----------------------------------------------------------------------------
-// CVSControllerImp::NewL
-// -----------------------------------------------------------------------------
-//
-CVSControllerImp* CVSControllerImp::NewL()
- {
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::NewL() entering")));
- CVSControllerImp* self = new (ELeave) CVSControllerImp;
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::NewL() returning")));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSControllerImp::~CVSControllerImp
-// -----------------------------------------------------------------------------
-//
-CVSControllerImp::~CVSControllerImp()
- {
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::~CVSControllerImp() entering")));
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::~CVSControllerImp() returning")));
- }
-
-// -----------------------------------------------------------------------------
-// CVSControllerImp::CreateDataSourceL
-// -----------------------------------------------------------------------------
-//
-CVSDataSource* CVSControllerImp::CreateDataSourceL( MVSDataSourceObserver* aObserver )
- {
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::CreateDataSourceL() entering")));
- CVSDataSource* p = CVSDataSource::NewSourceL( aObserver );
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::CreateDataSourceL() returning")));
- return p;
- }
-
-// -----------------------------------------------------------------------------
-// CVSControllerImp::ProvidersAvailable
-// -----------------------------------------------------------------------------
-//
-TInt CVSControllerImp::ProvidersAvailable()
- {
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::ProvidersAvailable() entering")));
- TInt count = CVSDataProvider::ProvidersAvailable();
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::ProvidersAvailable() returning")));
- return count;
- }
-
-// -----------------------------------------------------------------------------
-// CVSControllerImp::ProviderInfoL
-// -----------------------------------------------------------------------------
-//
-void CVSControllerImp::ProviderInfoL(
- TInt aProviderIndex,
- TVSDataProviderInfo& aInfo )
- {
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::ProviderInfo() entering")));
- if (aProviderIndex >= ProvidersAvailable() || aProviderIndex < 0)
- {
- User::Leave( KErrNotSupported );
- }
- CVSDataProvider::ProviderInfoL( aProviderIndex, aInfo );
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::ProviderInfo() returning")));
- }
-
-// -----------------------------------------------------------------------------
-// CVSControllerImp::CreateDataProviderL
-// -----------------------------------------------------------------------------
-//
-CVSDataProvider* CVSControllerImp::CreateDataProviderL(
- TInt aProviderIndex,
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool )
- {
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::CreateDataProviderL() entering")));
- if (aProviderIndex >= ProvidersAvailable() || aProviderIndex < 0)
- {
- User::Leave( KErrArgument );
- }
- if ( aObserver == NULL )
- {
- User::Leave( KErrArgument );
- }
- CVSDataProvider* p =
- CVSDataProvider::NewL( aProviderIndex, aObserver, aPool );
- __IF_DEBUG(Print(_L("VideoSource: CVSControllerImp::CreateDataProviderL() returning")));
- return p;
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/CVSDataProvider.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,543 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-#include <badesca.h>
-#include <e32svr.h>
-#include <featmgr.h>
-#include "CApiVideoSource.h"
-#include "CVSCameraDataProvider.h"
-#include "CVSStillImageDataProvider.h"
-#include "CVSOnboardCameraDataProvider.h"
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-class TSizeCount
- {
- public:
- TInt iCount;
- TSize iSize;
- };
-
-class TRateCount
- {
- public:
- TInt iCount;
- TReal32 iRate;
- };
-
-// LOCAL FUNCTION PROTOTYPES
-
-static TInt TSizeCountTLinearOrderFunc(
- const TSizeCount& aSizeCount1, const TSizeCount& aSizeCount2 );
-static TBool TSizeCountTIdentityRelationFunc(
- const TSizeCount& aSizeCount1, const TSizeCount& aSizeCount2 );
-static TInt TRateCountTLinearOrderFunc(
- const TRateCount& aRateCount1, const TRateCount& aRateCount2 );
-static TBool TRateCountTIdentityRelationFunc(
- const TRateCount& aRateCount1, const TRateCount& aRateCount2 );
-
-// FORWARD DECLARATIONS
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TSizeCountTLinearOrderFunc: Used in RArray<TSizeCount)::InsertInOrder
-// -----------------------------------------------------------------------------
-//
-static TInt TSizeCountTLinearOrderFunc(
- const TSizeCount& aSizeCount1,
- const TSizeCount& aSizeCount2 )
- {
- if ( aSizeCount1.iSize == aSizeCount2.iSize )
- {
- return 0;
- }
- else
- {
- // It is assumed that width and height fit in 16-bit, if they don't,
- // use TInt64
- TInt32 s1 =
- ( aSizeCount1.iSize.iWidth & 0xffff ) << 16 |
- ( aSizeCount1.iSize.iHeight & 0xffff );
- TInt32 s2 =
- ( aSizeCount2.iSize.iWidth & 0xffff ) << 16 |
- ( aSizeCount2.iSize.iHeight & 0xffff );
- return s1 - s2;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TSizeCountTIdentityRelationFunc: Used in RArray<TSizeCount)::Find
-// -----------------------------------------------------------------------------
-//
-static TBool TSizeCountTIdentityRelationFunc(
- const TSizeCount& aSizeCount1,
- const TSizeCount& aSizeCount2 )
- {
- if ( aSizeCount1.iSize == aSizeCount2.iSize )
- {
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TRateCountTLinearOrderFunc: Used in RArray<TRateCount)::InsertInOrder
-// -----------------------------------------------------------------------------
-//
-static TInt TRateCountTLinearOrderFunc(
- const TRateCount& aRateCount1,
- const TRateCount& aRateCount2 )
- {
- if ( aRateCount1.iRate > aRateCount2.iRate )
- {
- return 1;
- }
-
- if ( aRateCount1.iRate < aRateCount2.iRate )
- {
- return -1;
- }
-
- return 0;
- }
-
-// -----------------------------------------------------------------------------
-// TRateCountTIdentityRelationFunc: Used in RArray<TRateCount)::Find
-// -----------------------------------------------------------------------------
-//
-static TBool TRateCountTIdentityRelationFunc(
- const TRateCount& aRateCount1,
- const TRateCount& aRateCount2 )
- {
- if ( aRateCount1.iRate == aRateCount2.iRate )
- {
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::NewL
-// -----------------------------------------------------------------------------
-//
-CVSDataProvider* CVSDataProvider::NewL(
- TInt aProviderIndex,
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::NewL() [aProviderIndex = %d] >>"), RThread().Id().operator TUint(), aProviderIndex));
-
- CVSDataProvider* self = NULL;
-
- // Is it ecam
- TInt count = CamerasAvailable();
-
- // < 0 == error
- if( count < 0 )
- {
- User::Leave( count );
- }
-
- if ( aProviderIndex < count )
- {
- self = CVSCameraDataProvider::NewL( aObserver, aProviderIndex, aPool );
- }
- else
- {
- // Is it still image
- count += 1;
-
- if ( aProviderIndex == ( count - 1) )
- {
- self = CVSStillImageDataProvider::NewL( aObserver, aPool );
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::~CVSDataProvider
-// -----------------------------------------------------------------------------
-//
-CVSDataProvider::~CVSDataProvider()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::~CVSDataProvider() >>"), RThread().Id().operator TUint()));
- delete iErrorNotifier;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::~CVSDataProvider() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::ProvidersAvailable
-// -----------------------------------------------------------------------------
-//
-TInt CVSDataProvider::ProvidersAvailable()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::ProvidersAvailable() >>"), RThread().Id().operator TUint()));
-
- // Count ecams
- TInt numProviders = CamerasAvailable();
-
- // < 0 == error
- if ( numProviders < 0 )
- {
- numProviders = 1; // only still image provider
- }
- else
- {
- numProviders += 1; // add still
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::ProvidersAvailable() [numProviders = %d] <<"), RThread().Id().operator TUint(), numProviders));
-
- return numProviders;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::ProviderInfoL
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::ProviderInfoL(
- TInt aProviderIndex,
- TVSDataProviderInfo& aInfo )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::ProviderInfoL() >>"), RThread().Id().operator TUint()));
- CVSDataProvider* provider = NewL( aProviderIndex, NULL, NULL);
- provider->ProviderInfo( aInfo );
- delete provider;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::ProviderInfoL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::SetFillBufferParams
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::SetFillBufferParams(
- MVTVideoSink* aConsumer,
- TMediaId aMediaId )
- {
- iConsumer = aConsumer;
- iMediaId = aMediaId;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::NotifyError
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::NotifyError( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::NotifyError() >>"), RThread().Id().operator TUint()));
- iErrorNotifier->NotifyError( &Observer(), aError );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::NotifyError() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::CVSDataProvider
-// -----------------------------------------------------------------------------
-//
-CVSDataProvider::CVSDataProvider(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool ) :
- iObserver( aObserver ),
- iPool ( aPool )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::CVSDataProvider() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::CVSDataProvider() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::ConstructL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::ConstructL() >>"), RThread().Id().operator TUint()));
- iErrorNotifier = CProviderErrorNotifierAO::NewL();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::ConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::TimeToPlay
-// -----------------------------------------------------------------------------
-//
-const TTimeIntervalMicroSeconds& CVSDataProvider::TimeToPlay()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::TimeToPlay() >>"), RThread().Id().operator TUint()));
-
- TTime now;
- now.HomeTime();
-
- TTimeIntervalMicroSeconds timeToPlay( now.MicroSecondsFrom( iStartTime ) );
-
- if( timeToPlay <= iPreviousTimeToPlay )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::TimeToPlay(): *WARNING* Time warp backwards! Correcting.."), RThread().Id().operator TUint()));
- iPreviousTimeToPlay =
- TTimeIntervalMicroSeconds( iPreviousTimeToPlay.Int64() + 1 );
- }
- else
- {
- iPreviousTimeToPlay = timeToPlay;
- }
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::TimeToPlay() <<"), RThread().Id().operator TUint()));
- return iPreviousTimeToPlay;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::ResetStartTime
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::ResetStartTime()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::ResetStartTime() >>"), RThread().Id().operator TUint()));
- iStartTime.HomeTime();
- iPreviousTimeToPlay = iStartTime.MicroSecondsFrom( iStartTime );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::ResetStartTime() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::CamerasAvailable()
-// -----------------------------------------------------------------------------
-//
-TInt CVSDataProvider::CamerasAvailable()
- {
- TRAPD( result, FeatureManager::InitializeLibL() );
-
- if( result != KErrNone )
- {
- return result;
- }
-
- TInt count( 0 );
-
- if( FeatureManager::FeatureSupported( KFeatureIdCamera ) )
- {
- count = CCamera::CamerasAvailable();
- }
-
- FeatureManager::UnInitializeLib();
-
- return count;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::SwitchFrom
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::SwitchFrom( const CVSDataProvider& anOldProvider )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::SwitchFrom() >>"), RThread().Id().operator TUint()));
- iStartTime = anOldProvider.iStartTime;
- iPreviousTimeToPlay = anOldProvider.iPreviousTimeToPlay;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::SwitchFrom() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::EnumerateVideoFrameFormatsL
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::EnumerateVideoFrameFormatsL(
- CDesC8Array* aSupportedFormats )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::EnumerateVideoFrameFormats() >>"), RThread().Id().operator TUint()));
- TInt providerCount = ProvidersAvailable();
- TInt countOfProvidersThatSupportYUV420Planar = 0;
- for ( TInt i = 0; i < providerCount; i++ )
- {
- TVSDataProviderInfo info;
- ProviderInfoL( i, info );
- if ( info.iVideoFrameFormatsSupported & CCamera::EFormatYUV420Planar )
- {
- countOfProvidersThatSupportYUV420Planar++;
- }
- }
- if( providerCount > 0 &&
- providerCount <= countOfProvidersThatSupportYUV420Planar )
- {
- aSupportedFormats->AppendL( KVtVideoMIMETypeYUV420 );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::EnumerateVideoFrameFormats() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::EnumerateVideoFrameSizesL
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::EnumerateVideoFrameSizesL(
- RArray<TSize>& aSupportedSizes,
- const TDesC8& aFormat )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::EnumerateVideoFrameSizes() >>"), RThread().Id().operator TUint()));
- RArray<TSizeCount> sizeCountArray;
- CleanupClosePushL( sizeCountArray );
- TInt providerCount = ProvidersAvailable();
- for ( TInt i = 0; i < providerCount; i++ )
- {
- CVSDataProvider* p = CVSDataProvider::NewL( i, NULL, NULL );
- CleanupStack::PushL( p );
- TVSDataProviderInfo info;
- ProviderInfoL( i, info );
- for ( TInt j = 0; j < info.iNumVideoFrameSizesSupported; j++ )
- {
- TSize size;
- p->GetVideoFrameSize( size, j, aFormat );
- if ( size != TSize(0,0) )
- {
- TSizeCount sizeCount;
- sizeCount.iCount = 1;
- sizeCount.iSize = size;
- TInt err = sizeCountArray.InsertInOrder(
- sizeCount,
- TLinearOrder<TSizeCount>( TSizeCountTLinearOrderFunc ) );
- if ( err == KErrAlreadyExists )
- {
- TInt idx = sizeCountArray.Find(
- sizeCount,
- TIdentityRelation<TSizeCount>(
- TSizeCountTIdentityRelationFunc ) );
- if ( idx == KErrNotFound )
- {
- User::Leave( KErrUnknown );
- }
- else
- {
- // Increment count of providers that supports the size
- sizeCountArray[idx].iCount++;
- }
- }
- else
- {
- User::LeaveIfError( err );
- }
- }
- }
- CleanupStack::PopAndDestroy(); // p
- }
- aSupportedSizes.Reset();
- for ( TInt k = 0; k < sizeCountArray.Count(); k++ )
- {
- // Do all providers support the size
- if ( providerCount > 0 && providerCount <= sizeCountArray[k].iCount )
- {
- User::LeaveIfError(
- aSupportedSizes.Append( sizeCountArray[k].iSize ) );
- }
- }
- CleanupStack::PopAndDestroy( ); // sizeCountArray
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::EnumerateVideoFrameSizes() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataProvider::EnumerateVideoFrameRatesL
-// -----------------------------------------------------------------------------
-//
-void CVSDataProvider::EnumerateVideoFrameRatesL(
- RArray<TReal32>& aSupportedRates,
- const TDesC8& aFormat,
- const TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::EnumerateVideoFrameRates() >>"), RThread().Id().operator TUint()));
- RArray<TRateCount> rateCountArray;
- CleanupClosePushL( rateCountArray );
- TInt providerCount = ProvidersAvailable();
- __IF_DEBUG(Print(_L(" LOOKING FOR COMMON SUPPORTED RATES, PROVIDER COUNT: %d"), providerCount));
- for ( TInt i = 0; i < providerCount; i++ )
- {
- __IF_DEBUG(Print(_L(" PROVIDER %d"), i));
- CVSDataProvider* p = CVSDataProvider::NewL( i, NULL, NULL );
- CleanupStack::PushL( p );
- TVSDataProviderInfo info;
- ProviderInfoL( i, info );
- __IF_DEBUG(Print(_L(" info.iNumVideoFrameRatesSupported: %d"), info.iNumVideoFrameRatesSupported));
- for ( TInt j = 0; j < info.iNumVideoFrameRatesSupported; j++ )
- {
- TReal32 rate = 0.0;
- p->GetVideoFrameRate( rate, j, aFormat, aSize );
- __IF_DEBUG(Print(_L(" RATE FOR RATE INDEX %d IS %f"), j, rate));
- if ( rate != 0.0 )
- {
- TRateCount rateCount;
- rateCount.iCount = 1;
- rateCount.iRate = rate;
- TInt err = rateCountArray.InsertInOrder(
- rateCount,
- TLinearOrder<TRateCount>( TRateCountTLinearOrderFunc ) );
- if ( err == KErrAlreadyExists )
- {
- TInt idx = rateCountArray.Find(
- rateCount,
- TIdentityRelation<TRateCount>(
- TRateCountTIdentityRelationFunc ) );
- if ( idx == KErrNotFound )
- {
- User::Leave( KErrUnknown );
- }
- else
- {
- // Increment count of providers that supports the rate
- rateCountArray[idx].iCount++;
- }
- }
- else
- {
- User::LeaveIfError( err );
- }
- }
- }
- CleanupStack::PopAndDestroy(); // p
- }
- aSupportedRates.Reset();
- for ( TInt k = 0; k < rateCountArray.Count(); k++ )
- {
- // Do all providers support the rate
- if ( providerCount > 0 && providerCount <= rateCountArray[k].iCount )
- {
- User::LeaveIfError(
- aSupportedRates.Append( rateCountArray[k].iRate ) );
- }
- }
- CleanupStack::PopAndDestroy( ); // rateCountArray
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataProvider::EnumerateVideoFrameRates() <<"), RThread().Id().operator TUint()));
- }
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/CVSDataSourceImp.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1315 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <fbs.h>
-#include <e32svr.h>
-#include <badesca.h>
-#include <mmfdatasourcesink.hrh>
-
-#include "CVSMMFDataBuffer.h"
-#include "CVSDataSourceImp.h"
-#include "VSPanic.h"
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-static const TInt KQcifWidth = 176;
-static const TInt KQcifHeight = 144;
-
- // 4:2:0 planar and 32 bytes extra
- static const TInt KSourceBufferSize =
- ( KQcifWidth * KQcifHeight ) + ( ( KQcifWidth * KQcifHeight ) / 2 ) + 12;
-
-// Granularity for video frame format array
-static const TInt KNoOfSupportedFormats = 4;
-
-// How many sequential FillBufferL calls is supported
-static const TInt KNoOfSupportedBuffers = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ============================ CVSProviderSwitchAO ============================
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::NewL
-// -----------------------------------------------------------------------------
-//
-CVSProviderSwitchAO* CVSProviderSwitchAO::NewL(
- CVSDataSourceImp* aDataSourceImp )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::NewL() >>"), RThread().Id().operator TUint()));
- CVSProviderSwitchAO* self =
- new ( ELeave ) CVSProviderSwitchAO( aDataSourceImp );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVSProviderSwitchAO::ConstructL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::ConstructL() >>"), RThread().Id().operator TUint()));
- User::LeaveIfError( iSwitchCs.CreateLocal() );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::ConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::CVSProviderSwitchAO
-// -----------------------------------------------------------------------------
-//
-CVSProviderSwitchAO::CVSProviderSwitchAO( CVSDataSourceImp* aDataSourceImp )
-: CActive( EPriorityStandard ), iDataSourceImp( aDataSourceImp )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::CVSProviderSwitchAO() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::CVSProviderSwitchAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::~CVSProviderSwitchAO
-// -----------------------------------------------------------------------------
-//
-CVSProviderSwitchAO::~CVSProviderSwitchAO()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::~CVSProviderSwitchAO() >>"), RThread().Id().operator TUint()));
- iSwitchCs.Close();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::~CVSProviderSwitchAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::ThreadLogon
-// -----------------------------------------------------------------------------
-//
-TInt CVSProviderSwitchAO::ThreadLogon( MAsyncEventHandler& aEventHandler )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::ThreadLogon() >>"), RThread().Id().operator TUint()));
- iEventHandler = &aEventHandler;
- RThread me;
- iThreadId = me.Id();
- CActiveScheduler::Add( this );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::ThreadLogon() <<"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::ThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CVSProviderSwitchAO::ThreadLogoff()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::ThreadLogoff() >>"), RThread().Id().operator TUint()));
- if( RThread().Id().operator TUint() == iThreadId )
- {
- Deque();
- iThreadId = 0;
- iNewProvider = NULL;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::ThreadLogoff() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::InitiateProviderSwitch
-// -----------------------------------------------------------------------------
-//
-void CVSProviderSwitchAO::InitiateProviderSwitch(
- CVSDataProvider* aNewProvider )
- {
- iSwitchCs.Wait();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::InitiateProviderSwitch() >>"), RThread().Id().operator TUint()));
- iNewProvider = aNewProvider;
- iStatus = KRequestPending;
- SetActive();
- Signal( KErrNone );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::InitiateProviderSwitch() <<"), RThread().Id().operator TUint()));
- iSwitchCs.Signal();
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::RunL
-// -----------------------------------------------------------------------------
-//
-void CVSProviderSwitchAO::RunL()
- {
- iSwitchCs.Wait();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::RunL() >>"), RThread().Id().operator TUint()));
- if( iStatus.Int() == KErrNone )
- {
- if ( iDataSourceImp->SwitchPending() )
- {
- Panic( EVSPanicSwitchAlreadyPending );
- }
- TRAPD(
- leaveCode,
- iDataSourceImp->DoProviderSwitchL( iNewProvider, *iEventHandler ) );
- if ( leaveCode != KErrNone )
- {
- iDataSourceImp->ProviderSwitchError( leaveCode );
- }
- }
- else
- {
- iNewProvider = NULL;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::RunL() <<"), RThread().Id().operator TUint()));
- iSwitchCs.Signal();
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVSProviderSwitchAO::DoCancel()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::DoCancel() >>"), RThread().Id().operator TUint()));
- // Nothing to do here. This AO is always signalled when it's activated.
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::DoCancel() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSProviderSwitchAO::Signal
-// -----------------------------------------------------------------------------
-//
-void CVSProviderSwitchAO::Signal( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::Signal() >>"), RThread().Id().operator TUint()));
- if( IsActive() )
- {
- TRequestStatus* pStatus = &iStatus;
- RThread me;
- if( me.Id() == iThreadId )
- {
- User::RequestComplete( pStatus, aError );
- }
- else
- {
- if( me.Open( iThreadId ) == KErrNone )
- {
- *pStatus = KRequestPending;
- me.RequestComplete( pStatus, aError );
- me.Close();
- }
- else
- {
- Panic( EVSPanicThreadOpenFailure );
- }
- }
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSProviderSwitchAO::Signal() <<"), RThread().Id().operator TUint()));
- }
-
-// ============================ CVSDataSourceObserverAO ========================
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceObserverAO::CVSDataSourceObserverAO
-// -----------------------------------------------------------------------------
-//
-CVSDataSourceObserverAO::CVSDataSourceObserverAO()
-: CActive( EPriorityStandard )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::CVSDataSourceObserverAO() >>"), RThread().Id().operator TUint()));
- RThread me;
- iThreadId = me.Id();
- CActiveScheduler::Add( this );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::CVSDataSourceObserverAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceObserverAO::~CVSDataSourceObserverA
-// -----------------------------------------------------------------------------
-//
-CVSDataSourceObserverAO::~CVSDataSourceObserverAO()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::~CVSDataSourceObserverAO() >>"), RThread().Id().operator TUint()));
- Cancel();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::~CVSDataSourceObserverAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceObserverAO::vsProviderSwitchDone
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceObserverAO::vsProviderSwitchDone(
- MVSDataSourceObserver& aObserver,
- CVSDataProvider* aOldProvider )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::vsProviderSwitchDone() >>"), RThread().Id().operator TUint()));
- iObserver = &aObserver;
- iOldProvider = aOldProvider;
- iStatus = KRequestPending;
- SetActive();
- Signal( KErrNone );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::vsProviderSwitchDone() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceObserverAO::RunL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceObserverAO::RunL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::RunL() >>"), RThread().Id().operator TUint()));
- if( iStatus.Int() == KErrNone )
- {
- iObserver->vsProviderSwitchDone( iOldProvider );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::RunL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceObserverAO::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceObserverAO::DoCancel()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::DoCancel() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::DoCancel() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceObserverAO::Signal
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceObserverAO::Signal( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::Signal() >>"), RThread().Id().operator TUint()));
- TRequestStatus* pStatus = &iStatus;
- RThread me;
- if( me.Id() == iThreadId )
- {
- User::RequestComplete( pStatus, aError );
- }
- else
- {
- if( me.Open( iThreadId ) == KErrNone )
- {
- *pStatus = KRequestPending;
- me.RequestComplete( pStatus, aError );
- me.Close();
- }
- else
- {
- Panic( EVSPanicThreadOpenFailure );
- }
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceObserverAO::Signal() <<"), RThread().Id().operator TUint()));
- }
-
-
-
-// =============================== CVSDataSource ===============================
-
-// -----------------------------------------------------------------------------
-// CVSDataSource::NewSourceL
-// -----------------------------------------------------------------------------
-//
-CVSDataSource* CVSDataSource::NewSourceL( MVSDataSourceObserver* aObserver )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSource::NewSourceL() >>"), RThread().Id().operator TUint()));
- if ( aObserver == NULL )
- {
- User::Leave( KErrArgument );
- }
- CVSDataSource* self = CVSDataSourceImp::NewSourceL();
- CleanupStack::PushL( self );
- self->ConstructL( aObserver );
- CleanupStack::Pop( self );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSource::NewSourceL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSource::CVSDataSource
-// -----------------------------------------------------------------------------
-//
-CVSDataSource::CVSDataSource() : MVTVideoSource( KNullUid )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSource::CVSDataSource() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSource::CVSDataSource() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSource::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSource::ConstructL( MVSDataSourceObserver* aObserver )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSource::ConstructL() >>"), RThread().Id().operator TUint()));
- iObserver = aObserver;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSource::ConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::NewSourceL
-// -----------------------------------------------------------------------------
-//
-CVSDataSourceImp* CVSDataSourceImp::NewSourceL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::NewSourceL() >>"), RThread().Id().operator TUint()));
- CVSDataSourceImp* self = new (ELeave) CVSDataSourceImp;
- CleanupStack::PushL( self );
- self->ConstructSourceL( KNullDesC8 );
- CleanupStack::Pop( self );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::NewSourceL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SwitchDataProviderL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::SwitchDataProviderL(
- CVSDataProvider* aNewProvider )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SwitchDataProviderL() >>"), RThread().Id().operator TUint()));
- if ( aNewProvider == NULL )
- {
- __IF_DEBUG(Print(_L("SwitchDataProviderL(): NULL argument, leaving.")));
- User::Leave( KErrArgument );
- }
- // Is new provider same as old, then no need to change provider
- if ( aNewProvider == &DataProvider() )
- {
- __IF_DEBUG(Print(_L("SwitchDataProviderL(): New provider same as old: 0x%x"), aNewProvider));
- Observer().vsProviderSwitchDone( aNewProvider );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SwitchDataProvider() <<"), RThread().Id().operator TUint()));
- return;
- }
- // If Protocol is in the currently initializing itself then complete this switch
- // request when Protocol ready (from SourcePlayL). No need to protect
- // iProtoInitOngoing test with CS.
- if ( iProtoInitOngoing )
- {
- __IF_DEBUG(Print(_L("PROTOCOL INIT ONGOING, PENDING SWITCH FOR A WHILE")));
- iProtoInitCS.Wait();
- iProviderSwitchRequestDuringProtoInit = ETrue;
- iNewProvider = aNewProvider;
- iProtoInitCS.Signal();
- return;
- }
- // Switch provider
- if ( iThreadLogonCalled )
- {
- iProviderSwitchAO->InitiateProviderSwitch( aNewProvider );
- }
- else
- {
- CVSDataProvider* oldProvider = SwitchProvider( aNewProvider );
- Observer().vsProviderSwitchDone( oldProvider );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SwitchDataProviderL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::PauseSending
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::PauseSending()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::PauseSending() >>"), RThread().Id().operator TUint()));
- iPauseCs.Wait();
- iSendingPaused = ETrue;
- iPauseCs.Signal();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::PauseSending() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::ResumeSending
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::ResumeSending()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::ResumeSending() >>"), RThread().Id().operator TUint()));
- iPauseCs.Wait();
- iSendingPaused = EFalse;
- iPauseCs.Signal();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::ResumeSending() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::~CVSDataSourceImp
-// -----------------------------------------------------------------------------
-//
-CVSDataSourceImp::~CVSDataSourceImp()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::~CVSDataSourceImp() >>"), RThread().Id().operator TUint()));
- delete iDataSourceObserverAO;
- delete iProviderSwitchAO;
- iProtoMimeTypes.Close();
- delete iSupportedVideoFormats;
- iSupportedVideoSizes.Close();
- iSupportedFrameRates.Close();
- // Assuming no need to use critical section here
- iFreeQueue.Close();
- iActiveQueue.Close();
- iAllocatedBuffers.ResetAndDestroy();
- iQueueCs.Close();
- iPauseCs.Close();
- iProtoInitCS.Close();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::~CVSDataSourceImp() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::FillBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::FillBufferL(
- CMMFBuffer* aBuffer,
- MVTVideoSink* aConsumer,
- TMediaId aMediaId )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FillBufferL() >>"), RThread().Id().operator TUint()));
-
- if ( aBuffer == NULL || aConsumer == NULL )
- {
- User::Leave( KErrArgument );
- }
-
- if ( aBuffer->Type() != KUidMmfDataBuffer )
- {
- User::Leave( KErrArgument );
- }
-
- DataProvider().SetFillBufferParams( aConsumer, aMediaId );
-
- iPauseCs.Wait();
- const TBool sendingPaused( iSendingPaused );
- iPauseCs.Signal();
-
- if( iSwitchOngoing )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FillBufferL(): Switch ongoing"), RThread().Id().operator TUint()));
- // queues are locked by us -> it's safe to modify queues without
- // locking
- User::LeaveIfError(
- FreeBufferNoWait( static_cast<CVSMMFDataBuffer*>( aBuffer ) ) );
- }
- else if( iSwitchPending )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FillBufferL(): Switch pending"), RThread().Id().operator TUint()));
- FreeBufferL( static_cast<CVSMMFDataBuffer*>( aBuffer ) );
- TRAPD(
- err,
- DoProviderSwitchL(
- iProviderSwitchAO->NewDataProvider(),
- iProviderSwitchAO->EventHandler() ) );
- if( err != KErrNone )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FillBufferL(): Error in switch = %d"), RThread().Id().operator TUint(), err));
- // Not leaving from here (it was provider switch related error),
- // let VT take care of the rest
- ProviderSwitchError( err );
- }
- }
- else if( sendingPaused )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FillBufferL(): Sending Paused"), RThread().Id().operator TUint()));
- // queues are locked by us -> it's safe to modify queues without
- // locking
- User::LeaveIfError(
- FreeBufferNoWait( static_cast<CVSMMFDataBuffer*>( aBuffer ) ) );
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FillBufferL(): No switch -> normal FillBufferL()"), RThread().Id().operator TUint()));
- FreeBufferL( static_cast<CVSMMFDataBuffer*>( aBuffer ) );
- DataProvider().FillBufferL( aBuffer, aConsumer, aMediaId );
- }
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FillBufferL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::BufferEmptiedL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::BufferEmptiedL( CMMFBuffer* /*aBuffer*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::BufferEmptiedL() >>"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::BufferEmptiedL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::CanCreateSourceBuffer
-// -----------------------------------------------------------------------------
-//
-TBool CVSDataSourceImp::CanCreateSourceBuffer()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CanCreateSourceBuffer() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CanCreateSourceBuffer) <<"), RThread().Id().operator TUint()));
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::CreateSourceBufferL
-// -----------------------------------------------------------------------------
-//
-CMMFBuffer* CVSDataSourceImp::CreateSourceBufferL(
- TMediaId /*aMediaId*/,
- TBool &aReference )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CreateSourceBufferL() >>"), RThread().Id().operator TUint()));
- if ( iRequestedBufferCount >= KNoOfSupportedBuffers )
- {
- User::Leave( KErrOverflow );
- }
- aReference = ETrue;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CreateSourceBufferL(): Returning buffer: %d [0x%08x]"), RThread().Id().operator TUint(), iRequestedBufferCount + 1, iAllocatedBuffers[ iRequestedBufferCount ]));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CreateSourceBufferL() <<"), RThread().Id().operator TUint()));
- return iAllocatedBuffers[ iRequestedBufferCount++ ];
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::CreateSourceBufferL
-// -----------------------------------------------------------------------------
-//
-CMMFBuffer* CVSDataSourceImp::CreateSourceBufferL(
- TMediaId /*aMediaId*/,
- CMMFBuffer& /*aSinkBuffer*/,
- TBool &aReference )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CreateSourceBufferL() >>"), RThread().Id().operator TUint()));
- if ( iRequestedBufferCount >= KNoOfSupportedBuffers )
- {
- User::Leave( KErrOverflow );
- }
- aReference = ETrue;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CreateSourceBufferL(): Returning buffer: %d [0x%08x]"), RThread().Id().operator TUint(), iRequestedBufferCount + 1, iAllocatedBuffers[ iRequestedBufferCount ]));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CreateSourceBufferL() <<"), RThread().Id().operator TUint()));
- return iAllocatedBuffers[ iRequestedBufferCount++ ];
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SourceThreadLogon
-// -----------------------------------------------------------------------------
-//
-TInt CVSDataSourceImp::SourceThreadLogon( MAsyncEventHandler& aEventHandler )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourceThreadLogon() >>"), RThread().Id().operator TUint()));
- __ASSERT_DEBUG( (&DataProvider()) != NULL,
- Panic( EVSPanicProviderNotSet ) );
- TInt err( KErrNone );
- if( !iFbsStarted )
- {
- // Caller does not start the FBS server when compiled on proxy mode
- // so we have to take care of that by ourself.
- err = FbsStartup();
- if( err == KErrNone )
- {
- err = RFbsSession::Connect();
- if( err == KErrNone )
- {
- iFbsStarted = ETrue;
- }
- }
- }
- if( !iThreadLogonCalled && ( err == KErrNone ) )
- {
- err = DataProvider().SourceThreadLogon( aEventHandler );
- if (err != KErrNone)
- {
- return err;
- }
- iProviderSwitchAO->ThreadLogon( aEventHandler );
- iThreadLogonCalled = ETrue;
- iProtoInitOngoing = ETrue;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourceThreadLogon() <<"), RThread().Id().operator TUint()));
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SourceThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::SourceThreadLogoff()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourceThreadLogoff() >>"), RThread().Id().operator TUint()));
-
- iThreadLogonCalled = EFalse;
-
- if ( iProviderSwitchRequestDuringProtoInit )
- {
- __IF_DEBUG(Print(_L("PROTOCOL INIT FAILED, NOW COMPLETING THE SWITCH REQUEST WITH ERROR")));
- iProviderSwitchRequestDuringProtoInit = EFalse;
- ProviderSwitchError( KErrAbort );
- }
-
- if( &DataProvider() )
- {
- DataProvider().SourceThreadLogoff();
- }
-
- iSwitchOngoing = iSwitchPending = EFalse;
-
- iProtoInitOngoing = EFalse;
-
- // If provider switch ongoing complete it
- if ( iProviderSwitchAO->NewDataProvider() != NULL )
- {
- CVSDataProvider* oldProvider =
- SwitchProvider( iProviderSwitchAO->NewDataProvider() );
- Observer().vsProviderSwitchDone( oldProvider );
- }
-
- iProviderSwitchAO->ThreadLogoff();
-
- delete iFormat; iFormat = 0;
-
- iCallFlags = 0;
-
- // Clear iFreeQueue
- while( iFreeQueue.Count() )
- {
- iFreeQueue.Remove( 0 );
- }
-
- // Clear iActiveQueue
- while( iActiveQueue.Count() )
- {
- iActiveQueue.Remove( 0 );
- }
-
- // Set frame buffer to NULL for all buffers
- for( TInt i = 0; i < iRequestedBufferCount; i++ )
- {
- TInt err = KErrNone;
- // Does not leave when framebuffer is set to NULL
- // Both type of buffers needs to be nulled
- TRAP( err, iAllocatedBuffers[i]->SetFrameBufferL( ( MCameraBuffer* )NULL ));
- TRAP( err, iAllocatedBuffers[i]->SetFrameBufferL( ( MFrameBuffer* )NULL )); }
-
- // All pre-created buffers are free again
- iRequestedBufferCount = 0;
-
- if( iFbsStarted )
- {
- RFbsSession::Disconnect();
- iFbsStarted = EFalse;
- }
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourceThreadLogoff() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SourcePrimeL
-// -----------------------------------------------------------------------------
-//
-TInt CVSDataSourceImp::SourcePrimeL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePrimeL() >>"), RThread().Id().operator TUint()));
- TRAPD( result, DataProvider().SourcePrimeL() );
- if( ( result == KErrNone ) || ( result == KRequestPending ) )
- {
- iDSState = CVSDataSourceImp::EPrimed;
- }
- else
- {
- User::Leave( result );
- }
- iProtoInitOngoing = EFalse;
- // If provider switch was requested when Proto was initializing itself then
- // fill switch request now
- iProtoInitCS.Wait();
- if ( iProviderSwitchRequestDuringProtoInit )
- {
- __IF_DEBUG(Print(_L("PROTOCOL INIT READY, NOW COMPLETING THE SWITCH REQUEST")));
- iProviderSwitchRequestDuringProtoInit = EFalse;
- iProviderSwitchAO->InitiateProviderSwitch( iNewProvider );
- iNewProvider = NULL;
- }
- iProtoInitCS.Signal();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePrimeL() <<"), RThread().Id().operator TUint()));
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SourcePlayL
-// -----------------------------------------------------------------------------
-//
-TInt CVSDataSourceImp::SourcePlayL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePlayL() >>"), RThread().Id().operator TUint()));
- if( !iSwitchOngoing )
- {
- DataProvider().SourcePlayL();
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePlayL(): Switch ongoing -> updating state only, play will be called after switch"), RThread().Id().operator TUint()));
- }
- iDSState = CVSDataSourceImp::EPlaying;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePlayL() <<"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SourcePauseL
-// -----------------------------------------------------------------------------
-//
-TInt CVSDataSourceImp::SourcePauseL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePauseL() >>"), RThread().Id().operator TUint()));
- if( !iSwitchOngoing )
- {
- DataProvider().SourcePauseL();
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePlayL(): Switch ongoing -> updating state only"), RThread().Id().operator TUint()));
- }
- iDSState = CVSDataSourceImp::EPrimed;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePauseL() <<"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SourceStopL
-// -----------------------------------------------------------------------------
-//
-TInt CVSDataSourceImp::SourceStopL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourceStopL() >>"), RThread().Id().operator TUint()));
- if( !iSwitchOngoing )
- {
- DataProvider().SourceStopL();
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourcePlayL(): Switch ongoing -> updating state only"), RThread().Id().operator TUint()));
- }
- iDSState = CVSDataSourceImp::EStopped;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SourceStopL() <<"), RThread().Id().operator TUint()));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::ConstructSourceL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::ConstructSourceL( const TDesC8& /*aInitData*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::ConstructSourceL() >>"), RThread().Id().operator TUint()));
- iYuv420PlanarDesc.Zero();
- iYuv420PlanarDesc.Append( KVtVideoMIMETypeYUV420 );
- User::LeaveIfError( iProtoMimeTypes.Append( &iYuv420PlanarDesc ) );
- iProviderSwitchAO = CVSProviderSwitchAO::NewL( this );
- iDataSourceObserverAO = new (ELeave) CVSDataSourceObserverAO();
- iSupportedVideoFormats =
- new (ELeave) CDesC8ArrayFlat( KNoOfSupportedFormats );
- // Get formats supported by all providers
- CVSDataProvider::EnumerateVideoFrameFormatsL( iSupportedVideoFormats );
- // Get video frame sizes for specified format supported by all providers
- TInt i, j;
- i = j = 0;
- for ( i = 0; i < iSupportedVideoFormats->Count(); i++ )
- {
- TPtrC8 format = iSupportedVideoFormats->MdcaPoint( i );
- RArray<TSize> sizeArray;
- CleanupClosePushL( sizeArray );
- CVSDataProvider::EnumerateVideoFrameSizesL( sizeArray, format );
- for ( j = 0; j < sizeArray.Count(); j++ )
- {
- TVSFrameSize sizePerFormat;
- sizePerFormat.iFormat.Set( format );
- sizePerFormat.iSize = sizeArray[j];
- User::LeaveIfError( iSupportedVideoSizes.Append( sizePerFormat ) );
- }
- CleanupStack::PopAndDestroy(); // sizeArray
- }
- // Get video frame rates for specified frame format and size supported
- // by all providers
- for ( i = 0; i < iSupportedVideoSizes.Count(); i++ )
- {
- RArray<TReal32> rateArray;
- CleanupClosePushL( rateArray );
- CVSDataProvider::EnumerateVideoFrameRatesL(
- rateArray,
- iSupportedVideoSizes[i].iFormat,
- iSupportedVideoSizes[i].iSize );
- for ( j = 0; j < rateArray.Count(); j++ )
- {
- TVSFrameRate framePerSizeAndFormat;
- framePerSizeAndFormat.iFormat.Set(
- iSupportedVideoSizes[i].iFormat );
- framePerSizeAndFormat.iSize = iSupportedVideoSizes[i].iSize;
- framePerSizeAndFormat.iRate = rateArray[j];
- User::LeaveIfError( iSupportedFrameRates.Append(
- framePerSizeAndFormat ) );
- }
- CleanupStack::PopAndDestroy(); // rateArray
- }
- // Create queue criticalsection
- User::LeaveIfError( iQueueCs.CreateLocal() );
- // Create VTEng-Protocol guard
- User::LeaveIfError( iPauseCs.CreateLocal() );
- // Pre-create buffers
- for( i = 0; i < KNoOfSupportedBuffers; i++ )
- {
- User::LeaveIfError( iFreeQueue.Append( 0 ) );
- User::LeaveIfError( iActiveQueue.Append( 0 ) );
- CVSMMFDataBuffer* buffer = CVSMMFDataBuffer::NewL( KSourceBufferSize );
- CleanupStack::PushL( buffer );
- User::LeaveIfError( iAllocatedBuffers.Append( buffer ) );
- CleanupStack::Pop(); // buffer
- }
- for( i = 0; i < KNoOfSupportedBuffers; i++ )
- {
- iFreeQueue.Remove( 0 );
- iActiveQueue.Remove( 0 );
- }
- // Init critical sections
- User::LeaveIfError( iProtoInitCS.CreateLocal() );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::ConstructSourceL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::GetMultimediaTypesL
-// -----------------------------------------------------------------------------
-//
-const RArray<TDesC8*>& CVSDataSourceImp::GetMultimediaTypesL() const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetMultimediaTypeL() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetMultimediaTypeL() <<"), RThread().Id().operator TUint()));
- return iProtoMimeTypes;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SetFormatL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::SetFormatL( const TDesC8& aFormat )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SetFormatL() >>"), RThread().Id().operator TUint()));
- if ( &DataProvider() == NULL )
- {
- User::Leave( KErrBadHandle );
- }
- TBool supported = EFalse;
- for ( TInt i = 0; i < iSupportedVideoFormats->Count(); i++ )
- {
- TPtrC8 format = iSupportedVideoFormats->MdcaPoint( i );
- if ( aFormat == format )
- {
- supported = ETrue;
- break;
- }
- }
- if ( !supported )
- {
- User::Leave( KErrNotSupported );
- }
- DataProvider().SetFormatL( aFormat );
- delete iFormat; iFormat = 0;
- iFormat = aFormat.AllocL();
- iCallFlags |= ESetFormatCalled;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SetFormatL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SetFrameRateL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::SetFrameRateL( TReal32 aFrameRate )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SetFrameRateL() >>"), RThread().Id().operator TUint()));
- if ( &DataProvider() == NULL )
- {
- User::Leave( KErrBadHandle );
- }
- TBool supported = EFalse;
- for ( TInt i = 0; i < iSupportedFrameRates.Count(); i++ )
- {
- TVSFrameRate rate = iSupportedFrameRates[i];
- if ( rate.iFormat == iFormat->Des() && rate.iSize == iSize)
- {
- if ( aFrameRate == rate.iRate )
- {
- supported = ETrue;
- break;
- }
- }
- }
- if ( !supported )
- {
- User::Leave( KErrNotSupported );
- }
- DataProvider().SetFrameRateL( aFrameRate );
- iFrameRate = aFrameRate;
- iCallFlags |= ESetFrameRateCalled;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SetFrameRateL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::SetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::SetVideoFrameSizeL( const TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SetVideoFrameSizeL() >>"), RThread().Id().operator TUint()));
- if ( &DataProvider() == NULL )
- {
- User::Leave( KErrBadHandle );
- }
- TBool supported = EFalse;
- for ( TInt i = 0; i < iSupportedVideoSizes.Count(); i++ )
- {
- TVSFrameSize size = iSupportedVideoSizes[i];
- if ( size.iFormat == iFormat->Des() )
- {
- if ( aSize == size.iSize )
- {
- supported = ETrue;
- break;
- }
- }
- }
- if ( !supported )
- {
- User::Leave( KErrNotSupported );
- }
- DataProvider().SetVideoFrameSizeL( aSize );
- iSize = aSize;
- iCallFlags |= ESetSizeCalled;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::SetVideoFrameSizeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::GetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::GetVideoFrameSizeL( TSize& aSize ) const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetVideoFrameSizeL() >>"), RThread().Id().operator TUint()));
- if ( &DataProvider() == NULL )
- {
- User::Leave( KErrBadHandle );
- }
- DataProvider().GetVideoFrameSizeL( aSize );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetVideoFrameSizeL() <<"), RThread().Id().operator TUint()));
- }
-
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::DoProviderSwitchL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::DoProviderSwitchL(
- CVSDataProvider* aNewProvider,
- MAsyncEventHandler& aEventHandler )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::DoProviderSwitchL() >>"), RThread().Id().operator TUint()));
-
- iQueueCs.Wait();
-
- // If there are entries in iActiveQueue wait until they are freed by Protocol
- if ( iActiveQueue.Count() > 0 )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::DoProviderSwitchL(): activequeue count > 0, <<"), RThread().Id().operator TUint()));
- iSwitchPending = ETrue;
- iQueueCs.Signal();
- return;
- }
- else
- {
- iSwitchPending = EFalse;
- }
-
- iSwitchOngoing = ETrue;
-
- /*
- * THE FOLLOWING CALLS USE CActiveSchedulerWait WHICH MEANS SOME OTHER
- * OBJECT MAY RUN IN BETWEEN THE FOLLOWING CALLS I.E. THESE CALLS ARE NOT
- * SYNCHRONOUS.
- */
-
- User::LeaveIfError( aNewProvider->SourceThreadLogon( aEventHandler ) );
-
- // Is format set by the Protocol
- if ( iCallFlags & ESetFormatCalled )
- {
- aNewProvider->SetFormatL( *iFormat );
- }
- // Is size set by the Protocol
- if ( iCallFlags & ESetSizeCalled )
- {
- aNewProvider->SetVideoFrameSizeL( iSize );
- }
- // Is framerate set by the Protocol
- if ( iCallFlags & ESetFrameRateCalled )
- {
- aNewProvider->SetFrameRateL( iFrameRate );
- }
- // Stop old provider
- if ( &DataProvider() != NULL )
- {
- switch( iDSState )
- {
- case EPlaying:
- DataProvider().SourcePauseL();
- DataProvider().SourceStopL();
- break;
-
- case EPrimed:
- DataProvider().SourceStopL();
- break;
-
- default:
- break;
- };
- DataProvider().SourceThreadLogoff();
- }
-
- // Set new provider state according to current state
- switch ( iDSState )
- {
- case EStopped:
- break;
-
- case EPrimed:
- case EPlaying:
- aNewProvider->PrimeL();
-
- // check if SourcePlayL() was called during prime
- if( iDSState == EPlaying )
- {
- aNewProvider->SourcePlayL();
- aNewProvider->SwitchFrom( DataProvider() );
- }
- // or SourceStopL()
- else if( iDSState == EStopped )
- {
- aNewProvider->SourceStopL();
- }
- break;
- }
- /*
- * THE FOLLOWING CALLS ARE SUPPOSED TO BE SYNCHRONOUS IN THAT THEY DO NOT
- * LET ACTIVE SCHEDULER RUN SOME OTHER OBJECT.
- */
-
- // Complete switch
- CVSDataProvider* oldProvider = SwitchProvider( aNewProvider );
-
- // Set consumer and media id
- DataProvider().SetFillBufferParams(
- oldProvider->Consumer(),
- oldProvider->MediaId() );
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::DoProviderSwitchL(): iFreeQueue.Count() = %d, iActiveQueue.Count() = %d"), RThread().Id().operator TUint(), iFreeQueue.Count(), iActiveQueue.Count() ));
-
- // If old provider has pending FillBufferL() calls -> call FillBufferL()
- // for new provider if it is in Playing state.
- if( iDSState == EPlaying )
- {
- for ( TInt i = 0; i < iFreeQueue.Count(); i++ )
- {
- iFreeQueue[ i ]->Reset();
- DataProvider().FillBufferL(
- iFreeQueue[i],
- DataProvider().Consumer(),
- DataProvider().MediaId() );
- }
- }
-
- // Buffers that are being used by Protocol are set to be needing a reset
- for ( TInt i = 0; i < iActiveQueue.Count(); i++ )
- {
- iActiveQueue[ i ]->SetNeedsReset( ETrue );
- }
-
- iSwitchOngoing = EFalse;
-
- iQueueCs.Signal();
-
- iDataSourceObserverAO->vsProviderSwitchDone( Observer(), oldProvider );
- iProviderSwitchAO->NewDataProvider() = NULL;
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::DoProviderSwitchL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::CVSDataSourceImp
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::ProviderSwitchError( TInt aError )
- {
- DataProvider().NotifyError( aError );
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::CVSDataSourceImp
-// -----------------------------------------------------------------------------
-//
-CVSDataSourceImp::CVSDataSourceImp()
-: iFreeQueue( KNoOfSupportedBuffers ), iActiveQueue( KNoOfSupportedBuffers )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CVSDataSourceImp() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::CVSDataSourceImp() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::GetBufferL
-// -----------------------------------------------------------------------------
-//
-CVSMMFDataBuffer* CVSDataSourceImp::GetBufferL( TBool aRemove )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetBufferL() >>"), RThread().Id().operator TUint()));
- if( !iQueueCs.IsBlocked() )
- {
- iPauseCs.Wait();
- const TBool sendingPaused( iSendingPaused );
- iPauseCs.Signal();
-
- iQueueCs.Wait();
-
- // while switch is pending, always return NULL we don't want to let
- // buffer float around
- if( iSwitchPending || sendingPaused )
- {
- iQueueCs.Signal();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetBufferL(): Switch pending or sending paused -> returning NULL"), RThread().Id().operator TUint()));
- return 0;
- }
-
- // If no buffers in free (FillBufferL is called) queue -> return NULL
- if( !iFreeQueue.Count() )
- {
- iQueueCs.Signal();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetBufferL(): NO free buffers -> returning NULL"), RThread().Id().operator TUint()));
- return 0;
- }
- // Otherwise get first buffer
- CVSMMFDataBuffer* temp = iFreeQueue[ 0 ];
- // Move to active (BufferFilledL is called) queue if requested
- if( aRemove )
- {
- iFreeQueue.Remove( 0 );
- TInt err = iActiveQueue.Append( temp );
- if ( err != KErrNone )
- {
- iQueueCs.Signal();
- User::Leave( err );
- }
- }
- iQueueCs.Signal();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetBufferL() returning [$%x]"), RThread().Id().operator TUint(), temp));
- return temp;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::GetBufferL(): blocked, returning [$%08x]"), RThread().Id().operator TUint(), 0));
- return 0;
- }
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::FreeBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSDataSourceImp::FreeBufferL( CVSMMFDataBuffer* aBuffer )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FreeBufferL() >>"), RThread().Id().operator TUint()));
- iQueueCs.Wait();
- TInt err = FreeBufferNoWait( aBuffer );
- iQueueCs.Signal();
- User::LeaveIfError( err );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FreeBufferL() <<"), RThread().Id().operator TUint()));
- }
-
-
-// -----------------------------------------------------------------------------
-// CVSDataSourceImp::FreeBufferNoWait( CVSMMFDataBuffer* aBuffer )
-// -----------------------------------------------------------------------------
-//
-TInt CVSDataSourceImp::FreeBufferNoWait( CVSMMFDataBuffer* aBuffer )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FreeBufferNoWait() >>"), RThread().Id().operator TUint()));
-
- // Append buffer into free (FillBufferL is called) queue
- TInt err( KErrNone );
-
- // Try finding buffer from active (BufferFilledL is called) queue
- TInt actIdx = iActiveQueue.Find( aBuffer );
-
- // If it is found, remove it from there
- if( actIdx != KErrNotFound )
- {
- iActiveQueue.Remove( actIdx );
- TRAP( err, aBuffer->ReleaseL() );
- if( err != KErrNone )
- {
- return err;
- }
- }
-
- if( iFreeQueue.Find( aBuffer ) == KErrNotFound )
- {
- err = iFreeQueue.Append( aBuffer );
- }
-
-#ifdef _DEBUG
- TBuf<256> b;
- TInt i;
- b = _L("Active: ");
- for( i = 0; i < iActiveQueue.Count(); i++ )
- {
- if( i > 0 )
- {
- b.Append( _L(", ") );
- }
- TBuf<16> b1;
- b1.Format( _L("[$%08x]"), iActiveQueue[i] );
- b.Append( b1 );
- }
- RDebug::Print( b );
-
- b = _L("Free : ");
- for( i = 0; i < iFreeQueue.Count(); i++ )
- {
- if( i > 0 )
- {
- b.Append( _L(", ") );
- }
- TBuf<16> b1;
- b1.Format( _L("[$%08x]"), iFreeQueue[i] );
- b.Append( b1 );
- }
- RDebug::Print( b );
-#endif
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSDataSourceImp::FreeBufferNoWait() <<"), RThread().Id().operator TUint()));
-
- return err;
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/CVSMMFDataBuffer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <ecam.h>
-#include <e32debug.h>
-#include "CVSMMFDataBuffer.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ CVSMMFDataBuffer ===============================
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSMMFDataBuffer* CVSMMFDataBuffer::NewL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NewL() >>"), RThread().Id().operator TUint()));
- CVSMMFDataBuffer* self = new ( ELeave ) CVSMMFDataBuffer;
- CleanupStack::PushL(self);
- self->ConstructL( KMMFDataBufferDefaultBufferSize );
- CleanupStack::Pop(); // self
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NewL <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSMMFDataBuffer* CVSMMFDataBuffer::NewL( TInt aMaxBufferSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NewL() >>"), RThread().Id().operator TUint()));
- CVSMMFDataBuffer* self = new ( ELeave ) CVSMMFDataBuffer;
- CleanupStack::PushL(self);
- self->ConstructL( aMaxBufferSize );
- CleanupStack::Pop(); // self
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NewL <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::~CVSMMFDataBuffer
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSMMFDataBuffer::~CVSMMFDataBuffer()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::~CVSMMFDataBuffer() >>"), RThread().Id().operator TUint()));
- delete[] iData;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::~CVSMMFDataBuffer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::ReAllocBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::ReAllocBufferL( TInt aMaxBufferSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::ReAllocBufferL() >>"), RThread().Id().operator TUint()));
- if ( !iIsBufferSet )
- {
- TUint8* tmp = new (ELeave) TUint8[aMaxBufferSize];
- delete[] iData;
- iData = tmp;
- iPtr.Set( iData, 0, aMaxBufferSize );
- iMaxBufferSize = aMaxBufferSize;
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::ReAllocBufferL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::NeedsReset
-// -----------------------------------------------------------------------------
-//
-TBool CVSMMFDataBuffer::NeedsReset() const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NeedsReset() ><"), RThread().Id().operator TUint()));
- return iNeedsReset;
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetNeedsReset
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetNeedsReset( TBool aNeedsReset )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetNeedsReset() >>"), RThread().Id().operator TUint()));
- iNeedsReset = aNeedsReset;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetNeedsReset() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::Reset
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::Reset()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Reset() >>"), RThread().Id().operator TUint()));
- iPtr.Zero();
- SetNeedsReset( EFalse );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Reset() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::Data
-// -----------------------------------------------------------------------------
-//
-TDes8& CVSMMFDataBuffer::Data()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Data() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Data() <<"), RThread().Id().operator TUint()));
- return iPtr;
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::Data
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CVSMMFDataBuffer::Data() const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Data() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Data() <<"), RThread().Id().operator TUint()));
- return iPtr;
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetStatus
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetStatus( TBufferStatus aStatus )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetStatus() >>"), RThread().Id().operator TUint()));
- CMMFBuffer::SetStatus( aStatus );
- if ( iStatus == EBeingFilled )
- {
- Reset();
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetStatus() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetRequestSizeL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetRequestSizeL( TInt aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetRequestSizeL() >>"), RThread().Id().operator TUint()));
- if ( aSize < 0 )
- {
- User::Leave( KErrUnderflow );
- }
- else if ( aSize > iPtr.MaxLength() )
- {
- User::Leave( KErrOverflow );
- }
- else
- {
- iRequestSize = aSize;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetRequestSizeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::BufferSize
-// -----------------------------------------------------------------------------
-//
-TUint CVSMMFDataBuffer::BufferSize() const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::BufferSize() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::BufferSize() <<"), RThread().Id().operator TUint()));
- return iPtr.Length();
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetPosition
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetPosition( TUint aPosition )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetPosition() >>"), RThread().Id().operator TUint()));
- if ( aPosition <= (TUint)iPtr.Length() )
- {
- iPosition = aPosition;
- }
- else
- {
- iPosition = (TUint)iPtr.Length(); // Tried to position beyond end of
- // data
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetPosition() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetFrameBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetFrameBufferL( MFrameBuffer* aFrameBuffer )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetFrameBuffer() >>"), RThread().Id().operator TUint()));
- iFrameBuffer = aFrameBuffer;
- //Buffer is valid
- iIsBufferSet = ETrue;
- if ( aFrameBuffer == NULL )
- {
- iPtr.Set( iData, 0, iMaxBufferSize );
- }
- else
- {
- Reset();
- TPtrC8 ptr( *iFrameBuffer->DataL( 0 ) );
- iPtr.Set((TUint8*)ptr.Ptr(), ptr.Size(), ptr.Size());
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetFrameBuffer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetFrameBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetFrameBufferL( MCameraBuffer* aCameraBuffer )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetFrameBuffer() >>"), RThread().Id().operator TUint()));
- iCameraBuffer = aCameraBuffer;
- //Buffer is valid
- iIsBufferSet = ETrue;
- if ( aCameraBuffer == NULL )
- {
- iPtr.Set( iData, 0, iMaxBufferSize );
- }
- else
- {
- Reset();
- // Take the latest frame data from buffer should be always 0,
- // but if buffer contains more than 1 frame could be something else
- TPtrC8 ptr( *iCameraBuffer->DataL( iCameraBuffer->NumFrames() - 1 ) );
- iPtr.Set((TUint8*)ptr.Ptr(), ptr.Size(), ptr.Size());
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetFrameBuffer() <<"), RThread().Id().operator TUint()));
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::ReleaseL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::ReleaseL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Release() >>"), RThread().Id().operator TUint()));
- if( iFrameBuffer )
- {
- iFrameBuffer->Release();
- SetFrameBufferL( (MFrameBuffer*)NULL );
- }
- else if( iCameraBuffer )
- {
- iCameraBuffer->Release();
- SetFrameBufferL( (MCameraBuffer*)NULL );
- }
- else
- {
- if ( iPtr.Ptr() != iData )
- {
- iPtr.Set( iData, 0, iMaxBufferSize );
- }
- if( NeedsReset() )
- {
- Reset();
- }
- }
-
- //Buffer is no longer valid
- iIsBufferSet = EFalse;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Release() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetBufferOffset
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetBufferOffset( TInt aOffset )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetBufferOffset() >>"), RThread().Id().operator TUint()));
- if ( !iIsBufferSet )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetBufferOffset(): Length = %d, Offset = %d"), RThread().Id().operator TUint(), iPtr.Length(), aOffset));
- iPtr.Set( iData + aOffset, iPtr.Length() - aOffset, iMaxBufferSize );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetBufferOffset() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::CVSMMFDataBuffer
-// -----------------------------------------------------------------------------
-//
-CVSMMFDataBuffer::CVSMMFDataBuffer() :
- CMMFDataBuffer( KUidMmfDataBuffer ), iPtr(0,0,0), iIsBufferSet(EFalse)
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::CVSMMFDataBuffer() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::CVSMMFDataBuffer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::ConstructL( TInt aMaxBufferSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::ConstructL() >>"), RThread().Id().operator TUint()));
- iData = new (ELeave) TUint8[aMaxBufferSize];
- iPtr.Set( iData, 0, aMaxBufferSize );
- iMaxBufferSize = aMaxBufferSize;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::ConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/CVSOnboardCameraDataProvider.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1007 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include <fbs.h>
-#include "CVSOnboardCameraDataProvider.h"
-#include "CVSDataSourceImp.h"
-#include "VSPanic.h"
-#include "CVSMMFDataBuffer.h"
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-const TInt KQCIFWidth = 176;
-const TInt KQCIFHeight = 144;
-
-// MACROS
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ============================ CProviderErrorNotifierAO =======================
-
-// -----------------------------------------------------------------------------
-// CProviderErrorNotifierAO::NewL
-// -----------------------------------------------------------------------------
-//
-CProviderErrorNotifierAO* CProviderErrorNotifierAO::NewL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::NewL() >>"), RThread().Id().operator TUint()));
- CProviderErrorNotifierAO* self = new ( ELeave ) CProviderErrorNotifierAO();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CProviderErrorNotifierAO::~CProviderErrorNotifierAO
-// -----------------------------------------------------------------------------
-//
-CProviderErrorNotifierAO::~CProviderErrorNotifierAO()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::~CProviderErrorNotifierAO() >>"), RThread().Id().operator TUint()));
- Cancel();
- iCS.Close();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::~CProviderErrorNotifierAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CProviderErrorNotifierAO::NotifyError
-// -----------------------------------------------------------------------------
-//
-void CProviderErrorNotifierAO::NotifyError(
- MVSDataProviderObserver* aObserver,
- TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::NotifyError() >>"), RThread().Id().operator TUint()));
- iCS.Wait();
- iObserver = aObserver;
- iError = aError;
- TRequestStatus* statusP = &iStatus;
- RThread thread;
- if( thread.Open( iThreadId ) == KErrNone )
- {
- *statusP = KRequestPending;
- thread.RequestComplete( statusP, KErrNone );
- thread.Close();
- }
- else
- {
- Panic( EVSPanicThreadOpenFailure );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::NotifyError() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CProviderErrorNotifierAO::CProviderErrorNotifierAO
-// -----------------------------------------------------------------------------
-//
-CProviderErrorNotifierAO::CProviderErrorNotifierAO() :
- CActive( EPriorityNormal )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::CProviderErrorNotifierAO() >>"), RThread().Id().operator TUint()));
- CActiveScheduler::Add( this );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::CProviderErrorNotifierAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CProviderErrorNotifierAO::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CProviderErrorNotifierAO::ConstructL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::ConstructL() >>"), RThread().Id().operator TUint()));
- iCS.CreateLocal();
- iThreadId = RThread().Id();
- iStatus = KRequestPending;
- SetActive();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::ConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CProviderErrorNotifierAO::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CProviderErrorNotifierAO::DoCancel()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::DoCancel() >>"), RThread().Id().operator TUint()));
- if( iStatus == KRequestPending )
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrCancel );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::DoCancel() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CProviderErrorNotifierAO::RunL
-// -----------------------------------------------------------------------------
-//
-void CProviderErrorNotifierAO::RunL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::RunL() >>"), RThread().Id().operator TUint()));
- TInt err = iStatus.Int();
- if ( err == KErrCancel )
- {
- return;
- }
- if ( iObserver != NULL )
- {
- iObserver->vsProviderError( iError );
- }
- iStatus = KRequestPending;
- SetActive();
- iCS.Signal();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CProviderErrorNotifierAO::RunL() <<"), RThread().Id().operator TUint()));
- }
-
-// ============================ CSyncCameraReserve =============================
-
-// -----------------------------------------------------------------------------
-// CSyncCameraReserve::CSyncCameraReserve
-// -----------------------------------------------------------------------------
-//
-CSyncCameraReserve::CSyncCameraReserve() : CActive( EPriorityNormal )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::CSyncCameraReserve() >>"), RThread().Id().operator TUint()));
- CActiveScheduler::Add( this );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::CSyncCameraReserve() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CSyncCameraReserve::StartL
-// -----------------------------------------------------------------------------
-//
-void CSyncCameraReserve::StartL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::StartL() >>"), RThread().Id().operator TUint()));
- SetActive();
- iStatus = KRequestPending;
- iWait.Start();
- User::LeaveIfError( iStatus.Int() );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::StartL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CSyncCameraReserve::NewL
-// -----------------------------------------------------------------------------
-//
-CSyncCameraReserve* CSyncCameraReserve::NewL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::NewL() >>"), RThread().Id().operator TUint()));
- CSyncCameraReserve* self = new ( ELeave ) CSyncCameraReserve();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CSyncCameraReserve::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CSyncCameraReserve::DoCancel()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::DoCancel() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::DoCancel() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CSyncCameraReserve::RunL
-// -----------------------------------------------------------------------------
-//
-void CSyncCameraReserve::RunL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::RunL() >>"), RThread().Id().operator TUint()));
- iWait.AsyncStop();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CSyncCameraReserve::RunL() <<"), RThread().Id().operator TUint()));
- }
-
-// ============================ CVSOnboardCameraDataProvider ===================
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::CVSOnboardCameraDataProvider
-// -----------------------------------------------------------------------------
-//
-CVSOnboardCameraDataProvider::CVSOnboardCameraDataProvider(
- MVSDataProviderObserver* aObserver, MVSBufferPool* aPool ) :
- CVSCameraDataProvider( aObserver, aPool ),iCameraLost( EFalse )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::CVSOnboardCameraDataProvider() >>"), RThread().Id().operator TUint()));
- iState = EStopped;
- iFormat = CCamera::EFormatYUV420Planar;
- iDublicatedBitmap = new CFbsBitmap();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::CVSOnboardCameraDataProvider() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::~CVSOnboardCameraDataProvider
-// -----------------------------------------------------------------------------
-//
-CVSOnboardCameraDataProvider::~CVSOnboardCameraDataProvider()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::~CVSOnboardCameraDataProvider() >>"), RThread().Id().operator TUint()));
- delete iDublicatedBitmap;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::~CVSOnboardCameraDataProvider() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::PrimeL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::PrimeL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::PrimeL() >>"), RThread().Id().operator TUint()));
-
- const TBool primeable( iCameraDuplicate && ( iState == EStopped ) );
-
- if ( !primeable )
- {
- User::Leave( KErrNotReady );
- }
-
- iAsynchronousReserveIssued = EFalse;
- iCameraDuplicate->Reserve();
- iSyncReserve->StartL(); // Returns when from ReserveComplete() has been
- // signalled iSyncReserve
-
- // Reserve ok, prepare capture next
- iCameraDuplicate->PrepareVideoCaptureL(
- iFormat,
- iFrameSizeIndex,
- iFrameRateIndex,
- 2,
- 1 );
-
- SetVideoFrameSizeL( TSize( KQCIFWidth, KQCIFHeight ) );
-
- iState = EPrimed;
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::PrimeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::FillBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::FillBufferL(
- CMMFBuffer* /*aBuffer*/,
- MVTVideoSink* /*aConsumer*/,
- TMediaId /*aMediaId*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::FillBufferL() >>"), RThread().Id().operator TUint()));
- if ( iState != EPlaying )
- {
- User::Leave( KErrNotReady );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::FillBufferL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::BufferEmptiedL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::BufferEmptiedL( CMMFBuffer* /*aBuffer*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::BufferEmptiedL() >>"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::BufferEmptiedL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SourceThreadLogon
-// -----------------------------------------------------------------------------
-//
-TInt CVSOnboardCameraDataProvider::SourceThreadLogon(
- MAsyncEventHandler& aEventHandler )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourceThreadLogon() >>"), RThread().Id().operator TUint()));
- TInt err = KErrNone;
- iEventHandler = &aEventHandler;
- if ( iCameraDuplicate )
- {
- Panic( EVSPanicProviderAlreadyInitialized );
- }
- TRAP( err, iCameraDuplicate =
- CCamera::NewDuplicate2L( (MCameraObserver2&)*this, iCameraHandle) );
-
- if ( err != KErrNone )
- {
- TRAP( err, iCameraDuplicate =
- CCamera::NewDuplicateL( (MCameraObserver&)*this, iCameraHandle) );
- if (err != KErrNone)
- {
- return err;
- }
- }
- iCameraLost = EFalse;
-
- TCameraInfo info;
- iCameraDuplicate->CameraInfo( info );
- if ( !(info.iOptionsSupported & TCameraInfo::EVideoCaptureSupported) )
- {
- delete iCameraDuplicate;
- iCameraDuplicate = NULL;
- return KErrNotSupported;
- }
- if ( iSyncReserve == NULL )
- {
- TRAP( err, iSyncReserve = CSyncCameraReserve::NewL() );
- if ( err != KErrNone )
- {
- delete iCameraDuplicate;
- iCameraDuplicate = NULL;
- }
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourceThreadLogon() <<"), RThread().Id().operator TUint()));
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SourceThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::SourceThreadLogoff()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourceThreadLogoff() >>"), RThread().Id().operator TUint()));
- delete iCameraDuplicate;
- iCameraDuplicate = NULL;
- iState = EStopped;
- delete iSyncReserve;
- iSyncReserve = NULL;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourceThreadLogoff() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SourcePrimeL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::SourcePrimeL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourcePrimeL() >>"), RThread().Id().operator TUint()));
- const TBool primeable( iCameraDuplicate && ( iState == EStopped ) );
- if ( !primeable )
- {
- User::Leave( KErrNotReady );
- }
- iAsynchronousReserveIssued = ETrue;
- iCameraDuplicate->Reserve();
- User::Leave( KRequestPending );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourcePrimeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SourcePlayL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::SourcePlayL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourcePlayL() >>"), RThread().Id().operator TUint()));
- if ( iState != EPrimed )
- {
- User::Leave( KErrNotReady );
- }
- ResetStartTime();
- iCameraDuplicate->StartVideoCapture();
- iState = EPlaying;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourcePlayL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SourcePauseL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::SourcePauseL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourcePauseL() >>"), RThread().Id().operator TUint()));
- if ( iState != EPlaying )
- {
- return;
- }
- iCameraDuplicate->StopVideoCapture();
- iState = EPrimed;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourcePauseL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SourceStopL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::SourceStopL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourceStopL() >>"), RThread().Id().operator TUint()));
- if ( iState == EStopped )
- {
- return;
- }
- SourcePauseL();
- iCameraDuplicate->Release();
- iState = EStopped;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SourceStopL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SetFormatL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::SetFormatL( const TDesC8& aFormat )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SetFormatL() >>"), RThread().Id().operator TUint()));
- if ( !iCameraDuplicate )
- {
- User::Leave( KErrBadHandle );
- }
- TCameraInfo info;
- iCameraDuplicate->CameraInfo( info );
- if ( aFormat == KVtVideoMIMETypeYUV420 )
- {
- if ( info.iVideoFrameFormatsSupported & CCamera::EFormatYUV420Planar )
- {
- iFormat = CCamera::EFormatYUV420Planar;
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SetFormatL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SetFrameRateL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::SetFrameRateL( TReal32 aFrameRate )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SetFrameRateL() >>"), RThread().Id().operator TUint()));
- if ( !iCameraDuplicate )
- {
- User::Leave( KErrBadHandle );
- }
- TCameraInfo info;
- iCameraDuplicate->CameraInfo( info );
- TBool found = EFalse;
- for ( TInt i = 0; i < info.iNumVideoFrameRatesSupported; i++ )
- {
- TReal32 rate = 0;
- iCameraDuplicate->EnumerateVideoFrameRates(
- rate,
- i,
- iFormat,
- iFrameSizeIndex );
- if ( rate == aFrameRate )
- {
- iFrameRateIndex = i;
- found = ETrue;
- break;
- }
- }
- if ( !found )
- {
- User::Leave( KErrNotSupported );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SetFrameRateL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::SetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::SetVideoFrameSizeL( const TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SetVideoFrameSizeL() >>"), RThread().Id().operator TUint()));
- if ( !iCameraDuplicate )
- {
- User::Leave( KErrBadHandle );
- }
- TCameraInfo info;
- iCameraDuplicate->CameraInfo( info );
- TBool found = EFalse;
- for ( TInt i = 0; i < info.iNumVideoFrameSizesSupported; i++ )
- {
- TSize size;
- iCameraDuplicate->EnumerateVideoFrameSizes( size, i, iFormat );
- if ( size == aSize )
- {
- iFrameSizeIndex = i;
- iFrameSize = size;
- found = ETrue;
- break;
- }
- }
- if ( !found )
- {
- User::Leave( KErrNotSupported );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::SetVideoFrameSizeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::GetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::GetVideoFrameSizeL( TSize& aSize ) const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::GetVideoFrameSizeL() >>"), RThread().Id().operator TUint()));
- aSize = iFrameSize;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::GetVideoFrameSizeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::ReserveComplete
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::ReserveComplete( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::ReserveComplete() >>"), RThread().Id().operator TUint()));
- if ( !iReserverComplete )
- {
- if ( aError == KErrNone )
- {
- iReserverComplete = ETrue;
- Camera().PowerOn();
- }
- else
- {
- NotifyError( aError );
- }
- }
- else
- {
- if( iAsynchronousReserveIssued )
- {
- iAsynchronousReserveIssued = EFalse;
-
- if( aError == KErrNone && iCameraDuplicate )
- {
- // Reserve ok, prepare capture next
- TRAP(
- aError,
- iCameraDuplicate->PrepareVideoCaptureL(
- iFormat,
- iFrameSizeIndex,
- iFrameRateIndex,
- 2,
- 1 ) );
-
- if( aError == KErrNone )
- {
- TRAP( aError, SetVideoFrameSizeL( TSize( KQCIFWidth, KQCIFHeight ) ) );
-
- if( aError == KErrNone )
- {
- // Everything ok in PrimeL()
- iState = EPrimed;
- }
- }
- }
- TMMFEvent event( TUid::Uid( KVtUidDataSrcPrime ), aError );
- iEventHandler->SendEventToClient( event );
- }
- else
- {
- TRequestStatus* statusP = &iSyncReserve->iStatus;
- User::RequestComplete( statusP, aError );
- }
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::ReserveComplete() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::FrameBufferReady
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::FrameBufferReady(
- MFrameBuffer* aFrameBuffer,
- TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::FrameBufferReady() >>"), RThread().Id().operator TUint()));
-
- iFreezeCS.Wait();
-
- if ( aError == KErrNone )
- {
- if( iFreezePendingFlags & EVideoFrameFreezePending )
- {
- FreezeFrame( aFrameBuffer );
- }
-
- CVSMMFDataBuffer* buffer = NULL;
-
- TRAPD( err, buffer = BufferPool().GetBufferL( ETrue ) );
-
- if( err == KErrNone )
- {
- if ( buffer )
- {
- MFrameBuffer* frameBufferToBeUsed = aFrameBuffer;
-
- if( IsFrozen() && !( iFreezePendingFlags & EVideoFrameFreezePending ) )
- {
- iFrozenFrame->CopyProperties( aFrameBuffer );
- aFrameBuffer->Release();
- frameBufferToBeUsed = iFrozenFrame;
- }
-
- TRAP( err, buffer->SetFrameBufferL( frameBufferToBeUsed ) );
-
- if ( err != KErrNone )
- {
- TInt leaveCode = KErrNone;
- TRAP( leaveCode, BufferPool().FreeBufferL( buffer ) );
- }
- else
- {
- buffer->SetTimeToPlay( TimeToPlay() );
- buffer->SetFrameNumber( aFrameBuffer->iIndexOfFirstFrameInBuffer );
- TRAP( err, Consumer()->BufferFilledL( buffer ) );
- if ( err != KErrNone )
- {
- TInt leaveCode = KErrNone;
- TRAP( leaveCode, BufferPool().FreeBufferL( buffer ) );
- }
- }
- }
- else
- {
- aFrameBuffer->Release();
- }
- }
-
- if( err != KErrNone )
- {
- NotifyError( err );
- }
- }
- else
- {
- NotifyError( aError );
- }
-
- iFreezeCS.Signal();
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::FrameBufferReady() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::GetVideoFrameSize
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::GetVideoFrameSize(
- TSize& aSize,
- TInt aSizeIndex,
- const TDesC8& aFormat )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::GetVideoFrameSize() >>"), RThread().Id().operator TUint()));
- TCameraInfo info;
- Camera().CameraInfo( info );
- if ( aFormat == KVtVideoMIMETypeYUV420 )
- {
- if ( info.iVideoFrameFormatsSupported & CCamera::EFormatYUV420Planar )
- {
- Camera().EnumerateVideoFrameSizes( aSize, aSizeIndex, CCamera::EFormatYUV420Planar );
- }
- else
- {
- aSize.SetSize( 0, 0 );
- }
- }
- else
- {
- aSize.SetSize( 0, 0 );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::GetVideoFrameSize() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::GetVideoFrameRate
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::GetVideoFrameRate(
- TReal32& aRate,
- TInt aRateIndex,
- const TDesC8& aFormat,
- const TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::GetVideoFrameRate() >>"), RThread().Id().operator TUint()));
- TCameraInfo info;
- Camera().CameraInfo( info );
- if ( aFormat == KVtVideoMIMETypeYUV420 )
- {
- if ( info.iVideoFrameFormatsSupported & CCamera::EFormatYUV420Planar )
- {
- TBool found = EFalse;
- for ( TInt i = 0; i < info.iNumVideoFrameSizesSupported; i++ )
- {
- TSize size;
- Camera().EnumerateVideoFrameSizes(
- size,
- i,
- CCamera::EFormatYUV420Planar );
- if ( size == aSize )
- {
- Camera().EnumerateVideoFrameRates(
- aRate,
- aRateIndex,
- CCamera::EFormatYUV420Planar,
- i );
- found = ETrue;
- break;
- }
- }
- if ( !found )
- {
- aRate = 0.0;
- }
- }
- else
- {
- aRate = 0.0;
- }
- }
- else
- {
- aRate = 0.0;
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::GetVideoFrameRate() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::FreezeFrame
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::FreezeFrame( MFrameBuffer* aFrameBuffer )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::FreezeFrame() >>"), RThread().Id().operator TUint()));
-
- TRAPD( error, iFrozenFrame->CopyFrameL( aFrameBuffer ) );
-
- if( error != KErrNone )
- {
- Observer().vsProviderError( error );
- }
- else
- {
- iFreezePendingFlags &= ~EVideoFrameFreezePending;
- }
-
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::FreezeFrame() <<"), RThread().Id().operator TUint()));
- }
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::FreezeFrame
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::FreezeFrame( MCameraBuffer* aCameraBuffer )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::FreezeFrame() >>"), RThread().Id().operator TUint()));
-
- TRAPD( error, iFrozenFrame->CopyFrameL( aCameraBuffer ) );
-
- if( error != KErrNone )
- {
- Observer().vsProviderError( error );
- }
- else
- {
- iFreezePendingFlags &= ~EVideoFrameFreezePending;
- }
-
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::FreezeFrame() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::HandleEvent
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::HandleEvent( const TECAMEvent& aEvent )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::HandleEvent() event %d>>"),
- RThread().Id().operator TUint(), aEvent.iEventType ));
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::HandleEvent() iErrorCode %d>"),
- RThread().Id().operator TUint(), aEvent.iErrorCode ));
- //Needs to handled first
- if( aEvent.iEventType == KUidECamEventCameraNoLongerReserved )
- {
- iCameraLost = ETrue;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::HandleEvent() Camera lost>>"),
- RThread().Id().operator TUint()));
- NotifyError( KVsErrCameraNoLongerReserved );
- }
- //Do not care errors that occures if camera is lost
- if ( aEvent.iErrorCode != KErrNone )
- {
- if ( iCameraLost )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::HandleEvent() Camera lost error<<"),
- RThread().Id().operator TUint()));
- return;
- }
- }
- // Gets called twice for both threads
- if ( aEvent.iEventType == KUidECamEventReserveComplete )
- {
- ReserveComplete( aEvent.iErrorCode );
- }
- else if( aEvent.iEventType == KUidECamEventPowerOnComplete )
- {
- PowerOnComplete( aEvent.iErrorCode );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSOnboardCameraDataProvider::HandleEvent() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::ViewFinderReady
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::ViewFinderReady( MCameraBuffer& aCameraBuffer,TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::ViewFinderReady() error %d >>"), RThread().Id().operator TUint(), aError ));
- // If error occures notify observer
- if ( aError != KErrNone && !iCameraLost )
- {
- NotifyError( aError );
- return;
- }
- // If camera has been lost do nothing
- // because event to indicate cameralost has come or is coming
- else if ( iCameraLost )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::ViewFinderReady() Camera lost<<"),
- RThread().Id().operator TUint()));
- return;
- }
- // If there is more than 1 frame in buffer
- // something has went wrong and error (-38) has occured
- if ( aCameraBuffer.NumFrames() > 1 )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::ViewFinderReady() FRAMES [%d] IN BUFFER >>"),
- RThread().Id().operator TUint(), aCameraBuffer.NumFrames()));
- }
-
- //Duplicate camera buffers the newest bitmap
- //In case of error release buffer and notify observer
- if ( !iDublicatedBitmap )
- {
- aCameraBuffer.Release();
- NotifyError( KErrBadDescriptor );
- return;
- }
- iDublicatedBitmap->BeginDataAccess();
- TRAPD( err, iDublicatedBitmap->Duplicate( aCameraBuffer.BitmapL( aCameraBuffer.NumFrames() - 1 ).Handle() ) );
- iDublicatedBitmap->EndDataAccess();
- if( err != KErrNone )
- {
- aCameraBuffer.Release();
- NotifyError( KErrBadDescriptor );
- return;
- }
-
- // Send dublicated bitmap to UI
- ViewFinderFrameReady( *iDublicatedBitmap );
-
- //Release camera buffer for further usage
- aCameraBuffer.Release();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::ViewFinderReady() <<"),
- RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSOnboardCameraDataProvider::VideoBufferReady
-// -----------------------------------------------------------------------------
-//
-void CVSOnboardCameraDataProvider::VideoBufferReady( MCameraBuffer& aCameraBuffer,TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::VideoBufferReady() >>"), RThread().Id().operator TUint()));
-
- iFreezeCS.Wait();
-
- // If there is more than 1 frame in buffer
- // print it out
- // calculate delta which indicates how many frames are skipped
- TInt delta = 0;
- if ( aCameraBuffer.NumFrames() > 1 )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::VideoBufferReady() FRAMES [%d] IN BUFFER >>"),
- RThread().Id().operator TUint(), aCameraBuffer.NumFrames()));
- delta = aCameraBuffer.NumFrames() - 1;
- }
-
- if ( aError == KErrNone )
- {
- if( iFreezePendingFlags & EVideoFrameFreezePending )
- {
- FreezeFrame( &aCameraBuffer );
- }
-
- CVSMMFDataBuffer* buffer = NULL;
-
- TRAPD( err, buffer = BufferPool().GetBufferL( ETrue ) );
-
- if( err == KErrNone )
- {
- if ( buffer )
- {
- MCameraBuffer* cameraBufferToBeUsed = &aCameraBuffer;
-
- if( IsFrozen() && !( iFreezePendingFlags & EVideoFrameFreezePending ) )
- {
- iFrozenFrame->CopyProperties( &aCameraBuffer );
- ( &aCameraBuffer )->Release();
- cameraBufferToBeUsed = iFrozenFrame;
- }
-
- TRAP( err, buffer->SetFrameBufferL( cameraBufferToBeUsed ) );
-
- if ( err != KErrNone )
- {
- TInt leaveCode = KErrNone;
- TRAP( leaveCode, BufferPool().FreeBufferL( buffer ) );
- }
- else
- {
- buffer->SetTimeToPlay( TimeToPlay() );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::VideoBufferReady() iIndexOfFirstFrameInBuffer [%d]>>"),
- RThread().Id().operator TUint(), aCameraBuffer.iIndexOfFirstFrameInBuffer + delta));
- buffer->SetFrameNumber( ( &aCameraBuffer )->iIndexOfFirstFrameInBuffer + delta );
- TRAP( err, Consumer()->BufferFilledL( buffer ) );
- if ( err != KErrNone )
- {
- TInt leaveCode = KErrNone;
- TRAP( leaveCode, BufferPool().FreeBufferL( buffer ) );
- }
- }
- }
- else
- {
- ( &aCameraBuffer )->Release();
- }
- }
- else
- {
- NotifyError( err );
- }
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::VideoBufferReady() Camera lost"),
- RThread().Id().operator TUint()));
- if ( !iCameraLost )
- {
- NotifyError( aError );
- }
- }
- iFreezeCS.Signal();
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSOnboardCameraDataProvider::VideoBufferReady() <<"), RThread().Id().operator TUint()));
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/CVSStillImageDataProvider.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1190 +0,0 @@
-/*
-* Copyright (c) 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 Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <bautils.h>
-#include <imageconversion.h>
-#include <cvtimageconverter.h>
-#include <RPhCltServer.h>
-#include <cphcltimagehandler.h>
-#include <w32std.h>
-
-#include "CVSStillImageDataProvider.h"
-#include "CVSDataSourceImp.h"
-#include "VSPanic.h"
-#include "cvtimagebitmap.h"
-#include "CVSMMFDataBuffer.h"
-
-#include "cmultiframeprovider.h"
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-static const TInt KMinZoom = 0;
-static const TInt KMaxZoom = 0;
-static const TInt KMaxDigitalZoom = 0;
-static const TReal32 KMinZoomFactor = 0.0;
-static const TReal32 KMaxZoomFactor = 0.0;
-static const TReal32 KMaxDigitalZoomFactor = 1.0;
-static const TInt KNumVideoSizesSupported = 1;
-static const TInt KNumVideoFrameSizesSupported = 1;
-static const TInt KNumVideoFrameRatesSupported = 1;
-static const TInt KMaxFramesPerBufferSupported = 1;
-static const TInt KQcifWidth = 176;
-static const TInt KQcifHeight = 144;
-static const TReal32 KFrameRate = 15.0;
-static const TUint32 KVSViewFinderUpdateRate = 1000000/15; // 15 times per second
-
-// TYPE DEFINITIONS
-
-// Timer expired callback
-
-typedef void (CVSStillImageDataProvider::*TTimerElapsed) ();
-
-// INTERNAL CLASSES
-
-/**
-* Timer class that calls given callback method when timer request has been
-* completed. If the timer request is cancelled then callback will not be
-* called.
-*
-* @lib videosource.lib
-*/
-class CVSFrameRateTimer : public CTimer
- {
- public: // Constructors and destructor
-
- /**
- * Static factory function to create instance of this class.
- * @param "aRequester" ?description
- * @exception Can leave with one of the system wide error codes.
- * @return Pointer to new instance.
- */
- static CVSFrameRateTimer* NewL( CVSStillImageDataProvider* aRequester );
-
- public: // New functions
-
- public: // Functions from base classes
-
- /**
- * Starts timer request. When timer request has been completed given
- * callback method will be called.
- * @param "anInterval" Interval after which event is to occur,
- * in microseconds.
- * @param "aFunction" Callback method that will be called when timer
- * request has been completed.
- */
- void After(
- TTimeIntervalMicroSeconds32 anInterval,
- TTimerElapsed aFunction );
-
- public: // Constructors and destructor
-
- /**
- * Destructor.
- */
- ~CVSFrameRateTimer();
-
- protected: // New functions
-
- protected: // Functions from base classes
-
- private: // Constructors and destrcutor
-
- /**
- * Constructor.
- * @param "aRequester" ?description
- */
- CVSFrameRateTimer( CVSStillImageDataProvider* aRequester );
-
- private: // New functions
-
- private: // Functions from base classes
-
- /**
- * From CActive. See CActive for description.
- */
- void RunL();
-
- public: // Data
-
- protected: // Data
-
- private: // Data
-
- // Pointer to requester (i.e. through which callback call will be made)
- CVSStillImageDataProvider* iRequester; // not owned
-
- // Pointer to callback method.
- TTimerElapsed iFunction;
- };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ============================ CVSFrameRateTimer ==============================
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::NewL( CVSStillImageDataProvider* aRequester )
-// -----------------------------------------------------------------------------
-//
-CVSFrameRateTimer* CVSFrameRateTimer::NewL(
- CVSStillImageDataProvider* aRequester )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::NewL() >>"), RThread().Id().operator TUint()));
- CVSFrameRateTimer* self = new (ELeave) CVSFrameRateTimer( aRequester );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::CVSFrameRateTimer( CVSStillImageDataProvider* aRequester )
-// -----------------------------------------------------------------------------
-//
-CVSFrameRateTimer::CVSFrameRateTimer( CVSStillImageDataProvider* aRequester )
-: CTimer( EPriorityStandard ), iRequester( aRequester )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::CVSFrameRateTimer() >>"), RThread().Id().operator TUint()));
- // Added to CActiveScheduler in CVSStillImageDataProvider::InitializeL
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::CVSFrameRateTimer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::After(
-// TTimeIntervalMicroSeconds32 anInterval, TTimerElapsed aFunction )
-// -----------------------------------------------------------------------------
-//
-void CVSFrameRateTimer::After(
- TTimeIntervalMicroSeconds32 anInterval,
- TTimerElapsed aFunction )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::After() >>"), RThread().Id().operator TUint()));
- if ( iFunction == aFunction )
- {
- if ( !IsActive() )
- {
- iFunction = aFunction;
- CTimer::After( anInterval );
- }
- }
- else
- {
- if ( !IsActive() )
- {
- iFunction = aFunction;
- CTimer::After( anInterval );
- }
- else
- {
- User::Panic(_L("VideoSource"),KErrGeneral);
- }
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::After() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::~CVSFrameRateTimer()
-// -----------------------------------------------------------------------------
-//
-CVSFrameRateTimer::~CVSFrameRateTimer()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::~CVSFrameRateTimer() >>"), RThread().Id().operator TUint()));
- Cancel();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::~CVSFrameRateTimer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::RunL()
-// -----------------------------------------------------------------------------
-//
-void CVSFrameRateTimer::RunL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::RunL() >>"), RThread().Id().operator TUint()));
- if( iStatus.Int() == KErrNone )
- {
- (iRequester->*iFunction)();
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::RunL() <<"), RThread().Id().operator TUint()));
- }
-
-// ============================ CVSStillImageDataProvider ===============================
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::NewL(
-// MVSDataProviderObserver* aObserver, MVSBufferPool* aPool )
-// -----------------------------------------------------------------------------
-//
-CVSStillImageDataProvider* CVSStillImageDataProvider::NewL(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVSStillImageDataProvider::NewL() >>"), RThread().Id().operator TUint()));
- CVSStillImageDataProvider* self =
- new (ELeave) CVSStillImageDataProvider( aObserver, aPool );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- __IF_DEBUG(Print(_L("VideoSource: [%d] CVSStillImageDataProvider::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::~CVSStillImageDataProvider()
-// -----------------------------------------------------------------------------
-//
-CVSStillImageDataProvider::~CVSStillImageDataProvider()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::~CVSStillImageDataProvider() this %x >>"), RThread().Id().operator TUint(), this));
- iFs.Close();
- delete iVFTimer;
- delete iActiveWait;
- delete iViewer;
- iFreezeCS.Close();
- delete iScaled;
- ReleaseYUVData();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::~CVSStillImageDataProvider() this %x <<"), RThread().Id().operator TUint(), this));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::InitializeL( const TDesC8& aInitParams )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::InitializeL( const TDesC8& aInitParams )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::InitializeL() >>"), RThread().Id().operator TUint()));
-
- CommonInitializeL();
-
- TPckgBuf< TVSStillImageDataProviderParams > pb;
- pb.Copy( aInitParams );
-
- iInitType = pb().iInitialize;
- iPSState = EPSInitializing;
-
- switch( pb().iInitialize )
- {
- /** Initialize from blank image */
- case TVSStillImageDataProviderParams::EInitializeAsBlankImage:
- BlankImageInitializeL();
- break;
-
- /** Initialize from General Settings */
- case TVSStillImageDataProviderParams::EInitializeFromGeneralSettings:
- GeneralSettingsInitializeL( EGSStillImage );
- break;
-
- /** Initilaize from General Settings*/
- case TVSStillImageDataProviderParams::EInitializeAsDefaultStillImage:
- GeneralSettingsInitializeL( EGSDefaultStillImage );
- break;
-
- /** Initialize from file */
- case TVSStillImageDataProviderParams::EInitializeFromFile:
- FileImageInitializeL( pb().iFileName );
- break;
- }
-
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::InitializeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CommonInitializeL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::CommonInitializeL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CommonInitializeL() >>"), RThread().Id().operator TUint()));
- iVFTimer = CVSFrameRateTimer::NewL( this );
- CActiveScheduler::Add( iVFTimer );
- iActiveWait = new (ELeave) CVSActiveWait< CVSStillImageDataProvider > ( this );
-
- //Create viewer
- iViewer = CMultiframeProvider::NewL( this , iDisplayMode );
- User::LeaveIfError( iFreezeCS.CreateLocal() );
-
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CommonInitializeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GeneralSettingsInitializeL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::GeneralSettingsInitializeL( const TGeneralSettingsImageType aType )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GeneralSettingsInitializeL() >>"), RThread().Id().operator TUint()));
- iViewer->IniatializeGSL( aType );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GeneralSettingsInitializeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::BlankImageInitializeL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::BlankImageInitializeL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::BlankImageInitializeL() %x >>"), RThread().Id().operator TUint(), this));
- iViewer->IniatializeBlankL();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::BlankImageInitializeL() %x <<"), RThread().Id().operator TUint(), this));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::FileImageInitializeL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::FileImageInitializeL( const TFileName& aFileName )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::FileImageInitializeL(): %S >>"), RThread().Id().operator TUint(), &aFileName ));
- iViewer->InitializeL( &aFileName );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::FileImageInitializeL() %x <<"), RThread().Id().operator TUint(), this));
- }
-
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::DigitalZoomFactor() const
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::DigitalZoomFactor() const
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::DigitalZoomFactor() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::DigitalZoomFactor() <<"), RThread().Id().operator TUint()));
- return KMaxDigitalZoom;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetDigitalZoomFactorL(
-// TInt /*aDigitalZoomFactor*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetDigitalZoomFactorL(
- TInt /*aDigitalZoomFactor*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SetDigitalZoomFactorL() >>"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SetDigitalZoomFactorL() <<"), RThread().Id().operator TUint()));
- }
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StartViewFinderBitmapsL( TSize& aSize )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StartViewFinderBitmapsL( TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderBitmapsL() >>"), RThread().Id().operator TUint()));
- __ASSERT_DEBUG( iPSState > EPSUninitialized,
- Panic( EVSPanicProviderNotReady ) );
- iVFState = EVFPlaying;
- iViewer->ClearVFScalingTargetSize();
- iTargetSize = aSize;
- iViewer->SetVFScalingTargetSize( aSize );
- iViewer->ScaleCopy( aSize, ETrue );
- iViewer->IncreaseDataConsumer();
- iViewer->NextFrame();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderBitmapsL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StartViewFinderBitmapsL(
-// TSize& /*aSize*/, TRect& /*aClipRect*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StartViewFinderBitmapsL(
- TSize& /*aSize*/,
- TRect& /*aClipRect*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderBitmapsL() >>"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderBitmapsL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StopViewFinder()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StopViewFinder()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StopViewFinder() >>"), RThread().Id().operator TUint()));
- // Make sure scaler is cancelled (just in case!)
- iViewer->ClearVFScalingTargetSize();
- iViewer->DecreaseDataConsumer();
- iViewer->SetVFStop();
- // No double stopping..
- if( iVFState != EVFStopped )
- {
- iVFState = EVFStopped;
- iVFTimer->Cancel();
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StopViewFinder() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ViewFinderActive() const
-// -----------------------------------------------------------------------------
-//
-TBool CVSStillImageDataProvider::ViewFinderActive() const
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ViewFinderActive() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ViewFinderActive() <<"), RThread().Id().operator TUint()));
- return ( iVFState == EVFPlaying );
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StartViewFinderDirectL(
-// RWsSession& /*aWs*/, CWsScreenDevice& /*aScreenDevice*/,
-// RWindowBase& /*aWindow*/, TRect& /*aScreenRect*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StartViewFinderDirectL(
- RWsSession& /*aWs*/,
- CWsScreenDevice& /*aScreenDevice*/,
- RWindowBase& /*aWindow*/,
- TRect& /*aScreenRect*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderDirectL() >>"), RThread().Id().operator TUint()));
- User::Leave(KErrNotSupported);
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderDirectL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StartViewFinderDirectL(
-// RWsSession& /*aWs*/, CWsScreenDevice& /*aScreenDevice*/,
-// RWindowBase& /*aWindow*/, TRect& /*aScreenRect*/, TRect& /*aClipRect*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StartViewFinderDirectL(
- RWsSession& /*aWs*/,
- CWsScreenDevice& /*aScreenDevice*/,
- RWindowBase& /*aWindow*/,
- TRect& /*aScreenRect*/,
- TRect& /*aClipRect*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderDirectL() >>"), RThread().Id().operator TUint()));
- User::Leave(KErrNotSupported);
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderDirectL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ProviderInfo( TVSDataProviderInfo& aInfo )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ProviderInfo( TVSDataProviderInfo& aInfo )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ProviderInfo() >>"), RThread().Id().operator TUint()));
- Mem::FillZ( &aInfo, sizeof( aInfo ) );
- aInfo.iHardwareVersion = TVersion( 0, 0, 0 );
- aInfo.iSoftwareVersion = TVersion( 0, 0, 0 );
- aInfo.iOrientation = TCameraInfo::EOrientationUnknown;
- aInfo.iOptionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
- TCameraInfo::EVideoCaptureSupported;
- aInfo.iFlashModesSupported = CCamera::EFlashNone;
- aInfo.iExposureModesSupported = CCamera::EExposureAuto;
- aInfo.iWhiteBalanceModesSupported = CCamera::EWBAuto;
- aInfo.iMinZoom = KMinZoom;
- aInfo.iMaxZoom = KMaxZoom;
- aInfo.iMaxDigitalZoom = KMaxDigitalZoom;
- aInfo.iMinZoomFactor = KMinZoomFactor;
- aInfo.iMaxZoomFactor = KMaxZoomFactor;
- aInfo.iMaxDigitalZoomFactor = KMaxDigitalZoomFactor;
- aInfo.iImageFormatsSupported = CCamera::EFormatFbsBitmapColor64K |
- CCamera::EFormatFbsBitmapColor16M;
- aInfo.iNumVideoFrameSizesSupported = KNumVideoSizesSupported;
- aInfo.iNumVideoFrameSizesSupported = KNumVideoFrameSizesSupported;
- aInfo.iNumVideoFrameRatesSupported = KNumVideoFrameRatesSupported;
- aInfo.iVideoFrameFormatsSupported = CCamera::EFormatYUV420Planar;
- aInfo.iMaxFramesPerBufferSupported = KMaxFramesPerBufferSupported;
- aInfo.iFreezeSupported = EFalse;
-
- aInfo.iSupportedColorTones =
- CCamera::CCameraImageProcessing::EEffectNone;
-
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ProviderInfo() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetViewFinderMirrorL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetViewFinderMirrorL( TBool /*aMirror*/ )
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ViewFinderMirror
-// -----------------------------------------------------------------------------
-//
-TBool CVSStillImageDataProvider::ViewFinderMirror() const
- {
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::FreezeL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::FreezeL()
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::UnfreezeL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::UnfreezeL()
- {
- User::Leave( KErrNotSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::IsFrozen
-// -----------------------------------------------------------------------------
-//
-TBool CVSStillImageDataProvider::IsFrozen() const
- {
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::PrimeL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::PrimeL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::PrimeL() &%x >>"), RThread().Id().operator TUint(), this));
- SourcePrimeL();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::PrimeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::FillBufferL(
-// CMMFBuffer* aBuffer, MVTVideoSink* aConsumer, TMediaId aMediaId )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::FillBufferL(
- CMMFBuffer* /*aBuffer*/,
- MVTVideoSink* /*aConsumer*/,
- TMediaId /*aMediaId*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::FillBufferL() &%x >>"), RThread().Id().operator TUint(),this));
- if ( iPSState != EPSPlaying )
- {
- User::Leave( KErrNotReady );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::FillBufferL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::BufferEmptiedL( CMMFBuffer* /*aBuffer*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::BufferEmptiedL( CMMFBuffer* /*aBuffer*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::BufferEmptiedL() >>"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::BufferEmptiedL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourceThreadLogon(
-// MAsyncEventHandler& /*aEventHandler*/ )
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::SourceThreadLogon(
- MAsyncEventHandler& /*aEventHandler*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceThreadLogon() &%x >>"), RThread().Id().operator TUint(),this));
- __ASSERT_DEBUG( iPSState > EPSUninitialized,
- Panic( EVSPanicProviderNotReady ) );
- TRAPD( err, CreateProtoTimerL() );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceThreadLogon() <<"), RThread().Id().operator TUint()));
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourceThreadLogoff()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourceThreadLogoff()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceThreadLogoff() &%x >>"), RThread().Id().operator TUint(),this));
- ReleaseProtoTimer();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceThreadLogoff() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourcePrimeL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourcePrimeL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePrimeL() &%x >>"), RThread().Id().operator TUint(),this));
- iPSState = EPSPrimed;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePrimeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourcePlayL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourcePlayL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePlayL() &%x >>"), RThread().Id().operator TUint(),this));
- iPSState = EPSPlaying;
- iFrameCount = 0;
- ResetStartTime();
- iViewer->IncreaseDataConsumer();
- iProtoTimer->After( iProtoUpdateRate, &CVSStillImageDataProvider::ProtoTimer );
- iViewer->NextFrame();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePlayL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourcePauseL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourcePauseL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePauseL() &%x >>"), RThread().Id().operator TUint(),this));
- if ( iProtoTimer != NULL )
- {
- iProtoTimer->Cancel();
- }
- iPSState = EPSPrimed;
- iViewer->DecreaseDataConsumer();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePauseL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourceStopL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourceStopL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceStopL() &%x >>"), RThread().Id().operator TUint(),this));
- if ( iProtoTimer != NULL )
- {
- iProtoTimer->Cancel();
- }
- iPSState = EPSStopped;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceStopL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetFormatL( const TDesC8& aFormat )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetFormatL( const TDesC8& aFormat )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetFormatL() &%x >>"), RThread().Id().operator TUint(),this));
- if ( aFormat != KVtVideoMIMETypeYUV420 )
- {
- User::Leave( KErrNotSupported );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetFormatL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetFrameRateL( TReal32 aFrameRate )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetFrameRateL( TReal32 aFrameRate )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetFrameRateL() &%x >>"), RThread().Id().operator TUint(),this));
- if ( aFrameRate != KFrameRate )
- {
- User::Leave( KErrNotSupported );
- }
- iProtoUpdateRate = static_cast<TInt>( 1000000.0 / aFrameRate );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetFrameRateL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetVideoFrameSizeL( const TSize& aSize )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetVideoFrameSizeL( const TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetVideoFrameSizeL() &%x >>"), RThread().Id().operator TUint(),this));
- if( aSize != TSize( KQcifWidth, KQcifHeight ) )
- {
- User::Leave( KErrNotSupported );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetVideoFrameSizeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetVideoFrameSizeL( TSize& aSize ) const
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::GetVideoFrameSizeL( TSize& aSize ) const
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::GetVideoFrameSizeL() &%x >>"), RThread().Id().operator TUint(),this));
- aSize = TSize( KQcifWidth, KQcifHeight );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::GetVideoFrameSizeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::VFTimer()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::VFTimer()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::VFTimer() >>"), RThread().Id().operator TUint()));
- if( iVFState == EVFPlaying )
- {
- Observer().vsViewFinderFrameReady( iVFBitmap->Bitmap() );
- iVFTimer->After( KVSViewFinderUpdateRate, &CVSStillImageDataProvider::VFTimer );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::VFTimer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ProtoTimer()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ProtoTimer()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer() this %x >>"), RThread().Id().operator TUint(), this));
- iFrameCount++;
- CVSMMFDataBuffer* buffer = NULL;
- TRAPD( err, buffer = BufferPool().GetBufferL( ETrue ) );
- if ( err != KErrNone )
- {
- NotifyError( err );
- }
- if( buffer )
- {
- buffer->SetFrameNumber( iFrameCount );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer(): iFrameCount %d"), RThread().Id().operator TUint(), iFrameCount));
- buffer->SetTimeToPlay( TimeToPlay() );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer(): SetTimeToPlay() = $%08x:$%08x"), RThread().Id().operator TUint(), I64HIGH( buffer->TimeToPlay().Int64() ), I64LOW( buffer->TimeToPlay().Int64() ) ));
- iFreezeCS.Wait();
- buffer->Data() = *iYUVBuffer;
- iFreezeCS.Signal();
- TRAPD( err, Consumer()->BufferFilledL( buffer ) );
- if( err != KErrNone )
- {
- TInt leaveCode = KErrNone;
- TRAP( leaveCode, BufferPool().FreeBufferL( buffer ) );
- NotifyError( err );
- }
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer(): GetBufferL() returned NULL"), RThread().Id().operator TUint()));
- }
- // Just to make sure that we're actually playing. We also check that
- // iProtoTimer still exists BECAUSE BufferFilledL() may call
- // SourceThreadLogoff() if a switch is pending
- if( iProtoTimer && ( iPSState == EPSPlaying ) )
- {
- iProtoTimer->After( iProtoUpdateRate, &ProtoTimer );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer() this %x <<"), RThread().Id().operator TUint(), this));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CreateProtoTimerL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::CreateProtoTimerL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::CreateProtoTimerL() >>"), RThread().Id().operator TUint()));
- iProtoTimer = CVSFrameRateTimer::NewL( this );
- CActiveScheduler::Add( iProtoTimer );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::CreateProtoTimerL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ReleaseProtoTimer()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ReleaseProtoTimer()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ReleaseProtoTimer() >>"), RThread().Id().operator TUint()));
- delete iProtoTimer;
- iProtoTimer = 0;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ReleaseProtoTimer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CreateYUVDataL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::CreateYUVDataL()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::CreateYUVDataL() this %x >>"), RThread().Id().operator TUint(), this));
- CVSFbsBitmapIYUVConverter* conv =
- CVSFbsBitmapIYUVConverter::NewL( iYUVBitMap->Bitmap() );
- CleanupStack::PushL( conv );
- conv->ProcessL();
- iFreezeCS.Wait();
- ReleaseYUVData();
- iYUVBuffer = conv->YUVData().AllocL();
- iFreezeCS.Signal();
- CleanupStack::PopAndDestroy(); // conv
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::CreateYUVDataL() iYUVBuffer %x <<"), RThread().Id().operator TUint(), iYUVBuffer));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ReleaseYUVData()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ReleaseYUVData()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ReleaseYUVData() >>"), RThread().Id().operator TUint()));
- delete iYUVBuffer;
- iYUVBuffer = 0;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ReleaseYUVData() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CVSStillImageDataProvider(
-// MVSDataProviderObserver* aObserver )
-// -----------------------------------------------------------------------------
-//
-CVSStillImageDataProvider::CVSStillImageDataProvider(
- MVSDataProviderObserver* aObserver,
- MVSBufferPool* aPool ) :
- CVSDataProvider( aObserver, aPool ), iProtoUpdateRate( 1000000.0 / KFrameRate )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CVSStillImageDataProvider() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CVSStillImageDataProvider() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ConstructL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ConstructL() this %x >>"), RThread().Id().operator TUint(), this));
- CVSDataProvider::ConstructL();
- User::LeaveIfError( iFs.Connect() );
- RWsSession wsSession;
- User::LeaveIfError( wsSession.Connect() );
- CleanupClosePushL( wsSession );
- CWsScreenDevice* wsScreenDevice = new ( ELeave ) CWsScreenDevice( wsSession );
- CleanupStack::PushL( wsScreenDevice );
- User::LeaveIfError( wsScreenDevice->Construct() );
- iDisplayMode = wsScreenDevice->DisplayMode();/* = EColor16MU;*/
- CleanupStack::PopAndDestroy( 2 ); // wsSession, wsScreenDevice
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ConstructL() this %x <<"), RThread().Id().operator TUint(), this));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetVideoFrameSize(
-// TSize& aSize, TInt /*aSizeIndex*/, const TDesC8& aFormat )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::GetVideoFrameSize(
- TSize& aSize,
- TInt /*aSizeIndex*/,
- const TDesC8& aFormat )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GetVideoFrameSize() >>"), RThread().Id().operator TUint()));
- if ( aFormat == KVtVideoMIMETypeYUV420 )
- {
- aSize.SetSize( KQcifWidth, KQcifHeight );
- }
- else
- {
- aSize.SetSize( 0, 0 );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GetVideoFrameSize() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetVideoFrameRate(
-// TReal32& aRate, TInt /*aRateIndex*/, const TDesC8& aFormat,
-// const TSize& aSize )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::GetVideoFrameRate(
- TReal32& aRate,
- TInt /*aRateIndex*/,
- const TDesC8& aFormat,
- const TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GetVideoFrameRate() >>"), RThread().Id().operator TUint()));
- if ( aFormat == KVtVideoMIMETypeYUV420 &&
- aSize == TSize( KQcifWidth, KQcifHeight ) )
- {
- aRate = KFrameRate;
- }
- else
- {
- aRate = 0.0;
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GetVideoFrameRate() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::DisplayMode
-// -----------------------------------------------------------------------------
-//
-TDisplayMode CVSStillImageDataProvider::DisplayMode() const
- {
-#ifdef _DEBUG
- TUint threadId( RThread().Id() );
- switch( iDisplayMode )
- {
- case EColor4K:
- RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = EColor4K" ), threadId );
- break;
- case EColor64K:
- RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = EColor64K" ), threadId );
- break;
- case EColor16M:
- RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = EColor16M" ), threadId );
- break;
- case EColor16MU:
- RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = EColor16MU" ), threadId );
- break;
- default:
- RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = %d" ), threadId, iDisplayMode );
- break;
- }
-#endif // _DEBUG
- return iDisplayMode;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetContrastL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetContrastL(TInt /*aContrast*/)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]:CVSStillImageDataProvider::SetContrastL() LEAVE"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetContrast
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::GetContrast(TInt& /*aContrast*/) const
- {
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetBrightnessL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetBrightnessL(TInt /*aBrightness*/)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]:CVSStillImageDataProvider::SetBrightnessL() LEAVE"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetBrightness
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::GetBrightness(TInt& /*aBrightness*/ ) const
- {
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetWhiteBalanceL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetWhiteBalanceL( CCamera::TWhiteBalance /*aWhiteBalance*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SetWhiteBalanceL() LEAVE"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetWhiteBalance
-// -----------------------------------------------------------------------------
-//
- TInt CVSStillImageDataProvider::GetWhiteBalance(CCamera::TWhiteBalance& /*aWhiteBalance*/) const
- {
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetColorToneL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetColorToneL( CCamera::CCameraImageProcessing::TEffect /*aValue*/ )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SetColorToneL() LEAVE"), RThread().Id().operator TUint()));
- User::Leave( KErrNotSupported );
- }
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetColorTone
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::GetColorTone( CCamera::CCameraImageProcessing::TEffect& /*aColorTone*/ ) const
- {
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::InitializeReady
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::InitializeReady()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::InitializeReady()>> "), RThread().Id().operator TUint()));
- if ( EPSUndoInitializing == iPSState )
- {
- NotifyError(KErrCancel);
- UndoCommonInitialized();
- iPSState = EPSUninitialized;
- }
- else
- {
- iPSState = EPSStopped;
- Observer().vsProviderReady();
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::InitializeReady()<< "), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::RefreshYUVData
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::RefreshYUVData( TImageShareDataBuffer& aYUVBitMap )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshYUVData()>> "), RThread().Id().operator TUint()));
- iYUVBitMap = aYUVBitMap.iBitmap;
- //Create YUV buffer only in play state
- TRAP_IGNORE ( CreateYUVDataL() );
- aYUVBitMap.iIsBitmapFree = ETrue;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshYUVData()<< "), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::RefreshViewFinder
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::RefreshViewFinder( TImageShareDataBuffer& aVFBitMap )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshViewFinder()>> "), RThread().Id().operator TUint()));
- iVFBitmap = aVFBitMap.iBitmap;
- aVFBitMap.iIsBitmapFree = ETrue;
- // Allow VF refresh only if size is what
- // has beed aquired and play state is on
- if ( ( iTargetSize == iVFBitmap->Size() ) && ( iVFState == EVFPlaying ) )
- {
- iVFTimer->After( 1, &VFTimer );
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshViewFinder() conditon doesn't match, iVFState[%d] "), RThread().Id().operator TUint(), iVFState));
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshViewFinder()<< "), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::NotifyImageHandlingError
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::NotifyImageHandlingError( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::NotifyImageHandlingError()>> "), RThread().Id().operator TUint()));
- NotifyError( aError );
- if ( ( KErrCancel == aError ) && ( EPSUndoInitializing == iPSState ) )
- {
- UndoCommonInitialized();
- iPSState = EPSUninitialized;
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::NotifyImageHandlingError()<< "), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CancelInitializing
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::CancelInitializing()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CancelInitializing()>> "), RThread().Id().operator TUint()));
- if ( iPSState != EPSInitializing )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CancelInitializing(), iPSState is not valid,%d>> "), RThread().Id().operator TUint(), iPSState));
- return;
- }
-
- if ( iInitType != TVSStillImageDataProviderParams::EInitializeFromFile )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CancelInitializing(), iInitType is not valid,%d>> "), RThread().Id().operator TUint(), iInitType));
- return;
- }
- if ( iViewer->CancelInitializing() )
- {
- // In this condition, convert was cancelled , no any message will receive from multiframe provider,
- // so delete multiFrame provider, and change IPSState, NotifyError to VT Engine
- NotifyError(KErrCancel);
- UndoCommonInitialized();
- iPSState = EPSUninitialized;
- }
- else
- {
- // In this condition, cnverting is finished, and Scale will cancel(CVtImageScaler->Cancel()), but in CVtImageScaler::DoCancel(),
- // there is a error notify exist, so we must wait the error message from multiframe provider,
- // we change the iPSState to EPSUndoInitializing for waiting error message.
- // Error message will be received in function CVSStillImageDataProvider::NotifyImageHandlingError
- iPSState = EPSUndoInitializing;
- }
-
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CancelInitializing()<< "), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::UndoCommonInitialized
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::UndoCommonInitialized()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::UndoCommonInitialized()>> "), RThread().Id().operator TUint()));
-
- iFreezeCS.Close();
- if ( NULL != iVFTimer )
- {
- iVFTimer->Cancel();
- }
-
- delete iViewer;
- iViewer = NULL;
-
- delete iActiveWait;
- iActiveWait = NULL;
-
- delete iVFTimer;
- iVFTimer = NULL;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::UndoCommonInitialized()<< "), RThread().Id().operator TUint()));
-
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/cactivewait.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cactivewait.h"
-
-const TInt KFirstFrameIndx = 0;
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ CVSActiveWait ===============================
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::~CVSActiveWait()
-// -----------------------------------------------------------------------------
-//
-template <class R>
-CVSActiveWait< R >::~CVSActiveWait()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::~CVSActiveWait() >>"), RThread().Id().operator TUint()));
- Cancel();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::~CVSActiveWait() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::RequestStatus()
-// -----------------------------------------------------------------------------
-//
-template <class R>
-TRequestStatus* CVSActiveWait< R >::RequestStatus()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::RequestStatus() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::RequestStatus() <<"), RThread().Id().operator TUint()));
- return &iStatus;
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::Signal( TInt aError )
-// -----------------------------------------------------------------------------
-//
-template <class R>
-void CVSActiveWait< R >::Signal( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::Signal() >>"), RThread().Id().operator TUint()));
- if( IsActive() )
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, aError );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::Signal() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::RunL()
-// -----------------------------------------------------------------------------
-//
-template <class R>
-void CVSActiveWait< R >::RunL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::RunL() >>"), RThread().Id().operator TUint()));
- (iRequester->*iCallback)( iStatus.Int() );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::RunL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CVSActiveWait::DoCancel()
-// -----------------------------------------------------------------------------
-//
-template <class R>
-void CVSActiveWait< R >::DoCancel()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::DoCancel() >>"), RThread().Id().operator TUint()));
- TRequestStatus* pStatus = &iStatus;
- User::RequestComplete( pStatus, KErrCancel );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CVSActiveWait::DoCancel() <<"), RThread().Id().operator TUint()));
- }
-
-
\ No newline at end of file
--- a/vtprotocolplugins/VideoSource/src/cmultiframedataao.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cmultiframedataao.h"
-#include "mmultiframeprovider.h"
-#include "cmultiframeprovider.h"
-#include "VSPanic.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-// ============================ CMultiframeDataAO ===============================
-
-// -----------------------------------------------------------------------------
-// CMultiframeDataAO::CMultiframeDataAO( CMultiframeProvider* aRequester )
-// -----------------------------------------------------------------------------
-//
-CMultiframeDataAO::CMultiframeDataAO( CMultiframeProvider* aRequester )
-: CTimer( EPriorityHigh ), iRequester( aRequester )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::CMultiframeDataAO() >>"), RThread().Id().operator TUint()));
- RThread me;
- iThreadId = me.Id();
- CActiveScheduler::Add( this );
- TRAP_IGNORE(CTimer::ConstructL());
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::CMultiframeDataAO() <<"), RThread().Id().operator TUint()));
- }
-// -----------------------------------------------------------------------------
-// CMultiframeDataAO::SetObserver( MMultiframeprovider* aObserever )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeDataAO::SetObserver( MMultiframeprovider* aObserver )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::SetObserver() >>"), RThread().Id().operator TUint()));
- iObserver = aObserver;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::SetObserver() <<"), RThread().Id().operator TUint()));
- }
-// -----------------------------------------------------------------------------
-// CMultiframeDataAO::~CMultiframeDataAO()
-// -----------------------------------------------------------------------------
-//
-CMultiframeDataAO::~CMultiframeDataAO()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::~CMultiframeDataAO() >>"), RThread().Id().operator TUint()));
- Cancel();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::~CMultiframeDataAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeDataAO::Activate( )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeDataAO::Activate( TTimeIntervalMicroSeconds aUpdateTime, TBool aInit, TBool aVFUpdate )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::Activate() >>"), RThread().Id().operator TUint()));
-
- TTimeIntervalMicroSeconds32 time = aUpdateTime.Int64();
- iInit = aInit;
- iVFUpdate = aVFUpdate;
- if ( !IsActive() )
- {
- CTimer::After( time );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::Activate() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeDataAO::LocalBuffer( )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeDataAO::LocalBuffer( CVtImageBitmap* aLocalBuffer )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::LocalBuffer() >>"), RThread().Id().operator TUint()));
- iLocalBuffer.iBitmap = aLocalBuffer;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::LocalBuffer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeDataAO::RemoteBuffer( )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeDataAO::RemoteBuffer( CVtImageBitmap* aRemoteBuffer )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::RemoteBuffer() >>"), RThread().Id().operator TUint()));
- iRemoteBuffer.iBitmap = aRemoteBuffer;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::RemoteBuffer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeDataAO::RunL()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeDataAO::RunL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::RunL() >>"), RThread().Id().operator TUint()));
-
- //stop loop ao
- if (iRequireStopping)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::RunL() cancel by flag"), RThread().Id().operator TUint()));
- iRequireStopping = EFalse;
- return;
- }
-
- if ( !iVFUpdate )
- {
- iObserver->RefreshYUVData( iRemoteBuffer );
- }
- iObserver->RefreshViewFinder( iLocalBuffer );
- iRequester->UseSecondVfBuffer();
- if ( iInit )
- {
- iObserver->InitializeReady();
- }
- if ( !iVFUpdate )
- {
- iRequester->AddBitmapToFreeQueue();
- }
- if ( !iInit && !iVFUpdate )
- {
- iRequester->NextFrame();
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::RunL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeDataAO::CancelTimeLoop()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeDataAO::CancelTimeLoop()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::CancelTimeLoop >>"), RThread().Id().operator TUint()));
- if ( IsActive() )
- {
- if ( iStatus == KRequestPending )
- {
- RThread me;
- if ( me.Id() == iThreadId )
- {
- Cancel();
- iRequireStopping = EFalse;
- }
- else
- {
- iRequireStopping = ETrue;
- }
- }
- else
- {
- iRequireStopping = ETrue;
- }
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeDataAO::CancelTimeLoop <<"), RThread().Id().operator TUint()));
- }
-
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/cmultiframeloopao.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cmultiframeloopao.h"
-#include "cmultiframeprovider.h"
-#include "VSPanic.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-// ============================ CMultiframeloopAO ===============================
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::CMultiframeloopAO( CMultiframeProvider* aRequester )
-// -----------------------------------------------------------------------------
-//
-CMultiframeloopAO::CMultiframeloopAO( CMultiframeProvider* aRequester )
-: CActive( EPriorityLow ), iRequester( aRequester ), iFreeBMCount(0), iRequireStopping(EFalse)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::CMultiframeloopAO() >>"), RThread().Id().operator TUint()));
- RThread me;
- iThreadId = me.Id();
- CActiveScheduler::Add( this );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::CMultiframeloopAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::~CMultiframeloopAO()
-// -----------------------------------------------------------------------------
-//
-CMultiframeloopAO::~CMultiframeloopAO()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::~CMultiframeloopAO() >>"), RThread().Id().operator TUint()));
- Cancel();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::~CMultiframeloopAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::Signal( )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::Signal( )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::Signal() >>"), RThread().Id().operator TUint()));
- iRequester->iAnimation = ETrue;
- if ( !IsActive() )
- {
- SetActive();
- TRequestStatus* pStatus = &iStatus;
- RThread me;
- if ( me.Id() == iThreadId )
- {
- User::RequestComplete( pStatus, KErrNone );
- }
- else
- {
- if ( me.Open( iThreadId ) == KErrNone )
- {
- *pStatus = KRequestPending;
- me.RequestComplete( pStatus, KErrNone );
- me.Close();
- }
- else
- {
- Panic( EVSPanicThreadOpenFailure );
- }
- }
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::Signal() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::RunL()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::RunL()
- {
- iRequester->WaitForConverting();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() >>"), RThread().Id().operator TUint()));
-
- //stop loop ao
- if (iRequireStopping)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() CANCEL CALLED,stop by flag"), RThread().Id().operator TUint()));
- iRequireStopping = EFalse;
- iRequester->ReleaseForConverting();
- return;
- }
-
- // Cancel is handled in this way because
- if ( iStatus == KErrCancel)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() CANCEL CALLED IN PROTO THREAD STOP LOOPPING"), RThread().Id().operator TUint()));
- iRequester->ReleaseForConverting();
- return;
- }
-
- //If free bitmaps proceed next frame
- if ( iFreeBMCount > 0 )
- {
- ++iIndex;
- // Loop animation starting from first frame
- if ( iIndex > iFramecount - 1 )
- {
- iIndex = KFirstFrameIndx;
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() RunL index %d"), RThread().Id().operator TUint(), iIndex));
- iRequester->ConvertAndScaleL( iIndex );
- }
- //Wait until free bitmaps to proceed
- else
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() NO FREE BMs"), RThread().Id().operator TUint()));
- iStatus = KRequestPending;
- SetActive();
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() <<"), RThread().Id().operator TUint()));
- iRequester->ReleaseForConverting();
- }
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::RemoveFreeBitmaps()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::RemoveFreeBitmaps( TInt aCount )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RemoveFreeBitmaps() >>"), RThread().Id().operator TUint()));
- iFreeBMCount = iFreeBMCount - aCount;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RemoveFreeBitmaps() frames %d <<"), RThread().Id().operator TUint(), aCount));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::SetFreeBitmaps()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::SetFreeBitmaps( TInt aCount )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::SetFreeBitmaps() >>"), RThread().Id().operator TUint()));
- iFreeBMCount = iFreeBMCount + aCount;
- if ( IsActive() && iStatus == KRequestPending)
- {
- TRequestStatus* pStatus = &iStatus;
- User::RequestComplete( pStatus, KErrNone );
- }
-
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::SetFreeBitmaps() frames %d <<"), RThread().Id().operator TUint(), aCount));
- }
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::SetFrameCount()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::SetFrameCount( TInt aCount )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::SetFrameCount() >>"), RThread().Id().operator TUint()));
- iFramecount = aCount;
- iIndex = 0;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::SetFrameCount() frames %d <<"), RThread().Id().operator TUint(), aCount));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::CancelDataLoop()
-// -----------------------------------------------------------------------------
-//
- void CMultiframeloopAO::CancelDataLoop()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::CancelDataLoop() >>"), RThread().Id().operator TUint()));
- if ( IsActive() )
- {
- if ( iStatus == KRequestPending )
- {
- RThread me;
- if ( me.Id() == iThreadId )
- {
- Cancel();
- }
- else
- {
- if ( me.Open( iThreadId ) == KErrNone )
- {
- TRequestStatus* pStatus = &iStatus;
- *pStatus = KRequestPending;
- me.RequestComplete( pStatus, KErrCancel );
- me.Close();
- }
- else
- {
- Panic( EVSPanicThreadOpenFailure );
- }
- }
- }
- else
- {
- iRequireStopping = ETrue;
- }
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::CancelDataLoop() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::DoCancel()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::DoCancel()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::DoCancel() >>"), RThread().Id().operator TUint()));
- if ( iStatus == KRequestPending )
- {
- TRequestStatus* pStatus = &iStatus;
- User::RequestComplete( pStatus, KErrCancel );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::DoCancel() <<"), RThread().Id().operator TUint()));
- }
-
-// End of File
--- a/vtprotocolplugins/VideoSource/src/cmultiframeprovider.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1019 +0,0 @@
-/*
-* 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: Video Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-#include <imageconversion.h>
-#include <cvtimageconverter.h>
-#include <RPhCltServer.h>
-#include <cphcltimagehandler.h>
-#include <bautils.h>
-
-#include "cmultiframeprovider.h"
-#include "cmultiframeloopao.h"
-#include "cmultiframedataao.h"
-
-#include "CVSStillImageDataProvider.h"
-#include "cvtimagebitmap.h"
-
-static const TInt KQcifWidth = 176;
-static const TInt KQcifHeight = 144;
-
-// Default bitmap size is VGA
-static const TInt KDefaultBitmapSizeWidth = 640;
-static const TInt KDefaultBitmapSizeHeight = 480;
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// ============================ TScalingMediator ===============================
-
-// -----------------------------------------------------------------------------
-// TScalingMediator::TScalingMediator( )
-// -----------------------------------------------------------------------------
-//
-TScalingMediator::TScalingMediator()
- {
- }
-
-// -----------------------------------------------------------------------------
-// TScalingMediator::ScalingFinished( )
-// -----------------------------------------------------------------------------
-//
-void TScalingMediator::ScalingFinished( TInt aError )
- {
- __IF_DEBUG(Print(_L("TScalingMediator::ScalingFinished() >>")));
- iWait->Signal( aError );
- __IF_DEBUG(Print(_L("TScalingMediator::ScalingFinished() error %d <<"), aError));
- }
-// -----------------------------------------------------------------------------
-// TScalingMediator::ScalingFinished( )
-// -----------------------------------------------------------------------------
-//
-void TScalingMediator::SetWaiter( CVSActiveWait< CMultiframeProvider >* aWait )
- {
- iWait = aWait;
- }
-
-// ============================ CMultiframeProvider ===============================
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::NewL( )
-// -----------------------------------------------------------------------------
-//
-CMultiframeProvider* CMultiframeProvider::NewL( MMultiframeprovider* aObserver, TDisplayMode aDisplayMode )
- {
- __IF_DEBUG(Print(_L("VideoSource: [%d] CMultiframeProvider::NewL() >>"), RThread().Id().operator TUint()));
- CMultiframeProvider* self =
- new (ELeave) CMultiframeProvider( aObserver, aDisplayMode );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- __IF_DEBUG(Print(_L("VideoSource: [%d] CMultiframeProvider::NewL() <<"), RThread().Id().operator TUint()));
- return self;
- }
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::CMultiframeProvider(
-// MVSDataProviderObserver* aObserver )
-// -----------------------------------------------------------------------------
-//
-CMultiframeProvider::CMultiframeProvider(
- MMultiframeprovider* aObserver , TDisplayMode aDisplayMode ): iDisplayMode( aDisplayMode ), iObserver( aObserver ), iBlank( EFalse ), iGSImage( EFalse )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::CMultiframeProvider() >>"), RThread().Id().operator TUint()));
- //Set target VF size QCIF as default
- iTargetSize.SetSize( KQcifWidth , KQcifHeight );
- iVFSize.SetSize( KQcifWidth , KQcifHeight );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::CMultiframeProvider() <<"), RThread().Id().operator TUint()));
- }
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::~CMultiframeProvider()
-// -----------------------------------------------------------------------------
-//
-CMultiframeProvider::~CMultiframeProvider()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::~CMultiframeProvider() >>"), RThread().Id().operator TUint()));
- iFs.Close();
- iFreezeCS.Close();
- delete iImageDecoder; iImageDecoder = 0;
- delete iVtImageScalerInit;
- delete iVtImageScalerScale;
- delete iActiveWaitInit;
- delete iActiveWaitScale;
- delete iActiveWaitInitScale;
- delete iConverted;
- delete iMask;
- delete iTempBM;
- delete iDataTimer;
- delete iLoopAo;
- if ( iScaled != iBuffer1 && iScaled != iBuffer2 )
- {
- delete iScaled;
- }
- delete iGSBitmap;
- if ( !iBlank || !iGSImage )
- {
- delete iBuffer1;
- delete iBuffer2;
- }
- delete iFirstVfBuf;
- delete iSecondVfBuf;
- iFreeQueue.Close();
- iDefaultImageFile.Close();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::~CMultiframeProvider() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::ConstructL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ConstructL() >>"), RThread().Id().operator TUint()));
- User::LeaveIfError( iFs.Connect() );
- User::LeaveIfError( iFreezeCS.CreateLocal() );
-
- // Create waiters and mediators for scaling purposes
- iActiveWaitInit = new (ELeave) CVSActiveWait< CMultiframeProvider >( this );
- iActiveWaitScale = new (ELeave) CVSActiveWait< CMultiframeProvider >( this );
- iActiveWaitInitScale = new (ELeave) CVSActiveWait< CMultiframeProvider >( this );
- iInitMediator.SetWaiter( iActiveWaitInitScale );
- iScalingMediator.SetWaiter( iActiveWaitScale );
- iVtImageScalerInit = CVtImageScaler::NewL( iInitMediator, CVtImageScaler::EBilinear );
- iVtImageScalerScale = CVtImageScaler::NewL( iScalingMediator, CVtImageScaler::EBilinear );
- iDataTimer = new (ELeave) CMultiframeDataAO( this );
- iDataTimer->SetObserver( iObserver );
- iLoopAo = new (ELeave) CMultiframeloopAO( this );
- iFirstVfBuf = CVtImageBitmap::NewL( TSize( KQcifWidth >> 2, KQcifHeight >> 2 ), iDisplayMode );
- iSecondVfBuf = CVtImageBitmap::NewL( TSize( KQcifWidth >> 2, KQcifHeight >> 2 ), iDisplayMode );
- iSecondVFBuffer = EFalse;
- iFirstVFBuffer = ETrue;
- iIsVfStopped = EFalse;
- iWaitForConverting = EFalse;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ConstructL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::IniatializeGSL()
-//
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::IniatializeGSL( const TGeneralSettingsImageType aType )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::IniatializeGSL() >>"), RThread().Id().operator TUint()));
- if ( aType == EGSStillImage )
- {
- // Open connection to phone server
- RPhCltServer phoneClient;
- User::LeaveIfError( phoneClient.Connect() );
- CleanupClosePushL( phoneClient );
-
- CPhCltImageHandler* stillH = CPhCltImageHandler::NewL();
- CleanupStack::PushL( stillH );
-
- // Load images
- CPhCltImageParams* imageParams;
- imageParams = stillH->CPhCltBaseImageParamsL( EPhCltTypeVTStill );
- CleanupStack::PushL( imageParams );
- User::LeaveIfError( stillH->LoadImages( imageParams ) );
-
- // Duplicate to image
- if( imageParams->Count() > 0 )
- {
- __IF_DEBUG(Print(_L("iImageCount > 0")));
- iGSBitmap = CVtImageBitmap::NewL( imageParams->GetImageL( 0 ) );
- }
- else
- {
- __IF_DEBUG(Print(_L("iImageCount <= 0 -> User::Leave( KErrNotFound )")));
- User::Leave( KErrNotFound );
- }
- // Cleanup
- CleanupStack::PopAndDestroy( 3 ); // phoneClient, stillH, imageParams
- iScaled = CVtImageBitmap::NewL( TSize( KQcifWidth, KQcifHeight ), iDisplayMode );
-
- // If bitmap has different display mode than screen, then new bitmap
- // is created and image is converted to screen's display mode
- if ( iGSBitmap->Bitmap().DisplayMode() != iDisplayMode ||
- iGSBitmap->Bitmap().ExtendedBitmapType() != KNullUid )
- {
- CVtImageBitmap* temp = CVtImageBitmap::NewL(
- iGSBitmap->Bitmap().SizeInPixels(), iDisplayMode );
- CleanupStack::PushL( temp );
- // Color conversion is done by blitting it to other bitmap
- CFbsBitmapDevice* fbd = CFbsBitmapDevice::NewL( &temp->Bitmap() );
- CleanupStack::PushL( fbd );
- CFbsBitGc* fgc = NULL;
- User::LeaveIfError( fbd->CreateContext( fgc ) );
- CleanupStack::PushL( fgc );
- fgc->BitBlt( TPoint(), &iGSBitmap->Bitmap() );
- CleanupStack::PopAndDestroy( 2 ); // fbd, fgc
- CleanupStack::Pop(); // temp
- delete iGSBitmap; iGSBitmap = NULL;
- iGSBitmap = temp;
- }
- iGSImage = ETrue;
- iCount = 1;
- iActiveWaitInit->InitializeWaiter( &ConversionFinished );
- iActiveWaitInit->Signal( KErrNone );
- }
- else
- { // default still image prepared by using file handle
- InitializeL( NULL );
- }
- iInitialization = ETrue;
- iDelay = 0;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::IniatializeGSL() <<"), RThread().Id().operator TUint()));
- }
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::IniatializeBlank()
-//
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::IniatializeBlankL()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::IniatializeBlank() >>"), RThread().Id().operator TUint()));
- iBlank = ETrue;
- iInitialization = ETrue;
- iDelay = 0;
- iCount = 1;
-
- CFbsBitmap* tempBitmap = 0;
-
- CreateBlankBitmapL(
- tempBitmap,
- TSize( KQcifWidth, KQcifHeight ),
- iDisplayMode,
-#ifdef _DEBUG
- KRgbYellow
-#else
- KRgbBlack
-#endif
- );
-
- CleanupStack::PushL( tempBitmap );
- iScaled = CVtImageBitmap::NewL( tempBitmap->Handle() );
- CleanupStack::PopAndDestroy(); // tempBitmap
- tempBitmap = 0;
-
- iActiveWaitInit->InitializeWaiter( &BMSScalingFinished );
- iActiveWaitInit->Signal( KErrNone );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::IniatializeBlank() <<"), RThread().Id().operator TUint()));
- }
- // -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CreateBlankBitmapL(
-// CFbsBitmap*& aBitmap, const TSize& aSize, const TDisplayMode& aMode,
-// const TRgb& aColor )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::CreateBlankBitmapL(
- CFbsBitmap*& aBitmap,
- const TSize& aSize,
- const TDisplayMode& aMode,
- const TRgb& aColor )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::CreateBlankBitmapL() >>"), RThread().Id().operator TUint()));
- if( aBitmap )
- {
- delete aBitmap;
- aBitmap = 0;
- }
- aBitmap = new (ELeave) CFbsBitmap();
- User::LeaveIfError( aBitmap->Create( aSize, aMode ) );
- CFbsBitmapDevice* fbd = CFbsBitmapDevice::NewL( aBitmap );
- CleanupStack::PushL( fbd );
- CFbsBitGc* fgc = 0;
- User::LeaveIfError( fbd->CreateContext( fgc ) );
- CleanupStack::PushL( fgc );
-
- fgc->SetPenColor( aColor );
- fgc->SetBrushColor( aColor );
- fgc->SetBrushStyle( CGraphicsContext::ESolidBrush );
- fgc->DrawRect( TRect( aSize ) );
-
- CleanupStack::PopAndDestroy( 2 ); // fbd, fgc
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::CreateBlankBitmapL() <<"), RThread().Id().operator TUint()));
- }
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::Iniatialize()
-//
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::InitializeL( const TFileName* aFileName )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::InitializeL() >>"), RThread().Id().operator TUint()));
- // Create bitmaps used for conversion and scaling
- iBuffer1 = CVtImageBitmap::NewL( TSize( KQcifWidth, KQcifHeight ), iDisplayMode );
- iBuffer2 = CVtImageBitmap::NewL( TSize( KQcifWidth, KQcifHeight ), iDisplayMode );
- User::LeaveIfError( iFreeQueue.Append( iBuffer1 ) );
- User::LeaveIfError( iFreeQueue.Append( iBuffer2 ) );
- iLoopAo->SetFreeBitmaps( 2 );
-
- // Create ICL decoder in its own thread for current file
- TInt decodingoptions(
- CImageDecoder::TOptions( CImageDecoder::EOptionAlwaysThread | CImageDecoder::EAllowGeneratedMask ) );
-
- if ( aFileName )
- {
- __IF_DEBUG(Print(_L(" file name exist, creating CImageDecoder")));
- iImageDecoder = CImageDecoder::FileNewL( iFs, *aFileName, (CImageDecoder::TOptions )decodingoptions /*CImageDecoder::EOptionNone*/ );
- }
- else
- {
- __IF_DEBUG(Print(_L(" default vt image file => use phone server")));
- // default VT image file handle obtained from phone server
- RPhCltServer phoneClient;
- User::LeaveIfError( phoneClient.Connect() );
- __IF_DEBUG(Print(_L(" connected to phone server")));
- CleanupClosePushL( phoneClient );
- CPhCltImageHandler* handler = CPhCltImageHandler::NewL();
- CleanupStack::PushL( handler );
- __IF_DEBUG(Print(_L(" created image handler")));
- User::LeaveIfError( handler->OpenDefaultVtImage( iDefaultImageFile ) );
- decodingoptions &= ~CImageDecoder::EOptionAlwaysThread;
- __IF_DEBUG(Print(_L(" creating image decoder")));
- iImageDecoder = CImageDecoder::FileNewL( iDefaultImageFile, ContentAccess::EPlay, (CImageDecoder::TOptions )decodingoptions );
- __IF_DEBUG(Print(_L(" created image decoder")));
- CleanupStack::PopAndDestroy( 2 ); // handler, phoneClient
- }
- // Use ICL to calculate frame count
- iCount = iImageDecoder->FrameCount();
- __IF_DEBUG(Print(_L(" frame count=%d"),iCount));
- //If advanced flags are on show only first frame!
- for ( TInt index = 0; index < iCount; ++index )
- {
- TFrameInfo frameInfo( iImageDecoder->FrameInfo( index ) );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::InitializeL() frameInfo.iFlags %b >>"), RThread().Id().operator TUint(), frameInfo.iFlags));
- if ( frameInfo.iFlags & TFrameInfo::ELeaveInPlace )
- {
- iDelay = 0;
- iCount = 1;
- }
- }
- //Set num of frames to viewer AO
- iLoopAo->SetFrameCount( iCount );
- //For default loopping frame sequence is disabled
- iAnimation = EFalse;
- iInitialization = ETrue;
- //Start ICL image conversion (decoding) and local scaling
- ConvertAndScaleL( KFirstFrameIndx );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::InitializeL() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::SetVFScalingTargetSize()
-//
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::SetVFScalingTargetSize( TSize aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::SetVFScalingTargetSize() >>"), RThread().Id().operator TUint()));
- iTargetSize = aSize;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::SetVFScalingTargetSize() W %d H %d <<"), RThread().Id().operator TUint(), aSize.iWidth , aSize.iHeight ));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::ConvertAndScaleL()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::ConvertAndScaleL( TInt aFrameIndex )
- {
- // Variables related to Bitmap size
- // calculation
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ConvertAndScale() aFrameIndex %d>>"), RThread().Id().operator TUint(),aFrameIndex));
- TSize convertedBitmapSize;
- TFrameInfo frameInfo( iImageDecoder->FrameInfo( aFrameIndex ) );
- if ( !iInitialization )
- {
- TInt delayindex;
- delayindex = aFrameIndex - 1;
- if ( delayindex < KFirstFrameIndx )
- {
- delayindex = ( iCount - 1 );
- }
- TFrameInfo delayframeInfo( iImageDecoder->FrameInfo( delayindex ) );
- iDelay = delayframeInfo.iDelay;
- }
- else
- {
- iDelay = 1;
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ConvertAndScale() iDelay %d>>"), RThread().Id().operator TUint(),iDelay.Int64() ));
-#ifdef _DEBUG
- TUint threadId( RThread().Id() );
- switch ( frameInfo.iFrameDisplayMode )
- {
- case EColor4K:
- RDebug::Print( _L( "VideoSource [%d]: FrameDPmode = EColor4K" ),
- threadId );
- break;
- case EColor64K:
- RDebug::Print( _L( "VideoSource [%d]: FrameDPmode = EColor64K" ),
- threadId );
- break;
- case EColor16M:
- RDebug::Print( _L( "VideoSource [%d]: FrameDPmode = EColor16M" ),
- threadId );
- break;
- case EColor16MU:
- RDebug::Print( _L( "VideoSource [%d]: FrameDPmode = EColor16MU" ),
- threadId );
- break;
- default:
- RDebug::Print( _L( "VideoSource [%d]: FrameDPmode = %d" ),
- threadId, frameInfo.iFrameDisplayMode );
- break;
- }
-
- RDebug::Print( _L( "VideoSource [%d]: CMultiframeProvider:: frameInfo.iFlags %d" ),
- threadId,frameInfo.iFlags );
-#endif // _DEBUG
-
- // Use imagedecoder to calculate how many times source picture needs to be divided by 2
- // to fit in default (VGA) picture
- TInt reductionfactor = iImageDecoder->ReductionFactor( frameInfo.iOverallSizeInPixels,
- TSize( KDefaultBitmapSizeWidth, KDefaultBitmapSizeHeight ) );
- if ( iImageDecoder->ReducedSize( frameInfo.iOverallSizeInPixels, reductionfactor, convertedBitmapSize ) )
- {
- convertedBitmapSize = frameInfo.iOverallSizeInPixels;
- }
-
-#ifdef _DEBUG
- RDebug::Print( _L( "VideoSource [%d]: convertedBitmapSize Width = %d convertedBitmapSize Height = %d" ),
- threadId, convertedBitmapSize.iWidth, convertedBitmapSize.iHeight );
-#endif // _DEBUG
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ConvertAndScale() iConverted"), RThread().Id().operator TUint()));
- iConverted = CVtImageBitmap::NewL( convertedBitmapSize, iDisplayMode );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ConvertAndScale() iConverted"), RThread().Id().operator TUint()));
-#ifdef _DEBUG
- RDebug::Print( _L( "VideoSource [%d]: convBitmap Width = %d convBitmap Height = %d" ),
- threadId, iConverted->Size().iWidth, iConverted->Size().iHeight );
-#endif // _DEBUG
-
- iStartTime.HomeTime();
- if ( iFreeQueue.Count() < 2 )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ConvertAndScale() iFreeQueue.Count() < 2 "), RThread().Id().operator TUint()));
- iOldBM = ETrue;
- iOldBitmap = iScaled;
- }
- iScaled = iFreeQueue[ 0 ];
- iFreeQueue.Remove( 0 );
- iLoopAo->RemoveFreeBitmaps( 1 );
- iActiveWaitInit->InitializeWaiter( &CMultiframeProvider::ConversionFinished );
- // Check if masking is supported
- if ( frameInfo.iFlags & TFrameInfo::ETransparencyPossible )
- {
- // Create mask for bitmap
- iMask = new ( ELeave )CFbsBitmap();
- User::LeaveIfError( iMask->Create( convertedBitmapSize, EGray256 ));
- iTempBM = CVtImageBitmap::NewL( convertedBitmapSize, iDisplayMode );
- iImageDecoder->Convert( iActiveWaitInit->RequestStatus(), iTempBM->Bitmap(), *iMask, aFrameIndex );
- }
- // No mask
- else
- {
- iImageDecoder->Convert( iActiveWaitInit->RequestStatus(), iConverted->Bitmap(), aFrameIndex );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ConvertAndScale() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::ConversionFinished( TInt aError )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::ConversionFinished( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ConversionFinished() >>"), RThread().Id().operator TUint()));
- if ( iCount == 1 || aError )
- {
- // delete decoder if not needed any more
- // 1) single frame image, no further frames to convert
- // 2) error occured, decoder won't be used anyway
- __IF_DEBUG(Print(_L(" single frame image => destruct iImageDecoder, err %d"), aError ) );
- delete iImageDecoder;
- iImageDecoder = NULL;
- }
- // no harm done if other than this used, handle would already be 0
- iDefaultImageFile.Close();
- if ( aError == KErrNone )
- {
- iActiveWaitInitScale->InitializeWaiter( &BMSScalingFinished );
- if ( iGSImage )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ConversionFinished() scale GS "), RThread().Id().operator TUint()));
- iVtImageScalerInit->Scale( *iGSBitmap, *iScaled );
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ConversionFinished() scale "), RThread().Id().operator TUint()));
- // Blit mask into a converted bitmap
- if ( iMask )
- {
- CGraphicsContext* bitmapcontext = NULL;
- CFbsBitmapDevice* bitmapdevice = NULL;
- // Create bm device
- TRAPD( error, bitmapdevice = CFbsBitmapDevice::NewL( &( iConverted->Bitmap() ) ) );
- if ( error != KErrNone )
- {
- iObserver->NotifyImageHandlingError( aError );
- delete bitmapdevice;
- delete iTempBM;
- delete iMask;
- iMask = NULL;
- iTempBM = NULL;
- return;
- }
- // Create GC for bm
- error = bitmapdevice->CreateContext( bitmapcontext );
- if ( error != KErrNone )
- {
- iObserver->NotifyImageHandlingError( aError );
- delete bitmapdevice;
- delete bitmapcontext;
- delete iTempBM;
- delete iMask;
- iMask = NULL;
- iTempBM = NULL;
- return;
- }
- // Fill destination bitmap with white color
- TRect rect( iConverted->Size() );
- bitmapcontext->SetBrushStyle( CGraphicsContext:: ESolidBrush );
- bitmapcontext->SetPenStyle( CGraphicsContext::ESolidPen );
- bitmapcontext->SetBrushColor( KRgbWhite );
- bitmapcontext->SetPenColor( KRgbWhite);
- bitmapcontext->DrawRect( rect );
-
- // Draw mask and data bitmap into a same destination bm
- bitmapcontext->DrawBitmapMasked( iConverted->Size(), &( iTempBM->Bitmap() ), iConverted->Size(), iMask, EFalse );
- delete bitmapdevice;
- delete bitmapcontext;
- delete iTempBM;
- delete iMask;
- iMask = NULL;
- iTempBM = NULL;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ConversionFinished() iMask"), RThread().Id().operator TUint()));
- }
- iVtImageScalerInit->Scale( *iConverted, *iScaled );
- }
- }
- // Allways inform Decoding problems
- else
- {
- iObserver->NotifyImageHandlingError( aError );
- delete iTempBM;
- delete iMask;
- iMask = NULL;
- iTempBM = NULL;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ConversionFinished() error %d <<"), RThread().Id().operator TUint(), aError));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::BMSScalingFinished( TInt aError )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::BMSScalingFinished( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::BMSScalingFinished() >>"), RThread().Id().operator TUint()));
- if ( aError == KErrNone )
- {
- VFScalingReady();
- }
- else
- {
-#if 0
- if ( aError != KErrCancel ) // If KErrCancel, then ignore error!
- {
- iObserver->NotifyImageHandlingError( aError );
- }
- //Needs to be deleted also in cancel case
- delete iConverted; iConverted = NULL;
-#endif
- delete iConverted; iConverted = NULL;
- iObserver->NotifyImageHandlingError( aError );
-
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::BMSScalingFinished() err %d <<"), RThread().Id().operator TUint(), aError));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::AddBitmapToFreeQueue( CVtImageBitmap* aBitmap )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::AddBitmapToFreeQueue()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::AddBitmapToFreeQueue() >>"), RThread().Id().operator TUint()));
- if ( iOldBM )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::AddBitmapToFreeQueue() OLD BM"), RThread().Id().operator TUint()));
- iOldBM = EFalse;
- iFreeQueue.Append( iOldBitmap );
- }
- else
- {
- iFreeQueue.Append( iScaled );
- }
- iLoopAo->SetFreeBitmaps( 1 );
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::AddBitmapToFreeQueue() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::UseSecondVfBuffer()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::UseSecondVfBuffer()
- {
- iSecondVFBuffer = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::VFScalingReady()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::VFScalingReady()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady() >>"), RThread().Id().operator TUint()));
- delete iConverted; iConverted = 0;
-
- // Calculate frame update delay here!
- TTime refpointtime;
- refpointtime.HomeTime();
- TTimeIntervalMicroSeconds deltaTime = refpointtime.MicroSecondsFrom( iStartTime );
- iFrameUpdateTime = iDelay.Int64() - deltaTime.Int64();
- if ( iFrameUpdateTime < 0 )
- {
- iFrameUpdateTime = 1;
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady() iFrameUpdateTime %d>>"), RThread().Id().operator TUint(), iFrameUpdateTime.Int64()));
- // Scale VF to fit in requested size
- // size is as default QCIF
- if ( iIsVfStopped )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady()VF Stop>>"), RThread().Id().operator TUint()));
- if ( iActiveWaitScale->IsActive() )
- {
- //ScaleCopy running
- //Waiting is OK
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady()ScaleCopy running>>"), RThread().Id().operator TUint()));
- }
- else
- {
- //ScaleCopy is not running, Jump ScaleCopy
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady()jump ScaleCopy>>"), RThread().Id().operator TUint()));
- iActiveWaitScale->InitializeWaiter( &VFRescalingFinished );
- iActiveWaitScale->Signal(KErrNone);
- }
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady()Normal run>>"), RThread().Id().operator TUint()));
- iVFUpdate = EFalse;
- ScaleCopy( iTargetSize );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFScalingReady() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::ScaleCopy( TSize& aSize )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::ScaleCopy( TSize& aSize, TBool aVFUpdate )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ScaleCopy() >>"), RThread().Id().operator TUint()));
-
- iVFUpdate = aVFUpdate;
- iVFSize = aSize;
- if ( iSecondVFBuffer && !iFirstVFBuffer )
- {
- iVFbitmap = iSecondVfBuf;
- iSecondVFBuffer = EFalse;
- iFirstVFBuffer = ETrue;
- }
- else
- {
- iVFbitmap = iFirstVfBuf;
- iFirstVFBuffer = EFalse;
- }
- //If Scaling is ongoing
- if ( iActiveWaitScale->IsActive() )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ScaleCopy(): active, storing size"), RThread().Id().operator TUint()));
- iWantedVFSize = aSize;
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ScaleCopy(): scaling NOW"), RThread().Id().operator TUint()));
- iActiveWaitScale->InitializeWaiter( &VFRescalingFinished );
- TInt result( iVFbitmap->Bitmap().Resize( aSize ) );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeProvider::ScaleCopy() result %d <<"), RThread().Id().operator TUint(), result));
- if ( result != KErrNone )
- {
- iActiveWaitScale->Signal( result );
- }
- else
- {
- iVtImageScalerScale->Scale( *iScaled, *iVFbitmap );
- }
- }
- }
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::NextFrame()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::NextFrame()
- {
- iFreezeCS.Wait();
- iInitialization = EFalse;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::NextFrame() >>"), RThread().Id().operator TUint()));
-
- if ( iNumOfConsumers < 1 )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::NextFrame() Consumer < 1>>"), RThread().Id().operator TUint()));
- iFreezeCS.Signal();
- return;
- }
-
- if (iCount > 1 && !iActiveWaitInit->IsActive() )
- {
- if (iWaitForConverting)
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::NextFrame() Because CMultiframeloopAO::RunL is executing, so Signal is not needed"), RThread().Id().operator TUint()));
- }
- else
- {
- iLoopAo->Signal();
- }
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::NextFrame() <<"), RThread().Id().operator TUint()));
- iFreezeCS.Signal();
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::IncreaseDataConsumer()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::IncreaseDataConsumer()
- {
- iFreezeCS.Wait();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::IncreaseDataConsumer() >>"), RThread().Id().operator TUint()));
- ++iNumOfConsumers;
- iFreezeCS.Signal();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::IncreaseDataConsumer() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::DecreaseDataConsumer()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::DecreaseDataConsumer()
- {
- iFreezeCS.Wait();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::DecreaseDataConsumer() >>"), RThread().Id().operator TUint()));
- --iNumOfConsumers;
- if ( iNumOfConsumers < 1 )
- {
- iLoopAo->CancelDataLoop();
- iDataTimer->CancelTimeLoop();
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::DecreaseDataConsumer() <<"), RThread().Id().operator TUint()));
- iFreezeCS.Signal();
- }
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::ScaleVF( const TSize& aSize )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::ScaleVF( const TSize& aSize )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ScaleVF() >>"), RThread().Id().operator TUint()));
- iActiveWaitScale->InitializeWaiter( &VFRescalingFinished );
- TInt result( iVFbitmap->Bitmap().Resize( aSize ) );
- ClearVFScalingTargetSize();
- if ( result != KErrNone )
- {
- iActiveWaitScale->Signal( result );
- }
- else
- {
- iVtImageScalerScale->Scale( *iScaled, *iVFbitmap );
- }
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ScaleVF() result %d <<"), RThread().Id().operator TUint(), result));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::VFRescalingFinished( TInt aError )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::VFRescalingFinished( TInt aError )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFRescalingFinished() >>"), RThread().Id().operator TUint()));
- if ( aError == KErrNone )
- {
- if ( iWantedVFSize != TSize() )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFRescalingFinished() REScaling needed"), RThread().Id().operator TUint()));
- ScaleVF( iWantedVFSize );
- ClearVFScalingTargetSize();
- }
- else
- {
- iDataTimer->CancelTimeLoop();
-
- if ( !iIsVfStopped && !iVFUpdate )
- {
- //Normally, VF and VS work
- iVFCurrent = iVFbitmap;
- iYUVBitMap = iScaled;
- iDataTimer->LocalBuffer(iVFCurrent);
- iDataTimer->RemoteBuffer(iYUVBitMap);
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ScalecopyRemoteAndUpdate() normal, iFrameUpdateTime %d>>"), RThread().Id().operator TUint(),
- iFrameUpdateTime.Int64()));
- iDataTimer->Activate(iFrameUpdateTime, iInitialization, iVFUpdate);
- }
- else if ( iIsVfStopped && !iVFUpdate )
- {
- //VF doesn't work.
- iYUVBitMap = iScaled;
- iDataTimer->RemoteBuffer(iYUVBitMap);
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ScalecopyRemoteAndUpdate() VF Stop, iFrameUpdateTime %d>>"), RThread().Id().operator TUint(),
- iFrameUpdateTime.Int64()));
- iDataTimer->Activate( iFrameUpdateTime, iInitialization, iVFUpdate);
- }
- else if ( iIsVfStopped && iVFUpdate )
- {
- //VF restart
- iIsVfStopped = EFalse;
- iVFUpdate = EFalse;
- iVFCurrent = iVFbitmap;
- iYUVBitMap = iScaled;
- iDataTimer->LocalBuffer(iVFCurrent);
- iDataTimer->RemoteBuffer(iYUVBitMap);
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ScalecopyRemoteAndUpdate() VF Restart iFrameUpdateTime 1>>"),
- RThread().Id().operator TUint()));
- iDataTimer->Activate(1, iInitialization, iVFUpdate);
- }
- else
- {
- //maybe this condition never execute.
- iVFCurrent = iVFbitmap;
- iDataTimer->LocalBuffer(iVFCurrent);
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ScalecopyRemoteAndUpdate() last one, iFrameUpdateTime %d>>"), RThread().Id().operator TUint(),
- iFrameUpdateTime.Int64()));
- iDataTimer->Activate( 1, iInitialization, iVFUpdate);
- }
- }
- }
-#if 0
- else if ( ( aError == KErrCancel ) )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFRescalingFinished() CANCEL"), RThread().Id().operator TUint()));
- }
- else if( aError != KErrCancel ) // If KErrCancel, then ignore error!
- {
- iObserver->NotifyImageHandlingError( aError );
- }
-#endif
- else
- {
- iObserver->NotifyImageHandlingError( aError );
- }
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::VFRescalingFinished() err %d <<"), RThread().Id().operator TUint(), aError));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::IsVFStopped()
-// -----------------------------------------------------------------------------
-//
-TBool CMultiframeProvider::IsVFStopped()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::IsVFStopped() >>"), RThread().Id().operator TUint()));
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::IsVFStopped() <<"), RThread().Id().operator TUint()));
- return iIsVfStopped;
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::SetVFStop()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::SetVFStop()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::SetVFStop() >>"), RThread().Id().operator TUint()));
- iIsVfStopped = ETrue;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::SetVFStop() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::WaitForConverting()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::WaitForConverting()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::WaitForConverting() >>"), RThread().Id().operator TUint()));
- iWaitForConverting = ETrue;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::WaitForConverting() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::WaitForConverting()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::ReleaseForConverting()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ReleaseForConverting() >>"), RThread().Id().operator TUint()));
- iWaitForConverting = EFalse;
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ReleaseForConverting() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::ClearVFScalingTargetSize()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeProvider::ClearVFScalingTargetSize()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ClearVFScalingTargetSize() >>"), RThread().Id().operator TUint()));
- iWantedVFSize = TSize();
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::ClearVFScalingTargetSize() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeProvider::CancelInitializing()
-// -----------------------------------------------------------------------------
-//
-TBool CMultiframeProvider::CancelInitializing()
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::CancelInitializing() >>"), RThread().Id().operator TUint()));
- TBool lResult = EFalse;
-
- if ( NULL == iImageDecoder )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::CancelInitializing() iImageDecoder is NULL ==="), RThread().Id().operator TUint()));
- // In this condition, Convert is already finished
- if ( iVtImageScalerInit->IsActive() )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d] Line[%d]: CMultiframeProvider::CancelInitializing() iVtImageScalerInit->Cancel ==="),
- RThread().Id().operator TUint(), __LINE__));
- iVtImageScalerInit->Cancel();
- }
- else if ( iActiveWaitInitScale->IsActive() )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d] Line[%d]: CMultiframeProvider::CancelInitializing() iActiveWaitInitScale->Cancel ==="),
- RThread().Id().operator TUint(), __LINE__));
- iActiveWaitInitScale->Cancel();
- }
- else if ( iVtImageScalerScale->IsActive() )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d] Line[%d]: CMultiframeProvider::CancelInitializing() iVtImageScalerScale->Cancel ==="),
- RThread().Id().operator TUint(), __LINE__));
- iVtImageScalerScale->Cancel();
- }
- else if ( iActiveWaitScale->IsActive() )
- {
- __IF_DEBUG(Print(_L("VideoSource[%d] Line[%d]: CMultiframeProvider::CancelInitializing() iActiveWaitScale->Cancel ==="),
- RThread().Id().operator TUint(), __LINE__));
- iActiveWaitScale->Cancel();
- }
- else
- {
- //In this condition, the convert,scale,copyScale were finished,
- //so do nothing, Waiting for InitializeReady()
- __IF_DEBUG(Print(_L("VideoSource[%d] Line[%d]: CMultiframeProvider::CancelInitializing() Nothong to do,wait finish ==="),
- RThread().Id().operator TUint(), __LINE__));
- }
- }
- else
- {
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::CancelInitializing() cancel convert ==="), RThread().Id().operator TUint()));
- //Convert is not finished, so we can cancel it, and return ETrue
- iImageDecoder->Cancel();
- lResult = ETrue;
- }
-
- __IF_DEBUG(Print(_L("VideoSource[%d]: CMultiframeProvider::CancelInitializing() <<"), RThread().Id().operator TUint()));
- return lResult;
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
-
--- a/vtprotocolplugins/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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: Build information for Video Telephony protocol subsystem.
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-// Include components' bld.inf files
-#include "../DisplaySink/group/bld.inf"
-#include "../VideoSource/group/bld.inf"
-
-// End of File
--- a/vtprotocols/bwins/videotelprotou.def Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
- ?DeleteAudioSink@VTProtocolFactory@@SAHPAVMVTAudioSink@@@Z @ 1 NONAME ; int VTProtocolFactory::DeleteAudioSink(class MVTAudioSink *)
- ?CreateAudioSink@VTProtocolFactory@@SAPAVMVTAudioSink@@XZ @ 2 NONAME ; class MVTAudioSink * VTProtocolFactory::CreateAudioSink(void)
- ?CreateCommServerL@VTProtocolFactory@@SAPAVMCommServer@@ABVTDesC16@@H@Z @ 3 NONAME ; class MCommServer * VTProtocolFactory::CreateCommServerL(class TDesC16 const &, int)
- ?CreateUserInputIndication@VTProtocolFactory@@SAPAVMVTUserInput@@W4TUserInputType@@E@Z @ 4 NONAME ; class MVTUserInput * VTProtocolFactory::CreateUserInputIndication(enum TUserInputType, unsigned char)
- ?CreateSessionCommandL@VTProtocolFactory@@SAPAVMVtSessionCommand@@PAVMVtProtocolHandler@@HAAW4TVt3G324MSupported@@@Z @ 5 NONAME ; class MVtSessionCommand * VTProtocolFactory::CreateSessionCommandL(class MVtProtocolHandler *, int, enum TVt3G324MSupported &)
- ?DeletAudioSource@VTProtocolFactory@@SAHPAVMVTAudioSource@@@Z @ 6 NONAME ; int VTProtocolFactory::DeletAudioSource(class MVTAudioSource *)
- ?GetAudioConfigCommandL@VTProtocolFactory@@SAPAVMVtAudioConfigCommand@@PAVMVTAudioSink@@@Z @ 7 NONAME ; class MVtAudioConfigCommand * VTProtocolFactory::GetAudioConfigCommandL(class MVTAudioSink *)
- ?CreateAudioSource@VTProtocolFactory@@SAPAVMVTAudioSource@@XZ @ 8 NONAME ; class MVTAudioSource * VTProtocolFactory::CreateAudioSource(void)
- ?DeleteCommServerL@VTProtocolFactory@@SAXPAVMCommServer@@@Z @ 9 NONAME ; void VTProtocolFactory::DeleteCommServerL(class MCommServer *)
- ?DeleteUserInputIndication@VTProtocolFactory@@SAXPAVMVTUserInput@@@Z @ 10 NONAME ; void VTProtocolFactory::DeleteUserInputIndication(class MVTUserInput *)
- ?DeleteSessionCommand@VTProtocolFactory@@SAXPAVMVtSessionCommand@@@Z @ 11 NONAME ; void VTProtocolFactory::DeleteSessionCommand(class MVtSessionCommand *)
-
--- a/vtprotocols/eabi/videotelprotou.def Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
- _ZN17VTProtocolFactory15CreateAudioSinkEv @ 1 NONAME
- _ZN17VTProtocolFactory15DeleteAudioSinkEP12MVTAudioSink @ 2 NONAME
- _ZN17VTProtocolFactory16DeletAudioSourceEP14MVTAudioSource @ 3 NONAME
- _ZN17VTProtocolFactory17CreateAudioSourceEv @ 4 NONAME
- _ZN17VTProtocolFactory17CreateCommServerLERK7TDesC16i @ 5 NONAME
- _ZN17VTProtocolFactory17DeleteCommServerLEP11MCommServer @ 6 NONAME
- _ZN17VTProtocolFactory20DeleteSessionCommandEP17MVtSessionCommand @ 7 NONAME
- _ZN17VTProtocolFactory21CreateSessionCommandLEP18MVtProtocolHandleriR18TVt3G324MSupported @ 8 NONAME
- _ZN17VTProtocolFactory22GetAudioConfigCommandLEP12MVTAudioSink @ 9 NONAME
- _ZN17VTProtocolFactory25CreateUserInputIndicationE14TUserInputTypeh @ 10 NONAME
- _ZN17VTProtocolFactory25DeleteUserInputIndicationEP12MVTUserInput @ 11 NONAME
-
--- a/vtprotocols/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: vtprotocols build information file.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTEXPORTS
-
-PRJ_EXPORTS
-
-
-../inc/mvtprotocolhandler.h |../../inc/mvtprotocolhandler.h
-
-
-PRJ_MMPFILES
-
-../group/videotelproto.mmp
-
-
-
-// End of File
--- a/vtprotocols/group/videotelproto.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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: This is project specification file for the Vtprotocols.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-// default vendor id
-VENDORID VID_DEFAULT
-
-TARGET videotelproto.dll
-TARGETTYPE dll
-UID 0x1000008d 0x20021182
-
-
-SOURCEPATH ../src
-
-SOURCE cdatasinkproxy.cpp
-SOURCE cdatasourceproxy.cpp
-SOURCE caudioconfighandler.cpp
-SOURCE ch324confighandler.cpp
-SOURCE csessionhandler.cpp
-SOURCE cvideoconfighandler.cpp
-SOURCE cvtuserinput.cpp
-SOURCE vtprotocolfactory.cpp
-
-DOCUMENT ../../group/bld.inf
-
-USERINCLUDE ../inc/
-
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../inc
-SYSTEMINCLUDE /epoc32/include/mmf/common
-SYSTEMINCLUDE /epoc32/include/mmf/server
-
-LIBRARY euser.lib
-LIBRARY ws32.lib
-
-LIBRARY commonengine.lib
-LIBRARY mediaclientaudio.lib
-
-
-
-DEBUGLIBRARY vtlogger.lib
-
-LIBRARY pv2waysymbianadapter.lib
-LIBRARY mmfdevsound.lib
-
-
-// End of File
--- a/vtprotocols/inc/caudioconfighandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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: .
-*
-*/
-
-
-#ifndef CAUDIOCONFIGHANDLER_H
-#define CAUDIOCONFIGHANDLER_H
-NONSHARABLE_CLASS( TAudioConfigHandler ) : public MPVAudioOutputControlObserver
- {
- public:
- /**
- * Constructor.
- */
- TAudioConfigHandler( MVtProtocolHandler* aProtocolHandler);
-
- /**
- * Signals completion of the audio output control command.
- * @param aId The command id of the completed command.
- * @param aCmd The command type.
- * @param aContextData The context data passed in with the command.
- * @param aStatus The command completion status.
- **/
- virtual void AudioOutputControlCommandComplete(TPVCommandId aId
- ,TPVAudioOutputControlCommand aCmd
- ,TAny *aContextData
- ,TInt aStatus);
- private:
- MVtProtocolHandler* iProtocolHandler;
- };
-
-NONSHARABLE_CLASS( CAudioConfigCommand ) : public CBase,
- public MVtAudioConfigCommand
- {
- public:
-
- /**
- * Constructor.
- */
- CAudioConfigCommand(MPVAudioOutputControl* aAudioCtrl);
-
- /**
- * Destructor.
- */
- ~CAudioConfigCommand();
-
- /**
- * Method to set the playback volume to the specified value.
- *
- * This is a pure virtual function that each derived class must implement.
- * It is also an asynchronous function which will be answered with a callback.
- *
- * @param aNewVolume
- * An input parameter to hold the value for the requested playback volume.
- *
- * @returns TInt
- * Returns a command ID that can be used to identify a command completion result with corresponding request.
- */
- virtual TInt SetAudioVolumeL(TInt aVolume);
-
- /**
- * Method to get the maximum valid value for the playback volume.
- *
- * This is a pure virtual function that each derived class must implement.
- * It is also an asynchronous function which will be answered with a callback.
- *
- * @param aMaxVolume
- * An output parameter to hold the value for the maximum valid playback volume.
- * Note that the parameter should not be used until the callback indicates that the
- * method has completed.
- *
- * @returns TInt
- * Returns a command ID that can be used to identify a command completion result with corresponding request.
- */
- virtual TInt GetMaxAudioVolumeL(TInt& aMaxVolume);
-
- /**
- * This API allows the user to specify observers for the 324m interface.
- *
- * @param aHandler
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler);
- private:
- MPVAudioOutputControl* iAudioCtrl;
- TAudioConfigHandler* iAudioConfigHandler;
- };
-#endif
-// End of File
--- a/vtprotocols/inc/ccommserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:
-*
-*/
-
-#ifndef CCOMMSERVER_H
-#define CCOMMSERVER_H
-NONSHARABLE_CLASS( CCommServer ) : public CBase,
- public MCommServer
- {
- public:
- MPVCommServerBase* iComm;
- };
-#endif
-// End of File
--- a/vtprotocols/inc/cdatasinkproxy.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +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:
-*
-*/
-
-
-#ifndef CDATASINKPROXY_H
-#define CDATASINKPROXY_H
-NONSHARABLE_CLASS( CPVDisplaySinkNodeProxy ) : public CBase,
- public MVTVideoSource
- {
- public: //New
- /**
- * Constructor .
- */
- CPVDisplaySinkNodeProxy();
- /**
- * Set new supplier.
- * @param aSupplier
- */
- void SetSupplier(MPVDataSourceBase* aSupplier);
- public: //From MVTVideoSource
- /**
- * Method called by a data sink to pass back an emptied buffer to the source
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used as the callback when the data source actively requests a consumer ie a data sink
- * to empty a buffer by calling the data sinks EmptyBufferL.
- * When the data source gets this callback it knows that the buffer has been emptied and can be reused
- *
- * @param "aBuffer"
- * The buffer that has been emptied by a data sink and is now available for reuse
- */
- virtual void BufferEmptiedL(CMMFBuffer* aBuffer);
- private:
- MPVDataSourceBase* iSupplier;
- };
-
-NONSHARABLE_CLASS( CDisplaySinkProxy ) : public CBase,
- public MPVDataSink,
- public MPVVideoOutput
- {
- public: //From MPVPluginBase
- /**
- * This API returns multimedias type supported by the data source/sink -
- * Audio, Video, Data etc. Each supported type is indicated by a MIME type structure.
- * @return Multimedia types supported by the data source/sink. The reference
- * is valid until the MPVPluginBase derived object is destroyed.
- **/
- virtual const RArray<TPVMIMEType *>& GetMultimediaTypesL() const;
- /**
- * This API is to allow for extensibility of the plugin interface.
- * It allows a caller to ask for all UUIDs associated with a particular MIME type.
- * If interfaces of the requested MIME type are found within the plugin, they are added
- * to the UUIDs array.
- *
- * Also added to the UUIDs array will be all interfaces which have the requested MIME
- * type as a base MIME type. This functionality can be turned off.
- *
- * @param aMimeType The MIME type of the desired interfaces
- * @param aUuids An array to hold the discovered UUIDs
- * @param aExactUuidsOnly Turns on/off the retrival of UUIDs with aMimeType as a base type
- **/
- virtual void QueryUUID( const TPVMIMEType& aMimeType, RArray<TPVUuid>& aUuids, bool aExactUuidsOnly = false );
- /**
- * This API is to allow for extensibility of the plugin interface.
- * It allows a caller to ask for an instance of a particular interface object to be returned.
- * The mechanism is analogous to the COM IUnknown method. The interfaces are identified with
- * an interface ID that is a UUID as in DCE and a pointer to the interface object is
- * returned if it is supported. Otherwise the returned pointer is NULL.
- * @param aUuid The UUID of the desired interface
- * @param aInterfacePtr The output pointer to the desired interface
- **/
- virtual void QueryInterface( const TPVUuid& aUuid, TPVInterfacePtr& aInterfacePtr );
- /**
- * This API is used to provide a timebase for plugins that deal with synchronized media data
- **/
- virtual void SetTimebaseL(MPVSymbianTimebaseInterface* aTimebase);
- public: //From MPVDataSinkBase
- /**
- * Method called by a MDataSource to request the data sink to empty aBuffer of data.
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used when a data sink is passively waiting for requests from a supplier ie a data source
- * to empty a buffer. The data sink must call the BufferEmptiedL member on aSupplier when it has emptied
- * the buffer of it's data - the data sink can either make this callback synchronously or asynchronously.
- *
- * @param "aBuffer"
- * The full buffer that needs emptying of it's data
- *
- * @param "aSupplier"
- * The data source that supplied the data. The data sink needs this to make the BufferEmptiedL
- * callback on aSupplier to indicate to the data source that the data sink has finished with the buffer.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data
- */
- virtual void EmptyBufferL(CMMFBuffer* aBuffer, MPVDataSourceBase* aSupplier, TMediaId aMediaId);
- /**
- * Method called by a data source to pass back an filled buffer to the sink
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used as the callback when the data sink actively requests a supplier ie a data source
- * to fill a buffer by calling the data sources FillBufferL.
- * When the data sink gets this callback it knows that the buffer has been filled and is ready to be emptied
- *
- * @param "aBuffer"
- * The buffer that has been filled by a data source and is now available for processing
- */
- virtual void BufferFilledL(CMMFBuffer* aBuffer);
- /**
- * Method to indicate whether the data sink can create a buffer.
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @return ETrue if the data sink can create a buffer else EFalse
- */
- virtual TBool CanCreateSinkBuffer();
- /**
- * Returns a buffer created by the data sink
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data.
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the sink
- * and should be used in preference to the source buffer provided the source buffer
- * is also not a reference buffer.
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer* CreateSinkBufferL(TMediaId aMediaId, TBool &aReference );
- /**
- * Method to 'logon' the data sink to the same thread that sink will be consuming data in.
- *
- * This method may be required as the thread that the data sink was created in is not always
- * the same thread that the data transfer will take place in. Therefore any thread specific
- * initialisation needs to be performed in the SinkThreadLogon rather than in the creation
- * of the data sink.
- *
- * This is a virtual function that a derrived data sink can implement if any thread specific
- * initialisation is required and/or the data sink can create any asynchronous events.
- *
- *
- * @param "aEventHandler"
- * This is an MAsyncEventHandler to handle asynchronous events that occur during the
- * transfer of multimedia data. The event handler must be in the same thread as the data transfer
- * thread - hence the reason it is passed in the SinkThreadLogon as opposed to say the constructor.
- *
- *
- * @return KErrNone if successful, otherwise a system wide error code.
- */
- virtual TInt SinkThreadLogon( MAsyncEventHandler& aEventHandler );
- /**
- * Method to 'logoff' the data sink from the same thread that sink consumes data in.
- *
- * This method may be required as the thread that the data sink is deleted in may not be
- * the same thread that the data transfer took place in. Therefore any thread specific
- * releasing of resources needs to be performed in the SinkThreadLogoff rather than in the destructor
- *
- * This is a virtual function that a derrived data sink can implement if any thread specific
- * releasing of resources is required.
- */
- virtual void SinkThreadLogoff();
- /**
- * Method to 'prime' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific 'priming' is required
- */
- virtual TInt SinkPrimeL();
- /**
- * Method to 'play' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required prior to 'playing'ie the start of data transfer
- */
- virtual TInt SinkPlayL();
- /**
- * Method to 'pause' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required to 'pause'
- */
- virtual TInt SinkPauseL();
-
- /**
- * Method to 'stop' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required to 'stop'
- */
- virtual TInt SinkStopL();
- public: //From MPVVideoOutput
-
- /**
- * Set the video frame format. This must be from the list of supported formats.
- * @param "aFormat" A mime string describing the video frame format.
- * @exception Can leave with one of the system wide error codes
- **/
- virtual void SetFormatL(const TDesC8& aFormat);
-
- /**
- * Set the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- **/
- virtual void SetVideoFrameSizeL(const TSize& aSize);
-
- /**
- * Get the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- **/
- virtual void GetVideoFrameSizeL(TSize& aSize) const;
- public:
- /**
- * Constructor.
- */
- CDisplaySinkProxy(MVTVideoSink* aDisplaySink);
-
- /**
- * ConstructL
- */
- void ConstructL();
-
- /**
- * NewL
- */
- static CDisplaySinkProxy* NewL(MVTVideoSink* aDisplaySink);
- /**
- * Get pointer object of data sink.
- * @return member variant:iDisplaySink
- */
- MVTVideoSink* DisplaySink() { return iDisplaySink; }
- private:
- MVTVideoSink* iDisplaySink;
- CPVDisplaySinkNodeProxy* iDSNodeProxy;
-
- };
-
-NONSHARABLE_CLASS( CAudioSinkProxy ) : public CBase,
- public MVTAudioSink
- {
- public:
- MPVDataSink* iAudioSink;
- };
-
-#endif
-// End of File
-
--- a/vtprotocols/inc/cdatasourceproxy.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +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:
-*
-*/
-
-
-#ifndef CDATASOURCEPROXY_H
-#define CDATASOURCEPROXY_H
-NONSHARABLE_CLASS( CPVCameraSourceNodeProxy ) : public CBase,
- public MAsyncEventHandler,
- public MVTVideoSink
- {
- public: //From MAsyncEventHandler
- /**
- * Send event to client.
- * @param aEvent
- */
- virtual TInt SendEventToClient(const TMMFEvent &aEvent);
- public: //From MVTVideoSink
-
- /**
- * Method called by a data source to pass back an filled buffer to the sink.
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used as the callback when the data sink actively requests a supplier ie a data source
- * to fill a buffer by calling the data sources FillBufferL.
- * When the data sink gets this callback it knows that the buffer has been filled and is ready to be emptied
- *
- * @param "aBuffer"
- * The buffer that has been filled by a data source and is now available for processing
- */
- void BufferFilledL(CMMFBuffer* aBuffer);
-
- public: //New
- /**
- * Constructor.
- */
- CPVCameraSourceNodeProxy();
-
- /**
- * Set consumer object.
- * @param aConsumer new object
- */
- void SetConsumer(MPVDataSinkBase* aConsumer);
- private:
- MPVDataSinkBase* iConsumer;
- };
-
-NONSHARABLE_CLASS( CVideoSourceProxy ) : public CBase,
- public MPVDataSource,
- public MPVVideoInput
- {
- public: //From MPVPluginBase
-
- /**
- * This API returns multimedias type supported by the data source/sink -
- * Audio, Video, Data etc. Each supported type is indicated by a MIME type structure.
- * @return Multimedia types supported by the data source/sink. The reference
- * is valid until the MPVPluginBase derived object is destroyed.
- **/
- virtual const RArray<TPVMIMEType *>& GetMultimediaTypesL() const;
-
- /**
- * This API is to allow for extensibility of the plugin interface.
- * It allows a caller to ask for all UUIDs associated with a particular MIME type.
- * If interfaces of the requested MIME type are found within the plugin, they are added
- * to the UUIDs array.
- *
- * Also added to the UUIDs array will be all interfaces which have the requested MIME
- * type as a base MIME type. This functionality can be turned off.
- *
- * @param aMimeType The MIME type of the desired interfaces
- * @param aUuids An array to hold the discovered UUIDs
- * @param aExactUuidsOnly Turns on/off the retrival of UUIDs with aMimeType as a base type
- **/
- virtual void QueryUUID( const TPVMIMEType& aMimeType, RArray<TPVUuid>& aUuids, bool aExactUuidsOnly = false );
-
- /**
- * This API is to allow for extensibility of the plugin interface.
- * It allows a caller to ask for an instance of a particular interface object to be returned.
- * The mechanism is analogous to the COM IUnknown method. The interfaces are identified with
- * an interface ID that is a UUID as in DCE and a pointer to the interface object is
- * returned if it is supported. Otherwise the returned pointer is NULL.
- * @param aUuid The UUID of the desired interface
- * @param aInterfacePtr The output pointer to the desired interface
- **/
- virtual void QueryInterface( const TPVUuid& aUuid, TPVInterfacePtr& aInterfacePtr );
-
- /**
- * This API is used to provide a timebase for plugins that deal with synchronized media data
- **/
- virtual void SetTimebaseL(MPVSymbianTimebaseInterface* aTimebase);
- public: //From MPVDataSourceBase
-
- /**
- * Method called by a MDataSink to request the data source to fill aBuffer with data.
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used when a data source is passively waiting for requests from a consumer ie a data sink
- * to fill a buffer. The data source must call the BufferFilledL member on aConsumer when it has filled
- * the buffer with data - the data source can either make this callback synchronously or asynchronously.
- *
- * @param "aBuffer"
- * The buffer that needs filling with data
- *
- * @param "aConsumer"
- * The data sink that consumes the data. The data source needs this to make the BufferFilledL
- * callback on aConsumer when the data source has completed filling the aBuffer.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- */
- virtual void FillBufferL(CMMFBuffer* aBuffer, MPVDataSinkBase* aConsumer, TMediaId /*aMediaId*/);
-
- /**
- * Returns a buffer created by the data source.
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the source
- * and should be used in preference to the sink buffer provided the sink buffer
- * is also not a reference buffer
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer *CreateSourceBufferL(TMediaId aMediaId, TBool &aReference);
-
- /**
- * Returns a buffer created by the data source.
- *
- * This is a virtual function that a derived class can implement.
- * This can be used in preference to the above CreateSourceBufferL method in cases where
- * the source buffer creation has a dependancy on the sink buffer
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- *
- * @param "aSinkBuffer"
- * The sink buffer the nature of which may influence the creation of the source buffer
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the source
- * and should be used in preference to the sink buffer provided the sink buffer is not a reference buffer
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer *CreateSourceBufferL(TMediaId aMediaId, CMMFBuffer &aSinkBuffer, TBool &aReference);
-
- /**
- * Method to 'logon' the data source to the same thread that source will be supplying data in.
- *
- * This method may be required as the thread that the data source was created in is not always
- * the same thread that the data transfer will take place in. Therefore any thread specific
- * initialisation needs to be performed in the SourceThreadLogon rather than in the creation
- * of the data source.
- *
- * This is a virtual function that a derrived data source can implement if any thread specific
- * initialisation is required and/or the data source can create any asynchronous events.
- *
- *
- * @param "aEventHandler"
- * This is an MAsyncEventHandler to handle asynchronous events that occur during the
- * transfer of multimedia data. The event handler must be in the same thread as the data transfer
- * thread - hence the reason it is passed in the SourceThreadLogon as opposed to say the constructor.
- *
- *
- * @return KErrNone if successful, otherwise a system wide error code.
- */
- virtual TInt SourceThreadLogon( MAsyncEventHandler& aEventHandler );
-
- /**
- * Method to 'logoff' the data source from the same thread that source supplies data in.
- *
- * This method may be required as the thread that the data source is deleted in may not be
- * the same thread that the data transfer took place in. Therefore any thread specific
- * releasing of resources needs to be performed in the SourceThreadLogoff rather than in the destructor
- *
- * This is a virtual function that a derrived data source can implement if any thread specific
- * releasing of resources is required.
- */
- virtual void SourceThreadLogoff();
-
- /**
- * Method to 'prime' the data source.
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific 'priming' is required
- */
- virtual TInt SourcePrimeL();
-
- /**
- * Method to 'play' the data source.
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required prior to 'playing'ie the start of data transfer
- */
- virtual TInt SourcePlayL();
-
- /**
- * Method to 'pause' the data source.
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required to 'pause'
- */
- virtual TInt SourcePauseL();
-
- /**
- * Method to 'stop' the data source.
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required to 'stop'
- */
- virtual TInt SourceStopL();
-
- /**
- * Method called by a data sink to pass back an emptied buffer to the source
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used as the callback when the data source actively requests a consumer ie a data sink
- * to empty a buffer by calling the data sinks EmptyBufferL.
- * When the data source gets this callback it knows that the buffer has been emptied and can be reused
- *
- * @param "aBuffer"
- * The buffer that has been emptied by a data sink and is now available for reuse
- */
- virtual void BufferEmptiedL(CMMFBuffer* aBuffer);
-
- /**
- * Method to indicate whether the data source can create a buffer.
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @return ETrue if the data source can create a buffer else EFalse
- */
- virtual TBool CanCreateSourceBuffer();
- public: //From MPVVideoInput
-
- /**
- * Set the video frame format. This must be from the list of supported formats.
- * @param "aFormat" The mime string describing the video frame format.
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetFormatL(const TDesC8& aFormat);
-
- /**
- * Set the video frame rate. This must be within the range of supported frame rates
- * for the current frame size.
- * @param "aFrameRate" The video frame rate to set.
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetFrameRateL(TReal32 aFrameRate);
-
- /**
- * Set the video frame size.
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetVideoFrameSizeL(const TSize& aSize);
-
- /**
- * Get the video frame size.
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- */
- virtual void GetVideoFrameSizeL(TSize& aSize) const;
- public: //new
- /**
- * Constructor.
- */
- CVideoSourceProxy(MVTVideoSource* aVideoSource);
- /**
- * ConstructL.
- */
- void ConstructL( );
-
- /**
- * NewL.
- */
- static CVideoSourceProxy* NewL(MVTVideoSource* aVideoSource);
-
- /**
- * Get member variant.
- * @return memeber variant:iVideoSource
- */
- MVTVideoSource* VideoSource() { return iVideoSource; }
- private:
- MVTVideoSource* iVideoSource;
- CPVCameraSourceNodeProxy* iCameraSourceNodeProxy;
- };
-
-NONSHARABLE_CLASS( CAudioSourceProxy ) : public CBase,
- public MVTAudioSource
- {
- public:
- MPVDataSource* iAudioSource;
- };
-#endif
-// End of File
--- a/vtprotocols/inc/ch324confighandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:
-*
-*/
-
-
-#ifndef CH324ConfigHandler_H
-#define CH324ConfigHandler_H
-NONSHARABLE_CLASS( TH324ConfigHandler ) : public MPVH324MConfigSymbianObserver
- {
- public:
-
- /**
- * Constructor.
- */
- TH324ConfigHandler(MVtProtocolHandler* aProtocolHandler);
-
- /**
- Handle an event that has been generated.
-
- @param aResponse The response to a previously issued command.
- */
- virtual void MPVH324MConfigCommandCompletedL(const CPVCmdResponse& aResponse);
-
- /**
- Handle an information event.
-
- @param aEvent
- */
- virtual void MPVH324MConfigInformationalEventL(const CPVAsyncInformationalEvent& aEvent);
- private:
- MVtProtocolHandler* iProtocolHandler;
- };
-
-NONSHARABLE_CLASS( CH324ConfigCommand ): public CBase,
- public MVtH324ConfigCommand
- {
- public:
- /**
- * Destructor.
- */
- ~CH324ConfigCommand();
-
- /**
- * Sets the vendor identification data. This does not cause the stack to issue a vendor identifiation request.
- * Set to NULL to disable sending vendor id. If set to a valid parameter before Connect, it will cause the stack
- * to automatically send it along with the TCS message.
- * @param cc
- * T35 Country code
- * @param ext
- * T35 Extension
- * @param mc
- * T35 Manufacturer code
- * @param aProduct
- * Product number
- * @param aVersion
- * Version number
- **/
- virtual TInt SetVendorId(TUint8 cc, TUint8 ext, TUint32 mc, const TDesC8* aProduct, const TDesC8* aVersion);
-
- /**
- * This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
- * It is a request to the remote encoder to adjust its encoding in accordance with the tradeoff value.
- * A value of 0 indicates a high spatial resolution and a value of 31 indicates a high frame rate.
- * The values from 0 to 31 indicate monotonically a higher frame rate. Actual values do not correspond
- * to precise values of spatial resolution or frame rate.
- *
- **/
- virtual TInt SendVideoTemporalSpatialTradeoffCommand(TUint aLogicalChannel, TUint8 aTradeoff);
-
- /**
- * This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
- * It is an indication to the remote decoder that the local encoder has adjusted its encoding parameters
- * according to the tradeoff value.
- * A value of 0 indicates a high spatial resolution and a value of 31 indicates a high frame rate.
- * The values from 0 to 31 indicate monotonically a higher frame rate. Actual values do not correspond
- * to precise values of spatial resolution or frame rate.
- *
- **/
- virtual TInt SendVideoTemporalSpatialTradeoffIndication(TUint aLogicalChannel, TUint8 aTradeoff);
-
- /**
- * This API allows the user to specify the supported resolutions for video for transmit and receive.
- *
- **/
- virtual TInt SetSupportedResolutions( );
- /**
- * This API allows the user to set options for fast call setup procedures
- **/
- virtual TInt SetFastCsupOptions( );
-
- /**
- * Causes the protocol to send the specified user input to the remote terminal using
- * control channel. The user input can be either DTMF ot Alphanumeric
- * @param user_input A pointer to MVTUserInput
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt SendUserInputMessageL(MVTUserInput& user_input);
-
- /**
- * This API allows the user to specify observers for the 324m interface.
- *
- * @param aHandler the observer for command status and unsolicited informational events
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler);
-
- /**
- * Get member variant.
- */
- MPVH324MConfig*& PVH324ConfigInterface() { return iH324Config; }
- private:
- MPVH324MConfig* iH324Config;
- TH324ConfigHandler* iH324ConfigHandler;
- };
-#endif
-// End of File
-
\ No newline at end of file
--- a/vtprotocols/inc/csessionhandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +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:
-*
-*/
-
-
-#ifndef CSESSIOHANDLER_H
-#define CSESSIOHANDLER_H
-NONSHARABLE_CLASS( TSessionHandler ) : public MPVCommandStatusObserver,
- public MPVInformationalEventObserver,
- public MPVErrorEventObserver
- {
- public:
-
- /**
- Handle an event that has been generated.
-
- @param "aResponse" "The response to a previously issued command."
- */
- virtual void CommandCompletedL(const CPVCmdResponse& aResponse);
-
- /**
- * Handle an informational event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleInformationalEventL(const CPVAsyncInformationalEvent& aEvent);
-
- /**
- * Handle an error event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleErrorEventL(const CPVAsyncErrorEvent& aEvent);
- public:
- /**
- * Constructor.
- */
- TSessionHandler(MVtProtocolHandler* aProtocolHandler);
- private:
- MVtProtocolHandler* iProtocolHandler;
- };
-
-NONSHARABLE_CLASS( CSessionCommand ): public CBase,
- public MVtSessionCommand
- {
- public:
- /**
- * Contructor.
- */
- CSessionCommand(TSessionHandler* aSessionHandler, MPV2WaySymbianInterface* aPv2Way);
-
- /**
- * Destructor.
- */
- ~CSessionCommand();
-
- /**
- * This function is valid only in the EIdle state. It is a no-op when
- * invoked in any other state. It causes the protocol to transition
- * to the ESetup state. The terminal remains in the EInitializing state during
- * the transition.
- *
- *
- * @param aInitInfo
- * A reference to a TVtInitInfo structure which set Mona on and off
- *
- * @leave This method can leave with one of the following error codes
- * KPVErrInvalidState if invoked in the incorrect state
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt InitProtocolL(TVtInitInfo& aInitInfo);
-
- /**
- * For an incoming track (MVTVideoSink) this function pauses sending
- * media to the sink (output device) and stops the sink. It then does the protocol
- * negotiations with the remote terminal to pause the logical channel for
- * the specified track.
- *
- * For outgoing, it pauses the sending of media from the source and calls Stop() on the
- * source. It also performs any necessary protocol negotiations with the remote terminal.
- * EVtCommandPause will be sent to the observer when the processing completes.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt PauseVideoL(MVTVideoSource& aDataSource);
- virtual TInt PauseVideoL(MVTVideoSink& aDataSink);
- virtual TInt PauseAudioL(MVTAudioSource& aAudioSource);
-
- /**
- * Resume a previously paused incoming or outgoing track. For incoming,
- * this function starts resumes playing out the media to the appropriate
- * sink based on the current settings. For outgoing it resumes encoding
- * and sending media from the source.
- *
- * EVtCommandResume will be invoked will be invoked on the observer when the processing completes.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ResumeVideoL(MVTVideoSource& aDataSource);
- virtual TInt ResumeVideoL(MVTVideoSink& aDataSink);
- virtual TInt ResumeAudioL(MVTAudioSource& aAudioSource);
-
- /**
- * This function is valid only in the ESetup and EInitializing state. It is a
- * no-op when invoked in the EIdle state and returns KPVErrInvalidState
- * if invoked in any other state.
- *
- * It causes the protocol to transition back to the EIdle state. The
- * terminal remains in the EResetting state during the transition.
- *
- * While resetting, the protocol de-allocates all resources resources that
- * had been previously allocated. When it completes, ResetComplete is called
- * and the protocol reverts to the EIdle state.
- *
- * @leave This method can leave with one of the following error codes
- * KPVErrInvalidState if invoked in the incorrect state
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ResetProtocolL();
-
- /**
- * This function can be invoked only in the ESetup state. The terminal starts connecting with the remote
- * terminal based on the specified options and capabilities.
- * The EVtCommandConnect command completion event will be passed to the observer
- * when connect completes.
- * Details about the negotiated session may be obtained by calling the GetSessionParamsL API.
- * GetSessionParamsL may be called after call setup is started to get the list of available channels
- * and their capabilities.
- * Incoming tracks may be opened before ConnectL completes and will be indicated via the
- * EVtIndicationIncommingTrack event.
- *
- * @param aComm
- * An optional pointer to a comm server to provide comm source and sink end-points.
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ConnectToProtocolL(MCommServer* aComm);
-
- /**
- * Allows an application to provide a media source to be associated with a logical channel
- * of communication with the peer. Sources should be added after the EVtIndicationOutgoingTrack
- * indication is received for a newly established logical channel. The media type and
- * channel id associated with the logical channel are specified as part of the indication.
- * This function accepts a MVtVideoSource which provides additional functionality
- * for advertizing capability and exposing configuration APIs.
- * Data sources could be of the following types:
- * a)raw media sources like camera, microphone etc.
- * b)sources of compressed data like file, gateway component etc.
- *
- * @param aChannelId
- * Indicates the channel id to be associated with this source.
- * @param aDataSource
- * reference to the data source
- * @leave This method can leave with one of the following error codes
- * KErrNotSupported if the format of the sources/sinks is incomtible with what the SDK can handle
- * KPVErrInvalidState if invoked in the incorrect state
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @return A unique command id for asynchronous completion
- */
- virtual TInt AddVideoSourceL(const TUint aChannelId, MVTVideoSource &aDataSource);
- virtual TInt AddAudioSourceL(const TUint aChannelId, MVTAudioSource &aDataSource);
-
- /**
- * Allows an application to provide a media sink for rendering an incoming media bitstream in a
- * logical channel of communication with the peer.
- * AddDataSinkL can be called only for established incoming logical channels identified by a unique
- * channel id.
- * Regular incoming channels are established by the peer and are
- * indicated using the EVtIndicationIncomingTrack indication.
- * This function takes in PV extension to MVtVideoSink or MVtAudioSink which provides additional functionality
- * for advertizing capability and exposing configuration APIs.
- * EVtCommandAddDataSink event is sent to the observer on completion of this call.
- *
- * @param aChannelId
- * Indicates the channel id to be associated with this sink.
- * @param aDataSink The data sink to be added
- *
- * @return A unique command id for asynchronous completion
- **/
- virtual TInt AddVideoSinkL(const TUint aChannelId, MVTVideoSink &aDataSink);
- virtual TInt AddAudioSinkL(const TUint aChannelId, MVTAudioSink &aDataSink);
-
- /**
- * This API is to allow the user to cancel all pending requests. The current request being
- * processed, if any, will also be aborted.
- * EVtCommandCancelAllCommands will be passed to the command observer on completion.
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt CancelAllCommandsL( );
-
- /**
- * The Disconnect call is valid only when invoked in the EConnecting, and
- * EConnected states. It causes the terminal to transition to the
- * EDisconnecting state. All the media tracks both incoming and outgoing
- * will be closed on invoking Disconnect. On completion, the terminal
- * goes to the ESetup state.
- *
- * It is a no-op when called in any other state.
- *
- * This is an asynchronous request. The EvtCommandDisconnect event will be
- * sent to the observer when the request processing is complete. This
- * is the only event the Phone application should expect after calling
- * Disconnect.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt DisconnectFromProtocolL();
-
- /**
- * This API is to allow for extensibility of the protocol interface.
- * It allows a caller to ask for an instance of a particular interface object to be returned.
- * The mechanism is analogous to the COM IUnknown method. The interfaces are identified with
- * an interface ID that is a UUID as in DCE and a pointer to the interface object is
- * returned if it is supported. Otherwise the returned pointer is NULL.
- * @param aType
- * @param aProtocolCommand
- * @exception not_supported
- * leaves if the specified interface id is not supported.
- **/
- virtual TInt GetProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand*& aProtocolCommand);
-
- /**
- * This APIis to be used to release an interface that was previously obtained using
- * QueryInterfaceL.
- * @param aType
- * @param
- * @exception not_supported
- * leaves if the specified interface id is not supported.
- **/
- virtual TInt DeleteProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand* aProtocolCommand);
- public:
- MPV2WaySymbianInterface *iPv2Way;
- private:
- CVideoSourceProxy* iVideoSource;
- CDisplaySinkProxy* iDisplaySink;
- TSessionHandler* iSessionHandler;
- };
-#endif
-// End of File
-
\ No newline at end of file
--- a/vtprotocols/inc/cvideoconfighandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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:
-*
-*/
-
-
-#ifndef CVideoConfigHandler_H
-#define CVideoConfigHandler_H
-NONSHARABLE_CLASS( TVideoConfigHandler ): public MPvMp4H263EncExtensionSymbianObserver
- {
- public:
-
- /**
- * Constructor.
- */
- TVideoConfigHandler(MVtProtocolHandler* aProtocolHandler);
-
- /**
- Handle an event that has been generated.
-
- @param aResponse The response to a previously issued command.
- */
- virtual void MPvMp4H263EncExtensionCommandCompletedL(const CPVCmdResponse& aResponse);
-
- /**
- Handle an information event.
-
- @param aEvent
- */
- virtual void HandleMPvMp4H263EncExtensionInformationalEventL(const CPVAsyncInformationalEvent& aEvent);
- private:
- MVtProtocolHandler* iProtocolHandler;
- };
-
-NONSHARABLE_CLASS( CVideoConfigCommand ) : public CBase,
- public MVtVideoConfigCommand
- {
- public:
- /**
- * Destructor.
- */
- ~CVideoConfigCommand();
-
- /**
- * Sets the I-Frame refresh rate of the encoded output.
- *
- * @param aIFrameInterval I-Frame rate in seconds per I-Frame
- * @return True if successful, else false
- */
- virtual TInt SetIntraFrameInterval(TUint32 aIFrameInterval);
-
- /**
- * Requests the encoder to encode the next frame as an I-Frame. This menthod is valid
- * only when the node is in EPVMFNodeStarted state. If successful, the next encoded
- * frame will be an I-Frame.
- *
- * @return True for success, else false
- */
- virtual TInt RequestNextIntraFrame();
-
- /**
- * Sets the frame rate of encoded output for the specified layer.
- * @param aFrameRate Frame rate for the specified layer in frames per second.
- * @return True if successful, else false.
- */
- virtual TInt SetVideoFrameRate(TUint32 aFrameRate);
-
- /**
- * This API allows the user to specify separate observers for the extension interface.
- *
- * @param aHandler the observer for unsolicited informational events
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler);
-
- /**
- * Get member variant.
- */
- MPvMp4H263EncExtensionInterfaceSymbian*& PVVideoEncoderInterface() { return iH263Encoder; }
- private:
- MPvMp4H263EncExtensionInterfaceSymbian* iH263Encoder;
- TVideoConfigHandler* iVideoConfigHandler;
- };
-#endif
-// End of File
-
\ No newline at end of file
--- a/vtprotocols/inc/cvtuserinput.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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:
-*
-*/
-
-
-#ifndef CVTUSERINPUT_H
-#define CVTUSERINPUT_H
-NONSHARABLE_CLASS( CVTUserInputDtmf ) : public CBase,
- public MVTUserInput
- {
- public:
- /**
- * ConstructL.
- */
- void ConstructL(TUint8 aTone);
- /**
- * NewL.
- */
- static CVTUserInputDtmf* NewL(TUint8 aTone);
-
- /**
- * Destructor.
- */
- ~CVTUserInputDtmf();
-
- /**
- * Virtual function to return the user input type
- **/
- virtual TUserInputType GetType();
- CPVUserInputDtmfSymbian* iUII;
- };
-
-NONSHARABLE_CLASS( CVTUserInputAlphanumeric ) : public CBase,
- public MVTUserInput
- {
- public:
- /**
- * ConstructL.
- */
- void ConstructL(TUint8 aTone);
- /**
- * NewL.
- */
- static CVTUserInputAlphanumeric* NewL(TUint8 aTone);
-
- /**
- * Destructor.
- */
- ~CVTUserInputAlphanumeric();
-
- /**
- * Virtual function to return the user input type
- **/
- virtual TUserInputType GetType();
- CPVUserInputAlphanumericSymbian* iUII;
- };
-#endif
-// End of File
-
\ No newline at end of file
--- a/vtprotocols/inc/mvtprotocolhandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1131 +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:
-*
-*/
-
-
-#ifndef MVTENGMEDIAHANDLER_H
-#define MVTENGMEDIAHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <mmfdatabuffer.h>
-#include <mmfutilities.h>
-#include <mmfcontrollerframework.h>
-
-typedef TInt TVtCommandId;
-typedef TInt TVtCommandStatus;
-typedef TDesC8 TVtMIMEType;
-
-const TUid KVTUidYUVFrameBuffer = {0xFFFFFF0d};
-const TInt KVtUidDataSrcPrime = 0xFFFFFF08;
-const TInt KVtUidDataSrcPlay = 0xFFFFFF09;
-const TInt KVtUidDataSrcPause = 0xFFFFFF0A;
-const TInt KVtUidDataSrcStop = 0xFFFFFF0B;
-
-_LIT8(KVtVideoMIMETypeH263, "/video/x-pv/compressed/h263");
-_LIT8(KVtVideoMIMETypeM4V, "/video/x-pv/compressed/m4v");
-_LIT8(KVtVideoMIMETypeH264, "/video/x-pv/compressed/h264");
-_LIT8(KVtAudioMIMETypeAMRIF2, "/audio/x-pv/compressed/amr/if2");
-_LIT8(KVtAudioMIMETypeAMRWBIF2, "/audio/x-pv/compressed/amrwb/if2");
-_LIT8(KVtVideoMIMETypeYUV420, "/video/x-pv/raw/yuv420");
-
-enum TVt3G324MSupported
- {
- EVt3G324MMissing,
- EVt3G324MSupported
- };
-
-enum TVtConfigType
- {
- EVtH324Config,
- EVtVideoEncoderConfig
- };
-
-enum TVtCommandType {
- EVtCommandInit,
- EVtCommandGetSDKInfo,
- EVtCommandGetProtocolState = 3,
- EVtCommandReset,
- EVtCommandAddDataSource = 6,
- EVtCommandRemoveDataSource,
- EVtCommandAddDataSink,
- EVtCommandRemoveDataSink,
- EVtCommandConnect,
- EVtCommandDisconnect,
- EVtCommandPause,
- EVtCommandResume,
- EVtCommandGetProtocolInterface =20,
- EVtCommandDeleteProtocolInterface,
- EVtCommandCancelAllCommands
- };
-
-enum TVtIndicationType
- {
- EVtIndicationVideoSpatialTamporalTradeOffCommand,
- EVtIndicationVideoSpatialTamporalTradeOffIndication,
- EVtIndicationUserInputCapability = 6,
- EVtIndicationIncomingTrack = 41,
- EVtIndicationOutgoingTrack,
- EVtIndicationDisconnect,
- EVtIndicationClosingTrack,
- EVtIndicationCloseTrack,
- EVtIndicationPauseTrack,
- EVtIndicationResumeTrack
- };
-
-enum TVtMediaType
- {
- EVtAudio = 1,
- EVtVideo,
- EVtControl,
- EVtData,
- EVtUserInput,
- EVtMediaNone
- };
-
-enum TVtAudioOutputControlCommand
- {
- EVtAudioOutputControlGetMaxVolume,
- EVtAudioOutputControlGetVolume,
- EVtAudioOutputControlSetVolume,
- EVtAudioOutputControlGetBalance,
- EVtAudioOutputControlSetBalance
- };
-
-const TUint8 EVtIncoming = 1;
-
-enum TUserInputType
- {
- EVtUiiDTFM,
- EVtUiiAlphaNumeric
- };
-
-struct TVtInitInfo
- {
- TBool iAMRWBOn;
- TBool iDisableMpeg4;
- };
-
-struct TVtIndicationEvent
- {
- public:
- /**
- * Constructor.
- */
- TVtIndicationEvent(TInt aEventType, const TUint8 *aLocalBuffer) : iEventType(aEventType), iLocalBuffer(aLocalBuffer)
- {}
- public:
- TInt iEventType;
- const TUint8 *iLocalBuffer;
- };
-
-struct TVtCommandResponse
- {
- public:
- /**
- * Constructor.
- */
- TVtCommandResponse(TVtCommandType aCmdType, TInt aCmdId, TInt iCmdStatus) : iCmdType(aCmdType), iCmdId(aCmdId), iCmdStatus(iCmdStatus)
- {}
- public:
- TVtCommandType iCmdType;
- TInt iCmdId;
- TInt iCmdStatus;
- };
-
-struct TVtErrorEvent
- {
- public:
- /**
- * Constructor.
- */
- TVtErrorEvent(TInt aEventType) : iEventType(aEventType) {}
- public:
- TInt iEventType;
- };
-
-struct TVtMMFDataBuffer
- {
- public:
- /**
- * Constructor.
- */
- TVtMMFDataBuffer(CMMFBuffer* aMmfBuffer,TSize aFrameSize, TPtr8& aPtr) : iMmfBuffer(aMmfBuffer), iFrameSize(aFrameSize), iPtr(aPtr) {}
-
- /**
- * Get the YUV frame size.
- * @return The frame size, in pixels
- */
- TSize GetFrameSize() {return iFrameSize;}
-
- /**
- * Get MMF buffer.
- * @return the MMF buffer
- */
- CMMFBuffer* GetMMFBuffer() {return iMmfBuffer;}
-
- /**
- * Get MMF buffer.
- * @return the MMF buffer
- */
- const CMMFBuffer* GetMMFBuffer() const {return iMmfBuffer;}
-
- /**
- * @return Returns a reference to the data buffer
- **/
- TPtr8& Data() {return iPtr;}
-
- /**
- * @return Returns the frame size of the contained buffer.
- **/
- const TSize GetFrameSize() const {return iFrameSize;}
-
- /**
- * @return Returns a reference to the data buffer
- **/
- const TPtr8& Data() const {return iPtr;}
- private:
- CMMFBuffer* iMmfBuffer;
- TSize iFrameSize;
- TPtr8& iPtr;
- };
-
-class MVTVideoInput
- {
- public:
-
- /**
- * Set the video frame format. This must be from the list of supported formats.
- * @param "aFormat" The mime string describing the video frame format.
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetFormatL(const TDesC8& aFormat) {}
-
- /**
- * Set the video frame rate. This must be within the range of supported frame rates
- * for the current frame size.
- * @param "aFrameRate" The video frame rate to set.
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetFrameRateL(TReal32 aFrameRate) {}
-
- /**
- * Set the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetVideoFrameSizeL(const TSize& aSize) {}
-
- /**
- * Get the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- */
- virtual void GetVideoFrameSizeL(TSize& aSize) const {}
-
- /**
- * This API returns multimedias type supported by the data source/sink -
- * Audio, Video, Data etc. Each supported type is indicated by a MIME type structure.
- * @return
- **/
- virtual const RArray<TDesC8* >& GetMultimediaTypesL() const {}
- };
-
-class MVTVideoOutput
- {
- public:
-
- /**
- * Sets the data format using MIME string.
- * @param aFormat The format as a MIME string.
- **/
- virtual void SetFormatL(const TDesC8& aFormat) {}
-
- /**
- * Set the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- **/
- virtual void SetVideoFrameSizeL(const TSize& aSize) {}
-
- /**
- * Get the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- **/
- virtual void GetVideoFrameSizeL(TSize& aSize) const {}
-
- /**
- * This API returns multimedias type supported by the data source/sink -
- * Audio, Video, Data etc. Each supported type is indicated by a MIME type structure.
- * @return
- **/
- virtual const RArray<TDesC8* >& GetMultimediaTypesL() const {}
- };
-
-//This class is empty
-class MVTAudioSource
- {
- };
-
-//This class is empty
-class MVTAudioSink
- {
- };
-
-class MVTVideoSource;
-class MVTVideoSink : public MVTVideoOutput
- {
- public:
- /**
- * Constructor.
- */
- MVTVideoSink(TUid aType): iDataSinkType(aType) {}
-
- /**
- * Method called by a data source to request the data sink to empty aBuffer of data.
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used when a data sink is passively waiting for requests from a supplier ie a data source
- * to empty a buffer. The data sink must call the BufferEmptiedL member on aSupplier when it has emptied
- * the buffer of it's data - the data sink can either make this callback synchronously or asynchronously.
- *
- * @param "aBuffer"
- * The full buffer that needs emptying of it's data
- *
- * @param "aSupplier"
- * The data source that supplied the data. The data sink needs this to make the BufferEmptiedL
- * callback on aSupplier to indicate to the data source that the data sink has finished with the buffer.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data
- */
- virtual void EmptyBufferL(
- TVtMMFDataBuffer aDataBuffer,
- MVTVideoSource* aSupplier,
- TMediaId aMediaId ) {}
-
- /**
- * Method called by a data source to pass back an filled buffer to the sink
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used as the callback when the data sink actively requests a supplier ie a data source
- * to fill a buffer by calling the data sources FillBufferL.
- * When the data sink gets this callback it knows that the buffer has been filled and is ready to be emptied
- *
- * @param "aBuffer"
- * The buffer that has been filled by a data source and is now available for processing
- */
- virtual void BufferFilledL( CMMFBuffer* aBuffer ) = 0;
-
- /**
- * Method to indicate whether the data sink can create a buffer.
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @return ETrue if the data sink can create a buffer else EFalse
- */
- virtual TBool CanCreateSinkBuffer() {return EFalse;}
-
- /**
- * Returns a buffer created by the data sink
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data.
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the sink
- * and should be used in preference to the source buffer provided the source buffer
- * is also not a reference buffer.
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer* CreateSinkBufferL(
- TMediaId aMediaId,
- TBool &aReference ) {return NULL;}
-
- /**
- * Method to 'logon' the data sink to the same thread that sink will be consuming data in.
- *
- * This method may be required as the thread that the data sink was created in is not always
- * the same thread that the data transfer will take place in. Therefore any thread specific
- * initialisation needs to be performed in the SinkThreadLogon rather than in the creation
- * of the data sink.
- *
- * This is a virtual function that a derrived data sink can implement if any thread specific
- * initialisation is required and/or the data sink can create any asynchronous events.
- *
- *
- * @param "aEventHandler"
- * This is an MAsyncEventHandler to handle asynchronous events that occur during the
- * transfer of multimedia data. The event handler must be in the same thread as the data transfer
- * thread - hence the reason it is passed in the SinkThreadLogon as opposed to say the constructor.
- *
- *
- * @return KErrNone if successful, otherwise a system wide error code.
- */
- virtual TInt SinkThreadLogon( MAsyncEventHandler& aEventHandler ) {return KErrNone;}
-
- /**
- * Method to 'logoff' the data sink from the same thread that sink consumes data in.
- *
- * This method may be required as the thread that the data sink is deleted in may not be
- * the same thread that the data transfer took place in. Therefore any thread specific
- * releasing of resources needs to be performed in the SinkThreadLogoff rather than in the destructor
- *
- * This is a virtual function that a derrived data sink can implement if any thread specific
- * releasing of resources is required.
- */
- virtual void SinkThreadLogoff() {}
-
- /**
- * Method to 'prime' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific 'priming' is required
- */
- virtual TInt SinkPrimeL() {return 0;}
-
- /**
- * Method to 'play' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required prior to 'playing'ie the start of data transfer
- */
- virtual TInt SinkPlayL() {return 0;}
-
- /**
- * Method to 'pause' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required to 'pause'
- */
- virtual TInt SinkPauseL() {return 0;}
-
- /**
- * Method to 'stop' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required to 'stop'
- */
- virtual TInt SinkStopL() {return 0;}
- private:
- TUid iDataSinkType;
- };
-
-class MVTVideoSource : public MVTVideoInput
- {
- public:
-
- /**
- * Constructor.
- */
- MVTVideoSource(TUid aType): iDataSourceType(aType) {}
-
- /**
- * Method called by a data sink to request the data source to fill aBuffer with data.
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used when a data source is passively waiting for requests from a consumer ie a data sink
- * to fill a buffer. The data source must call the BufferFilledL member on aConsumer when it has filled
- * the buffer with data - the data source can either make this callback synchronously or asynchronously.
- *
- * @param "aBuffer"
- * The buffer that needs filling with data
- *
- * @param "aConsumer"
- * The data sink that consumes the data. The data source needs this to make the BufferFilledL
- * callback on aConsumer when the data source has completed filling the aBuffer.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- */
- virtual void FillBufferL(
- CMMFBuffer* aBuffer,
- MVTVideoSink* aConsumer,
- TMediaId aMediaId ) {}
-
- /**
- * Method called by a data sink to pass back an emptied buffer to the source
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used as the callback when the data source actively requests a consumer ie a data sink
- * to empty a buffer by calling the data sinks EmptyBufferL.
- * When the data source gets this callback it knows that the buffer has been emptied and can be reused
- *
- * @param "aBuffer"
- * The buffer that has been emptied by a data sink and is now available for reuse
- */
- virtual void BufferEmptiedL( CMMFBuffer* aBuffer ) = 0;
-
- /**
- * Method to indicate whether the data source can create a buffer.
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @return ETrue if the data source can create a buffer else EFalse
- */
- virtual TBool CanCreateSourceBuffer() {return EFalse;}
-
- /**
- * Returns a buffer created by the data source
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the source
- * and should be used in preference to the sink buffer provided the sink buffer
- * is also not a reference buffer
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer* CreateSourceBufferL(
- TMediaId aMediaId,
- TBool &aReference ) {return NULL;}
-
- /**
- * Returns a buffer created by the data source
- *
- * This is a virtual function that a derived class can implement.
- * This can be used in preference to the above CreateSourceBufferL method in cases where
- * the source buffer creation has a dependancy on the sink buffer
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- *
- * @param "aSinkBuffer"
- * The sink buffer the nature of which may influence the creation of the source buffer
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the source
- * and should be used in preference to the sink buffer provided the sink buffer is not a reference buffer
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer* CreateSourceBufferL(
- TMediaId aMediaId,
- CMMFBuffer& aSinkBuffer,
- TBool &aReference ) {return NULL;}
-
- /**
- * Method to 'logon' the data source to the same thread that source will be supplying data in.
- *
- * This method may be required as the thread that the data source was created in is not always
- * the same thread that the data transfer will take place in. Therefore any thread specific
- * initialisation needs to be performed in the SourceThreadLogon rather than in the creation
- * of the data source.
- *
- * This is a virtual function that a derrived data source can implement if any thread specific
- * initialisation is required and/or the data source can create any asynchronous events.
- *
- *
- * @param "aEventHandler"
- * This is an MAsyncEventHandler to handle asynchronous events that occur during the
- * transfer of multimedia data. The event handler must be in the same thread as the data transfer
- * thread - hence the reason it is passed in the SourceThreadLogon as opposed to say the constructor.
- *
- *
- * @return KErrNone if successful, otherwise a system wide error code.
- */
- virtual TInt SourceThreadLogon( MAsyncEventHandler& aEventHandler ) {return KErrNone;}
-
- /**
- * Method to 'logoff' the data source from the same thread that source supplies data in.
- *
- * This method may be required as the thread that the data source is deleted in may not be
- * the same thread that the data transfer took place in. Therefore any thread specific
- * releasing of resources needs to be performed in the SourceThreadLogoff rather than in the destructor
- *
- * This is a virtual function that a derrived data source can implement if any thread specific
- * releasing of resources is required.
- */
- virtual void SourceThreadLogoff() {}
-
- /**
- * Method to 'prime' the data source
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific 'priming' is required
- */
- virtual TInt SourcePrimeL() {return 0;}
-
- /**
- * Method to 'play' the data source
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required prior to 'playing'ie the start of data transfer
- */
- virtual TInt SourcePlayL() {return 0;}
-
- /**
- * Method to 'pause' the data source
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required to 'pause'
- */
- virtual TInt SourcePauseL() {return 0;}
-
- /**
- * Method to 'stop' the data source
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required to 'stop'
- */
- virtual TInt SourceStopL() {return 0;}
- private:
- TUid iDataSourceType;
- };
-
-class MCommServer
- {
- };
-
-class MVtProtocolCommand
- {
- public:
- enum TVtProtocolState
- {
- EIdle,
- EInitializing,
- ESetup,
- EConnecting,
- EConnected,
- EDisconnecting,
- EResetting
- };
- };
-
-class MVtProtocolHandler
- {
- public:
-
- /**
- * Handle an event that has been generated.
- *
- * @param "aResponse" "The response to a previously issued command."
- */
- virtual void HandleSessionCommandEventL(const TVtCommandResponse& aResponse) = 0;
-
- /**
- * Handle an informational event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleSessionInformationalEventL(const TVtIndicationEvent& aEvent) = 0;
-
- /**
- * Handle an error event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleSessionErrorEventL(const TVtErrorEvent& aEvent) = 0;
-
- /**
- * Signals completion of the audio output control command.
- * @param aId The command id of the completed command.
- * @param aCmd The command type.
- * @param aContextData The context data passed in with the command.
- * @param aStatus The command completion status.
- **/
- virtual void HandleAudioOutputControlCommandComplete(TInt aId, TVtAudioOutputControlCommand aCmd, TAny *aContextData ,TInt aStatus) = 0;
- /**
- * Handle an event that has been generated.
- *
- * @param "aResponse" "The response to a previously issued command."
- */
- virtual void HandleVideoEncoderCommandCompletedL(const TVtCommandResponse& aResponse) = 0;
-
- /**
- * Handle an event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleVideoEncoderInformationalEventL(const TVtIndicationEvent& aEvent) = 0;
-
- /**
- * Handle an event that has been generated.
- *
- * @param "aResponse" "The response to a previously issued command."
- */
- virtual void HandleH324MConfigCommandCompletedL(const TVtCommandResponse& aResponse) = 0;
-
- /**
- * Handle an event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleH324MConfigInformationalEventL(const TVtIndicationEvent& aEvent) = 0;
- virtual ~MVtProtocolHandler() {}
- };
-
-
-class MVtSessionCommand : public MVtProtocolCommand
- {
- public:
- /**
- * This function is valid only in the EIdle state. It is a no-op when
- * invoked in any other state. It causes the protocol to transition
- * to the ESetup state. The terminal remains in the EInitializing state during
- * the transition.
- *
- *
- * @param aInitInfo
- * A reference to a TVtInitInfo structure which set Mona on and off
- *
- * @leave This method can leave with one of the following error codes
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt InitProtocolL(TVtInitInfo& aInitInfo) = 0;
-
- /**
- * For an incoming track (MVTVideoSink) this function pauses sending
- * media to the sink (output device) and stops the sink. It then does the protocol
- * negotiations with the remote terminal to pause the logical channel for
- * the specified track.
- *
- * For outgoing, it pauses the sending of media from the source and calls Stop() on the
- * source. It also performs any necessary protocol negotiations with the remote terminal.
- * EVtCommandPause will be sent to the observer when the processing completes.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt PauseVideoL(MVTVideoSource& aDataSource) = 0;
- virtual TInt PauseVideoL(MVTVideoSink& aDataSink) = 0;
- virtual TInt PauseAudioL(MVTAudioSource& aAudioSource) = 0;
-
- /**
- * Resume a previously paused incoming or outgoing track. For incoming,
- * this function starts resumes playing out the media to the appropriate
- * sink based on the current settings. For outgoing it resumes encoding
- * and sending media from the source.
- * EVtCommandResume will be invoked will be invoked on the observer when the processing completes.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ResumeVideoL(MVTVideoSource& aDataSource) = 0;
- virtual TInt ResumeVideoL(MVTVideoSink& aDataSink) = 0;
- virtual TInt ResumeAudioL(MVTAudioSource& aAudioSource) = 0;
-
- /**
- * This function is valid only in the ESetup and EInitializing state. It is a
- * no-op when invoked in the EIdle state
- *
- * It causes the protocol to transition back to the EIdle state. The
- * terminal remains in the EResetting state during the transition.
- *
- * While resetting, the protocol de-allocates all resources resources that
- * had been previously allocated. When it completes, ResetComplete is called
- * and the protocol reverts to the EIdle state.
- *
- * @leave This method can leave with one of the following error codes
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ResetProtocolL() = 0;
-
- /**
- * This function can be invoked only in the ESetup state. The terminal starts connecting with the remote
- * terminal based on the specified options and capabilities.
- * The EVtCommandConnect command completion event will be passed to the observer
- * when connect completes.
- * Details about the negotiated session may be obtained by calling the GetSessionParamsL API.
- * GetSessionParamsL may be called after call setup is started to get the list of available channels
- * and their capabilities.
- * Incoming tracks may be opened before ConnectL completes and will be indicated via the
- * EVtIndicationIncommingTrack event.
- *
- * @param aComm
- * An optional pointer to a comm server to provide comm source and sink end-points.
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ConnectToProtocolL(MCommServer* aComm) = 0;
-
- /**
- * Allows an application to provide a media source to be associated with a logical channel
- * of communication with the peer. Sources should be added after the EVtIndicationOutgoingTrack
- * indication is received for a newly established logical channel. The media type and
- * channel id associated with the logical channel are specified as part of the indication.
- * This function accepts a MVtVideoSource which provides additional functionality
- * for advertizing capability and exposing configuration APIs.
- * Data sources could be of the following types:
- * a)raw media sources like camera, microphone etc.
- * b)sources of compressed data like file, gateway component etc.
- *
- * @param aChannelId
- * Indicates the channel id to be associated with this source.
- * @param aDataSource
- * reference to the data source
- * @leave This method can leave with one of the following error codes
- * KErrNotSupported if the format of the sources/sinks is incomtible with what the SDK can handle
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @return A unique command id for asynchronous completion
- */
- virtual TInt AddVideoSourceL(const TUint aChannelId, MVTVideoSource &aDataSource) = 0;
- virtual TInt AddAudioSourceL(const TUint aChannelId, MVTAudioSource &aDataSource) = 0;
-
- /**
- * Allows an application to provide a media sink for rendering an incoming media bitstream in a
- * logical channel of communication with the peer.
- * AddDataSinkL can be called only for established incoming logical channels identified by a unique
- * channel id.
- * Regular incoming channels are established by the peer and are
- * indicated using the EVtIndicationIncomingTrack indication.
- * This function takes in PV extension to MVtVideoSink or MVtAudioSink which provides additional functionality
- * for advertizing capability and exposing configuration APIs.
- * EVtCommandAddDataSink event is sent to the observer on completion of this call.
- *
- * @param aChannelId
- * Indicates the channel id to be associated with this sink.
- * @param aDataSink The data sink to be added
- *
- * @return A unique command id for asynchronous completion
- **/
- virtual TInt AddVideoSinkL(const TUint aChannelId, MVTVideoSink &aDataSink) = 0;
- virtual TInt AddAudioSinkL(const TUint aChannelId, MVTAudioSink &aDataSink) = 0;
-
- /**
- * This API is to allow the user to cancel all pending requests. The current request being
- * processed, if any, will also be aborted.
- * EVtCommandCancelAllCommands will be passed to the command observer on completion.
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt CancelAllCommandsL( ) = 0;
-
- /**
- * The Disconnect call is valid only when invoked in the EConnecting, and
- * EConnected states. It causes the terminal to transition to the
- * EDisconnecting state. All the media tracks both incoming and outgoing
- * will be closed on invoking Disconnect. On completion, the terminal
- * goes to the ESetup state.
- *
- * It is a no-op when called in any other state.
- *
- * This is an asynchronous request. The EvtCommandDisconnect event will be
- * sent to the observer when the request processing is complete. This
- * is the only event the Phone application should expect after calling
- * Disconnect.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt DisconnectFromProtocolL() = 0;
-
- /**
- * This API is to allow for extensibility of the protocol interface.
- * It allows a caller to ask for an instance of a particular interface object to be returned.
- * The mechanism is analogous to the COM IUnknown method. The interfaces are identified with
- * an interface ID that is a UUID as in DCE and a pointer to the interface object is
- * returned if it is supported. Otherwise the returned pointer is NULL.
- * @param aType
- * @param aProtocolCommand
- * @exception not_supported
- * leaves if the specified interface id is not supported.
- **/
- virtual TInt GetProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand*& aProtocolCommand) = 0;
-
- /**
- * This APIis to be used to release an interface that was previously obtained using
- * QueryInterfaceL.
- * @param aType
- * @param
- * @exception not_supported
- * leaves if the specified interface id is not supported.
- **/
- virtual TInt DeleteProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand*) = 0;
-
- /**
- * Destructor.
- */
- virtual ~MVtSessionCommand() {}
- };
-
-class MVTUserInput
- {
- public:
-
- /**
- * @returns Returns the user input type.
- **/
- virtual TUserInputType GetType() = 0;
- virtual ~MVTUserInput() {}
- };
-
-class MVtH324ConfigCommand : public MVtProtocolCommand
- {
- public:
-
- /**
- * This API allows the user to specify observers for the 324m interface.
- *
- * @param aHandler the observer for command status and unsolicited informational events
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler) = 0;
-
- /**
- * Sets the vendor identification data. This does not cause the stack to issue a vendor identifiation request.
- * Set to NULL to disable sending vendor id. If set to a valid parameter before Connect, it will cause the stack
- * to automatically send it along with the TCS message.
- * @param cc
- * T35 Country code
- * @param ext
- * T35 Extension
- * @param mc
- * T35 Manufacturer code
- * @param aProduct
- * Product number
- * @param aVersion
- * Version number
- **/
- virtual TInt SetVendorId(TUint8 cc, TUint8 ext, TUint32 mc, const TDesC8* aProduct, const TDesC8* aVersion) = 0;
- /**
- * This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
- * It is a request to the remote encoder to adjust its encoding in accordance with the tradeoff value.
- * A value of 0 indicates a high spatial resolution and a value of 31 indicates a high frame rate.
- * The values from 0 to 31 indicate monotonically a higher frame rate. Actual values do not correspond
- * to precise values of spatial resolution or frame rate.
- *
- **/
- virtual TInt SendVideoTemporalSpatialTradeoffCommand(TUint aLogicalChannel, TUint8 aTradeoff)=0;
-
- /**
- * This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
- * It is an indication to the remote decoder that the local encoder has adjusted its encoding parameters
- * according to the tradeoff value.
- * A value of 0 indicates a high spatial resolution and a value of 31 indicates a high frame rate.
- * The values from 0 to 31 indicate monotonically a higher frame rate. Actual values do not correspond
- * to precise values of spatial resolution or frame rate.
- *
- **/
- virtual TInt SendVideoTemporalSpatialTradeoffIndication(TUint aLogicalChannel, TUint8 aTradeoff)=0;
-
- /**
- * This API allows the user to specify the supported resolutions for video for transmit and receive.
- *
- **/
- virtual TInt SetSupportedResolutions( ) = 0;
-
- /**
- * This API allows the user to set options for fast call setup procedures
- **/
-
- virtual TInt SetFastCsupOptions( ) = 0;
-
- /**
- * Causes the protocol to send the specified user input to the remote terminal using
- * control channel. The user input can be either DTMF ot Alphanumeric
- * @param user_input A pointer to MVTUserInput
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt SendUserInputMessageL(MVTUserInput& user_input) = 0;
- };
-
-class MVtVideoConfigCommand : public MVtProtocolCommand
- {
- public:
-
- /**
- * This API allows the user to specify separate observers for the extension interface.
- *
- * @param aHandler the observer for unsolicited informational events
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler) = 0;
-
- /**
- * Sets the I-Frame refresh rate of the encoded output.
- *
- * @param aIFrameInterval I-Frame rate in seconds per I-Frame
- * @return True if successful, else false
- */
- virtual TInt SetIntraFrameInterval(TUint32 aIFrameInterval) = 0;
-
- /**
- * Requests the encoder to encode the next frame as an I-Frame. If successful, the next encoded
- * frame will be an I-Frame.
- *
- * @return True for success, else false
- */
- virtual TInt RequestNextIntraFrame() = 0;
-
- /**
- * Sets the frame rate of encoded output for the specified layer.
- * @param aFrameRate Frame rate for the specified layer in frames per second.
- * @return True if successful, else false.
- */
- virtual TInt SetVideoFrameRate(TUint32 aFrameRate) = 0;
- };
-
-class MVtAudioConfigCommand : public MVtProtocolCommand
- {
- public:
-
- /**
- * This API allows the user to specify observers for the 324m interface.
- *
- * @param aHandler
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler) = 0;
-
- /**
- * Method to set the playback volume to the specified value.
- *
- * This is a pure virtual function that each derived class must implement.
- * It is also an asynchronous function which will be answered with a callback.
- *
- * @param aNewVolume
- * An input parameter to hold the value for the requested playback volume.
- *
- * @returns Returns a command ID that can be used to identify a command completion result with corresponding request.
- */
- virtual TInt SetAudioVolumeL(TInt aVolume) = 0;
-
- /**
- * Method to get the maximum valid value for the playback volume.
- *
- * This is a pure virtual function that each derived class must implement.
- * It is also an asynchronous function which will be answered with a callback.
- *
- * @param aMaxVolume
- * An output parameter to hold the value for the maximum valid playback volume.
- * Note that the parameter should not be used until the callback indicates that the
- * method has completed.
- *
- * @returns Returns a command ID that can be used to identify a command completion result with corresponding request.
- */
- virtual TInt GetMaxAudioVolumeL(TInt& aMaxVolume) = 0;
- };
-
-class VTProtocolFactory
- {
- public:
-
- /**
- * Create one instance.
- */
- IMPORT_C static MVtSessionCommand* CreateSessionCommandL(MVtProtocolHandler* aProtocolHandler, TBool aEnableProxy, TVt3G324MSupported& a3G324MSupported);
-
- /**
- * This function allows the application to delete an instance of a terminal
- * and reclaim all allocated resources. A terminal should be deleted only in
- * the EIdle state. An attempt to delete a terminal in any other state will
- * result in unpredictable behavior.
- *
- * @param terminal the terminal to be deleted.
- *
- **/
- IMPORT_C static void DeleteSessionCommand( MVtSessionCommand* aSessionCommand );
-
- /**
- * Creates an instance of a DevSound audio data source.
- *
- * @param None
- *
- * @returns A pointer to the interface
- **/
- IMPORT_C static MVTAudioSource* CreateAudioSource();
-
- /**
- * Deletes an instance of a DevSound audio data source
- * that was previously created with CreateAudioSource();
- *
- * @param aSource The audio data source to be deleted.
- *
- * @returns status
- **/
- IMPORT_C static TInt DeletAudioSource(MVTAudioSource *aSource);
-
- /**
- * Creates an instance of a DevSound audio data sink.
- *
- * @param None
- *
- * @returns A pointer to the interface
- **/
- IMPORT_C static MVTAudioSink* CreateAudioSink();
-
- /**
- * Deletes an instance of a DevSound audio data sink
- * that was previously created with CreateAudioSink();
- *
- * @param The audio data sink to be deleted.
- *
- * @returns status
- **/
- IMPORT_C static TInt DeleteAudioSink(MVTAudioSink *aSink);
-
- /**
- * Creates an instance of a comm server of a particular name, to be used to
- * initialize the terminal.
- *
- *
- * @returns A pointer to a terminal or leaves if the type is invalid or the system is out of resources
- **/
- IMPORT_C static MCommServer* CreateCommServerL(const TDesC & aName, TBool aEnableBitReversal=EFalse);
-
- /**
- * This function allows the application to delete an instance of a comm server
- * and reclaim all allocated resources. A comm server should be deleted only when the
- * protocol is in the EIdle state. An attempt to delete a comm server in any other state
- * could result in memory corruption within the protocol. This function will leave with
- * KErrInUse if the comm server is still in use. However it will not check the state of the
- * protocol that is using the comm server.
- *
- * @param aCommServer the comm server to be deleted.
- *
- * @returns a status code indicating success or failure
- **/
- IMPORT_C static void DeleteCommServerL(MCommServer* aCommServer);
-
- /**
- * Create instance.
- * @param aUIITyep
- * @param aTone
- */
- IMPORT_C static MVTUserInput* CreateUserInputIndication(TUserInputType aUIIType, TUint8 aTone);
-
- /**
- * Delete instance.
- * @param aUII
- */
- IMPORT_C static void DeleteUserInputIndication(MVTUserInput* aUII);
-
- /**
- *
- * @param aAudioSink
- */
- IMPORT_C static MVtAudioConfigCommand* GetAudioConfigCommandL(MVTAudioSink* aAudioSink);
- };
-
-#endif
-// End of File
-
\ No newline at end of file
--- a/vtprotocols/src/caudioconfighandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +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:
-*
-*/
-
-
-#include <pv_2way_symbian_interface.h>
-#include <pv_audio_output_control_interface.h>
-#include "mvtprotocolhandler.h"
-#include "caudioconfighandler.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// TAudioConfigHandler::TAudioConfigHandler
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-TAudioConfigHandler::TAudioConfigHandler(MVtProtocolHandler* aProtocolHandler) : iProtocolHandler(aProtocolHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: TAudioConfigHandler::TAudioConfigHandler<")));
- __IF_DEBUG(Print(_L("VTProto: TAudioConfigHandler::TAudioConfigHandler>")));
- }
-
-// -----------------------------------------------------------------------------
-// TAudioConfigHandler::AudioOutputControlCommandComplete
-// Signals completion of the audio output control command.
-// -----------------------------------------------------------------------------
-//
-void TAudioConfigHandler::AudioOutputControlCommandComplete(TPVCommandId aId
- ,TPVAudioOutputControlCommand aCmd
- ,TAny *aContextData
- ,TInt aStatus)
- {
- __IF_DEBUG(Print(_L("VTProto: TAudioConfigHandler::AudioOutputControlCommandComplete<")));
- iProtocolHandler->HandleAudioOutputControlCommandComplete(aId, (TVtAudioOutputControlCommand)aCmd, aContextData, aStatus);
- __IF_DEBUG(Print(_L("VTProto: TAudioConfigHandler::AudioOutputControlCommandComplete>")));
- }
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::CAudioConfigCommand
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CAudioConfigCommand::CAudioConfigCommand(MPVAudioOutputControl* aAudioCtrl) : iAudioCtrl(aAudioCtrl)
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::CAudioConfigCommand<")));
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::CAudioConfigCommand>")));
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::SetObserverL
-// This API allows the user to specify observers for the 324m interface.
-// -----------------------------------------------------------------------------
-//
-void CAudioConfigCommand::SetObserverL(MVtProtocolHandler* aHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::SetObserverL<")));
- iAudioConfigHandler = new (ELeave)TAudioConfigHandler(aHandler);
- iAudioCtrl->SetAudioOutputControlObserver(iAudioConfigHandler);
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::SetObserverL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::SetAudioVolumeL
-// Method to set the playback volume to the specified value.
-// -----------------------------------------------------------------------------
-//
-TInt CAudioConfigCommand::SetAudioVolumeL(TInt aVolume)
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::SetAudioVolumeL")));
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::SetAudioVolumeL aVolume %d"), aVolume));
- return iAudioCtrl->SetVolumeL(aVolume);
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::GetMaxAudioVolumeL
-// Method to get the maximum valid value for the playback volume.
-// -----------------------------------------------------------------------------
-//
-TInt CAudioConfigCommand::GetMaxAudioVolumeL(TInt& aMaxVolume)
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::GetMaxAudioVolumeL")));
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::GetMaxAudioVolumeL aMaxVolume %d"), aMaxVolume));
- return iAudioCtrl->GetMaxVolumeL(aMaxVolume);
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::~CAudioConfigCommand
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CAudioConfigCommand::~CAudioConfigCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::~CAudioConfigCommand>")));
- delete iAudioConfigHandler;
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::~CAudioConfigCommand")));
- }
-// End of File
--- a/vtprotocols/src/cdatasinkproxy.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +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:
-*
-*/
-
-
-#include <pv_plugin_interfaces.h>
-#include "mvtprotocolhandler.h"
-#include "cdatasinkproxy.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// CPVDisplaySinkNodeProxy::SetSupplier
-// Set new supplier .
-// -----------------------------------------------------------------------------
-//
-void CPVDisplaySinkNodeProxy::SetSupplier(MPVDataSourceBase* aSupplier)
- {
- __IF_DEBUG(Print(_L("VTProto: CPVDisplaySinkNodeProxy::SetSupplier<")));
- iSupplier = aSupplier;
- __IF_DEBUG(Print( _L( "VTProto: CPVDisplaySinkNodeProxy::SetSupplier>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CPVDisplaySinkNodeProxy::BufferEmptiedL
-// Method called by a data sink to pass back an emptied buffer to the source.
-// -----------------------------------------------------------------------------
-//
-void CPVDisplaySinkNodeProxy::BufferEmptiedL(CMMFBuffer* aBuffer)
- {
- __IF_DEBUG(Print( _L( "VTProto: CPVDisplaySinkNodeProxy::BufferEmptiedL<" ) ));
- iSupplier->BufferEmptiedL(aBuffer); //call actually PV code
- __IF_DEBUG(Print( _L( "VTProto: CPVDisplaySinkNodeProxy::BufferEmptiedL>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CPVDisplaySinkNodeProxy::CPVDisplaySinkNodeProxy
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CPVDisplaySinkNodeProxy::CPVDisplaySinkNodeProxy() : MVTVideoSource(KNullUid)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::CDisplaySinkProxy
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkProxy::CDisplaySinkProxy(MVTVideoSink* aDisplaySink) : MPVDataSink(KNullUid), iDisplaySink(aDisplaySink)
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::CDisplaySinkProxy<" ) ));
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::CDisplaySinkProxy iDisplaySink %d>" ), iDisplaySink));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::ConstructL()
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::ConstructL<" ) ));
- iDSNodeProxy = new (ELeave)CPVDisplaySinkNodeProxy();
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::ConstructL>" ) ));
- }
-
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::NewL
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkProxy* CDisplaySinkProxy::NewL(MVTVideoSink* aDisplaySink)
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::NewL<" ) ));
- CDisplaySinkProxy* self = new (ELeave)CDisplaySinkProxy(aDisplaySink);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop();
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::NewL>" ) ));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::QueryInterface
-// This API is to allow for extensibility of the plugin interface.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::QueryInterface( const TPVUuid& aUuid, TPVInterfacePtr& aInterfacePtr )
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::QueryInterface<" ) ));
- if ( aUuid == KPVUidVideoOutputInterface )
- {
- MPVVideoInput* interfaceP = (MPVVideoInput*) this;
- aInterfacePtr = (TPVInterfacePtr) interfaceP;
- }
- else
- {
- aInterfacePtr = NULL;
- }
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::QueryInterface aInterfacePtr %d>" ), aInterfacePtr ));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::GetMultimediaTypesL
-// This API returns multimedias type supported by the data source/sink.
-// -----------------------------------------------------------------------------
-//
-const RArray<TPVMIMEType *>& CDisplaySinkProxy::GetMultimediaTypesL() const
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::GetMultimediaTypesL" ) ));
- return iDisplaySink->GetMultimediaTypesL();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::QueryUUID
-// This API is to allow for extensibility of the plugin interface.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::QueryUUID( const TPVMIMEType& aMimeType, RArray<TPVUuid>& aUuids, bool aExactUuidsOnly)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SetTimebaseL
-// This API is used to provide a timebase for plugins that deal with synchronized media data.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::SetTimebaseL(MPVSymbianTimebaseInterface* aTimebase)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::EmptyBufferL
-// Method called by a MDataSource to request the data sink to empty aBuffer of data.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::EmptyBufferL(CMMFBuffer *aBuffer, MPVDataSourceBase* aSupplier, TMediaId)
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::EmptyBufferL<" ) ));
- iDSNodeProxy->SetSupplier(aSupplier);
- CPVMMFPointerBuffer& pvMMFBuffer = *static_cast< CPVMMFPointerBuffer* >( aBuffer );
- TVtMMFDataBuffer mmfDataBuffer(aBuffer, pvMMFBuffer.GetFrameSize(), static_cast<TPtr8&>(pvMMFBuffer.Data()));
- iDisplaySink->EmptyBufferL(mmfDataBuffer, iDSNodeProxy, TMediaId());
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::EmptyBufferL>" ) ));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::BufferFilledL
-// Method called by a data source to pass back an filled buffer to the sink.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::BufferFilledL(CMMFBuffer* aBuffer)
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::BufferFilledL" ) ));
- return iDisplaySink->BufferFilledL(aBuffer);
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::CanCreateSinkBuffer
-// Method to indicate whether the data sink can create a buffer.
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkProxy::CanCreateSinkBuffer()
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::CanCreateSinkBuffer" ) ));
- return iDisplaySink->CanCreateSinkBuffer();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::CreateSinkBufferL
-// Returns a buffer created by the data sink
-// -----------------------------------------------------------------------------
-//
-CMMFBuffer* CDisplaySinkProxy::CreateSinkBufferL(TMediaId aMediaId, TBool &aReference )
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::CreateSinkBufferL" ) ));
- return iDisplaySink->CreateSinkBufferL(aMediaId, aReference);
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SinkThreadLogon
-// Method to 'logon' the data sink to the same thread that sink will be consuming data in.
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySinkProxy::SinkThreadLogon( MAsyncEventHandler& aEventHandler )
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::SinkThreadLogon" ) ));
- return iDisplaySink->SinkThreadLogon(aEventHandler);
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SinkThreadLogoff
-// Method to 'logoff' the data sink from the same thread that sink consumes data in.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::SinkThreadLogoff()
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::SinkThreadLogoff" ) ));
- iDisplaySink->SinkThreadLogoff();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SinkPrimeL
-// Method to 'prime' the data sink.
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySinkProxy::SinkPrimeL()
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::SinkPrimeL" ) ));
- return iDisplaySink->SinkPrimeL();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SinkPlayL
-// Method to 'play' the data sink.
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySinkProxy::SinkPlayL()
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::SinkPlayL" ) ));
- return iDisplaySink->SinkPlayL();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SinkPauseL
-// Method to 'pause' the data sink.
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySinkProxy::SinkPauseL()
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::SinkPauseL" ) ));
- return iDisplaySink->SinkPauseL();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SinkStopL
-// Method to 'stop' the data sink.
-// -----------------------------------------------------------------------------
-//
-TInt CDisplaySinkProxy::SinkStopL()
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::SinkStopL" ) ));
- return iDisplaySink->SinkStopL();
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SetFormatL
-// Set the video frame format. This must be from the list of supported formats.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::SetFormatL(const TDesC8& aFormat)
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::SetFormatL" ) ));
- iDisplaySink->SetFormatL(aFormat);
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::SetVideoFrameSizeL
-// Set the video frame size.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::SetVideoFrameSizeL(const TSize& aSize)
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::SetVideoFrameSizeL" ) ));
- iDisplaySink->SetVideoFrameSizeL(aSize);
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::GetVideoFrameSizeL
-// Get the video frame size.
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::GetVideoFrameSizeL(TSize& aSize) const
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::GetVideoFrameSizeL" ) ));
- iDisplaySink->GetVideoFrameSizeL(aSize);
- }
-// End of File
--- a/vtprotocols/src/cdatasourceproxy.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,334 +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:
-*
-*/
-
-
-#include <pv_plugin_interfaces.h>
-#include "mvtprotocolhandler.h"
-#include "cdatasourceproxy.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// CPVCameraSourceNodeProxy::CPVCameraSourceNodeProxy
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CPVCameraSourceNodeProxy::CPVCameraSourceNodeProxy() : MVTVideoSink(KNullUid)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CPVCameraSourceNodeProxy::SetConsumer
-// Set consumer object.
-// -----------------------------------------------------------------------------
-//
-void CPVCameraSourceNodeProxy::SetConsumer(MPVDataSinkBase* aConsumer)
- {
- __IF_DEBUG(Print(_L("VTProto: CPVCameraSourceNodeProxy::SetConsumer<")));
- iConsumer = aConsumer;
- __IF_DEBUG(Print(_L("VTProto: CPVCameraSourceNodeProxy::SetConsumer>")));
- }
-
-// -----------------------------------------------------------------------------
-// CPVCameraSourceNodeProxy::BufferFilledL
-// Method called by a data source to pass back an filled buffer to the sink.
-// -----------------------------------------------------------------------------
-//
-void CPVCameraSourceNodeProxy::BufferFilledL(CMMFBuffer* aBuffer)
- {
- __IF_DEBUG(Print(_L("VTProto: CPVCameraSourceNodeProxy::BufferFilledL<")));
- iConsumer->BufferFilledL(aBuffer);
- __IF_DEBUG(Print(_L("VTProto: CPVCameraSourceNodeProxy::BufferFilledL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CPVCameraSourceNodeProxy::SendEventToClient
-// Send event to client.
-// -----------------------------------------------------------------------------
-//
-TInt CPVCameraSourceNodeProxy::SendEventToClient(const TMMFEvent &aEvent)
- {
- __IF_DEBUG(Print(_L("VTProto: CPVCameraSourceNodeProxy::SendEventToClient<")));
- MAsyncEventHandler* eventHandler = dynamic_cast<MAsyncEventHandler*>(iConsumer);
- TInt result = eventHandler->SendEventToClient(aEvent);
- __IF_DEBUG(Print(_L("VTProto: CPVCameraSourceNodeProxy::SendEventToClient>")));
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::CVideoSourceProxy
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CVideoSourceProxy::CVideoSourceProxy(MVTVideoSource* aDataSource) : MPVDataSource(KNullUid), iVideoSource(aDataSource)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::CVideoSourceProxy<")));
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::CVideoSourceProxy iVideoSource %d>"), iVideoSource));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::ConstructL()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::ConstructL<")));
- iCameraSourceNodeProxy = new (ELeave) CPVCameraSourceNodeProxy();
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::ConstructL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::NewL
-// -----------------------------------------------------------------------------
-//
-CVideoSourceProxy* CVideoSourceProxy::NewL(MVTVideoSource* aDataSource)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::NewL<")));
- CVideoSourceProxy* self = new (ELeave)CVideoSourceProxy(aDataSource);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::NewL>")));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::QueryInterface
-// This API is to allow for extensibility of the plugin interface.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::QueryInterface( const TPVUuid& aUuid, TPVInterfacePtr& aInterfacePtr )
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::QueryInterface<")));
- if ( aUuid == KPVUidVideoInputInterface )
- {
- MPVVideoInput* interfaceP = (MPVVideoInput*) this;
- aInterfacePtr = (TPVInterfacePtr) interfaceP;
- }
- else
- {
- aInterfacePtr = NULL;
- }
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::QueryInterface aInterfacePtr %d<"), aInterfacePtr));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::GetMultimediaTypesL
-// This API returns multimedias type supported by the data source/sink.
-// -----------------------------------------------------------------------------
-//
-const RArray<TPVMIMEType *>& CVideoSourceProxy::GetMultimediaTypesL() const
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::GetMultimediaTypesL iVideoSource %d"), iVideoSource));
- const RArray<TPVMIMEType *>& multimediaType = iVideoSource->GetMultimediaTypesL();
- return multimediaType;
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::QueryUUID
-// This API is to allow for extensibility of the plugin interface.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::QueryUUID( const TPVMIMEType& aMimeType, RArray<TPVUuid>& aUuids, bool aExactUuidsOnly)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SetTimebaseL
-// This API is used to provide a timebase for plugins that deal with synchronized media data.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::SetTimebaseL(MPVSymbianTimebaseInterface* aTimebase)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SetTimebaseL<")));
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SetTimebaseL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::FillBufferL
-// Method called by a MDataSink to request the data source to fill aBuffer with data.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::FillBufferL(CMMFBuffer* aBuffer, MPVDataSinkBase* aConsumer, TMediaId aMediaId )
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::FillBufferL<")));
- iCameraSourceNodeProxy->SetConsumer(aConsumer);
- iVideoSource->FillBufferL(aBuffer, iCameraSourceNodeProxy, aMediaId);
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::FillBufferL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::CreateSourceBufferL
-// Returns a buffer created by the data source.
-// -----------------------------------------------------------------------------
-//
-CMMFBuffer* CVideoSourceProxy::CreateSourceBufferL(TMediaId aMediaId, TBool &aReference )
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::CreateSourceBufferL")));
- return iVideoSource->CreateSourceBufferL(aMediaId, aReference);
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::CreateSourceBufferL
-// Returns a buffer created by the data source.
-// -----------------------------------------------------------------------------
-//
-CMMFBuffer* CVideoSourceProxy::CreateSourceBufferL(TMediaId aMediaId, CMMFBuffer &aSinkBuffer, TBool &aReference)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::CreateSourceBufferL")));
- return iVideoSource->CreateSourceBufferL(aMediaId, aSinkBuffer, aReference);
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SourceThreadLogon
-// Method to 'logon' the data source to the same thread that source will be supplying data in.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoSourceProxy::SourceThreadLogon( MAsyncEventHandler& aEventHandler )
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SourceThreadLogon")));
- return iVideoSource->SourceThreadLogon(aEventHandler);
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SourceThreadLogoff
-// Method to 'logoff' the data source from the same thread that source supplies data in.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::SourceThreadLogoff()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SourceThreadLogoff<")));
- iVideoSource->SourceThreadLogoff();
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SourceThreadLogoff>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SourcePrimeL
-// Method to 'prime' the data source.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoSourceProxy::SourcePrimeL()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SourcePrimeL<")));
- return iVideoSource->SourcePrimeL();
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SourcePlayL
-// Method to 'play' the data source.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoSourceProxy::SourcePlayL()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SourcePlayL")));
- return iVideoSource->SourcePlayL();
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SourcePauseL
-// Method to 'pause' the data source.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoSourceProxy::SourcePauseL()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SourcePauseL")));
- return iVideoSource->SourcePauseL();
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SourceStopL
-// Method to 'stop' the data source.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoSourceProxy::SourceStopL()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SourceStopL")));
- return iVideoSource->SourceStopL();
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::BufferEmptiedL
-// Method called by a data sink to pass back an emptied buffer to the source.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::BufferEmptiedL(CMMFBuffer* aBuffer)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::BufferEmptiedL")));
- iVideoSource->BufferEmptiedL(aBuffer);
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::CanCreateSourceBuffer
-// Method to indicate whether the data source can create a buffer.
-// -----------------------------------------------------------------------------
-//
-TBool CVideoSourceProxy::CanCreateSourceBuffer()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::CanCreateSourceBuffer")));
- return iVideoSource->CanCreateSourceBuffer();
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SetFormatL
-// Set the video frame format. This must be from the list of supported formats.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::SetFormatL(const TDesC8& aFormat)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SetFormatL")));
- iVideoSource->SetFormatL(aFormat);
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SetFrameRateL
-// Set the video frame rate. This must be within the range of supported frame rates.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::SetFrameRateL(TReal32 aFrameRate)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SetFrameRateL")));
- iVideoSource->SetFrameRateL(aFrameRate);
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::SetVideoFrameSizeL
-// Set the video frame size.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::SetVideoFrameSizeL(const TSize& aSize)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SetVideoFrameSizeL <")));
- iVideoSource->SetVideoFrameSizeL(aSize);
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::SetVideoFrameSizeL >")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::GetVideoFrameSizeL
-// Get the video frame size.
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::GetVideoFrameSizeL(TSize& aSize) const
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::GetVideoFrameSizeL<")));
- iVideoSource->GetVideoFrameSizeL(aSize);
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::GetVideoFrameSizeL>")));
- }
-// End of File
--- a/vtprotocols/src/ch324confighandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +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:
-*
-*/
-
-
-#include <pv_2way_symbian_interface.h>
-#include <pv_2way_h324m_interface.h>
-#include "mvtprotocolhandler.h"
-#include "ch324confighandler.h"
-#include "cvtuserinput.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// Define image sizes.
-// QCIF.
-const TInt KVtProtoResolutionQCIFWidth = 176;
-const TInt KVtProtoResolutionQCIFHeight = 144;
-
-// SQCIF.
-const TInt KVtProtoResolutionSQCIFWidth = 128;
-const TInt KVtProtoResolutionSQCIFHeight = 96;
-
-// -----------------------------------------------------------------------------
-// TH324ConfigHandler::TH324ConfigHandler
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-TH324ConfigHandler::TH324ConfigHandler(MVtProtocolHandler* aProtocolHandler) : iProtocolHandler(aProtocolHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: TH324ConfigHandler::TH324ConfigHandler<")));
- __IF_DEBUG(Print(_L("VTProto: TH324ConfigHandler::TH324ConfigHandler>")));
- }
-
-// -----------------------------------------------------------------------------
-// TH324ConfigHandler::MPVH324MConfigCommandCompletedL
-// Handle an event that has been generated.
-// -----------------------------------------------------------------------------
-//
-void TH324ConfigHandler::MPVH324MConfigCommandCompletedL(const CPVCmdResponse& aResponse)
- {
- __IF_DEBUG(Print(_L("VTProto: TH324ConfigHandler::MPVH324MConfigCommandCompletedL<")));
- TVtCommandType cmdType = (TVtCommandType)aResponse.GetCmdType();
- TInt cmdId = aResponse.GetCmdId();
- TInt cmdResponse = aResponse.GetCmdStatus();
- TVtCommandResponse commandRsp(cmdType, cmdId, cmdResponse);
- iProtocolHandler->HandleH324MConfigCommandCompletedL(commandRsp);
- __IF_DEBUG(Print(_L("VTProto: TH324ConfigHandler::MPVH324MConfigCommandCompletedL>")));
- }
-
-// -----------------------------------------------------------------------------
-// TH324ConfigHandler::MPVH324MConfigInformationalEventL
-// Handle an information event.
-// -----------------------------------------------------------------------------
-//
-void TH324ConfigHandler::MPVH324MConfigInformationalEventL(const CPVAsyncInformationalEvent& aEvent)
- {
- __IF_DEBUG(Print(_L("VTProto: TH324ConfigHandler::MPVH324MConfigInformationalEventL<")));
- const TUint8* buffer = aEvent.GetLocalBuffer();
- TInt eventType = aEvent.GetEventType();
- TVtIndicationEvent vtEvent(eventType, buffer);
- iProtocolHandler->HandleH324MConfigInformationalEventL(vtEvent);
- __IF_DEBUG(Print(_L("VTProto: TH324ConfigHandler::MPVH324MConfigInformationalEventL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SetVendorId
-// Sets the vendor identification data.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SetVendorId(TUint8 cc, TUint8 ext, TUint32 mc, const TDesC8* aProduct, const TDesC8* aVersion)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetVendorId")));
- return iH324Config->SetVendor(cc, ext, mc, aProduct, aVersion);
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SendVideoTemporalSpatialTradeoffCommand
-// This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SendVideoTemporalSpatialTradeoffCommand(TUint aLogicalChannel, TUint8 aTradeoff)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SendVideoTemporalSpatialTradeoffCommand")));
- return iH324Config->SendVideoTemporalSpatialTradeoffCommand(aLogicalChannel, aTradeoff);
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SendVideoTemporalSpatialTradeoffIndication
-// This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SendVideoTemporalSpatialTradeoffIndication(TUint aLogicalChannel, TUint8 aTradeoff)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SendVideoTemporalSpatialTradeoffIndication")));
- return iH324Config->SendVideoTemporalSpatialTradeoffIndication(aLogicalChannel, aTradeoff);
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SetVideoResolutions
-// This API allows the user to specify the supported resolutions for video for transmit and receive.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SetSupportedResolutions()
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetSupportedResolutions")));
- RArray<TPVVideoResolutionRange> resolutions;
- TPVVideoResolutionRange qcif;
- qcif.first.iWidth = KVtProtoResolutionQCIFWidth;
- qcif.first.iHeight = KVtProtoResolutionQCIFHeight;
- qcif.last.iWidth = KVtProtoResolutionQCIFWidth;
- qcif.last.iHeight = KVtProtoResolutionQCIFHeight;
- TInt err( resolutions.Append( qcif ) );
- if ( err == KErrNone )
- {
- TPVVideoResolutionRange sqcif;
- sqcif.first.iWidth = KVtProtoResolutionSQCIFWidth;
- sqcif.first.iHeight = KVtProtoResolutionSQCIFHeight;
- sqcif.last.iWidth = KVtProtoResolutionSQCIFWidth;
- sqcif.last.iHeight = KVtProtoResolutionSQCIFHeight;
- err = resolutions.Append( sqcif );
- if ( err == KErrNone )
- {
- err = iH324Config->SetVideoResolutions( INCOMING, resolutions );
- }
- }
- resolutions.Close();
-
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SetFastCsupOptions
-// This API allows the user to set options for fast call setup procedures.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SetFastCsupOptions( )
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetFastCsupOptions")));
- TPVH324FastCsupOptions fastCsupOptions;
- fastCsupOptions.iEnableWnsrp = ETrue;
- fastCsupOptions.iEnableMona = EFalse;
- return iH324Config->SetFastCsupOptions(fastCsupOptions);
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SendUserInputMessageL
-// Causes the vt2way to send the specified user input to the remote terminal using
-// control channel.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SendUserInputMessageL(MVTUserInput& user_input)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SendUserInputMessageL<")));
- if (user_input.GetType() == EVtUiiDTFM)
- {
- CVTUserInputDtmf* dtmf = static_cast<CVTUserInputDtmf*>(&user_input);
- return iH324Config->SendUserInputL(*dtmf->iUII);
- }
- else if (user_input.GetType() == EVtUiiAlphaNumeric)
- {
- CVTUserInputAlphanumeric* alphanumeric = static_cast<CVTUserInputAlphanumeric*>(&user_input);
- return iH324Config->SendUserInputL(*alphanumeric->iUII);
- }
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SendUserInputMessageL>")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SetObserverL
-// This API allows the user to specify observers for the 324m interface.
-// -----------------------------------------------------------------------------
-//
-void CH324ConfigCommand::SetObserverL(MVtProtocolHandler* aHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetObserverL<")));
- iH324ConfigHandler = new (ELeave)TH324ConfigHandler(aHandler);
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetObserverL observer %d"), iH324ConfigHandler));
- iH324Config->SetObserver(iH324ConfigHandler);
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetObserverL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::~CH324ConfigCommand
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CH324ConfigCommand::~CH324ConfigCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::~CH324ConfigCommand<")));
- delete iH324ConfigHandler;
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::~CH324ConfigCommand>")));
- }
-
-// end of file
--- a/vtprotocols/src/csessionhandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,450 +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:
-*
-*/
-
-
-#include <pv_plugin_interfaces.h>
-#include <pv_2way_symbian_interface.h>
-#include <pv_2way_h324m_interface.h>
-#include <pv_mp4_h263_enc_extension_interface_symbian.h>
-#include <pv_audio_output_control_interface.h>
-#include <pv_2way_factory.h>
-#include "mvtprotocolhandler.h"
-#include "cdatasinkproxy.h"
-#include "cdatasourceproxy.h"
-#include "csessionhandler.h"
-#include "ccommserver.h"
-#include "ch324confighandler.h"
-#include "cvideoconfighandler.h"
-#include "caudioconfighandler.h"
-
-#define DEBUG_CFG_BB_LOOPBACK 0
-#define DEBUG_CFG_PV_LOOPBACK 0
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-const TInt KVtProtoMultiplexingDelay = 150;
-const TInt EVtGet324CtrlInterface = 15;
-const TInt EVtGetH263EncInterface = 24;
-// -----------------------------------------------------------------------------
-// TSessionHandler::TSessionHandler
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-TSessionHandler::TSessionHandler(MVtProtocolHandler* aProtocolHandler) : iProtocolHandler(aProtocolHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::TSessionHandler<")));
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::TSessionHandler>")));
- }
-
-// -----------------------------------------------------------------------------
-// TSessionHandler::CommandCompletedL
-// Handle an event that has been generated.
-// -----------------------------------------------------------------------------
-//
-void TSessionHandler::CommandCompletedL(const CPVCmdResponse& aResponse)
- {
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::CommandCompletedL<")));
- TVtCommandType cmdType = (TVtCommandType)aResponse.GetCmdType();
- TInt cmdId = (TInt)aResponse.GetCmdId();
- TInt cmdResponse = aResponse.GetCmdStatus();
- TVtCommandResponse commandRsp(cmdType, cmdId, cmdResponse);
- iProtocolHandler->HandleSessionCommandEventL(commandRsp);
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::CommandCompletedL>")));
- }
-
-// -----------------------------------------------------------------------------
-// TSessionHandler::HandleInformationalEventL
-// Handle an informational event that has been generated.
-// -----------------------------------------------------------------------------
-//
-void TSessionHandler::HandleInformationalEventL(const CPVAsyncInformationalEvent& aEvent)
- {
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::HandleInformationalEventL<")));
- const TUint8* buffer = aEvent.GetLocalBuffer();
- TInt eventType = aEvent.GetEventType();
- TVtIndicationEvent vtEvent(eventType, buffer);
- iProtocolHandler->HandleSessionInformationalEventL(vtEvent);
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::HandleInformationalEventL>")));
- }
-
-// -----------------------------------------------------------------------------
-// TSessionHandler::HandleErrorEventL
-// Handle an error event that has been generated.
-// -----------------------------------------------------------------------------
-//
-void TSessionHandler::HandleErrorEventL(const CPVAsyncErrorEvent& aEvent)
- {
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::HandleErrorEventL<")));
- TVtErrorEvent event(aEvent.GetEventType());
- iProtocolHandler->HandleSessionErrorEventL(event);
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::HandleErrorEventL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::CSessionCommand
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CSessionCommand::CSessionCommand(TSessionHandler* aSessionHandler, MPV2WaySymbianInterface* aPv2Way)
- : iPv2Way(aPv2Way), iSessionHandler(aSessionHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::CSessionCommand<")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::CSessionCommand>")));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::~CSessionComman
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CSessionCommand::~CSessionCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::~CSessionCommand<")));
- delete iVideoSource;
- delete iDisplaySink;
- delete iSessionHandler;
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::~CSessionCommand>")));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ConnectToProtocolL
-// This function can be invoked only in the ESetup state.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ConnectToProtocolL(MCommServer* aComm)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ConnectToProtocolL")));
- TPVConnectOptions connectOptions;
- connectOptions.iLoopbackMode = PV_LOOPBACK_NONE;
-#ifdef _DEBUG
- if ( DEBUG_CFG_BB_LOOPBACK )
- {
- connectOptions.iLoopbackMode = PV_LOOPBACK_COMM;
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ConnectToProtocolL Loopback COMM")));
- }
- else if ( DEBUG_CFG_PV_LOOPBACK )
- {
- connectOptions.iLoopbackMode = PV_LOOPBACK_MUX;
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ConnectToProtocolL Loopback MUX")));
- }
- else
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ConnectToProtocolL Loopback NONE")));
- }
-#endif
- CCommServer* commServer = static_cast<CCommServer*>(aComm);
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ConnectToProtocolL commServer %d"), commServer));
- return iPv2Way->ConnectL(connectOptions, commServer->iComm);
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::DisconnectFromProtocolL
-// The Disconnect call is valid only when invoked in the EConnecting, and
-// EConnected states.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::DisconnectFromProtocolL()
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::DisconnectFromProtocolL")));
- return iPv2Way->DisconnectL();
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ResetProtocolL
-// This function is valid only in the ESetup and EInitializing state.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ResetProtocolL()
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ResetProtocolL")));
- return iPv2Way->ResetL();
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::InitProtocolL
-// This function is valid only in the EIdle state.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::InitProtocolL(TVtInitInfo& aInitInfo)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::InitProtocolL")));
- CPV2WayInitInfo initInfo;
- initInfo.iMultiplexingDelayMs = KVtProtoMultiplexingDelay;
-
- if (aInitInfo.iAMRWBOn)
- {
- initInfo.iIncomingAudioFormats.
- Append((TDesC8 *)&KVtAudioMIMETypeAMRWBIF2);
-
- initInfo.iOutgoingAudioFormats.
- Append((TDesC8 *)&KVtAudioMIMETypeAMRWBIF2);
- }
-
- initInfo.iIncomingAudioFormats.
- Append((TDesC8 *)&KVtAudioMIMETypeAMRIF2);
-
- initInfo.iOutgoingAudioFormats.
- Append((TDesC8 *)&KVtAudioMIMETypeAMRIF2);
-
- initInfo.iIncomingVideoFormats.
- Append( (TDesC8 *) &KVtVideoMIMETypeH264 );
-
- initInfo.iOutgoingVideoFormats.
- Append( (TDesC8 *) &KVtVideoMIMETypeH264 );
-
- if (!aInitInfo.iDisableMpeg4)
- {
- initInfo.iIncomingVideoFormats.
- Append((TDesC8 *)&KVtVideoMIMETypeM4V);
-
- initInfo.iOutgoingVideoFormats.
- Append((TDesC8 *)&KVtVideoMIMETypeM4V);
- }
-
- initInfo.iIncomingVideoFormats.
- Append((TDesC8 *)&KVtVideoMIMETypeH263);
-
- initInfo.iOutgoingVideoFormats.
- Append((TDesC8 *)&KVtVideoMIMETypeH263);
-
- return iPv2Way->InitL(initInfo);
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::AddVideoSinkL
-// Allows an application to provide a media sink for rendering an incoming media bitstream in a
-// logical channel of communication with the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::AddVideoSinkL(const TUint aChannelId, MVTVideoSink& aDataSink)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddVideoSinkL")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddVideoSinkL aChannelId %d"), aChannelId));
- iDisplaySink =CDisplaySinkProxy::NewL(&aDataSink);
- return iPv2Way->AddDataSinkL(aChannelId, *iDisplaySink);
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::AddVideoSourceL
-// Allows an application to provide a media source to be associated with a logical channel
-// of communication with the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::AddVideoSourceL(const TUint aChannelId, MVTVideoSource& aDataSource)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddVideoSourceL")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddVideoSourceL aChannelId %d"), aChannelId));
- iVideoSource = CVideoSourceProxy::NewL(&aDataSource);
- return iPv2Way->AddDataSourceL(aChannelId, *iVideoSource);
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::AddAudioSourceL
-// Allows an application to provide a media source to be associated with a logical channel
-// of communication with the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::AddAudioSourceL(const TUint aChannelId, MVTAudioSource &aDataSource)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddAudioSourceL")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddAudioSourceL aChannelId %d"), aChannelId));
- CAudioSourceProxy* audioSourceProxy = static_cast<CAudioSourceProxy*>(&aDataSource);
- return iPv2Way->AddDataSourceL(aChannelId, *(audioSourceProxy->iAudioSource));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::AddAudioSinkL
-// Allows an application to provide a media sink for rendering an incoming media bitstream in a
-// logical channel of communication with the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::AddAudioSinkL(const TUint aChannelId, MVTAudioSink &aDataSink)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddAudioSinkL")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddAudioSinkL aChannelId %d"), aChannelId));
- CAudioSinkProxy* audioSinkProxy = static_cast<CAudioSinkProxy*>(&aDataSink);
- return iPv2Way->AddDataSinkL(aChannelId, *(audioSinkProxy->iAudioSink));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::PauseVideoL
-// For an incoming track (MVTVideoSink) this function pauses sending
-// media to the sink (output device) and stops the sink.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::PauseVideoL(MVTVideoSource& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::PauseVideoL")));
- if (&aTrack == iVideoSource->VideoSource())
- {
- return iPv2Way->PauseL(*iVideoSource);
- }
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::PauseVideoL
-// For an incoming track (MVtVideoSink) this function pauses sending
-// media to the sink (output device) and stops the sink.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::PauseVideoL(MVTVideoSink& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::PauseVideoL")));
- if (&aTrack == iDisplaySink->DisplaySink())
- {
- return iPv2Way->PauseL(*iDisplaySink);
- }
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::PauseAudioL
-// For an incoming track (MVTAudioSource) this function pauses sending
-// media to the sink (output device) and stops the sink.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::PauseAudioL(MVTAudioSource& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::PauseAudioL")));
- CAudioSourceProxy* audioSourceProxy = static_cast<CAudioSourceProxy*>(&aTrack);
- return iPv2Way->PauseL(*(audioSourceProxy->iAudioSource));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ResumeVideoL
-// Resume a previously paused incoming or outgoing track.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ResumeVideoL(MVTVideoSource& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ResumeVideoL")));
- if (&aTrack == iVideoSource->VideoSource())
- {
- return iPv2Way->ResumeL(*iVideoSource);
- }
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ResumeVideoL
-// Resume a previously paused incoming or outgoing track.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ResumeVideoL(MVTVideoSink& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ResumeVideoL")));
- if (&aTrack == iDisplaySink->DisplaySink())
- {
- return iPv2Way->ResumeL(*iDisplaySink);
- }
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ResumeAudioL
-// Resume a previously paused incoming or outgoing track.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ResumeAudioL(MVTAudioSource& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ResumeAudioL")));
- CAudioSourceProxy* audioSourceProxy = static_cast<CAudioSourceProxy*>(&aTrack);
- return iPv2Way->ResumeL(*(audioSourceProxy->iAudioSource));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::CancelAllCommandsL
-// This API is to allow the user to cancel all pending requests.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::CancelAllCommandsL( )
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::CancelAllCommandsL")));
- return iPv2Way->CancelAllCommandsL();
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::GetProtocolInterfaceL
-// This API is to allow for extensibility of the protocol interface.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::GetProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand*& aProtocolCommand)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::GetProtocolInterfaceL<")));
- TInt commandId = 0;
- if (aType == EVtH324Config)
- {
- CH324ConfigCommand* H324ConfigCommand = new (ELeave)CH324ConfigCommand();
- commandId = iPv2Way->QueryInterfaceL(
- KPVUidH324ConfigInterface,
- ( MPVInterface*& ) H324ConfigCommand->PVH324ConfigInterface(),
- ( void* ) EVtGet324CtrlInterface );
-
- aProtocolCommand = H324ConfigCommand;
- }
- else if (aType == EVtVideoEncoderConfig)
- {
- CVideoConfigCommand* videoConfigCommand = new (ELeave)CVideoConfigCommand();
- commandId = iPv2Way->QueryInterfaceL(
- KPVUidVidEncConfigInterface,
- ( MPVInterface*& ) videoConfigCommand->PVVideoEncoderInterface(),
- ( void* ) EVtGetH263EncInterface );
-
- aProtocolCommand = videoConfigCommand;
- }
- else
- {
- ;
- }
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::GetProtocolInterfaceL aType %d, aProtocolCommand %d>"), aType, aProtocolCommand));
- return commandId;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::DeleteProtocolInterfaceL
-// This APIis to be used to release an interface that was previously obtained using
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::DeleteProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand* aProtocolCommand)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::DeleteProtocolInterfaceL<")));
- TInt commandId = 0;
- if (aType == EVtH324Config)
- {
- CH324ConfigCommand* H324ConfigCommand = static_cast<CH324ConfigCommand*>(aProtocolCommand);
- commandId = iPv2Way->ReleaseInterfaceL(H324ConfigCommand->PVH324ConfigInterface());
- delete H324ConfigCommand;
- }
- else if (aType == EVtVideoEncoderConfig)
- {
- CVideoConfigCommand* videoConfigCommand = static_cast<CVideoConfigCommand*>(aProtocolCommand);
- commandId = iPv2Way->ReleaseInterfaceL(videoConfigCommand->PVVideoEncoderInterface());
- delete videoConfigCommand;
- }
- else
- {
- ;
- }
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::DeleteProtocolInterfaceL aType, aProtocolCommand %d>"), aType, aProtocolCommand));
- return commandId;
- }
-
-// end of file
--- a/vtprotocols/src/cvideoconfighandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +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:
-*
-*/
-
-
-#include <pv_2way_symbian_interface.h>
-#include <pv_mp4_h263_enc_extension_interface_symbian.h>
-#include "mvtprotocolhandler.h"
-#include "cvideoconfighandler.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// TVideoConfigHandler::TVideoConfigHandler
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-TVideoConfigHandler::TVideoConfigHandler(MVtProtocolHandler* aProtocolHandler) : iProtocolHandler(aProtocolHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: TVideoConfigHandler::TVideoConfigHandler<")));
- __IF_DEBUG(Print(_L("VTProto: TVideoConfigHandler::TVideoConfigHandler>")));
- }
-
-// -----------------------------------------------------------------------------
-// TVideoConfigHandler::MPvMp4H263EncExtensionCommandCompletedL
-// Handle an event that has been generated.
-// -----------------------------------------------------------------------------
-//
-void TVideoConfigHandler::MPvMp4H263EncExtensionCommandCompletedL(const CPVCmdResponse& aResponse)
- {
- __IF_DEBUG(Print(_L("VTProto: TVideoConfigHandler::MPvMp4H263EncExtensionCommandCompletedL<")));
- TVtCommandType cmdType = (TVtCommandType)aResponse.GetCmdType();
- TInt cmdId = aResponse.GetCmdId();
- TInt cmdResponse = aResponse.GetCmdStatus();
- TVtCommandResponse commandRsp(cmdType, cmdId, cmdResponse);
- iProtocolHandler->HandleVideoEncoderCommandCompletedL(commandRsp);
- __IF_DEBUG(Print(_L("VTProto: TVideoConfigHandler::MPvMp4H263EncExtensionCommandCompletedL>")));
- }
-
-// -----------------------------------------------------------------------------
-// TVideoConfigHandler::HandleMPvMp4H263EncExtensionInformationalEventL
-// Handle an information event.
-// -----------------------------------------------------------------------------
-//
-void TVideoConfigHandler::HandleMPvMp4H263EncExtensionInformationalEventL(const CPVAsyncInformationalEvent& aEvent)
- {
- __IF_DEBUG(Print(_L("VTProto: TVideoConfigHandler::HandleMPvMp4H263EncExtensionInformationalEventL<")));
- const TUint8* buffer = aEvent.GetLocalBuffer();
- TInt eventType = aEvent.GetEventType();
- TVtIndicationEvent vtEvent(eventType, buffer);
- iProtocolHandler->HandleVideoEncoderInformationalEventL(vtEvent);
- __IF_DEBUG(Print(_L("VTProto: TVideoConfigHandler::HandleMPvMp4H263EncExtensionInformationalEventL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::SetObserverL
-// This API allows the user to specify separate observers for the extension interface.
-// -----------------------------------------------------------------------------
-//
-void CVideoConfigCommand::SetObserverL(MVtProtocolHandler* aHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetObserverL<")));
- iVideoConfigHandler = new (ELeave)TVideoConfigHandler(aHandler);
- iH263Encoder->SetObserver(iVideoConfigHandler);
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetObserverL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::SetIntraFrameInterval
-// Sets the I-Frame refresh rate of the encoded output.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoConfigCommand::SetIntraFrameInterval(TUint32 aIFrameInterval)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetIntraFrameInterval")));
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetIntraFrameInterval aIFrameInterval %d"), aIFrameInterval));
- return iH263Encoder->SetIFrameInterval(aIFrameInterval);
- }
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::RequestNextIntraFrame
-// Requests the encoder to encode the next frame as an I-Frame.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoConfigCommand::RequestNextIntraFrame()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::RequestNextIntraFrame")));
- return iH263Encoder->RequestIFrame();
- }
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::SetVideoFrameRate
-// Sets the frame rate of encoded output for the specified layer.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoConfigCommand::SetVideoFrameRate(TUint32 aFrameRate)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetVideoFrameRate")));
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetVideoFrameRate aFrameRate %d"), aFrameRate));
- return iH263Encoder->SetOutputFrameRate(aFrameRate);
- }
-
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::~CVideoConfigCommand
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVideoConfigCommand::~CVideoConfigCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::~CVideoConfigCommand")));
- delete iVideoConfigHandler;
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::~CVideoConfigCommand")));
- }
-
-// end of file
--- a/vtprotocols/src/cvtuserinput.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +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:
-*
-*/
-
-
-#include <pv_2way_symbian_interface.h>
-#include <pv_2way_h324m_interface.h>
-#include "mvtprotocolhandler.h"
-#include "cvtuserinput.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::ConstructL
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-void CVTUserInputDtmf::ConstructL(TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::ConstructL<")));
- iUII = CPVUserInputDtmfSymbian::NewL( aTone, 0 );
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::ConstructL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::CVTUserInputDtmf
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CVTUserInputDtmf* CVTUserInputDtmf::NewL(TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::NewL<")));
- CVTUserInputDtmf* self = new (ELeave)CVTUserInputDtmf();
- CleanupStack::PushL(self);
- self->ConstructL(aTone);
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::NewL>")));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::~CVTUserInputDtmf
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVTUserInputDtmf::~CVTUserInputDtmf()
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::~CVTUserInputDtmf<")));
- delete iUII;
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::~CVTUserInputDtmf>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::GetType
-// Virtual function to return the user input type
-// -----------------------------------------------------------------------------
-//
-TUserInputType CVTUserInputDtmf::GetType()
- {
- return EVtUiiDTFM;
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::ConstructL
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-void CVTUserInputAlphanumeric::ConstructL(TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::ConstructL<")));
- TBuf8<1> tone;
- tone.Append( aTone );
- iUII = CPVUserInputAlphanumericSymbian::NewL( tone );
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::ConstructL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputAlphanumeric::CVTUserInputAlphanumeric
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CVTUserInputAlphanumeric* CVTUserInputAlphanumeric::NewL(TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::NewL<")));
- CVTUserInputAlphanumeric* self = new (ELeave)CVTUserInputAlphanumeric();
- CleanupStack::PushL(self);
- self->ConstructL(aTone);
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::NewL>")));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputAlphanumeric::~CVTUserInputAlphanumeric
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVTUserInputAlphanumeric::~CVTUserInputAlphanumeric()
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::~CVTUserInputAlphanumeric<")));
- delete iUII;
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::~CVTUserInputAlphanumeric>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputAlphanumeric::GetType
-// Virtual function to return the user input type.
-// -----------------------------------------------------------------------------
-//
-TUserInputType CVTUserInputAlphanumeric::GetType()
- {
- return EVtUiiAlphaNumeric;
- }
-
-// end of file
--- a/vtprotocols/src/vtprotocolfactory.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +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:
-*
-*/
-
-
-#include <pv_plugin_interfaces.h>
-#include <pv_2way_symbian_interface.h>
-#include <pv_2way_h324m_interface.h>
-#include <pv_audio_output_control_interface.h>
-#include <pv_2way_factory.h>
-#include "mvtprotocolhandler.h"
-#include "cdatasourceproxy.h"
-#include "cdatasinkproxy.h"
-#include "csessionhandler.h"
-#include "caudioconfighandler.h"
-#include "cvtuserinput.h"
-#include "ccommserver.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateSessionCommandL
-// Create one instance.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVtSessionCommand* VTProtocolFactory::CreateSessionCommandL(MVtProtocolHandler* aProtocolHandler, TBool aEnableProxy, TVt3G324MSupported& a3G324MSupported)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateSessionCommandL<")));
- a3G324MSupported = EVt3G324MSupported;
- TSessionHandler * sessionHandler = new (ELeave)TSessionHandler(aProtocolHandler);
- CleanupStack::PushL(sessionHandler);
- MPV2WaySymbianInterface *pv2Way = CPV2WayFactory::CreateTerminalL(sessionHandler, sessionHandler, sessionHandler, aEnableProxy );
- CSessionCommand* sessionCommand = new (ELeave)CSessionCommand(sessionHandler, pv2Way);
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateSessionCommandL sessionCommand %d>"), sessionCommand));
- return sessionCommand;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeleteSessionCommand
-// This function allows the application to delete an instance of a terminal
-// and reclaim all allocated resources.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void VTProtocolFactory::DeleteSessionCommand( MVtSessionCommand* aSessionCommand )
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteSessionCommand<")));
- CSessionCommand* sessionCommand = static_cast<CSessionCommand*>(aSessionCommand);
- CPV2WayFactory::DeleteTerminal( sessionCommand->iPv2Way );
- delete aSessionCommand;
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteSessionCommand>")));
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateAudioSource
-// Creates an instance of a DevSound audio data source.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVTAudioSource* VTProtocolFactory::CreateAudioSource()
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateAudioSource<")));
- TInt err( KErrNone );
- CAudioSourceProxy* audioSourceProxy = NULL;
- TRAP (err, audioSourceProxy = new (ELeave) CAudioSourceProxy() );
- if (err != KErrNone)
- {
- return NULL;
- }
- audioSourceProxy->iAudioSource = CPVDevSoundAudioFactory::CreateDevSoundAudioDataSource();
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateAudioSource audioSourceProxy %d>"), audioSourceProxy));
- return audioSourceProxy;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeletAudioSource
-// Deletes an instance of a DevSound audio data source.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt VTProtocolFactory::DeletAudioSource(MVTAudioSource *aSource)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeletAudioSource<")));
- CAudioSourceProxy* audioSourceProxy = static_cast<CAudioSourceProxy*>(aSource);
- CPVDevSoundAudioFactory::DeleteDevSoundAudioDataSource(audioSourceProxy->iAudioSource);
- delete aSource;
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeletAudioSource>")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateAudioSink
-// Creates an instance of a DevSound audio data sink.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVTAudioSink* VTProtocolFactory::CreateAudioSink()
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateAudioSink<")));
- TInt err( KErrNone );
- CAudioSinkProxy* audioSinkProxy = NULL;
- TRAP(err, audioSinkProxy = new (ELeave) CAudioSinkProxy() );
- if (err != KErrNone)
- {
- return NULL;
- }
- audioSinkProxy->iAudioSink = CPVDevSoundAudioFactory::CreateDevSoundAudioDataSink();
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateAudioSink audioSinkProxy %d>"), audioSinkProxy));
- return audioSinkProxy;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeleteAudioSink
-// Deletes an instance of a DevSound audio data sink
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt VTProtocolFactory::DeleteAudioSink(MVTAudioSink *aSink)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteAudioSink<")));
- CAudioSinkProxy* audioSinkProxy = static_cast<CAudioSinkProxy*>(aSink);
- CPVDevSoundAudioFactory::DeleteDevSoundAudioDataSink(audioSinkProxy->iAudioSink);
- delete aSink;
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteAudioSink>")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateCommServerL
-// Creates an instance of a comm server of a particular name, to be used to
-// initialize the terminal.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MCommServer* VTProtocolFactory::CreateCommServerL(const TDesC & aName, TBool aEnableBitReversal)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateCommServerL<")));
- CCommServer* commServer = new (ELeave)CCommServer();
- CleanupStack::PushL(commServer);
- commServer->iComm = CPVCommFactory::CreateCommServerL(aName, aEnableBitReversal);
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateCommServerL commServer %d>"), commServer));
- return commServer;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeleteCommServerL
-// This function allows the application to delete an instance of a comm server
-// and reclaim all allocated resources.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void VTProtocolFactory::DeleteCommServerL(MCommServer* aCommServer)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteCommServerL<")));
- CCommServer* commServer = static_cast<CCommServer*>(aCommServer);
- CPVCommFactory::DeleteCommServerL(commServer->iComm);
- delete aCommServer;
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteCommServerL>")));
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateUserInputIndication
-// Create instance .
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVTUserInput* VTProtocolFactory::CreateUserInputIndication(TUserInputType aUIIType, TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateUserInputIndication")));
- if (aUIIType == EVtUiiDTFM)
- {
- CVTUserInputDtmf* uii = CVTUserInputDtmf::NewL(aTone);
- return uii;
- }
- else if (aUIIType == EVtUiiAlphaNumeric)
- {
- CVTUserInputAlphanumeric* uii = CVTUserInputAlphanumeric::NewL(aTone);
- return uii;
- }
- else
- {
- return NULL;
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeleteUserInputIndication
-// Delete instance.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void VTProtocolFactory::DeleteUserInputIndication(MVTUserInput* aUII)
- {
- delete aUII;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::GetAudioConfigCommandL
-// Get one instance.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVtAudioConfigCommand* VTProtocolFactory::GetAudioConfigCommandL(MVTAudioSink* aAudioSink)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::GetAudioConfigCommandL<")));
- CAudioSinkProxy* audioSinkProxy = static_cast<CAudioSinkProxy*>(aAudioSink);
- MPVAudioOutputControl* audioCtrl = CPVDevSoundAudioFactory::GetDevSoundAudioOutputControl(
- audioSinkProxy->iAudioSink, ETrue );
- CAudioConfigCommand* audioConfigCommand = new (ELeave)CAudioConfigCommand(audioCtrl);
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::GetAudioConfigCommandL audioConfigCommand %d>"), audioConfigCommand));
- return audioConfigCommand;
- }
-
-// end of file
--- a/vtprotocolsstub/bwins/videotelprotou.def Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
- ?DeleteAudioSink@VTProtocolFactory@@SAHPAVMVTAudioSink@@@Z @ 1 NONAME ; int VTProtocolFactory::DeleteAudioSink(class MVTAudioSink *)
- ?CreateAudioSink@VTProtocolFactory@@SAPAVMVTAudioSink@@XZ @ 2 NONAME ; class MVTAudioSink * VTProtocolFactory::CreateAudioSink(void)
- ?CreateCommServerL@VTProtocolFactory@@SAPAVMCommServer@@ABVTDesC16@@H@Z @ 3 NONAME ; class MCommServer * VTProtocolFactory::CreateCommServerL(class TDesC16 const &, int)
- ?CreateUserInputIndication@VTProtocolFactory@@SAPAVMVTUserInput@@W4TUserInputType@@E@Z @ 4 NONAME ; class MVTUserInput * VTProtocolFactory::CreateUserInputIndication(enum TUserInputType, unsigned char)
- ?CreateSessionCommandL@VTProtocolFactory@@SAPAVMVtSessionCommand@@PAVMVtProtocolHandler@@HAAW4TVt3G324MSupported@@@Z @ 5 NONAME ; class MVtSessionCommand * VTProtocolFactory::CreateSessionCommandL(class MVtProtocolHandler *, int, enum TVt3G324MSupported &)
- ?DeletAudioSource@VTProtocolFactory@@SAHPAVMVTAudioSource@@@Z @ 6 NONAME ; int VTProtocolFactory::DeletAudioSource(class MVTAudioSource *)
- ?GetAudioConfigCommandL@VTProtocolFactory@@SAPAVMVtAudioConfigCommand@@PAVMVTAudioSink@@@Z @ 7 NONAME ; class MVtAudioConfigCommand * VTProtocolFactory::GetAudioConfigCommandL(class MVTAudioSink *)
- ?CreateAudioSource@VTProtocolFactory@@SAPAVMVTAudioSource@@XZ @ 8 NONAME ; class MVTAudioSource * VTProtocolFactory::CreateAudioSource(void)
- ?DeleteCommServerL@VTProtocolFactory@@SAXPAVMCommServer@@@Z @ 9 NONAME ; void VTProtocolFactory::DeleteCommServerL(class MCommServer *)
- ?DeleteUserInputIndication@VTProtocolFactory@@SAXPAVMVTUserInput@@@Z @ 10 NONAME ; void VTProtocolFactory::DeleteUserInputIndication(class MVTUserInput *)
- ?DeleteSessionCommand@VTProtocolFactory@@SAXPAVMVtSessionCommand@@@Z @ 11 NONAME ; void VTProtocolFactory::DeleteSessionCommand(class MVtSessionCommand *)
-
--- a/vtprotocolsstub/eabi/videotelprotou.def Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
- _ZN17VTProtocolFactory15CreateAudioSinkEv @ 1 NONAME
- _ZN17VTProtocolFactory15DeleteAudioSinkEP12MVTAudioSink @ 2 NONAME
- _ZN17VTProtocolFactory16DeletAudioSourceEP14MVTAudioSource @ 3 NONAME
- _ZN17VTProtocolFactory17CreateAudioSourceEv @ 4 NONAME
- _ZN17VTProtocolFactory17CreateCommServerLERK7TDesC16i @ 5 NONAME
- _ZN17VTProtocolFactory17DeleteCommServerLEP11MCommServer @ 6 NONAME
- _ZN17VTProtocolFactory20DeleteSessionCommandEP17MVtSessionCommand @ 7 NONAME
- _ZN17VTProtocolFactory21CreateSessionCommandLEP18MVtProtocolHandleriR18TVt3G324MSupported @ 8 NONAME
- _ZN17VTProtocolFactory22GetAudioConfigCommandLEP12MVTAudioSink @ 9 NONAME
- _ZN17VTProtocolFactory25CreateUserInputIndicationE14TUserInputTypeh @ 10 NONAME
- _ZN17VTProtocolFactory25DeleteUserInputIndicationEP12MVTUserInput @ 11 NONAME
-
--- a/vtprotocolsstub/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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: Video Telephony Protocol
-*
-*/
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTEXPORTS
-
-PRJ_EXPORTS
-
-
-../inc/MVtProtocolHandler.h |../../inc/MVtProtocolHandler.h
-
-
-PRJ_MMPFILES
-
-../Group/videotelproto.mmp
-
-
-
-// End of File
--- a/vtprotocolsstub/group/videotelproto.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* 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: Video telephony protocol
-*
-*/
-
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-// default vendor id
-VENDORID VID_DEFAULT
-
-TARGET videotelproto.dll
-TARGETTYPE dll
-UID 0x1000008d 0x20021182
-
-
-SOURCEPATH ../src
-
-SOURCE cdatasinkproxy.cpp
-SOURCE cdatasourceproxy.cpp
-SOURCE caudioconfighandler.cpp
-SOURCE ch324confighandler.cpp
-SOURCE csessionhandler.cpp
-SOURCE cvideoconfighandler.cpp
-SOURCE cvtuserinput.cpp
-SOURCE vtprotocolfactory.cpp
-
-DOCUMENT ../../group/bld.inf
-
-USERINCLUDE ../inc/
-
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../inc
-SYSTEMINCLUDE /epoc32/include/mmf/common
-SYSTEMINCLUDE /epoc32/include/mmf/server
-
-LIBRARY euser.lib
-LIBRARY ws32.lib
-
-LIBRARY commonengine.lib
-LIBRARY MediaClientAudio.lib
-
-
-
-DEBUGLIBRARY vtlogger.lib
-
-LIBRARY MMFDevSound.lib
-
-
-// End of File
--- a/vtprotocolsstub/inc/caudioconfighandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* 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: Audio configuration interface
-*
-*/
-
-#ifndef CAUDIOCONFIGHANDLER_H
-#define CAUDIOCONFIGHANDLER_H
-NONSHARABLE_CLASS( TAudioConfigHandler )
- {
- public:
- /**
- * Constructor.
- */
- TAudioConfigHandler( MVtProtocolHandler* aProtocolHandler);
- private:
- MVtProtocolHandler* iProtocolHandler;
- };
-
-NONSHARABLE_CLASS( CAudioConfigCommand ) : public CBase,
- public MVtAudioConfigCommand
- {
- public:
-
- /**
- * Constructor.
- */
- CAudioConfigCommand();
-
- /**
- * Destructor.
- */
- ~CAudioConfigCommand();
-
- /**
- * Method to set the playback volume to the specified value.
- *
- * This is a pure virtual function that each derived class must implement.
- * It is also an asynchronous function which will be answered with a callback.
- *
- * @param aNewVolume
- * An input parameter to hold the value for the requested playback volume.
- *
- * @returns TInt
- * Returns a command ID that can be used to identify a command completion result with corresponding request.
- */
- virtual TInt SetAudioVolumeL(TInt aVolume);
-
- /**
- * Method to get the maximum valid value for the playback volume.
- *
- * This is a pure virtual function that each derived class must implement.
- * It is also an asynchronous function which will be answered with a callback.
- *
- * @param aMaxVolume
- * An output parameter to hold the value for the maximum valid playback volume.
- * Note that the parameter should not be used until the callback indicates that the
- * method has completed.
- *
- * @returns TInt
- * Returns a command ID that can be used to identify a command completion result with corresponding request.
- */
- virtual TInt GetMaxAudioVolumeL(TInt& aMaxVolume);
-
- /**
- * This API allows the user to specify observers for the 324m interface.
- *
- * @param aHandler
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler);
- private:
- TAudioConfigHandler* iAudioConfigHandler;
- };
-#endif
-// End of File
--- a/vtprotocolsstub/inc/ccommserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* 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: Comm server interface
-*
-*/
-
-#ifndef CCOMMSERVER_H
-#define CCOMMSERVER_H
-NONSHARABLE_CLASS( CCommServer ) : public CBase,
- public MCommServer
- {
- };
-#endif
-// End of File
--- a/vtprotocolsstub/inc/cdatasinkproxy.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* 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: Data Sink Proxy interface
-*
-*/
-
-#ifndef CDATASINKPROXY_H
-#define CDATASINKPROXY_H
-
-NONSHARABLE_CLASS( CDisplaySinkProxy ) : public CBase
- {
- public:
- /**
- * Constructor.
- */
- CDisplaySinkProxy(MVTVideoSink* aDisplaySink);
-
- /**
- * ConstructL
- */
- void ConstructL();
-
- /**
- * NewL
- */
- static CDisplaySinkProxy* NewL(MVTVideoSink* aDisplaySink);
- /**
- * Get pointer object of data sink.
- * @return member variant:iDisplaySink
- */
- MVTVideoSink* DisplaySink() { return iDisplaySink; }
- private:
- MVTVideoSink* iDisplaySink;
- };
-
-NONSHARABLE_CLASS( CAudioSinkProxy ) : public CBase,
- public MVTAudioSink
- {
- };
-
-#endif
-// End of File
--- a/vtprotocolsstub/inc/cdatasourceproxy.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* 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: Data Source proxy interface
-*
-*/
-
-#ifndef CDATASOURCEPROXY_H
-#define CDATASOURCEPROXY_H
-
-NONSHARABLE_CLASS( CVideoSourceProxy ) : public CBase
- {
- public: //new
- /**
- * Constructor.
- */
- CVideoSourceProxy(MVTVideoSource* aVideoSource);
- /**
- * ConstructL.
- */
- void ConstructL( );
-
- /**
- * NewL.
- */
- static CVideoSourceProxy* NewL(MVTVideoSource* aVideoSource);
-
- /**
- * Get member variant.
- * @return memeber variant:iVideoSource
- */
- MVTVideoSource* VideoSource() { return iVideoSource; }
- private:
- MVTVideoSource* iVideoSource;
- };
-
-NONSHARABLE_CLASS( CAudioSourceProxy ) : public CBase,
- public MVTAudioSource
- {
- };
-#endif
-// End of File
--- a/vtprotocolsstub/inc/ch324confighandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* 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: H324M configuration interface
-*
-*/
-
-#ifndef CH324ConfigHandler_H
-#define CH324ConfigHandler_H
-NONSHARABLE_CLASS( TH324ConfigHandler )
- {
- public:
-
- /**
- * Constructor.
- */
- TH324ConfigHandler(MVtProtocolHandler* aProtocolHandler);
-
- private:
- MVtProtocolHandler* iProtocolHandler;
- };
-
-NONSHARABLE_CLASS( CH324ConfigCommand ): public CBase,
- public MVtH324ConfigCommand
- {
- public:
- /**
- * Destructor.
- */
- ~CH324ConfigCommand();
-
- /**
- * Sets the vendor identification data. This does not cause the stack to issue a vendor identifiation request.
- * Set to NULL to disable sending vendor id. If set to a valid parameter before Connect, it will cause the stack
- * to automatically send it along with the TCS message.
- * @param cc
- * T35 Country code
- * @param ext
- * T35 Extension
- * @param mc
- * T35 Manufacturer code
- * @param aProduct
- * Product number
- * @param aVersion
- * Version number
- **/
- virtual TInt SetVendorId(TUint8 cc, TUint8 ext, TUint32 mc, const TDesC8* aProduct, const TDesC8* aVersion);
-
- /**
- * This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
- * It is a request to the remote encoder to adjust its encoding in accordance with the tradeoff value.
- * A value of 0 indicates a high spatial resolution and a value of 31 indicates a high frame rate.
- * The values from 0 to 31 indicate monotonically a higher frame rate. Actual values do not correspond
- * to precise values of spatial resolution or frame rate.
- *
- **/
- virtual TInt SendVideoTemporalSpatialTradeoffCommand(TUint aLogicalChannel, TUint8 aTradeoff);
-
- /**
- * This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
- * It is an indication to the remote decoder that the local encoder has adjusted its encoding parameters
- * according to the tradeoff value.
- * A value of 0 indicates a high spatial resolution and a value of 31 indicates a high frame rate.
- * The values from 0 to 31 indicate monotonically a higher frame rate. Actual values do not correspond
- * to precise values of spatial resolution or frame rate.
- *
- **/
- virtual TInt SendVideoTemporalSpatialTradeoffIndication(TUint aLogicalChannel, TUint8 aTradeoff);
-
- /**
- * This API allows the user to specify the supported resolutions for video for transmit and receive.
- *
- **/
- virtual TInt SetSupportedResolutions( );
- /**
- * This API allows the user to set options for fast call setup procedures
- **/
- virtual TInt SetFastCsupOptions( );
-
- /**
- * Causes the protocol to send the specified user input to the remote terminal using
- * control channel. The user input can be either DTMF ot Alphanumeric
- * @param user_input A pointer to MVTUserInput
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt SendUserInputMessageL(MVTUserInput& user_input);
-
- /**
- * This API allows the user to specify observers for the 324m interface.
- *
- * @param aHandler the observer for command status and unsolicited informational events
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler);
-
- private:
- TH324ConfigHandler* iH324ConfigHandler;
- };
-#endif
-// End of File
-
\ No newline at end of file
--- a/vtprotocolsstub/inc/csessionhandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-* 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: Session command interface
-*
-*/
-
-#ifndef CSESSIOHANDLER_H
-#define CSESSIOHANDLER_H
-NONSHARABLE_CLASS( TSessionHandler )
- {
- public:
- /**
- * Constructor.
- */
- TSessionHandler(MVtProtocolHandler* aProtocolHandler);
- private:
- MVtProtocolHandler* iProtocolHandler;
- };
-
-NONSHARABLE_CLASS( CSessionCommand ): public CBase,
- public MVtSessionCommand
- {
- public:
- /**
- * Contructor.
- */
- CSessionCommand(TSessionHandler* aSessionHandler);
-
- /**
- * Destructor.
- */
- ~CSessionCommand();
-
- /**
- * This function is valid only in the EIdle state. It is a no-op when
- * invoked in any other state. It causes the protocol to transition
- * to the ESetup state. The terminal remains in the EInitializing state during
- * the transition.
- *
- *
- * @param aInitInfo
- * A reference to a TVtInitInfo structure which set Mona on and off
- *
- * @leave This method can leave with one of the following error codes
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt InitProtocolL(TVtInitInfo& aInitInfo);
-
- /**
- * For an incoming track (MVTVideoSink) this function pauses sending
- * media to the sink (output device) and stops the sink. It then does the protocol
- * negotiations with the remote terminal to pause the logical channel for
- * the specified track.
- *
- * For outgoing, it pauses the sending of media from the source and calls Stop() on the
- * source. It also performs any necessary protocol negotiations with the remote terminal.
- * EVtCommandPause will be sent to the observer when the processing completes.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt PauseVideoL(MVTVideoSource& aDataSource);
- virtual TInt PauseVideoL(MVTVideoSink& aDataSink);
- virtual TInt PauseAudioL(MVTAudioSource& aAudioSource);
-
- /**
- * Resume a previously paused incoming or outgoing track. For incoming,
- * this function starts resumes playing out the media to the appropriate
- * sink based on the current settings. For outgoing it resumes encoding
- * and sending media from the source.
- *
- * EVtCommandResume will be invoked will be invoked on the observer when the processing completes.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ResumeVideoL(MVTVideoSource& aDataSource);
- virtual TInt ResumeVideoL(MVTVideoSink& aDataSink);
- virtual TInt ResumeAudioL(MVTAudioSource& aAudioSource);
-
- /**
- * This function is valid only in the ESetup and EInitializing state. It is a
- * no-op when invoked in the EIdle state
- *
- * It causes the protocol to transition back to the EIdle state. The
- * terminal remains in the EResetting state during the transition.
- *
- * While resetting, the protocol de-allocates all resources resources that
- * had been previously allocated. When it completes, ResetComplete is called
- * and the protocol reverts to the EIdle state.
- *
- * @leave This method can leave with one of the following error codes
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ResetProtocolL();
-
- /**
- * This function can be invoked only in the ESetup state. The terminal starts connecting with the remote
- * terminal based on the specified options and capabilities.
- * The EVtCommandConnect command completion event will be passed to the observer
- * when connect completes.
- * Details about the negotiated session may be obtained by calling the GetSessionParamsL API.
- * GetSessionParamsL may be called after call setup is started to get the list of available channels
- * and their capabilities.
- * Incoming tracks may be opened before ConnectL completes and will be indicated via the
- * EVtIndicationIncommingTrack event.
- *
- * @param aComm
- * An optional pointer to a comm server to provide comm source and sink end-points.
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ConnectToProtocolL(MCommServer* aComm);
-
- /**
- * Allows an application to provide a media source to be associated with a logical channel
- * of communication with the peer. Sources should be added after the EVtIndicationOutgoingTrack
- * indication is received for a newly established logical channel. The media type and
- * channel id associated with the logical channel are specified as part of the indication.
- * This function accepts a MVtVideoSource which provides additional functionality
- * for advertizing capability and exposing configuration APIs.
- * Data sources could be of the following types:
- * a)raw media sources like camera, microphone etc.
- * b)sources of compressed data like file, gateway component etc.
- *
- * @param aChannelId
- * Indicates the channel id to be associated with this source.
- * @param aDataSource
- * reference to the data source
- * @leave This method can leave with one of the following error codes
- * KErrNotSupported if the format of the sources/sinks is incomtible with what the SDK can handle
- * KPVErrInvalidState if invoked in the incorrect state
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @return A unique command id for asynchronous completion
- */
- virtual TInt AddVideoSourceL(const TUint aChannelId, MVTVideoSource &aDataSource);
- virtual TInt AddAudioSourceL(const TUint aChannelId, MVTAudioSource &aDataSource);
-
- /**
- * Allows an application to provide a media sink for rendering an incoming media bitstream in a
- * logical channel of communication with the peer.
- * AddDataSinkL can be called only for established incoming logical channels identified by a unique
- * channel id.
- * Regular incoming channels are established by the peer and are
- * indicated using the EVtIndicationIncomingTrack indication.
- * This function takes in PV extension to MVtVideoSink or MVtAudioSink which provides additional functionality
- * for advertizing capability and exposing configuration APIs.
- * EVtCommandAddDataSink event is sent to the observer on completion of this call.
- *
- * @param aChannelId
- * Indicates the channel id to be associated with this sink.
- * @param aDataSink The data sink to be added
- *
- * @return A unique command id for asynchronous completion
- **/
- virtual TInt AddVideoSinkL(const TUint aChannelId, MVTVideoSink &aDataSink);
- virtual TInt AddAudioSinkL(const TUint aChannelId, MVTAudioSink &aDataSink);
-
- /**
- * This API is to allow the user to cancel all pending requests. The current request being
- * processed, if any, will also be aborted.
- * EVtCommandCancelAllCommands will be passed to the command observer on completion.
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt CancelAllCommandsL( );
-
- /**
- * The Disconnect call is valid only when invoked in the EConnecting, and
- * EConnected states. It causes the terminal to transition to the
- * EDisconnecting state. All the media tracks both incoming and outgoing
- * will be closed on invoking Disconnect. On completion, the terminal
- * goes to the ESetup state.
- *
- * It is a no-op when called in any other state.
- *
- * This is an asynchronous request. The EvtCommandDisconnect event will be
- * sent to the observer when the request processing is complete. This
- * is the only event the Phone application should expect after calling
- * Disconnect.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt DisconnectFromProtocolL();
-
- /**
- * This API is to allow for extensibility of the protocol interface.
- * It allows a caller to ask for an instance of a particular interface object to be returned.
- * The mechanism is analogous to the COM IUnknown method. The interfaces are identified with
- * an interface ID that is a UUID as in DCE and a pointer to the interface object is
- * returned if it is supported. Otherwise the returned pointer is NULL.
- * @param aType
- * @param aProtocolCommand
- * @exception not_supported
- * leaves if the specified interface id is not supported.
- **/
- virtual TInt GetProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand*& aProtocolCommand);
-
- /**
- * This APIis to be used to release an interface that was previously obtained using
- * QueryInterfaceL.
- * @param aType
- * @param
- * @exception not_supported
- * leaves if the specified interface id is not supported.
- **/
- virtual TInt DeleteProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand* aProtocolCommand);
- private:
- CVideoSourceProxy* iVideoSource;
- CDisplaySinkProxy* iDisplaySink;
- TSessionHandler* iSessionHandler;
- };
-#endif
-// End of File
--- a/vtprotocolsstub/inc/cvideoconfighandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* 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: Video configuration interface
-*
-*/
-
-#ifndef CVideoConfigHandler_H
-#define CVideoConfigHandler_H
-NONSHARABLE_CLASS( TVideoConfigHandler )
- {
- public:
-
- /**
- * Constructor.
- */
- TVideoConfigHandler(MVtProtocolHandler* aProtocolHandler);
-
- private:
- MVtProtocolHandler* iProtocolHandler;
- };
-
-NONSHARABLE_CLASS( CVideoConfigCommand ) : public CBase,
- public MVtVideoConfigCommand
- {
- public:
- /**
- * Destructor.
- */
- ~CVideoConfigCommand();
-
- /**
- * Sets the I-Frame refresh rate of the encoded output.
- *
- * @param aIFrameInterval I-Frame rate in seconds per I-Frame
- * @return True if successful, else false
- */
- virtual TInt SetIntraFrameInterval(TUint32 aIFrameInterval);
-
- /**
- * Requests the encoder to encode the next frame as an I-Frame. This menthod is valid
- * only when the node is in EPVMFNodeStarted state. If successful, the next encoded
- * frame will be an I-Frame.
- *
- * @return True for success, else false
- */
- virtual TInt RequestNextIntraFrame();
-
- /**
- * Sets the frame rate of encoded output for the specified layer.
- * @param aFrameRate Frame rate for the specified layer in frames per second.
- * @return True if successful, else false.
- */
- virtual TInt SetVideoFrameRate(TUint32 aFrameRate);
-
- /**
- * This API allows the user to specify separate observers for the extension interface.
- *
- * @param aHandler the observer for unsolicited informational events
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler);
-
- private:
- TVideoConfigHandler* iVideoConfigHandler;
- };
-#endif
-// End of File
--- a/vtprotocolsstub/inc/cvtuserinput.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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: User input interface
-*
-*/
-
-#ifndef CVTUSERINPUT_H
-#define CVTUSERINPUT_H
-NONSHARABLE_CLASS( CVTUserInputDtmf ) : public CBase,
- public MVTUserInput
- {
- public:
- /**
- * ConstructL.
- */
- void ConstructL(TUint8 aTone);
- /**
- * NewL.
- */
- static CVTUserInputDtmf* NewL(TUint8 aTone);
-
- /**
- * Destructor.
- */
- ~CVTUserInputDtmf();
-
- /**
- * Virtual function to return the user input type
- **/
- virtual TUserInputType GetType();
- };
-
-NONSHARABLE_CLASS( CVTUserInputAlphanumeric ) : public CBase,
- public MVTUserInput
- {
- public:
- /**
- * ConstructL.
- */
- void ConstructL(TUint8 aTone);
- /**
- * NewL.
- */
- static CVTUserInputAlphanumeric* NewL(TUint8 aTone);
-
- /**
- * Destructor.
- */
- ~CVTUserInputAlphanumeric();
-
- /**
- * Virtual function to return the user input type
- **/
- virtual TUserInputType GetType();
- };
-#endif
-// End of File
--- a/vtprotocolsstub/inc/mvtprotocolhandler.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1124 +0,0 @@
-/*
-* 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: Video Telephony Protocol interface
-*
-*/
-
-#ifndef MVTENGMEDIAHANDLER_H
-#define MVTENGMEDIAHANDLER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <mmfdatabuffer.h>
-#include <mmfutilities.h>
-#include <mmfcontrollerframework.h>
-
-typedef TInt TVtCommandId;
-typedef TInt TVtCommandStatus;
-typedef TDesC8 TVtMIMEType;
-
-const TUid KVTUidYUVFrameBuffer = {0xFFFFFF0d};
-const TInt KVtUidDataSrcPrime = 0xFFFFFF08;
-const TInt KVtUidDataSrcPlay = 0xFFFFFF09;
-const TInt KVtUidDataSrcPause = 0xFFFFFF0A;
-const TInt KVtUidDataSrcStop = 0xFFFFFF0B;
-
-_LIT8(KVtVideoMIMETypeYUV420, "/video/x-pv/raw/yuv420");
-
-enum TVt3G324MSupported
- {
- EVt3G324MMissing,
- EVt3G324MSupported
- };
-
-enum TVtConfigType
- {
- EVtH324Config,
- EVtVideoEncoderConfig
- };
-
-enum TVtCommandType {
- EVtCommandInit,
- EVtCommandGetSDKInfo,
- EVtCommandGetProtocolState = 3,
- EVtCommandReset,
- EVtCommandAddDataSource = 6,
- EVtCommandRemoveDataSource,
- EVtCommandAddDataSink,
- EVtCommandRemoveDataSink,
- EVtCommandConnect,
- EVtCommandDisconnect,
- EVtCommandPause,
- EVtCommandResume,
- EVtCommandGetProtocolInterface =20,
- EVtCommandDeleteProtocolInterface,
- EVtCommandCancelAllCommands
- };
-
-enum TVtIndicationType
- {
- EVtIndicationVideoSpatialTamporalTradeOffCommand,
- EVtIndicationVideoSpatialTamporalTradeOffIndication,
- EVtIndicationUserInputCapability = 6,
- EVtIndicationIncomingTrack = 41,
- EVtIndicationOutgoingTrack,
- EVtIndicationDisconnect,
- EVtIndicationClosingTrack,
- EVtIndicationCloseTrack,
- EVtIndicationPauseTrack,
- EVtIndicationResumeTrack
- };
-
-enum TVtMediaType
- {
- EVtAudio = 1,
- EVtVideo,
- EVtControl,
- EVtData,
- EVtUserInput,
- EVtMediaNone
- };
-
-enum TVtAudioOutputControlCommand
- {
- EVtAudioOutputControlGetMaxVolume,
- EVtAudioOutputControlGetVolume,
- EVtAudioOutputControlSetVolume,
- EVtAudioOutputControlGetBalance,
- EVtAudioOutputControlSetBalance
- };
-
-const TUint8 EVtIncoming = 1;
-
-enum TUserInputType
- {
- EVtUiiDTFM,
- EVtUiiAlphaNumeric
- };
-
-struct TVtInitInfo
- {
- TBool iAMRWBOn;
- TBool iDisableMpeg4;
- };
-
-struct TVtIndicationEvent
- {
- public:
- /**
- * Constructor.
- */
- TVtIndicationEvent(TInt aEventType, const TUint8 *aLocalBuffer) : iEventType(aEventType), iLocalBuffer(aLocalBuffer)
- {}
- public:
- TInt iEventType;
- const TUint8 *iLocalBuffer;
- };
-
-struct TVtCommandResponse
- {
- public:
- /**
- * Constructor.
- */
- TVtCommandResponse(TVtCommandType aCmdType, TInt aCmdId, TInt iCmdStatus) : iCmdType(aCmdType), iCmdId(aCmdId), iCmdStatus(iCmdStatus)
- {}
- public:
- TVtCommandType iCmdType;
- TInt iCmdId;
- TInt iCmdStatus;
- };
-
-struct TVtErrorEvent
- {
- public:
- /**
- * Constructor.
- */
- TVtErrorEvent(TInt aEventType) : iEventType(aEventType) {}
- public:
- TInt iEventType;
- };
-
-struct TVtMMFDataBuffer
- {
- public:
- /**
- * Constructor.
- */
- TVtMMFDataBuffer(CMMFBuffer* aMmfBuffer,TSize aFrameSize, TPtr8& aPtr) : iMmfBuffer(aMmfBuffer), iFrameSize(aFrameSize), iPtr(aPtr) {}
-
- /**
- * Get the YUV frame size.
- * @return The frame size, in pixels
- */
- TSize GetFrameSize() {return iFrameSize;}
-
- /**
- * Get MMF buffer.
- * @return the MMF buffer
- */
- CMMFBuffer* GetMMFBuffer() {return iMmfBuffer;}
-
- /**
- * Get MMF buffer.
- * @return the MMF buffer
- */
- const CMMFBuffer* GetMMFBuffer() const {return iMmfBuffer;}
-
- /**
- * @return Returns a reference to the data buffer
- **/
- TPtr8& Data() {return iPtr;}
-
- /**
- * @return Returns the frame size of the contained buffer.
- **/
- const TSize GetFrameSize() const {return iFrameSize;}
-
- /**
- * @return Returns a reference to the data buffer
- **/
- const TPtr8& Data() const {return iPtr;}
- private:
- CMMFBuffer* iMmfBuffer;
- TSize iFrameSize;
- TPtr8& iPtr;
- };
-
-class MVTVideoInput
- {
- public:
-
- /**
- * Set the video frame format. This must be from the list of supported formats.
- * @param "aFormat" The mime string describing the video frame format.
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetFormatL(const TDesC8& aFormat) {}
-
- /**
- * Set the video frame rate. This must be within the range of supported frame rates
- * for the current frame size.
- * @param "aFrameRate" The video frame rate to set.
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetFrameRateL(TReal32 aFrameRate) {}
-
- /**
- * Set the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- */
- virtual void SetVideoFrameSizeL(const TSize& aSize) {}
-
- /**
- * Get the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- */
- virtual void GetVideoFrameSizeL(TSize& aSize) const {}
-
- /**
- * This API returns multimedias type supported by the data source/sink -
- * Audio, Video, Data etc. Each supported type is indicated by a MIME type structure.
- * @return
- **/
- virtual const RArray<TDesC8* >& GetMultimediaTypesL() const {}
- };
-
-class MVTVideoOutput
- {
- public:
-
- /**
- * Sets the data format using MIME string.
- * @param aFormat The format as a MIME string.
- **/
- virtual void SetFormatL(const TDesC8& aFormat) {}
-
- /**
- * Set the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- **/
- virtual void SetVideoFrameSizeL(const TSize& aSize) {}
-
- /**
- * Get the video frame size
- * @param "aSize" The video frame size, in pixels
- * @exception Can leave with one of the system wide error codes
- **/
- virtual void GetVideoFrameSizeL(TSize& aSize) const {}
-
- /**
- * This API returns multimedias type supported by the data source/sink -
- * Audio, Video, Data etc. Each supported type is indicated by a MIME type structure.
- * @return
- **/
- virtual const RArray<TDesC8* >& GetMultimediaTypesL() const {}
- };
-
-//This class is empty
-class MVTAudioSource
- {
- };
-
-//This class is empty
-class MVTAudioSink
- {
- };
-
-class MVTVideoSource;
-class MVTVideoSink : public MVTVideoOutput
- {
- public:
- /**
- * Constructor.
- */
- MVTVideoSink(TUid aType): iDataSinkType(aType) {}
-
- /**
- * Method called by a data source to request the data sink to empty aBuffer of data.
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used when a data sink is passively waiting for requests from a supplier ie a data source
- * to empty a buffer. The data sink must call the BufferEmptiedL member on aSupplier when it has emptied
- * the buffer of it's data - the data sink can either make this callback synchronously or asynchronously.
- *
- * @param "aBuffer"
- * The full buffer that needs emptying of it's data
- *
- * @param "aSupplier"
- * The data source that supplied the data. The data sink needs this to make the BufferEmptiedL
- * callback on aSupplier to indicate to the data source that the data sink has finished with the buffer.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data
- */
- virtual void EmptyBufferL(
- TVtMMFDataBuffer aDataBuffer,
- MVTVideoSource* aSupplier,
- TMediaId aMediaId ) {}
-
- /**
- * Method called by a data source to pass back an filled buffer to the sink
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used as the callback when the data sink actively requests a supplier ie a data source
- * to fill a buffer by calling the data sources FillBufferL.
- * When the data sink gets this callback it knows that the buffer has been filled and is ready to be emptied
- *
- * @param "aBuffer"
- * The buffer that has been filled by a data source and is now available for processing
- */
- virtual void BufferFilledL( CMMFBuffer* aBuffer ) = 0;
-
- /**
- * Method to indicate whether the data sink can create a buffer.
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @return ETrue if the data sink can create a buffer else EFalse
- */
- virtual TBool CanCreateSinkBuffer() {return EFalse;}
-
- /**
- * Returns a buffer created by the data sink
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data.
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the sink
- * and should be used in preference to the source buffer provided the source buffer
- * is also not a reference buffer.
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer* CreateSinkBufferL(
- TMediaId aMediaId,
- TBool &aReference ) {return NULL;}
-
- /**
- * Method to 'logon' the data sink to the same thread that sink will be consuming data in.
- *
- * This method may be required as the thread that the data sink was created in is not always
- * the same thread that the data transfer will take place in. Therefore any thread specific
- * initialisation needs to be performed in the SinkThreadLogon rather than in the creation
- * of the data sink.
- *
- * This is a virtual function that a derrived data sink can implement if any thread specific
- * initialisation is required and/or the data sink can create any asynchronous events.
- *
- *
- * @param "aEventHandler"
- * This is an MAsyncEventHandler to handle asynchronous events that occur during the
- * transfer of multimedia data. The event handler must be in the same thread as the data transfer
- * thread - hence the reason it is passed in the SinkThreadLogon as opposed to say the constructor.
- *
- *
- * @return KErrNone if successful, otherwise a system wide error code.
- */
- virtual TInt SinkThreadLogon( MAsyncEventHandler& aEventHandler ) {return KErrNone;}
-
- /**
- * Method to 'logoff' the data sink from the same thread that sink consumes data in.
- *
- * This method may be required as the thread that the data sink is deleted in may not be
- * the same thread that the data transfer took place in. Therefore any thread specific
- * releasing of resources needs to be performed in the SinkThreadLogoff rather than in the destructor
- *
- * This is a virtual function that a derrived data sink can implement if any thread specific
- * releasing of resources is required.
- */
- virtual void SinkThreadLogoff() {}
-
- /**
- * Method to 'prime' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific 'priming' is required
- */
- virtual TInt SinkPrimeL() {return 0;}
-
- /**
- * Method to 'play' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required prior to 'playing'ie the start of data transfer
- */
- virtual TInt SinkPlayL() {return 0;}
-
- /**
- * Method to 'pause' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required to 'pause'
- */
- virtual TInt SinkPauseL() {return 0;}
-
- /**
- * Method to 'stop' the data sink
- *
- * This is a virtual function that a derrived data sink can implement if
- * any data sink specific action is required to 'stop'
- */
- virtual TInt SinkStopL() {return 0;}
- private:
- TUid iDataSinkType;
- };
-
-class MVTVideoSource : public MVTVideoInput
- {
- public:
-
- /**
- * Constructor.
- */
- MVTVideoSource(TUid aType): iDataSourceType(aType) {}
-
- /**
- * Method called by a data sink to request the data source to fill aBuffer with data.
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used when a data source is passively waiting for requests from a consumer ie a data sink
- * to fill a buffer. The data source must call the BufferFilledL member on aConsumer when it has filled
- * the buffer with data - the data source can either make this callback synchronously or asynchronously.
- *
- * @param "aBuffer"
- * The buffer that needs filling with data
- *
- * @param "aConsumer"
- * The data sink that consumes the data. The data source needs this to make the BufferFilledL
- * callback on aConsumer when the data source has completed filling the aBuffer.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- */
- virtual void FillBufferL(
- CMMFBuffer* aBuffer,
- MVTVideoSink* aConsumer,
- TMediaId aMediaId ) {}
-
- /**
- * Method called by a data sink to pass back an emptied buffer to the source
- *
- * This is a pure virtual function that each derived class must implement.
- * This method is used as the callback when the data source actively requests a consumer ie a data sink
- * to empty a buffer by calling the data sinks EmptyBufferL.
- * When the data source gets this callback it knows that the buffer has been emptied and can be reused
- *
- * @param "aBuffer"
- * The buffer that has been emptied by a data sink and is now available for reuse
- */
- virtual void BufferEmptiedL( CMMFBuffer* aBuffer ) = 0;
-
- /**
- * Method to indicate whether the data source can create a buffer.
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @return ETrue if the data source can create a buffer else EFalse
- */
- virtual TBool CanCreateSourceBuffer() {return EFalse;}
-
- /**
- * Returns a buffer created by the data source
- *
- * This is a pure virtual function that each derived class must implement.
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the source
- * and should be used in preference to the sink buffer provided the sink buffer
- * is also not a reference buffer
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer* CreateSourceBufferL(
- TMediaId aMediaId,
- TBool &aReference ) {return NULL;}
-
- /**
- * Returns a buffer created by the data source
- *
- * This is a virtual function that a derived class can implement.
- * This can be used in preference to the above CreateSourceBufferL method in cases where
- * the source buffer creation has a dependancy on the sink buffer
- *
- * @param "aMediaId"
- * This identifies the type of media eg audio or video and the stream id.
- * This parameter is required in cases where the source can supply data
- * of more than one media type and/or multiple strams of data eg a multimedia file
- *
- * @param "aSinkBuffer"
- * The sink buffer the nature of which may influence the creation of the source buffer
- *
- * @param "aReference"
- * This must be written to by the method to indicate whether the created buffer is
- * a 'reference' buffer. A 'reference' buffer is a buffer that is owned by the source
- * and should be used in preference to the sink buffer provided the sink buffer is not a reference buffer
- * .
- * @return The created buffer
- */
- virtual CMMFBuffer* CreateSourceBufferL(
- TMediaId aMediaId,
- CMMFBuffer& aSinkBuffer,
- TBool &aReference ) {return NULL;}
-
- /**
- * Method to 'logon' the data source to the same thread that source will be supplying data in.
- *
- * This method may be required as the thread that the data source was created in is not always
- * the same thread that the data transfer will take place in. Therefore any thread specific
- * initialisation needs to be performed in the SourceThreadLogon rather than in the creation
- * of the data source.
- *
- * This is a virtual function that a derrived data source can implement if any thread specific
- * initialisation is required and/or the data source can create any asynchronous events.
- *
- *
- * @param "aEventHandler"
- * This is an MAsyncEventHandler to handle asynchronous events that occur during the
- * transfer of multimedia data. The event handler must be in the same thread as the data transfer
- * thread - hence the reason it is passed in the SourceThreadLogon as opposed to say the constructor.
- *
- *
- * @return KErrNone if successful, otherwise a system wide error code.
- */
- virtual TInt SourceThreadLogon( MAsyncEventHandler& aEventHandler ) {return KErrNone;}
-
- /**
- * Method to 'logoff' the data source from the same thread that source supplies data in.
- *
- * This method may be required as the thread that the data source is deleted in may not be
- * the same thread that the data transfer took place in. Therefore any thread specific
- * releasing of resources needs to be performed in the SourceThreadLogoff rather than in the destructor
- *
- * This is a virtual function that a derrived data source can implement if any thread specific
- * releasing of resources is required.
- */
- virtual void SourceThreadLogoff() {}
-
- /**
- * Method to 'prime' the data source
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific 'priming' is required
- */
- virtual TInt SourcePrimeL() {return 0;}
-
- /**
- * Method to 'play' the data source
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required prior to 'playing'ie the start of data transfer
- */
- virtual TInt SourcePlayL() {return 0;}
-
- /**
- * Method to 'pause' the data source
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required to 'pause'
- */
- virtual TInt SourcePauseL() {return 0;}
-
- /**
- * Method to 'stop' the data source
- *
- * This is a virtual function that a derrived data source can implement if
- * any data source specific action is required to 'stop'
- */
- virtual TInt SourceStopL() {return 0;}
- private:
- TUid iDataSourceType;
- };
-
-class MCommServer
- {
- };
-
-class MVtProtocolCommand
- {
- public:
- enum TVtProtocolState
- {
- EIdle,
- EInitializing,
- ESetup,
- EConnecting,
- EConnected,
- EDisconnecting,
- EResetting
- };
- };
-
-class MVtProtocolHandler
- {
- public:
-
- /**
- * Handle an event that has been generated.
- *
- * @param "aResponse" "The response to a previously issued command."
- */
- virtual void HandleSessionCommandEventL(const TVtCommandResponse& aResponse) = 0;
-
- /**
- * Handle an informational event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleSessionInformationalEventL(const TVtIndicationEvent& aEvent) = 0;
-
- /**
- * Handle an error event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleSessionErrorEventL(const TVtErrorEvent& aEvent) = 0;
-
- /**
- * Signals completion of the audio output control command.
- * @param aId The command id of the completed command.
- * @param aCmd The command type.
- * @param aContextData The context data passed in with the command.
- * @param aStatus The command completion status.
- **/
- virtual void HandleAudioOutputControlCommandComplete(TInt aId, TVtAudioOutputControlCommand aCmd, TAny *aContextData ,TInt aStatus) = 0;
- /**
- * Handle an event that has been generated.
- *
- * @param "aResponse" "The response to a previously issued command."
- */
- virtual void HandleVideoEncoderCommandCompletedL(const TVtCommandResponse& aResponse) = 0;
-
- /**
- * Handle an event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleVideoEncoderInformationalEventL(const TVtIndicationEvent& aEvent) = 0;
-
- /**
- * Handle an event that has been generated.
- *
- * @param "aResponse" "The response to a previously issued command."
- */
- virtual void HandleH324MConfigCommandCompletedL(const TVtCommandResponse& aResponse) = 0;
-
- /**
- * Handle an event that has been generated.
- *
- * @param "aEvent" "The event to be handled."
- */
- virtual void HandleH324MConfigInformationalEventL(const TVtIndicationEvent& aEvent) = 0;
- virtual ~MVtProtocolHandler() {}
- };
-
-
-class MVtSessionCommand : public MVtProtocolCommand
- {
- public:
- /**
- * This function is valid only in the EIdle state. It is a no-op when
- * invoked in any other state. It causes the protocol to transition
- * to the ESetup state. The terminal remains in the EInitializing state during
- * the transition.
- *
- *
- * @param aInitInfo
- * A reference to a TVtInitInfo structure which set Mona on and off
- *
- * @leave This method can leave with one of the following error codes
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt InitProtocolL(TVtInitInfo& aInitInfo) = 0;
-
- /**
- * For an incoming track (MVTVideoSink) this function pauses sending
- * media to the sink (output device) and stops the sink. It then does the protocol
- * negotiations with the remote terminal to pause the logical channel for
- * the specified track.
- *
- * For outgoing, it pauses the sending of media from the source and calls Stop() on the
- * source. It also performs any necessary protocol negotiations with the remote terminal.
- * EVtCommandPause will be sent to the observer when the processing completes.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt PauseVideoL(MVTVideoSource& aDataSource) = 0;
- virtual TInt PauseVideoL(MVTVideoSink& aDataSink) = 0;
- virtual TInt PauseAudioL(MVTAudioSource& aAudioSource) = 0;
-
- /**
- * Resume a previously paused incoming or outgoing track. For incoming,
- * this function starts resumes playing out the media to the appropriate
- * sink based on the current settings. For outgoing it resumes encoding
- * and sending media from the source.
- * EVtCommandResume will be invoked will be invoked on the observer when the processing completes.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ResumeVideoL(MVTVideoSource& aDataSource) = 0;
- virtual TInt ResumeVideoL(MVTVideoSink& aDataSink) = 0;
- virtual TInt ResumeAudioL(MVTAudioSource& aAudioSource) = 0;
-
- /**
- * This function is valid only in the ESetup and EInitializing state. It is a
- * no-op when invoked in the EIdle state
- *
- * It causes the protocol to transition back to the EIdle state. The
- * terminal remains in the EResetting state during the transition.
- *
- * While resetting, the protocol de-allocates all resources resources that
- * had been previously allocated. When it completes, ResetComplete is called
- * and the protocol reverts to the EIdle state.
- *
- * @leave This method can leave with one of the following error codes
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ResetProtocolL() = 0;
-
- /**
- * This function can be invoked only in the ESetup state. The terminal starts connecting with the remote
- * terminal based on the specified options and capabilities.
- * The EVtCommandConnect command completion event will be passed to the observer
- * when connect completes.
- * Details about the negotiated session may be obtained by calling the GetSessionParamsL API.
- * GetSessionParamsL may be called after call setup is started to get the list of available channels
- * and their capabilities.
- * Incoming tracks may be opened before ConnectL completes and will be indicated via the
- * EVtIndicationIncommingTrack event.
- *
- * @param aComm
- * An optional pointer to a comm server to provide comm source and sink end-points.
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt ConnectToProtocolL(MCommServer* aComm) = 0;
-
- /**
- * Allows an application to provide a media source to be associated with a logical channel
- * of communication with the peer. Sources should be added after the EVtIndicationOutgoingTrack
- * indication is received for a newly established logical channel. The media type and
- * channel id associated with the logical channel are specified as part of the indication.
- * This function accepts a MVtVideoSource which provides additional functionality
- * for advertizing capability and exposing configuration APIs.
- * Data sources could be of the following types:
- * a)raw media sources like camera, microphone etc.
- * b)sources of compressed data like file, gateway component etc.
- *
- * @param aChannelId
- * Indicates the channel id to be associated with this source.
- * @param aDataSource
- * reference to the data source
- * @leave This method can leave with one of the following error codes
- * KErrNotSupported if the format of the sources/sinks is incomtible with what the SDK can handle
- * KErrNoMemory if the SDK failed to allocate memory during this operation
- * @return A unique command id for asynchronous completion
- */
- virtual TInt AddVideoSourceL(const TUint aChannelId, MVTVideoSource &aDataSource) = 0;
- virtual TInt AddAudioSourceL(const TUint aChannelId, MVTAudioSource &aDataSource) = 0;
-
- /**
- * Allows an application to provide a media sink for rendering an incoming media bitstream in a
- * logical channel of communication with the peer.
- * AddDataSinkL can be called only for established incoming logical channels identified by a unique
- * channel id.
- * Regular incoming channels are established by the peer and are
- * indicated using the EVtIndicationIncomingTrack indication.
- * This function takes in PV extension to MVtVideoSink or MVtAudioSink which provides additional functionality
- * for advertizing capability and exposing configuration APIs.
- * EVtCommandAddDataSink event is sent to the observer on completion of this call.
- *
- * @param aChannelId
- * Indicates the channel id to be associated with this sink.
- * @param aDataSink The data sink to be added
- *
- * @return A unique command id for asynchronous completion
- **/
- virtual TInt AddVideoSinkL(const TUint aChannelId, MVTVideoSink &aDataSink) = 0;
- virtual TInt AddAudioSinkL(const TUint aChannelId, MVTAudioSink &aDataSink) = 0;
-
- /**
- * This API is to allow the user to cancel all pending requests. The current request being
- * processed, if any, will also be aborted.
- * EVtCommandCancelAllCommands will be passed to the command observer on completion.
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt CancelAllCommandsL( ) = 0;
-
- /**
- * The Disconnect call is valid only when invoked in the EConnecting, and
- * EConnected states. It causes the terminal to transition to the
- * EDisconnecting state. All the media tracks both incoming and outgoing
- * will be closed on invoking Disconnect. On completion, the terminal
- * goes to the ESetup state.
- *
- * It is a no-op when called in any other state.
- *
- * This is an asynchronous request. The EvtCommandDisconnect event will be
- * sent to the observer when the request processing is complete. This
- * is the only event the Phone application should expect after calling
- * Disconnect.
- *
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt DisconnectFromProtocolL() = 0;
-
- /**
- * This API is to allow for extensibility of the protocol interface.
- * It allows a caller to ask for an instance of a particular interface object to be returned.
- * The mechanism is analogous to the COM IUnknown method. The interfaces are identified with
- * an interface ID that is a UUID as in DCE and a pointer to the interface object is
- * returned if it is supported. Otherwise the returned pointer is NULL.
- * @param aType
- * @param aProtocolCommand
- * @exception not_supported
- * leaves if the specified interface id is not supported.
- **/
- virtual TInt GetProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand*& aProtocolCommand) = 0;
-
- /**
- * This APIis to be used to release an interface that was previously obtained using
- * QueryInterfaceL.
- * @param aType
- * @param
- * @exception not_supported
- * leaves if the specified interface id is not supported.
- **/
- virtual TInt DeleteProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand*) = 0;
-
- /**
- * Destructor.
- */
- virtual ~MVtSessionCommand() {}
- };
-
-class MVTUserInput
- {
- public:
-
- /**
- * @returns Returns the user input type.
- **/
- virtual TUserInputType GetType() = 0;
- virtual ~MVTUserInput() {}
- };
-
-class MVtH324ConfigCommand : public MVtProtocolCommand
- {
- public:
-
- /**
- * This API allows the user to specify observers for the 324m interface.
- *
- * @param aHandler the observer for command status and unsolicited informational events
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler) = 0;
-
- /**
- * Sets the vendor identification data. This does not cause the stack to issue a vendor identifiation request.
- * Set to NULL to disable sending vendor id. If set to a valid parameter before Connect, it will cause the stack
- * to automatically send it along with the TCS message.
- * @param cc
- * T35 Country code
- * @param ext
- * T35 Extension
- * @param mc
- * T35 Manufacturer code
- * @param aProduct
- * Product number
- * @param aVersion
- * Version number
- **/
- virtual TInt SetVendorId(TUint8 cc, TUint8 ext, TUint32 mc, const TDesC8* aProduct, const TDesC8* aVersion) = 0;
- /**
- * This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
- * It is a request to the remote encoder to adjust its encoding in accordance with the tradeoff value.
- * A value of 0 indicates a high spatial resolution and a value of 31 indicates a high frame rate.
- * The values from 0 to 31 indicate monotonically a higher frame rate. Actual values do not correspond
- * to precise values of spatial resolution or frame rate.
- *
- **/
- virtual TInt SendVideoTemporalSpatialTradeoffCommand(TUint aLogicalChannel, TUint8 aTradeoff)=0;
-
- /**
- * This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
- * It is an indication to the remote decoder that the local encoder has adjusted its encoding parameters
- * according to the tradeoff value.
- * A value of 0 indicates a high spatial resolution and a value of 31 indicates a high frame rate.
- * The values from 0 to 31 indicate monotonically a higher frame rate. Actual values do not correspond
- * to precise values of spatial resolution or frame rate.
- *
- **/
- virtual TInt SendVideoTemporalSpatialTradeoffIndication(TUint aLogicalChannel, TUint8 aTradeoff)=0;
-
- /**
- * This API allows the user to specify the supported resolutions for video for transmit and receive.
- *
- **/
- virtual TInt SetSupportedResolutions( ) = 0;
-
- /**
- * This API allows the user to set options for fast call setup procedures
- **/
-
- virtual TInt SetFastCsupOptions( ) = 0;
-
- /**
- * Causes the protocol to send the specified user input to the remote terminal using
- * control channel. The user input can be either DTMF ot Alphanumeric
- * @param user_input A pointer to MVTUserInput
- * @returns A unique command id for asynchronous completion
- **/
- virtual TInt SendUserInputMessageL(MVTUserInput& user_input) = 0;
- };
-
-class MVtVideoConfigCommand : public MVtProtocolCommand
- {
- public:
-
- /**
- * This API allows the user to specify separate observers for the extension interface.
- *
- * @param aHandler the observer for unsolicited informational events
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler) = 0;
-
- /**
- * Sets the I-Frame refresh rate of the encoded output.
- *
- * @param aIFrameInterval I-Frame rate in seconds per I-Frame
- * @return True if successful, else false
- */
- virtual TInt SetIntraFrameInterval(TUint32 aIFrameInterval) = 0;
-
- /**
- * Requests the encoder to encode the next frame as an I-Frame. If successful, the next encoded
- * frame will be an I-Frame.
- *
- * @return True for success, else false
- */
- virtual TInt RequestNextIntraFrame() = 0;
-
- /**
- * Sets the frame rate of encoded output for the specified layer.
- * @param aFrameRate Frame rate for the specified layer in frames per second.
- * @return True if successful, else false.
- */
- virtual TInt SetVideoFrameRate(TUint32 aFrameRate) = 0;
- };
-
-class MVtAudioConfigCommand : public MVtProtocolCommand
- {
- public:
-
- /**
- * This API allows the user to specify observers for the 324m interface.
- *
- * @param aHandler
- **/
- virtual void SetObserverL(MVtProtocolHandler* aHandler) = 0;
-
- /**
- * Method to set the playback volume to the specified value.
- *
- * This is a pure virtual function that each derived class must implement.
- * It is also an asynchronous function which will be answered with a callback.
- *
- * @param aNewVolume
- * An input parameter to hold the value for the requested playback volume.
- *
- * @returns Returns a command ID that can be used to identify a command completion result with corresponding request.
- */
- virtual TInt SetAudioVolumeL(TInt aVolume) = 0;
-
- /**
- * Method to get the maximum valid value for the playback volume.
- *
- * This is a pure virtual function that each derived class must implement.
- * It is also an asynchronous function which will be answered with a callback.
- *
- * @param aMaxVolume
- * An output parameter to hold the value for the maximum valid playback volume.
- * Note that the parameter should not be used until the callback indicates that the
- * method has completed.
- *
- * @returns Returns a command ID that can be used to identify a command completion result with corresponding request.
- */
- virtual TInt GetMaxAudioVolumeL(TInt& aMaxVolume) = 0;
- };
-
-class VTProtocolFactory
- {
- public:
-
- /**
- * Create one instance.
- */
- IMPORT_C static MVtSessionCommand* CreateSessionCommandL(MVtProtocolHandler* aProtocolHandler, TBool aEnableProxy, TVt3G324MSupported& a3G324MSupported);
-
- /**
- * This function allows the application to delete an instance of a terminal
- * and reclaim all allocated resources. A terminal should be deleted only in
- * the EIdle state. An attempt to delete a terminal in any other state will
- * result in unpredictable behavior.
- *
- * @param terminal the terminal to be deleted.
- *
- **/
- IMPORT_C static void DeleteSessionCommand( MVtSessionCommand* aSessionCommand );
-
- /**
- * Creates an instance of a DevSound audio data source.
- *
- * @param None
- *
- * @returns A pointer to the interface
- **/
- IMPORT_C static MVTAudioSource* CreateAudioSource();
-
- /**
- * Deletes an instance of a DevSound audio data source
- * that was previously created with CreateAudioSource();
- *
- * @param aSource The audio data source to be deleted.
- *
- * @returns status
- **/
- IMPORT_C static TInt DeletAudioSource(MVTAudioSource *aSource);
-
- /**
- * Creates an instance of a DevSound audio data sink.
- *
- * @param None
- *
- * @returns A pointer to the interface
- **/
- IMPORT_C static MVTAudioSink* CreateAudioSink();
-
- /**
- * Deletes an instance of a DevSound audio data sink
- * that was previously created with CreateAudioSink();
- *
- * @param The audio data sink to be deleted.
- *
- * @returns status
- **/
- IMPORT_C static TInt DeleteAudioSink(MVTAudioSink *aSink);
-
- /**
- * Creates an instance of a comm server of a particular name, to be used to
- * initialize the terminal.
- *
- *
- * @returns A pointer to a terminal or leaves if the type is invalid or the system is out of resources
- **/
- IMPORT_C static MCommServer* CreateCommServerL(const TDesC & aName, TBool aEnableBitReversal=EFalse);
-
- /**
- * This function allows the application to delete an instance of a comm server
- * and reclaim all allocated resources. A comm server should be deleted only when the
- * protocol is in the EIdle state. An attempt to delete a comm server in any other state
- * could result in memory corruption within the protocol. This function will leave with
- * KErrInUse if the comm server is still in use. However it will not check the state of the
- * protocol that is using the comm server.
- *
- * @param aCommServer the comm server to be deleted.
- *
- * @returns a status code indicating success or failure
- **/
- IMPORT_C static void DeleteCommServerL(MCommServer* aCommServer);
-
- /**
- * Create instance.
- * @param aUIITyep
- * @param aTone
- */
- IMPORT_C static MVTUserInput* CreateUserInputIndication(TUserInputType aUIIType, TUint8 aTone);
-
- /**
- * Delete instance.
- * @param aUII
- */
- IMPORT_C static void DeleteUserInputIndication(MVTUserInput* aUII);
-
- /**
- *
- * @param aAudioSink
- */
- IMPORT_C static MVtAudioConfigCommand* GetAudioConfigCommandL(MVTAudioSink* aAudioSink);
- };
-
-#endif
-// End of File
--- a/vtprotocolsstub/src/caudioconfighandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* 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: Audio configuration implementation
-*
-*/
-
-#include "mvtprotocolhandler.h"
-#include "caudioconfighandler.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// TAudioConfigHandler::TAudioConfigHandler
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-TAudioConfigHandler::TAudioConfigHandler(MVtProtocolHandler* aProtocolHandler) : iProtocolHandler(aProtocolHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: TAudioConfigHandler::TAudioConfigHandler<")));
- __IF_DEBUG(Print(_L("VTProto: TAudioConfigHandler::TAudioConfigHandler>")));
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::CAudioConfigCommand
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CAudioConfigCommand::CAudioConfigCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::CAudioConfigCommand<")));
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::CAudioConfigCommand>")));
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::SetObserverL
-// This API allows the user to specify observers for the 324m interface.
-// -----------------------------------------------------------------------------
-//
-void CAudioConfigCommand::SetObserverL(MVtProtocolHandler* aHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::SetObserverL<")));
- iAudioConfigHandler = new (ELeave)TAudioConfigHandler(aHandler);
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::SetObserverL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::SetAudioVolumeL
-// Method to set the playback volume to the specified value.
-// -----------------------------------------------------------------------------
-//
-TInt CAudioConfigCommand::SetAudioVolumeL(TInt aVolume)
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::SetAudioVolumeL")));
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::SetAudioVolumeL aVolume %d"), aVolume));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::GetMaxAudioVolumeL
-// Method to get the maximum valid value for the playback volume.
-// -----------------------------------------------------------------------------
-//
-TInt CAudioConfigCommand::GetMaxAudioVolumeL(TInt& aMaxVolume)
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::GetMaxAudioVolumeL")));
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::GetMaxAudioVolumeL aMaxVolume %d"), aMaxVolume));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CAudioConfigCommand::~CAudioConfigCommand
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CAudioConfigCommand::~CAudioConfigCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::~CAudioConfigCommand>")));
- delete iAudioConfigHandler;
- __IF_DEBUG(Print(_L("VTProto: CAudioConfigCommand::~CAudioConfigCommand")));
- }
-// End of File
-
\ No newline at end of file
--- a/vtprotocolsstub/src/cdatasinkproxy.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* 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: Data sink proxy implementation
-*
-*/
-
-#include "mvtprotocolhandler.h"
-#include "cdatasinkproxy.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::CDisplaySinkProxy
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkProxy::CDisplaySinkProxy(MVTVideoSink* aDisplaySink) : iDisplaySink(aDisplaySink)
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::CDisplaySinkProxy<" ) ));
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::CDisplaySinkProxy iDisplaySink %d>" ), iDisplaySink));
- }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkProxy::ConstructL()
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::ConstructL<" ) ));
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::ConstructL>" ) ));
- }
-
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkProxy::NewL
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkProxy* CDisplaySinkProxy::NewL(MVTVideoSink* aDisplaySink)
- {
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::NewL<" ) ));
- CDisplaySinkProxy* self = new (ELeave)CDisplaySinkProxy(aDisplaySink);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop();
- __IF_DEBUG(Print( _L( "VTProto: CDisplaySinkProxy::NewL>" ) ));
- return self;
- }
-// End of File
--- a/vtprotocolsstub/src/cdatasourceproxy.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* 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: Data source proxy implementation
-*
-*/
-
-#include "mvtprotocolhandler.h"
-#include "cdatasourceproxy.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::CVideoSourceProxy
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CVideoSourceProxy::CVideoSourceProxy(MVTVideoSource* aDataSource) : iVideoSource(aDataSource)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::CVideoSourceProxy<")));
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::CVideoSourceProxy iVideoSource %d>"), iVideoSource));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVideoSourceProxy::ConstructL()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::ConstructL<")));
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::ConstructL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoSourceProxy::NewL
-// -----------------------------------------------------------------------------
-//
-CVideoSourceProxy* CVideoSourceProxy::NewL(MVTVideoSource* aDataSource)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::NewL<")));
- CVideoSourceProxy* self = new (ELeave)CVideoSourceProxy(aDataSource);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: CVideoSourceProxy::NewL>")));
- return self;
- }
-// End of File
--- a/vtprotocolsstub/src/ch324confighandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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: H324 configuration implementation
-*
-*/
-
-
-#include "mvtprotocolhandler.h"
-#include "ch324confighandler.h"
-#include "cvtuserinput.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-
-// -----------------------------------------------------------------------------
-// TH324ConfigHandler::TH324ConfigHandler
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-TH324ConfigHandler::TH324ConfigHandler(MVtProtocolHandler* aProtocolHandler) : iProtocolHandler(aProtocolHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: TH324ConfigHandler::TH324ConfigHandler<")));
- __IF_DEBUG(Print(_L("VTProto: TH324ConfigHandler::TH324ConfigHandler>")));
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SetVendorId
-// Sets the vendor identification data.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SetVendorId(TUint8 cc, TUint8 ext, TUint32 mc, const TDesC8* aProduct, const TDesC8* aVersion)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetVendorId")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SendVideoTemporalSpatialTradeoffCommand
-// This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SendVideoTemporalSpatialTradeoffCommand(TUint aLogicalChannel, TUint8 aTradeoff)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SendVideoTemporalSpatialTradeoffCommand")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SendVideoTemporalSpatialTradeoffIndication
-// This API allows the user to send a videoTemporalSpatialTradeOff command to the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SendVideoTemporalSpatialTradeoffIndication(TUint aLogicalChannel, TUint8 aTradeoff)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SendVideoTemporalSpatialTradeoffIndication")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SetVideoResolutions
-// This API allows the user to specify the supported resolutions for video for transmit and receive.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SetSupportedResolutions()
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetSupportedResolutions")));
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SetFastCsupOptions
-// This API allows the user to set options for fast call setup procedures.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SetFastCsupOptions( )
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetFastCsupOptions")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SendUserInputMessageL
-// Causes the vt2way to send the specified user input to the remote terminal using
-// control channel.
-// -----------------------------------------------------------------------------
-//
-TInt CH324ConfigCommand::SendUserInputMessageL(MVTUserInput& user_input)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SendUserInputMessageL<")));
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SendUserInputMessageL>")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::SetObserverL
-// This API allows the user to specify observers for the 324m interface.
-// -----------------------------------------------------------------------------
-//
-void CH324ConfigCommand::SetObserverL(MVtProtocolHandler* aHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetObserverL<")));
- iH324ConfigHandler = new (ELeave)TH324ConfigHandler(aHandler);
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetObserverL observer %d"), iH324ConfigHandler));
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::SetObserverL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CH324ConfigCommand::~CH324ConfigCommand
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CH324ConfigCommand::~CH324ConfigCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::~CH324ConfigCommand<")));
- delete iH324ConfigHandler;
- __IF_DEBUG(Print(_L("VTProto: CH324ConfigCommand::~CH324ConfigCommand>")));
- }
-
-// end of file
--- a/vtprotocolsstub/src/csessionhandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-/*
-* 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: Session command implementation
-*
-*/
-
-#include "mvtprotocolhandler.h"
-#include "cdatasinkproxy.h"
-#include "cdatasourceproxy.h"
-#include "csessionhandler.h"
-#include "ccommserver.h"
-#include "ch324confighandler.h"
-#include "cvideoconfighandler.h"
-#include "caudioconfighandler.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// TSessionHandler::TSessionHandler
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-TSessionHandler::TSessionHandler(MVtProtocolHandler* aProtocolHandler) : iProtocolHandler(aProtocolHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::TSessionHandler<")));
- __IF_DEBUG(Print(_L("VTProto: TSessionHandler::TSessionHandler>")));
- }
-
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::CSessionCommand
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CSessionCommand::CSessionCommand(TSessionHandler* aSessionHandler)
- : iSessionHandler(aSessionHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::CSessionCommand<")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::CSessionCommand>")));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::~CSessionComman
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CSessionCommand::~CSessionCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::~CSessionCommand<")));
- delete iVideoSource;
- delete iDisplaySink;
- delete iSessionHandler;
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::~CSessionCommand>")));
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ConnectToProtocolL
-// This function can be invoked only in the ESetup state.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ConnectToProtocolL(MCommServer* aComm)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ConnectToProtocolL")));
- CCommServer* commServer = static_cast<CCommServer*>(aComm);
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ConnectToProtocolL commServer %d"), commServer));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::DisconnectFromProtocolL
-// The Disconnect call is valid only when invoked in the EConnecting, and
-// EConnected states.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::DisconnectFromProtocolL()
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::DisconnectFromProtocolL")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ResetProtocolL
-// This function is valid only in the ESetup and EInitializing state.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ResetProtocolL()
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ResetProtocolL")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::InitProtocolL
-// This function is valid only in the EIdle state.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::InitProtocolL(TVtInitInfo& aInitInfo)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::InitProtocolL")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::AddVideoSinkL
-// Allows an application to provide a media sink for rendering an incoming media bitstream in a
-// logical channel of communication with the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::AddVideoSinkL(const TUint aChannelId, MVTVideoSink& aDataSink)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddVideoSinkL")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddVideoSinkL aChannelId %d"), aChannelId));
- iDisplaySink =CDisplaySinkProxy::NewL(&aDataSink);
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::AddVideoSourceL
-// Allows an application to provide a media source to be associated with a logical channel
-// of communication with the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::AddVideoSourceL(const TUint aChannelId, MVTVideoSource& aDataSource)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddVideoSourceL")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddVideoSourceL aChannelId %d"), aChannelId));
- iVideoSource = CVideoSourceProxy::NewL(&aDataSource);
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::AddAudioSourceL
-// Allows an application to provide a media source to be associated with a logical channel
-// of communication with the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::AddAudioSourceL(const TUint aChannelId, MVTAudioSource &aDataSource)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddAudioSourceL")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddAudioSourceL aChannelId %d"), aChannelId));
- CAudioSourceProxy* audioSourceProxy = static_cast<CAudioSourceProxy*>(&aDataSource);
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::AddAudioSinkL
-// Allows an application to provide a media sink for rendering an incoming media bitstream in a
-// logical channel of communication with the peer.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::AddAudioSinkL(const TUint aChannelId, MVTAudioSink &aDataSink)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddAudioSinkL")));
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::AddAudioSinkL aChannelId %d"), aChannelId));
- CAudioSinkProxy* audioSinkProxy = static_cast<CAudioSinkProxy*>(&aDataSink);
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::PauseVideoL
-// For an incoming track (MVTVideoSink) this function pauses sending
-// media to the sink (output device) and stops the sink.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::PauseVideoL(MVTVideoSource& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::PauseVideoL")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::PauseVideoL
-// For an incoming track (MVtVideoSink) this function pauses sending
-// media to the sink (output device) and stops the sink.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::PauseVideoL(MVTVideoSink& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::PauseVideoL")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::PauseAudioL
-// For an incoming track (MVTAudioSource) this function pauses sending
-// media to the sink (output device) and stops the sink.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::PauseAudioL(MVTAudioSource& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::PauseAudioL")));
- CAudioSourceProxy* audioSourceProxy = static_cast<CAudioSourceProxy*>(&aTrack);
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ResumeVideoL
-// Resume a previously paused incoming or outgoing track.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ResumeVideoL(MVTVideoSource& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ResumeVideoL")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ResumeVideoL
-// Resume a previously paused incoming or outgoing track.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ResumeVideoL(MVTVideoSink& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ResumeVideoL")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::ResumeAudioL
-// Resume a previously paused incoming or outgoing track.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::ResumeAudioL(MVTAudioSource& aTrack)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::ResumeAudioL")));
- CAudioSourceProxy* audioSourceProxy = static_cast<CAudioSourceProxy*>(&aTrack);
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::CancelAllCommandsL
-// This API is to allow the user to cancel all pending requests.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::CancelAllCommandsL( )
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::CancelAllCommandsL")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::GetProtocolInterfaceL
-// This API is to allow for extensibility of the protocol interface.
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::GetProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand*& aProtocolCommand)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::GetProtocolInterfaceL<")));
- TInt commandId = 0;
- if (aType == EVtH324Config)
- {
- CH324ConfigCommand* H324ConfigCommand = new (ELeave)CH324ConfigCommand();
-
- aProtocolCommand = H324ConfigCommand;
- }
- else if (aType == EVtVideoEncoderConfig)
- {
- CVideoConfigCommand* videoConfigCommand = new (ELeave)CVideoConfigCommand();
-
- aProtocolCommand = videoConfigCommand;
- }
- else
- {
- ;
- }
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::GetProtocolInterfaceL aType %d, aProtocolCommand %d>"), aType, aProtocolCommand));
- return commandId;
- }
-
-// -----------------------------------------------------------------------------
-// CSessionCommand::DeleteProtocolInterfaceL
-// This APIis to be used to release an interface that was previously obtained using
-// -----------------------------------------------------------------------------
-//
-TInt CSessionCommand::DeleteProtocolInterfaceL(TVtConfigType aType, MVtProtocolCommand* aProtocolCommand)
- {
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::DeleteProtocolInterfaceL<")));
- TInt commandId = 0;
- if (aType == EVtH324Config)
- {
- CH324ConfigCommand* H324ConfigCommand = static_cast<CH324ConfigCommand*>(aProtocolCommand);
-
- delete H324ConfigCommand;
- }
- else if (aType == EVtVideoEncoderConfig)
- {
- CVideoConfigCommand* videoConfigCommand = static_cast<CVideoConfigCommand*>(aProtocolCommand);
-
- delete videoConfigCommand;
- }
- else
- {
- ;
- }
- __IF_DEBUG(Print(_L("VTProto: CSessionCommand::DeleteProtocolInterfaceL aType, aProtocolCommand %d>"), aType, aProtocolCommand));
- return commandId;
- }
-
-// end of file
--- a/vtprotocolsstub/src/cvideoconfighandler.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* 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: Video configuration implementation
-*
-*/
-
-#include "mvtprotocolhandler.h"
-#include "cvideoconfighandler.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// TVideoConfigHandler::TVideoConfigHandler
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-TVideoConfigHandler::TVideoConfigHandler(MVtProtocolHandler* aProtocolHandler) : iProtocolHandler(aProtocolHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: TVideoConfigHandler::TVideoConfigHandler<")));
- __IF_DEBUG(Print(_L("VTProto: TVideoConfigHandler::TVideoConfigHandler>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::SetObserverL
-// This API allows the user to specify separate observers for the extension interface.
-// -----------------------------------------------------------------------------
-//
-void CVideoConfigCommand::SetObserverL(MVtProtocolHandler* aHandler)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetObserverL<")));
- iVideoConfigHandler = new (ELeave)TVideoConfigHandler(aHandler);
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetObserverL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::SetIntraFrameInterval
-// Sets the I-Frame refresh rate of the encoded output.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoConfigCommand::SetIntraFrameInterval(TUint32 aIFrameInterval)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetIntraFrameInterval")));
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetIntraFrameInterval aIFrameInterval %d"), aIFrameInterval));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::RequestNextIntraFrame
-// Requests the encoder to encode the next frame as an I-Frame.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoConfigCommand::RequestNextIntraFrame()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::RequestNextIntraFrame")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::SetVideoFrameRate
-// Sets the frame rate of encoded output for the specified layer.
-// -----------------------------------------------------------------------------
-//
-TInt CVideoConfigCommand::SetVideoFrameRate(TUint32 aFrameRate)
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetVideoFrameRate")));
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::SetVideoFrameRate aFrameRate %d"), aFrameRate));
- return KErrNone;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVideoConfigCommand::~CVideoConfigCommand
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVideoConfigCommand::~CVideoConfigCommand()
- {
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::~CVideoConfigCommand")));
- delete iVideoConfigHandler;
- __IF_DEBUG(Print(_L("VTProto: CVideoConfigCommand::~CVideoConfigCommand")));
- }
-
-// end of file
--- a/vtprotocolsstub/src/cvtuserinput.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* 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: VT User input implementation
-*
-*/
-
-#include "mvtprotocolhandler.h"
-#include "cvtuserinput.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::ConstructL
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-void CVTUserInputDtmf::ConstructL(TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::ConstructL<")));
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::ConstructL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::CVTUserInputDtmf
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CVTUserInputDtmf* CVTUserInputDtmf::NewL(TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::NewL<")));
- CVTUserInputDtmf* self = new (ELeave)CVTUserInputDtmf();
- CleanupStack::PushL(self);
- self->ConstructL(aTone);
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::NewL>")));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::~CVTUserInputDtmf
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVTUserInputDtmf::~CVTUserInputDtmf()
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::~CVTUserInputDtmf<")));
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputDtmf::~CVTUserInputDtmf>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::GetType
-// Virtual function to return the user input type
-// -----------------------------------------------------------------------------
-//
-TUserInputType CVTUserInputDtmf::GetType()
- {
- return EVtUiiDTFM;
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputDtmf::ConstructL
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-void CVTUserInputAlphanumeric::ConstructL(TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::ConstructL<")));
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::ConstructL>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputAlphanumeric::CVTUserInputAlphanumeric
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CVTUserInputAlphanumeric* CVTUserInputAlphanumeric::NewL(TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::NewL<")));
- CVTUserInputAlphanumeric* self = new (ELeave)CVTUserInputAlphanumeric();
- CleanupStack::PushL(self);
- self->ConstructL(aTone);
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::NewL>")));
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputAlphanumeric::~CVTUserInputAlphanumeric
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVTUserInputAlphanumeric::~CVTUserInputAlphanumeric()
- {
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::~CVTUserInputAlphanumeric<")));
- __IF_DEBUG(Print(_L("VTProto: CVTUserInputAlphanumeric::~CVTUserInputAlphanumeric>")));
- }
-
-// -----------------------------------------------------------------------------
-// CVTUserInputAlphanumeric::GetType
-// Virtual function to return the user input type.
-// -----------------------------------------------------------------------------
-//
-TUserInputType CVTUserInputAlphanumeric::GetType()
- {
- return EVtUiiAlphaNumeric;
- }
-// end of file
--- a/vtprotocolsstub/src/vtprotocolfactory.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* 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: Protocol factory implementation
-*
-*/
-
-#include "mvtprotocolhandler.h"
-#include "cdatasourceproxy.h"
-#include "cdatasinkproxy.h"
-#include "csessionhandler.h"
-#include "caudioconfighandler.h"
-#include "cvtuserinput.h"
-#include "ccommserver.h"
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateSessionCommandL
-// Create one instance.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVtSessionCommand* VTProtocolFactory::CreateSessionCommandL(MVtProtocolHandler* aProtocolHandler, TBool aEnableProxy, TVt3G324MSupported& a3G324MSupported)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateSessionCommandL<")));
- a3G324MSupported = EVt3G324MMissing;
- TSessionHandler * sessionHandler = new (ELeave)TSessionHandler(aProtocolHandler);
- CleanupStack::PushL(sessionHandler);
- CSessionCommand* sessionCommand = new (ELeave)CSessionCommand(sessionHandler);
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateSessionCommandL sessionCommand %d>"), sessionCommand));
- return sessionCommand;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeleteSessionCommand
-// This function allows the application to delete an instance of a terminal
-// and reclaim all allocated resources.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void VTProtocolFactory::DeleteSessionCommand( MVtSessionCommand* aSessionCommand )
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteSessionCommand<")));
- CSessionCommand* sessionCommand = static_cast<CSessionCommand*>(aSessionCommand);
- delete aSessionCommand;
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteSessionCommand>")));
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateAudioSource
-// Creates an instance of a DevSound audio data source.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVTAudioSource* VTProtocolFactory::CreateAudioSource()
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateAudioSource<")));
- TInt err( KErrNone );
- CAudioSourceProxy* audioSourceProxy = NULL;
- TRAP (err, audioSourceProxy = new (ELeave) CAudioSourceProxy() );
- if (err != KErrNone)
- {
- return NULL;
- }
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateAudioSource audioSourceProxy %d>"), audioSourceProxy));
- return audioSourceProxy;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeletAudioSource
-// Deletes an instance of a DevSound audio data source.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt VTProtocolFactory::DeletAudioSource(MVTAudioSource *aSource)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeletAudioSource<")));
- CAudioSourceProxy* audioSourceProxy = static_cast<CAudioSourceProxy*>(aSource);
- delete aSource;
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeletAudioSource>")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateAudioSink
-// Creates an instance of a DevSound audio data sink.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVTAudioSink* VTProtocolFactory::CreateAudioSink()
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateAudioSink<")));
- TInt err( KErrNone );
- CAudioSinkProxy* audioSinkProxy = NULL;
- TRAP(err, audioSinkProxy = new (ELeave) CAudioSinkProxy() );
- if (err != KErrNone)
- {
- return NULL;
- }
-
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateAudioSink audioSinkProxy %d>"), audioSinkProxy));
- return audioSinkProxy;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeleteAudioSink
-// Deletes an instance of a DevSound audio data sink
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt VTProtocolFactory::DeleteAudioSink(MVTAudioSink *aSink)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteAudioSink<")));
- CAudioSinkProxy* audioSinkProxy = static_cast<CAudioSinkProxy*>(aSink);
- delete aSink;
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteAudioSink>")));
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateCommServerL
-// Creates an instance of a comm server of a particular name, to be used to
-// initialize the terminal.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MCommServer* VTProtocolFactory::CreateCommServerL(const TDesC & aName, TBool aEnableBitReversal)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateCommServerL<")));
- CCommServer* commServer = new (ELeave)CCommServer();
- CleanupStack::PushL(commServer);
- CleanupStack::Pop();
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateCommServerL commServer %d>"), commServer));
- return commServer;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeleteCommServerL
-// This function allows the application to delete an instance of a comm server
-// and reclaim all allocated resources.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void VTProtocolFactory::DeleteCommServerL(MCommServer* aCommServer)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteCommServerL<")));
- CCommServer* commServer = static_cast<CCommServer*>(aCommServer);
- delete aCommServer;
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::DeleteCommServerL>")));
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::CreateUserInputIndication
-// Create instance .
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVTUserInput* VTProtocolFactory::CreateUserInputIndication(TUserInputType aUIIType, TUint8 aTone)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::CreateUserInputIndication")));
- if (aUIIType == EVtUiiDTFM)
- {
- CVTUserInputDtmf* uii = CVTUserInputDtmf::NewL(aTone);
- return uii;
- }
- else if (aUIIType == EVtUiiAlphaNumeric)
- {
- CVTUserInputAlphanumeric* uii = CVTUserInputAlphanumeric::NewL(aTone);
- return uii;
- }
- else
- {
- return NULL;
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::DeleteUserInputIndication
-// Delete instance.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void VTProtocolFactory::DeleteUserInputIndication(MVTUserInput* aUII)
- {
- delete aUII;
- }
-
-// -----------------------------------------------------------------------------
-// VTProtocolFactory::GetAudioConfigCommandL
-// Get one instance.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MVtAudioConfigCommand* VTProtocolFactory::GetAudioConfigCommandL(MVTAudioSink* aAudioSink)
- {
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::GetAudioConfigCommandL<")));
- CAudioSinkProxy* audioSinkProxy = static_cast<CAudioSinkProxy*>(aAudioSink);
- CAudioConfigCommand* audioConfigCommand = new (ELeave)CAudioConfigCommand();
- __IF_DEBUG(Print(_L("VTProto: VTProtocolFactory::GetAudioConfigCommandL audioConfigCommand %d>"), audioConfigCommand));
- return audioConfigCommand;
- }
-
-// end of file
--- a/vtuis/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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: Build information for Vtuis subsystem.
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-// Include components' bld.inf files
-#include "../videotelui/group/bld.inf"
-
-// End of File
--- a/vtuis/videotelui/aif/videoteluiaif.rss Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2004 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: AIF resource for Video Telephone.
-*
-*/
-
-
-
-// INCLUDES
-#include <aiftool.rh>
-
-
-// RESOURCE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-//
-// AIF_DATA
-// Resource for AIF.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AIF_DATA
- {
- app_uid = 0x101F8681;
- num_icons = 1;
- hidden = KAppIsHidden;
- }
-
-// End of File
Binary file vtuis/videotelui/cenrep/keys_s60videotelephony.xls has changed
Binary file vtuis/videotelui/conf/s60videotelephony.confml has changed
Binary file vtuis/videotelui/conf/s60videotelephony_102072D0.crml has changed
Binary file vtuis/videotelui/conf/s60videotelephony_10281872.crml has changed
Binary file vtuis/videotelui/data/VtStartRecord.wav has changed
Binary file vtuis/videotelui/data/VtStopRecord.wav has changed
--- a/vtuis/videotelui/data/videotelui.rss Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1913 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Resources for Video Telephone application.
-*
-*/
-
-
-
-// RESOURCE IDENTIFIER
-NAME VTUI
-
-// INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.loc>
-#include <data_caging_paths_strings.hrh>
-#include <avkon.mbg>
-#include <videotelui.mbg>
-#include <aknsconstants.hrh>
-
-#include <videotelui.loc>
-#include "videotelui.hrh"
-
-
-#include <appinfo.rh>
-
-// CONSTANTS
-#define KVtStartSoundFile "z:\\system\\sounds\\digital\\VtStartRecord.wav"
-#define KVtStopSoundFile "z:\\system\\sounds\\digital\\VtStopRecord.wav"
-// RESOURCE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-//
-// Resource file signature.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// Default name of the document. No such document, so empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF
- {
- buf = "";
- }
-
-// -----------------------------------------------------------------------------
-//
-// Application information.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
- {
- status_pane = r_videotelui_status_pane;
- menubar = r_videotelui_menubar;
- cba = r_videotelui_softkeys_end_call;
- custom_app_info_extension = r_videotelui_info_extension;
- }
-// -----------------------------------------------------------------------------
-//
-// Info extension
-// r_videotelui_info_extension
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO_EXT r_videotelui_info_extension
- {
- popup_toolbar = r_videotelui_fixed _toolbar;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_localisable_app_info
-// Captions for this application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_videotelui_localisable_app_info
- {
- short_caption = qtn_apps_videophone_grid;
- caption_and_icon =
- CAPTION_AND_ICON_INFO
- {
- caption = qtn_apps_videophone_grid;
-#ifdef __SCALABLE_ICONS
- number_of_icons = 1;
-
-
- icon_file =
- "Z:"APP_BITMAP_DIR"\\videotelui_aif.mif";
-#else
- number_of_icons = 1;
- icon_file =
- "Z:"APP_BITMAP_DIR"\\videotelui_aif.mbm";
-
-
-#endif // __SCALABLE_ICONS
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_status_pane
-// Status pane for the application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE STATUS_PANE_APP_MODEL r_videotelui_status_pane
- {
- layout = R_AVKON_STATUS_PANE_LAYOUT_USUAL;
- panes =
- {
- SPANE_PANE
- {
- id = EEikStatusPaneUidTitle;
- type = EAknCtTitlePane;
- resource = r_videotelui_title_pane;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_menubar
-// Menubar for the application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_videotelui_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_videotelui_menu;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_ok_menubar
-// Menubar for the application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_videotelui_ok_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_videotelui_ok_menu;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_menu
-// Options menu for the application. This menu is opened when Options softkey
-// is pressed.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_videotelui_menu
- {
- items =
- {
- MENU_ITEM // Enable
- {
- command = EVtUiCmdEnableMain;
- txt = qtn_incal_enable_main_option;
- cascade = r_videotelui_enable_menu;
- },
- MENU_ITEM // Disable
- {
- command = EVtUiCmdDisableMain;
- txt = qtn_incal_disable_main_option;
- cascade = r_videotelui_disable_menu;
- },
- MENU_ITEM // Use primary camera
- {
- command = EVtUiCmdUsePrimaryCamera;
- txt = qtn_incal_camera_1_option;
- },
- MENU_ITEM // Use secondary camera
- {
- command = EVtUiCmdUseSecondaryCamera;
- txt = qtn_incal_camera_2_option;
- },
- MENU_ITEM // Swap images places
- {
- command = EVtUiCmdSwapImagesPlaces;
- txt = qtn_incal_swap_vt_images;
- },
- MENU_ITEM // Snapshot
- {
- command = EVtUiCmdSnapshot;
- txt = qtn_incal_snapshot_option;
- },
- MENU_ITEM // Send DTMF
- {
- command = EVtUiCmdSendDTMF;
- txt = qtn_incal_send_dtmf_tone_option;
- },
- MENU_ITEM // Share file
- {
- command = EVtUiCmdShareObjectImage;
- txt = qtn_incal_video_call_share_file;
- },
- MENU_ITEM // Handset (deactivate loudspeaker)
- {
- command = EVtUiCmdDeactivateLoudspeaker;
- txt = qtn_incal_deact_ihf_option;
- },
- MENU_ITEM // Loudspeaker
- {
- command = EVtUiCmdActivateLoudspeaker;
- txt = qtn_incal_act_ihf_option;
- },
- MENU_ITEM // BT handsfree
- {
- command = EVtUiCmdActivateBT;
- txt = qtn_incal_bt_handsfree_option;
- },
- MENU_ITEM // Handset (deactivate BT)
- {
- command = EVtUiCmdDeactivateBT;
- txt = qtn_incal_handset_option;
- },
- MENU_ITEM // Video to voice
- {
- command = EVtUiCmdCreateVoice;
- txt = qtn_incal_video_to_voice;
- },
- MENU_ITEM
- {
- command = EVtUiCmdAdjustVideo;
- txt = qtn_incal_video_adjust_option;
- cascade = r_videotelui_video_adjust_menu;
- },
- MENU_ITEM // Zoom
- {
- command = EVtUiCmdZoom;
- txt = qtn_incal_zoom_own_video;
- },
- MENU_ITEM // End active call
- {
- command = EVtUiCmdEndActiveCall;
- txt = qtn_incal_drop_option;
- },
- MENU_ITEM // Go to Idle
- {
- command = EVtUiCmdGoToIdle;
-#ifdef RD_BOOT_CUSTOMIZABLE_AI
- txt = qtn_incal_goto_idle;
-#else
- txt = qtn_incal_goto_active_idle;
-#endif // RD_BOOT_CUSTOMIZABLE_AI
- },
- MENU_ITEM // Help
- {
- command = EAknCmdHelp;
- txt = qtn_options_help;
- },
- MENU_ITEM // Exit
- {
- command = EAknCmdExit;
- txt = qtn_options_exit;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_ok_menu
-// Options menu for the application. This menu is opened when selection key
-// is pressed.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_videotelui_ok_menu
- {
- items =
- {
- MENU_ITEM // Disable
- {
- command = EVtUiCmdDisableMain;
- txt = qtn_incal_disable_main_option;
- cascade = r_videotelui_disable_menu;
- },
- MENU_ITEM // Snapshot
- {
- command = EVtUiCmdSnapshot;
- txt = qtn_incal_snapshot_option;
- },
- MENU_ITEM // End active call
- {
- command = EVtUiCmdEndActiveCall;
- txt = qtn_incal_drop_option;
- },
- MENU_ITEM // Use primary camera
- {
- command = EVtUiCmdUsePrimaryCamera;
- txt = qtn_incal_camera_1_option;
- },
- MENU_ITEM // Use secondary camera
- {
- command = EVtUiCmdUseSecondaryCamera;
- txt = qtn_incal_camera_2_option;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_enable_menu
-// "Enable" submenu for the application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_videotelui_enable_menu
- {
- items =
- {
- MENU_ITEM
- {
- command = EVtUiCmdEnableVideo;
- txt = qtn_incal_change_video_option;
- },
- MENU_ITEM
- {
- command = EVtUiCmdEnableAudio;
- txt = qtn_incal_change_audio_option;
- },
- MENU_ITEM
- {
- command = EVtUiCmdEnableBoth;
- txt = qtn_incal_change_both_option;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_disable_menu
-// "Disable" submenu for the application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_videotelui_disable_menu
- {
- items =
- {
- MENU_ITEM
- {
- command = EVtUiCmdDisableVideo;
- txt = qtn_incal_change_video_option;
- },
- MENU_ITEM
- {
- command = EVtUiCmdDisableAudio;
- txt = qtn_incal_change_audio_option;
- },
- MENU_ITEM
- {
- command = EVtUiCmdDisableBoth;
- txt = qtn_incal_change_both_option;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_video_adjust_menu
-// "Adjust video" submenu for the application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_videotelui_video_adjust_menu
- {
- items =
- {
- MENU_ITEM
- {
- command = EVtUiCmdAdjustVideoVideoQuality;
- txt = qtn_incal_video_prefer_option;
- },
- MENU_ITEM
- {
- command = EVtUiCmdAdjustVideoWhiteBalance;
- txt = qtn_incal_video_white_balance_option;
- },
- MENU_ITEM
- {
- command = EVtUiCmdAdjustVideoBrightness;
- txt = qtn_incal_video_brightness_option;
- },
- MENU_ITEM
- {
- command = EVtUiCmdAdjustVideoContrast;
- txt = qtn_incal_video_contrast_option;
- },
- MENU_ITEM
- {
- command = EVtUiCmdAdjustVideoColourTone;
- txt = qtn_incal_video_colour_tone_option;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_enable_video
-// Options & Enable video softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_enable_video
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdEnableVideo;
- txt = qtn_incal_softk_enable_video;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyContextOptions;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_enable_audio
-// Options & Enable audio softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_enable_audio
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdEnableAudio;
- txt = qtn_incal_softk_enable_audio;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyContextOptions;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_handset_b
-// Options & Handset both softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_handset_b
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdDeactivateLoudspeaker;
- txt = qtn_incal_softk_handset;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyContextOptions;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_loudspeaker
-// Options & Handset both softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_loudspeaker
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdActivateLoudspeaker;
- txt = qtn_incal_softk_laudspek;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyContextOptions;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_bt_handsfree
-// Options & Handset both softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_bt_handsfree
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdActivateBT;
- txt = qtn_incal_softk_bt_handsfree;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyContextOptions;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_end_call
-// Options & End call softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_end_call
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdEndActiveCall;
- txt = qtn_incal_softk_end_this;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyContextOptions;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_capture_video
-// Capture & Cancel video softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_capture_video
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EVtUiCmdCapture;
- txt = qtn_softk_capture;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdCancelCapture;
- txt = text_softkey_cancel;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdCapture;
- txt = qtn_softk_capture;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_share_object_image
-// Options & Stop image object sharing
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_share_object_image
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdStopSharingObjectImage;
- txt = qtn_softk_disable_share;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyContextOptions;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_blank_dlg
-// Blank dialog.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_videotelui_blank_dlg
- {
- flags = ( EEikDialogFlagNoDrag |
- EEikDialogFlagNoTitleBar |
- EEikDialogFlagFillAppClientRect |
- EEikDialogFlagCbaButtons |
- EEikDialogFlagWait );
-
- buttons = r_videotelui_softkeys_empty;
-
- items =
- {
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_blank_nowait_dlg
-// Blank dialog, no wait flag.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_videotelui_blank_nowait_dlg
- {
- flags = ( EEikDialogFlagNoDrag |
- EEikDialogFlagNoTitleBar |
- EEikDialogFlagFillAppClientRect |
- EEikDialogFlagCbaButtons );
-
- buttons = r_videotelui_softkeys_empty;
-
- items =
- {
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_empty
-//
-// Empty softkeys. Note that AVKON empty softkey
-// resource can not be used, because flags are needed.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_empty
- {
- flags = EAknCBAFlagRespondWhenInvisible;
-
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyEmpty;
- txt = text_softkey_empty;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyEmpty;
- txt = text_softkey_empty;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyEmpty;
- txt = text_softkey_empty;
- }
- };
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_qtn_incal_muted_pane
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_incal_muted_pane
- {
- buf = qtn_incal_muted_pane;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_allow_video_query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_videotelui_allow_video_query
- {
- flags =
- EEikDialogFlagNoDrag |
- EEikDialogFlagNoTitleBar |
- EEikDialogFlagCbaButtons |
- EEikDialogFlagNotifyEsc ;
- buttons = R_AVKON_SOFTKEYS_YES_NO;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationLayout;
- label = "";
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_switch_to_voice_query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_videotelui_create_voice_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_YES_NO;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationLayout;
- };
- }
- };
- }
-
-// ---------------------------------------------------------
-//
-// r_videotelui_qtn_send_video_image
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_send_video_image
- {
- buf = qtn_incal_send_video_image;
- }
-
-// ---------------------------------------------------------
-//
-// r_videotelui_qtn_call_number_video
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_call_number_video
- {
- buf = qtn_call_number_video;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_title_pane
-// It defines default title pane.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_videotelui_title_pane
- {
- txt = " ";
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_qtn_incal_waiting_image
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_incal_waiting_image
- {
- buf = qtn_incal_waiting_image;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_emergency_note
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_videotelui_emergency_note
- {
- flags = EEikDialogFlagNoDrag |
- EEikDialogFlagNoTitleBar |
- EEikDialogFlagCbaButtons;
-
- buttons = R_AVKON_SOFTKEYS_CANCEL;
-
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EGeneralNote;
- control = AVKON_NOTE
- {
- layout = EGeneralLayout;
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_information_note
-// It defines note template for information notes. Text
-// must be replaced to correct in code. Note does not have wait
-// flag.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_videotelui_information_note
- {
- flags =
- EEikDialogFlagNoDrag |
- EEikDialogFlagNoTitleBar |
- EEikDialogFlagCbaButtons;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EGeneralNote;
- control =
- AVKON_NOTE
- {
- layout = EGeneralLayout;
- singular_label = " ";
- plural_label = "";
- animation = R_QGN_NOTE_INFO_ANIM;
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_qtn_incal_close_camcorder
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_incal_close_camcorder
- {
- buf = qtn_incal_close_camcorder;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_bthf_connect_wait_note
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_videotelui_bthf_connect_wait_note
- {
- flags = EEikDialogFlagNoDrag |
- EEikDialogFlagNoTitleBar |
- EEikDialogFlagCbaButtons |
- EEikDialogFlagWait;
-
- buttons = R_AVKON_SOFTKEYS_EMPTY;
-
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EGeneralNote;
- control = AVKON_NOTE
- {
- layout = EWaitLayout;
- singular_label = qtn_wait_connecting_to_bt;
- plural_label = "";
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_qtn_bt_device_not_avail
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_bt_device_not_avail
- {
- buf = qtn_bt_device_not_avail;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_text_not_allowed
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_text_not_allowed
- {
- buf = text_not_allowed;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_text_call_not_allowed
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_text_call_not_allowed
- {
- buf = text_call_not_allowed;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_qtn_err_cam_swap
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_err_cam_swap
- {
- buf = qtn_err_cam_swap;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_qtn_query_create_voice_call
-//
-//
-RESOURCE TBUF r_videotelui_qtn_query_create_voice_call
- {
- buf = qtn_query_create_voice_call;
- }
-//----------------------------------------------------
-//
-// r_videotelui_qtn_err_unable_to_open_image
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_err_unable_to_open_image
- {
- buf = qtn_tel_info_unable_open_image;
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_qtn_incal_note_decoding_failed
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_incal_note_decoding_failed
- {
- buf = qtn_incal_note_decoding_failed;
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_qtn_err_drm_not_allowed
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_err_drm_not_allowed
- {
- buf = qtn_drm_not_allowed;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_tooltip_zoom
-//
-//
-RESOURCE TBUF r_videotelui_tooltip_zoom
- {
- buf = qtn_vt_tooltip_zoom;
- }
-
-//----------------------------------------------------
-//
-// r_image_load_wait_note
-// Image initialization wait note.
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_progress_decoding_image_wait_note
- {
- flags = EAknWaitNoteFlags;
- buttons = R_AVKON_SOFTKEYS_EMPTY;
- items=
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EGeneralNote;
- control = AVKON_NOTE
- {
- layout = EWaitLayout;
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
- singular_label = qtn_vt_progress_decoding_image;
- };
- }
- };
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_context_options_cba_button
-// Cba button resource for number entry.
-//
-//----------------------------------------------------
-//
-RESOURCE CBA_BUTTON r_videotelui_context_options_cba_button
- {
- id=EAknSoftkeyContextOptions;
- txt=text_softkey_empty;
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_select_cba_button
-// Empty cba button resource for toolbar.
-//
-//----------------------------------------------------
-//
-RESOURCE CBA_BUTTON r_videotelui_select_cba_button
- {
- id = EAknSoftkeySelect;
- txt= text_softkey_select;
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_empty_cba_button
-// Empty cba button resource for number entry.
-//
-//----------------------------------------------------
-//
-RESOURCE CBA_BUTTON r_videotelui_empty_cba_button
- {
- id = EAknSoftkeyEmpty;
- txt= text_softkey_empty;
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_floating_toolbar
-// Empty resource for floating toolbar.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_videotelui_floating_toolbar
- {
- flags = KAknToolbarWithoutCba | KAknToolbarAlwaysFocusing |
- KAknToolbarFlexiblePosition;
- items =
- {
- };
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_fixed_toolbar
-// Empty resource for fixed toolbar.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_videotelui_fixed_toolbar
- {
- flags = KAknToolbarFixed;
- items =
- {
- };
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_video_record_start_sound_path
-// Path to a sound file to play when starting video recording
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_video_record_start_sound_path
- {
- buf = KVtStartSoundFile;
- }
-
-
-//----------------------------------------------------
-//
-// r_videotelui_video_record_stop_sound_path
-// Path to a sound file to play when stopping video recording
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_video_record_stop_sound_path
- {
- buf = KVtStopSoundFile;
- }
-
-//----------------------------------------------------
-//
-// r_disable_video_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_disable_video_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbVideoDisable;
- //skinid = KAknsIIDQgnIndiTbVideoDisable;
- }
-
-//----------------------------------------------------
-//
-// r_enable_video_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_enable_video_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbVideo;
- //skinid = KAknsIIDQgnIndiTbVideo;
- }
-
-//----------------------------------------------------
-//
-// r_mute_microphone_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_mute_microphone_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbMicrophoneMute;
- //skinid = KAknsIIDQgnIndiTbMicrophoneMute;
- }
-
-//----------------------------------------------------
-//
-// r_unmute_microphone_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_unmute_microphone_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbMicrophoneUnmute;
- //skinid = KAknsIIDQgnIndiTbMicrophoneUnmute;
- }
-
-//----------------------------------------------------
-//
-// r_primary_cam_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_primary_cam_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbCameraMain ;
- //skinid = KAknsIIDQgnIndiTbCameraMain;
- }
-
-//----------------------------------------------------
-//
-// r_secondary_cam_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_secondary_cam_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbCameraSecondary;
- //skinid = KAknsIIDQgnIndiTbCameraSecondary;
- }
-
-//----------------------------------------------------
-//
-// r_zoom_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_zoom_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbZoom;
- //skinid = KAknsIIDQgnIndiTbZoom;
- }
-
-//----------------------------------------------------
-//
-// r_share_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_swap_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbSwapImages;
- //skinid = KAknsIIDQgnIndiTbSwapImages;
- }
-
-//----------------------------------------------------
-//
-// r_share_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_share_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbGallery;
- //skinid = KAknsIIDQgnIndiTbGallery;
- }
-
-//----------------------------------------------------
-//
-// r_handset_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_handset_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbHandset;
- //skinid = KAknsIIDQgnIndiTbHandset;
- }
-
-//----------------------------------------------------
-//
-// r_ihf_on_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_ihf_on_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbIhfOn;
- //skinid = KAknsIIDQgnIndiTbIhfOn;
- }
-
-//----------------------------------------------------
-//
-// r_bt_hf_button_state_extension
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_BUTTON_STATE_EXTENSION r_bt_hf_button_state_extension
- {
- bmbSkinIdMajor = EAknsMajorGeneric;
- bmbSkinIdMinor = EAknsMinorGenericQgnIndiTbBthf;
- //skinid = KAknsIIDQgnIndiTbBthf;
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_avkonbutton_toggle_video_button
-// This button disables and enables video.
-// This button has two states.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_BUTTON r_avkonbutton_toggle_video_button
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE // disable video button (0)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_video_disable;
- bmpmask = EMbmVideoteluiQgn_indi_tb_video_disable_mask;
- helptxt = qtn_vt_tooltip_disable_video;
- extension = r_disable_video_button_state_extension;
- },
- AVKON_BUTTON_STATE // disable video button (dummy state) (1)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_video_disable;
- bmpmask = EMbmVideoteluiQgn_indi_tb_video_disable_mask;
- extension = r_disable_video_button_state_extension;
- },
- AVKON_BUTTON_STATE // enable video button (2)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_video;
- bmpmask = EMbmVideoteluiQgn_indi_tb_video_mask;
- helptxt = qtn_vt_tooltip_enable_video;
- extension = r_enable_video_button_state_extension;
- },
- AVKON_BUTTON_STATE // enable video button (dummy state) (3)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_video;
- bmpmask = EMbmVideoteluiQgn_indi_tb_video_mask;
- extension = r_enable_video_button_state_extension;
- }
- };
- }
-// -----------------------------------------------------------------------------
-//
-// r_avkonbutton_toggle_microphone_button
-// This button mutes and unmutes microphone.
-// This button has two states.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_BUTTON r_avkonbutton_toggle_microphone_button
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE // mute mic button (0)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_microphone_mute;
- bmpmask = EMbmVideoteluiQgn_indi_tb_microphone_mute_mask;
- helptxt = qtn_vt_tooltip_mute_microphone;
- extension = r_mute_microphone_button_state_extension;
- },
- AVKON_BUTTON_STATE // mute mic button (dummy state) (1)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_microphone_mute;
- bmpmask = EMbmVideoteluiQgn_indi_tb_microphone_mute_mask;
- extension = r_mute_microphone_button_state_extension;
- },
- AVKON_BUTTON_STATE // unmute mic button (2)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_microphone_unmute;
- bmpmask = EMbmVideoteluiQgn_indi_tb_microphone_unmute_mask;
- helptxt = qtn_vt_tooltip_unmute_microphone;
- extension = r_unmute_microphone_button_state_extension;
- },
- AVKON_BUTTON_STATE // unmute mic button (dummy state) (3)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_microphone_unmute;
- bmpmask = EMbmVideoteluiQgn_indi_tb_microphone_unmute_mask;
- extension = r_unmute_microphone_button_state_extension;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_avkonbutton_toggle_camera_button
-// This button changes used camera between primary and secondary.
-// This button has two states.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_BUTTON r_avkonbutton_toggle_camera_button
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE // primary camera button (0)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_camera_main;
- bmpmask = EMbmVideoteluiQgn_indi_tb_camera_main_mask;
- helptxt = qtn_vt_tooltip_primary_cam;
- extension = r_primary_cam_button_state_extension;
- },
- AVKON_BUTTON_STATE // primary camera button (dummy state) (1)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_camera_main;
- bmpmask = EMbmVideoteluiQgn_indi_tb_camera_main_mask;
- extension = r_primary_cam_button_state_extension;
- },
- AVKON_BUTTON_STATE // secondary camera button (2)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_camera_secondary;
- bmpmask = EMbmVideoteluiQgn_indi_tb_camera_secondary_mask;
- helptxt = qtn_vt_tooltip_secondary_cam;
- extension = r_secondary_cam_button_state_extension;
- },
- AVKON_BUTTON_STATE // secondary camera button (dummy state) (3)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_camera_secondary;
- bmpmask = EMbmVideoteluiQgn_indi_tb_camera_secondary_mask;
- extension = r_secondary_cam_button_state_extension;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_avkonbutton_swap_images_button
-// This button swaps images
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_BUTTON r_avkonbutton_swap_images_button
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_swap_images;
- bmpmask = EMbmVideoteluiQgn_indi_tb_swap_images_mask;
- helptxt = qtn_vt_tooltip_swap_images;
- extension = r_swap_button_state_extension;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_avkonbutton_activate_zoom_mode_button
-// This button activates zoom mode.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_BUTTON r_avkonbutton_activate_zoom_mode_button
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_zoom;
- bmpmask = EMbmVideoteluiQgn_indi_tb_zoom_mask;
- helptxt = qtn_vt_tooltip_zoom;
- extension = r_zoom_button_state_extension;
- },
- AVKON_BUTTON_STATE
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_zoom;
- bmpmask = EMbmVideoteluiQgn_indi_tb_zoom_mask;
- flags = KAknButtonStateHasLatchedFrame;
- helptxt = qtn_vt_tooltip_zoom;
- extension = r_zoom_button_state_extension;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_avkonbutton_share_file_button
-// This button starts the file sharing.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_BUTTON r_avkonbutton_share_file_button
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_gallery;
- bmpmask = EMbmVideoteluiQgn_indi_tb_gallery_mask;
- helptxt = qtn_vt_tooltip_share;
- extension = r_share_button_state_extension;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_avkonbutton_snapshot_button
-// This button sets capture mode on.
-//
-// -----------------------------------------------------------------------------
-//
-/* Not in use currently
-RESOURCE AVKON_BUTTON r_avkonbutton_snapshot_button
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_cams_tb_capture;
- bmpmask = EMbmVideoteluiQgn_indi_cams_tb_capture_mask;
- helptxt = qtn_vt_tooltip_send_snapshot;
- //extension is also needed here
- }
- };
- }
-*/
-
-
-// -----------------------------------------------------------------------------
-//
-// r_mini_dialer_editor
-// This is a resource for a hidden focused editor for minidialer (touch input).
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE SECRETED r_mini_dialer_editor
- {
- num_letters=255;
- }
-
-//----------------------------------------------------
-//
-// video preference options
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_videotelui_qtn_incal_normal_list_option
- {
- buf = qtn_incal_normal_list_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_details_list_option
- {
- buf = qtn_incal_details_list_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_motion_list_option
- {
- buf = qtn_incal_motion_list_option;
- }
-
-//----------------------------------------------------
-//
-// white balance options
-//
-//----------------------------------------------------
-RESOURCE TBUF r_videotelui_qtn_incal_automatic_option
- {
- buf = qtn_incal_automatic_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_sunny_option
- {
- buf = qtn_incal_sunny_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_cloudy_option
- {
- buf = qtn_incal_cloudy_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_incandescent_option
- {
- buf = qtn_incal_incandescent_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_fluorescent_option
- {
- buf = qtn_incal_fluorescent_option;
- }
-
-//----------------------------------------------------
-//
-// colour tone options
-//
-//----------------------------------------------------
-RESOURCE TBUF r_videotelui_qtn_incal_ct_normal_option
- {
- buf = qtn_incal_ct_normal_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_sepia_option
- {
- buf = qtn_incal_sepia_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_b_and_w_option
- {
- buf = qtn_incal_b_and_w_option;
- }
-
-RESOURCE TBUF r_videotelui_qtn_incal_negative_option
- {
- buf = qtn_incal_negative_option;
- }
-
-// ---------------------------------------------------------
-// r_videotelui_white_balance_setting_page
-// White balance item array for setting page
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_videotelui_white_balance_setting_page
- {
- label = qtn_incal_video_white_balance_option;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL;
- type = EAknSetListBox;
- editor_resource_id = r_videotelui_transparent_setting_listbox;
- }
-
-// ---------------------------------------------------------
-// r_videotelui_color_tone_setting_page
-// White balance item array for setting page
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_videotelui_color_tone_setting_page
- {
- label = qtn_incal_video_colour_tone_option;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL;
- type = EAknSetListBox;
- editor_resource_id = r_videotelui_transparent_setting_listbox;
- }
-
-//----------------------------------------------------
-//
-// r_videotelui_transparent_setting_listbox
-// Listbox for transparent setting page
-//
-//----------------------------------------------------
-//
-RESOURCE LISTBOX r_videotelui_transparent_setting_listbox
- {
- flags = 0x0001;
- }
-
-// ---------------------------------------------------------
-// r_videotelui_video_quality_array
-// Item array for the selection list dialog
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_videotelui_video_quality_array
- {
- items =
- {
- LBUF
- {
- txt = qtn_incal_normal_list_option;
- },
- LBUF
- {
- txt = qtn_incal_details_list_option;
- },
- LBUF
- {
- txt = qtn_incal_motion_list_option;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_select_cancel
-// Videoquality softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_select_cancel
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeySelect;
- txt= text_softkey_select;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyCancel;
- txt = text_softkey_cancel;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeySelect;
- txt= text_softkey_select;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_empty_dialerexit
-// Dialer softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_empty_dialerexit
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyEmpty;
- txt = text_softkey_empty;
- },
- CBA_BUTTON
- {
- id = EVtUiDialerExit;
- txt = text_softkey_back;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyEmpty;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-//r_videotelui_softkeys_empty_active_command
-// Dialer softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_empty_active_command
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyEmpty;
- txt = text_softkey_empty;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyEmpty;
- txt = text_softkey_empty;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyEmpty;
- txt = text_softkey_empty;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_avkonbutton_audio_routing_button
-// This button changes audio routing.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_BUTTON r_avkonbutton_audio_routing_button
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE // Deactivate loudspeaker (0)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_handset;
- bmpmask = EMbmVideoteluiQgn_indi_tb_handset_mask;
- helptxt = qtn_vt_tooltip_audio_handset;
- extension = r_handset_button_state_extension;
- },
- AVKON_BUTTON_STATE // Deactivate loudspeaker (dummy state) (1)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_handset;
- bmpmask = EMbmVideoteluiQgn_indi_tb_handset_mask;
- extension = r_handset_button_state_extension;
- },
- AVKON_BUTTON_STATE // Deactivate bthf == Activate loudspkr (2)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_ihf_on;
- bmpmask = EMbmVideoteluiQgn_indi_tb_ihf_on_mask;
- helptxt = qtn_vt_tooltip_audio_loudspeaker;
- extension = r_ihf_on_button_state_extension;
- },
- AVKON_BUTTON_STATE // Deactivate bthf (dummy state) (3)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_ihf_on;
- bmpmask = EMbmVideoteluiQgn_indi_tb_ihf_on_mask;
- extension = r_ihf_on_button_state_extension;
- },
- AVKON_BUTTON_STATE // Activate loudspeaker (4)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_ihf_on;
- bmpmask = EMbmVideoteluiQgn_indi_tb_ihf_on_mask;
- helptxt = qtn_vt_tooltip_audio_loudspeaker;
- extension = r_ihf_on_button_state_extension;
- },
- AVKON_BUTTON_STATE // Activate loudspeaker (dummy state) (5)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_ihf_on;
- bmpmask = EMbmVideoteluiQgn_indi_tb_ihf_on_mask;
- extension = r_ihf_on_button_state_extension;
- },
- AVKON_BUTTON_STATE // Activate bt hf (6)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_bthf;
- bmpmask = EMbmVideoteluiQgn_indi_tb_bthf_mask;
- helptxt = qtn_vt_tooltip_audio_bthf;
- extension = r_bt_hf_button_state_extension;
- },
- AVKON_BUTTON_STATE // Activate bt hf (dummy state) (7)
- {
- bmpfile = "Z:"APP_BITMAP_DIR"\\videotelui.mif";
- bmpid = EMbmVideoteluiQgn_indi_tb_bthf;
- bmpmask = EMbmVideoteluiQgn_indi_tb_bthf_mask;
- extension = r_bt_hf_button_state_extension;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// r_videotelui_softkeys_dialer
-// Options & Dialer open softkeys
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_videotelui_softkeys_dialer
- {
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EVtUiCmdSendDTMF;
- txt = qtn_incal_softk_dialer;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyContextOptions;
- txt = text_softkey_empty;
- }
- };
- }
-
-// End of File
--- a/vtuis/videotelui/data/videotelui_caption.rss Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2004 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: Captions for Video Telephone application.
-*
-*/
-
-
-
-// INCLUDES
-#include <apcaptionfile.rh>
-#include "videotelui.loc"
-
-// RESOURCE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-//
-// CAPTION_DATA
-// Captions for Video Telephone application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CAPTION_DATA
- {
- caption = qtn_apps_videophone_grid;
- shortcaption = qtn_apps_videophone_grid;
- }
-
-// End of File
--- a/vtuis/videotelui/data/videotelui_reg.rss Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2004 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: Registration file for Video Telephone application.
-*
-*/
-
-
-#include <appinfo.rh>
-#include <videotelui.rsg>
-#include <data_caging_paths_strings.hrh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x101F8681 // application UID
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file = "videotelui";
- hidden = KAppIsHidden;
- localisable_resource_file =
- APP_RESOURCE_DIR"\\videotelui";
- localisable_resource_id = R_VIDEOTELUI_LOCALISABLE_APP_INFO;
- }
-
-// End of File
Binary file vtuis/videotelui/data/videotelui_stub.SIS has changed
--- a/vtuis/videotelui/data/videotelui_stub.pkg Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-;
-; Copyright (c) 2009 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:
-;
-; Languages
-&EN
-
-; Header
-#{"videotelui"}, (0x101F8681), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\videotelui.exe"
-""-"z:\resource\apps\videotelui.rsc"
-""-"z:\resource\apps\videotelui_aif.mif"
-""-"z:\resource\apps\videotelui.mif"
-""-"z:\private\10003a3f\import\apps\videotelui_reg.rsc"
\ No newline at end of file
--- a/vtuis/videotelui/group/bld.inf Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: Build information for Video Telephone application.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/VideoTelephonyVariant.hrh |../../../inc/videotelephonyvariant.hrh
-../inc/VideoTelephonyInternalCRKeys.h |../../../inc/videotelephonyinternalcrkeys.h
-../data/videotelui_stub.SIS /epoc32/data/z/system/install/videotelui_stub.sis
-
-// Export LOC file
-../loc/videotelui.loc APP_LAYER_LOC_EXPORT_PATH(videotelui.loc)
-
-// Export IBY files
-../rom/videotelui.iby CORE_APP_LAYER_IBY_EXPORT_PATH(videotelui.iby)
-../rom/videoteluiResources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(videoteluiresources.iby)
-
-// Generic configuration interface for component cenrep settings
-
-../conf/s60videotelephony.confml APP_LAYER_CONFML(s60videotelephony.confml)
-../conf/s60videotelephony_102072D0.crml APP_LAYER_CRML(s60videotelephony_102072d0.crml)
-../conf/s60videotelephony_10281872.crml APP_LAYER_CRML(s60videotelephony_10281872.crml)
-
-
-#if defined ( RD_VT_RTF )
-../Data/VtStartRecord.wav /epoc32/release/winscw/urel/z/system/sounds/digital/VtStartRecord.wav
-../Data/VtStartRecord.wav /epoc32/release/winscw/udeb/z/system/sounds/digital/VtStartRecord.wav
-../Data/VtStartRecord.wav /epoc32/release/armv5/urel/z/system/sounds/digital/VtStartRecord.wav
-../Data/VtStartRecord.wav /epoc32/release/armv5/udeb/z/system/sounds/digital/VtStartRecord.wav
-
-../Data/VtStopRecord.wav /epoc32/release/winscw/urel/z/system/sounds/digital/VtStopRecord.wav
-../Data/VtStopRecord.wav /epoc32/release/winscw/udeb/z/system/sounds/digital/VtStopRecord.wav
-../Data/VtStopRecord.wav /epoc32/release/armv5/urel/z/system/sounds/digital/VtStopRecord.wav
-../Data/VtStopRecord.wav /epoc32/release/armv5/udeb/z/system/sounds/digital/VtStopRecord.wav
-#endif //RD_VT_RTF
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
- OPTION TARGETFILE videotelui.mif
- OPTION HEADERFILE videotelui.mbg
- OPTION SOURCES \
- -c8,8 qgn_graf_call_video_out_bg -c8 qgn_indi_call_video_blind_in -c8 qgn_indi_call_video_blind_out \
- /1 qgn_graf_zoom_area -c8,1 qgn_indi_zoom_dir -c8 qgn_indi_zoom_min \
- -c8 qgn_indi_zoom_max -8 qgn_indi_call_video_blind_in_mask_icon -8 qgn_indi_call_video_blind_out_mask_icon \
- -c8,8 qgn_indi_tb_camera_main -c8,8 qgn_indi_tb_camera_secondary -c8,8 qgn_indi_tb_gallery \
- -c8,8 qgn_indi_tb_microphone_mute -c8,8 qgn_indi_tb_microphone_unmute -c8,8 qgn_indi_tb_swap_images \
- -c8,8 qgn_indi_tb_video -c8,8 qgn_indi_tb_video_disable -c8,8 qgn_indi_tb_zoom \
- -c8,8 qgn_indi_cams_tb_capture -c8,8 qgn_indi_tb_ihf_on -c8,8 qgn_indi_tb_handset \
- -c8,8 qgn_indi_tb_bthf
-END
-
-START EXTENSION s60/mifconv
- OPTION TARGETFILE videotelui_aif.mif
- OPTION SOURCES -c8,8 qgn_menu_call_video
-END
-
-
-
-PRJ_MMPFILES
-/*
-gnumakefile ../group/videotelui_icons_dc.mk
-#ifdef __SCALABLE_ICONS
-gnumakefile ../group/videotelui_icons_aif_scalable_dc.mk
-#else
-gnumakefile ../group/videotelui_icons_aif_bitmaps_dc.mk
-#endif
-*/
-../group/videotelui.mmp
-
-
-
-// End of File
--- a/vtuis/videotelui/group/videotelui.mmp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2004 - 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: Project specification for Video Telephone application.
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_APPLICATION MultiMediaDD NetworkControl CommDD
-
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-TARGET videotelui.exe
-TARGETTYPE exe
-EPOCSTACKSIZE 0x5000
-EPOCHEAPSIZE 0x190000 0x500000
-UID 0x100039CE 0x101F8681
-
-SOURCEPATH ../src
-SOURCE CVtUiApp.cpp
-SOURCE CVtUiAppUi.cpp
-SOURCE CVtUiDoc.cpp
-SOURCE CVtUiMainControl.cpp
-SOURCE CVtUiContextControl.cpp
-SOURCE CVtUiNaviPane.cpp
-SOURCE CVtUiNaviPaneControl.cpp
-SOURCE VtUiLayout.cpp
-SOURCE VtUiUtility.cpp
-SOURCE VtUiPanic.cpp
-SOURCE CVtUiBlankControl.cpp
-SOURCE CVtUiBlankDialog.cpp
-SOURCE CVtUiExecuteCmdDialog.cpp
-SOURCE CVtUiMutedControl.cpp
-SOURCE CVtUiZoomControl.cpp
-SOURCE CVtUiAllowVideoDialog.cpp
-SOURCE CVtUiActiveExec.cpp
-SOURCE CVtUiActivateBtHfDialog.cpp
-SOURCE TVtUiCallParameters.cpp
-SOURCE CVtUiNumberEntryActivationControl.cpp
-SOURCE CVtUiBitmapManager.cpp
-
-SOURCE tvtuiappstatebase.cpp
-SOURCE tvtuistatestarting.cpp
-SOURCE tvtuistaterunning.cpp
-SOURCE tvtuistateresetting.cpp
-SOURCE cvtuiappshutter.cpp
-SOURCE cvtuivideocontrolbase.cpp
-SOURCE cvtuidtmfbuffer.cpp
-SOURCE CVtUiRemoteVideoControl.cpp
-
-// COMMAND FW
-SOURCEPATH ../src/commands
-SOURCE cvtuicmdbase.cpp
-SOURCE cvtuifeaturecmdbase.cpp
-SOURCE cvtuicmdcontext.cpp
-SOURCE cvtuicmdvalidationactionbase.cpp
-SOURCE cvtuicmdvalidatorbase.cpp
-SOURCE cvtuicommandpolicymanager.cpp
-SOURCE cvtuiprimarycmdpolicy.cpp
-SOURCE cvtuicommandmanager.cpp
-SOURCE tvtuimediastate.cpp
-SOURCE tvtuiaudiostate.cpp
-SOURCE tvtuilocalvariation.cpp
-SOURCE tvtuistates.cpp
-SOURCE cvtuicommandmodifybase.cpp
-SOURCE cvtuicmdcustomvalidationactionbase.cpp
-SOURCE cvtuicmdstatecheckaction.cpp
-SOURCE cvtuiexecutioncontext.cpp
-SOURCE tVtuifeaturevariation.cpp
-
-// FEATURE FW
-SOURCEPATH ../src/features
-SOURCE cvtuifeaturebase.cpp
-SOURCE cvtuifeaturemanager.cpp
-
-SOURCEPATH ../src/features/toolbar
-SOURCE cvtuitoolbarbase.cpp
-SOURCE cvtuitoolbarcontext.cpp
-SOURCE cvtuihidetoolbaritemaction.cpp
-SOURCE tvtuitoolbarcommanditerator.cpp
-SOURCE cvtuitoolbarskmodifier.cpp
-SOURCE cvtuitoolbarbutton.cpp
-SOURCE cvtuitoolbarcmdpolicy.cpp
-SOURCE cvtuifloatingtoolbar.cpp
-SOURCE cvtuifixedtoolbar.cpp
-
-
-SOURCEPATH ../src/features/menu
-SOURCE cvtuimenus.cpp
-SOURCE cvtuimenucontext.cpp
-SOURCE cvtuimenuitemdimmeraction.cpp
-SOURCE tvtuimenucommanditerator.cpp
-
-SOURCEPATH ../src/features/softkey
-SOURCE cvtuisoftkeys.cpp
-SOURCE cvtuisoftkeycontext.cpp
-SOURCE cvtuisoftkeyvalidationaction.cpp
-SOURCE cvtuisoftkeysetting.cpp
-
-
-SOURCEPATH ../src/features/numberentry
-SOURCE cvtuinumberentry.cpp
-SOURCE CVtUiNumberEntryControl.cpp
-
-SOURCEPATH ../src/features/prefs
-SOURCE cvtuitransparentsettingpage.cpp
-SOURCE cvtuiprefsettinglistbase.cpp
-SOURCE cvtuiwhitebalance.cpp
-SOURCE cvtuicolortone.cpp
-SOURCE cvtuivideoquality.cpp
-SOURCE cvtuiprefpopupbase.cpp
-SOURCE cvtuiprefsliderbase.cpp
-SOURCE cvtuibrightness.cpp
-SOURCE cvtuibrightnesspopup.cpp
-SOURCE cvtuicontrast.cpp
-SOURCE cvtuicontrastpopup.cpp
-
-SOURCEPATH ../src/features/dialer
-SOURCE cvtuidialer.cpp
-SOURCE cvtuidialervideocontrol.cpp
-SOURCE cvtuidialercontainer.cpp
-SOURCE cvtuicmdopendialer.cpp
-SOURCE cvtuicmdclosedialer.cpp
-SOURCE cvtuidialerskmodifier.cpp
-
-// COMPONENT MANAGER FW
-SOURCEPATH ../src/compman
-SOURCE cvtuicomponentmanager.cpp
-SOURCE tvtuicomponentstate.cpp
-SOURCE tvtuiblocklists.cpp
-
-// SLIDERS
-SOURCEPATH ../src/sliders
-SOURCE cvtuipopupbase.cpp
-SOURCE cvtuisliderbase.cpp
-
-// VOLUME SLIDER
-SOURCEPATH ../src/features/volume
-SOURCE cvtuivolume.cpp
-SOURCE cvtuivolumepopup.cpp
-SOURCE cvtuivolumecontrol.cpp
-
-// ZOOM SLIDER
-SOURCEPATH ../src/features/zoom
-SOURCE cvtuizoom.cpp
-SOURCE cvtuizoompopup.cpp
-
-SOURCEPATH ../data
-
-START RESOURCE videotelui.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE videotelui_reg.rss
-DEPENDS videotelui.rsg
-TARGETPATH /private/10003a3f/apps
-END
-
-USERINCLUDE ../inc
-USERINCLUDE ../inc/commands
-USERINCLUDE ../inc/features
-USERINCLUDE ../inc/compman
-USERINCLUDE ../inc/features/softkey
-USERINCLUDE ../inc/features/menu
-USERINCLUDE ../inc/features/toolbar
-USERINCLUDE ../inc/features/numberentry
-USERINCLUDE ../inc/features/prefs
-USERINCLUDE ../inc/features/dialer
-USERINCLUDE ../inc/features/volume
-USERINCLUDE ../inc/features/zoom
-USERINCLUDE ../inc/sliders
-USERINCLUDE ../loc
-
-SYSTEMINCLUDE ../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY ws32.lib
-LIBRARY eikcoctl.lib
-LIBRARY apgrfx.lib
-LIBRARY fbscli.lib
-LIBRARY eikdlg.lib
-LIBRARY gdi.lib
-LIBRARY bitgdi.lib
-LIBRARY egul.lib
-LIBRARY ecom.lib
-
-LIBRARY aknlayout.lib
-LIBRARY aknlayout2.lib
-LIBRARY avkon.lib
-LIBRARY aknskins.lib
-LIBRARY aknnotify.lib
-
-LIBRARY hlplch.lib
-LIBRARY featmgr.lib
-LIBRARY commonengine.lib
-LIBRARY centralrepository.lib
-
-
-LIBRARY videoteleng.lib
-DEBUGLIBRARY vtlogger.lib
-
-LIBRARY phoneclient.lib
-
-LIBRARY cdlengine.lib
-LIBRARY aknicon.lib
-LIBRARY aknlayout2scalable.lib
-
-LIBRARY mgfetch.lib
-LIBRARY bafl.lib
-LIBRARY caf.lib
-LIBRARY cafutils.lib
-LIBRARY eikctl.lib
-LIBRARY fepbase.lib
-
-LIBRARY remconinterfacebase.lib
-LIBRARY remconcoreapi.lib
-
-LIBRARY dialer.lib
-
-LIBRARY gfxtrans.lib
-
-SOURCEPATH ../loc
-DOCUMENT videotelui.loc
-
-SOURCEPATH ../inc
-DOCUMENT videotelui.hrh
-
-// End of File
--- a/vtuis/videotelui/group/videotelui_icons.mk Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-#
-# Copyright (c) 2004 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: Makefile to generate icon file for Video
-# Telephone application.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\system\apps\videotelui
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\videotelui.mif
-HEADERFILENAME=$(HEADERDIR)\videotelui.mbg
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
- /c8,8 qgn_graf_call_video_out_bg.bmp \
- /c8 qgn_indi_call_video_blind_in.bmp \
- /c8 qgn_indi_call_video_blind_out.bmp \
- /1 qgn_graf_zoom_area.bmp \
- /c8,1 qgn_indi_zoom_dir.bmp \
- /c8 qgn_indi_zoom_min.bmp \
- /c8 qgn_indi_zoom_max.bmp \
- /8 qgn_indi_call_video_blind_in_mask_icon.bmp \
- /8 qgn_indi_call_video_blind_out_mask_icon.bmp \
- /c8 qgn_indi_tb_camera_main.bmp \
- /c8 qgn_indi_tb_camera_secondary.bmp \
- /c8 qgn_indi_tb_gallery.bmp \
- /c8 qgn_indi_tb_microphone_mute.bmp \
- /c8 qgn_indi_tb_microphone_unmute.bmp \
- /c8 qgn_indi_tb_swap_images.bmp \
- /c8 qgn_indi_tb_video.bmp \
- /c8 qgn_indi_tb_video_disable.bmp \
- /c8 qgn_indi_tb_zoom.bmp \
- /c8 qgn_indi_cams_tb_capture.bmp \
- /c8 qgn_indi_tb_ihf_on.bmp \
- /c8 qgn_indi_tb_handset.bmp \
- /c8 qgn_indi_tb_bthf.bmp
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(HEADERFILENAME)&& \
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-
-# End of File
--- a/vtuis/videotelui/group/videotelui_icons_aif_bitmaps.mk Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2004-2005 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: Makefile to generate AIF icons for bitmap version.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\system\apps\videotelui
-ICONTARGETFILENAME=$(TARGETDIR)\videotelui_aif.mbm
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8,8 qgn_menu_call_video_lst.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/vtuis/videotelui/group/videotelui_icons_aif_bitmaps_dc.mk Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2004-2005 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: Makefile to generate AIF icons for bitmap version.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\videotelui_aif.mbm
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8,8 qgn_menu_call_video_lst.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/vtuis/videotelui/group/videotelui_icons_aif_scalable.mk Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2004-2005 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: Makefile to generate AIF icons for scalable version.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\system\apps\videotelui
-ICONTARGETFILENAME=$(TARGETDIR)\videotelui_aif.mif
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8,8 qgn_menu_call_video.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/vtuis/videotelui/group/videotelui_icons_aif_scalable_dc.mk Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2004-2005 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: Makefile to generate AIF icons for scalable version.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\videotelui_aif.mif
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8,8 qgn_menu_call_video.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/vtuis/videotelui/group/videotelui_icons_dc.mk Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-#
-# Copyright (c) 2004-2005 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: Makefile to generate icon file for Video
-# Telephone application.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\videotelui.mif
-HEADERFILENAME=$(HEADERDIR)\videotelui.mbg
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
- /c8,8 qgn_graf_call_video_out_bg.bmp \
- /c8 qgn_indi_call_video_blind_in.bmp \
- /c8 qgn_indi_call_video_blind_out.bmp \
- /1 qgn_graf_zoom_area.bmp \
- /c8,1 qgn_indi_zoom_dir.bmp \
- /c8 qgn_indi_zoom_min.bmp \
- /c8 qgn_indi_zoom_max.bmp \
- /8 qgn_indi_call_video_blind_in_mask_icon.bmp \
- /8 qgn_indi_call_video_blind_out_mask_icon.bmp \
- /c8,8 qgn_indi_tb_camera_main.bmp \
- /c8,8 qgn_indi_tb_camera_secondary.bmp \
- /c8,8 qgn_indi_tb_gallery.bmp \
- /c8,8 qgn_indi_tb_microphone_mute.bmp \
- /c8,8 qgn_indi_tb_microphone_unmute.bmp \
- /c8,8 qgn_indi_tb_swap_images.bmp \
- /c8,8 qgn_indi_tb_video.bmp \
- /c8,8 qgn_indi_tb_video_disable.bmp \
- /c8,8 qgn_indi_tb_zoom.bmp \
- /c8,8 qgn_indi_cams_tb_capture.bmp \
- /c8,8 qgn_indi_tb_ihf_on.bmp \
- /c8,8 qgn_indi_tb_handset.bmp \
- /c8,8 qgn_indi_tb_bthf.bmp
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(HEADERFILENAME)&& \
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-
-# End of File
--- a/vtuis/videotelui/inc/CVtUiActivateBtHfDialog.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2004 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: Bluetooth HF activation dialog for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIACTIVATEBTHFDIALOG_H
-#define CVTUIACTIVATEBTHFDIALOG_H
-
-// INCLUDES
-#include <AknWaitDialog.h>
-#include <mvtengcommandobserver.h>
-#include <mvtengaudio.h>
-
-// FORWARD DECLARATIONS
-class MVtEngCommandHandler;
-class MVtUiEngineCommandManager;
-
-// CLASS DECLARATION
-
-/**
-* Bluetooth HF activation dialog for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiActivateBtHfDialog
- : public CAknWaitDialog,
- private MVtEngCommandObserver
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- *
- * @param aSelfPtr optional pointer to itself.
- * @param aError optional pointer to error code variable.
- * @param aCommandHandler command handler.
- * @param aCommandManager command manager.
- */
- CVtUiActivateBtHfDialog(
- CEikDialog** aSelfPtr,
- TInt* aError,
- MVtEngCommandHandler& aCommandHandler,
- MVtUiEngineCommandManager& aCommandManager );
-
- /**
- * Destructor.
- */
- ~CVtUiActivateBtHfDialog();
-
- public: // New functions
-
- /**
- * Executes bluetooth activation dialog.
- */
- void ExecuteDialogLD();
-
- protected: // Functions from base classes
-
- /**
- * @see CEikDialog::PostLayoutDynInitL.
- */
- virtual void PostLayoutDynInitL();
-
- private:
-
- /**
- * @see MVtEngCommandObserver::HandleVTCommandPerformedL.
- */
- virtual void HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError );
-
- private:
-
- // Reference to command handler.
- MVtEngCommandHandler& iCommandHandler;
-
- // Reference to command manager.
- MVtUiEngineCommandManager& iCommandManager;
-
- // ETrue if command is performed.
- TBool iCommandPerformed;
-
- // Pointer to error code variable.
- TInt* iError;
-
- // Audio routing setting.
- TPckgBuf< MVtEngAudio::TVtEngRoutingSetting > iAudioRouting;
-
- };
-
-#endif // CVTUIACTIVATEBTHFDIALOG_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiActiveExec.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2004 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: Asynchronous execution class for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIACTIVEEXEC_H
-#define CVTUIACTIVEEXEC_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CVtUiActiveExec;
-
-// CLASS DECLARATION
-
-/**
-* Interface for asynchronous execution.
-*
-* @since Series 60 2.6
-*/
-class MVtUiActiveExec
- {
- public: // New functions
-
- /**
- * Starts execution of a command.
- * @param aActiveExec active executor.
- * @param aState state based on which execution can be started.
- * @param aNextState next state.
- * @param aRequest request status, which should be used if operation is
- * asynchronous.
- * @return ETrue if operation was synchronous, otherwise EFalse.
- */
- virtual TBool ActiveExecExecuteL(
- CVtUiActiveExec& aActiveExec,
- const TInt aState,
- TInt& aNextState,
- TRequestStatus& aRequest ) = 0;
-
- /**
- * Decide whether to continue or not.
- * @param aActiveExec active executor.
- * @param aState current state, should be updated to new state.
- * @param aError error code.
- * @return ETrue if continued, EFalse if stopped.
- */
- virtual TBool ActiveExecContinue(
- CVtUiActiveExec& aActiveExec,
- TInt& aState,
- const TInt aError ) = 0;
-
- /**
- * Cancels operation of specific state.
- * @param aActiveExec active executor.
- * @param aState state.
- */
- virtual void ActiveExecCancel(
- CVtUiActiveExec& aActiveExec,
- const TInt aState ) = 0;
-
- /**
- * Informs that operation has been finished.
- * @param aActiveExec active executor.
- * @param aInitialState initial state.
- */
- virtual void ActiveExecDone(
- CVtUiActiveExec& aActiveExec,
- const TInt aInitialState ) = 0;
-
- };
-
-/**
-* Asynchronous execution class for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiActiveExec
- : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- * @param aPriority priority of the active object.
- */
- CVtUiActiveExec(
- const TInt aPriority );
-
- /**
- * Destructor.
- */
- ~CVtUiActiveExec();
-
- public: // New functions
-
- /**
- * Starts execution.
- * @param aStartState initial state.
- * @param aExec executor.
- */
- void Start(
- TInt aStartState,
- MVtUiActiveExec& aExec );
-
- /**
- * Initial state of currently
- * active operation.
- *
- * @return initial state, or KErrNotFound if no operation ongoing.
- */
- TInt InitialState() const;
-
- /**
- * Returns request status.
- * @return request status.
- */
- TInt RequestStatus() const;
-
- public: // Functions from base classes
-
- /**
- * @see CActive::RunL.
- */
- virtual void RunL();
-
- /**
- * @see CActive::DoCancel.
- */
- virtual void DoCancel();
-
- /**
- * @see CActive::RunError.
- */
- virtual TInt RunError( TInt aError );
-
- private:
-
- // Ref to active executor.
- MVtUiActiveExec* iActiveExec;
-
- // Initial state.
- TInt iInitialState;
-
- // Current state.
- TInt iCurrentState;
-
- // Next state.
- TInt iNextState;
-
- };
-
-#endif // CVTUIACTIVEEXEC_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiAllowVideoDialog.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2004 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: 'Allow video image' query for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIALLOWVIDEODIALOG_H
-#define CVTUIALLOWVIDEODIALOG_H
-
-// INCLUDES
-#include <AknQueryDialog.h>
-
-// CLASS DECLARATION
-
-/**
-* 'Allow video image' query for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiAllowVideoDialog
- : public CAknQueryDialog
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- *
- * @param aSelfPtr optional pointer to itself.
- * @param aTone tone to be played.
- */
- CVtUiAllowVideoDialog(
- CEikDialog** aSelfPtr,
- const TTone& aTone );
-
- /**
- * Destructor.
- */
- ~CVtUiAllowVideoDialog();
-
- public: // New functions
-
- /**
- * Enumerates different results which
- * can be completed to request status.
- */
- enum TResult
- {
- // Query was canceled.
- EQueryCanceled = 1,
- // Query was dismissed due to timeout.
- EQueryDismissedTimeout,
- // User denied video sending.
- EUserDenied,
- // User allowed video sending.
- EUserAllowed
- };
-
- /**
- * Runs dialog.
- * @param aStatus request status.
- */
- void ExecuteDialogLD(
- TRequestStatus& aStatus );
-
- protected: // Functions from base classes
-
- /**
- * @see CAknQueryDialog::PostLayoutDynInitL.
- */
- virtual void PostLayoutDynInitL();
-
- /**
- * @see CAknQueryDialog::OkToExitL.
- */
- virtual TBool OkToExitL( TInt aCommand );
-
- private:
-
- /**
- * Callback function. Called when this query
- * is dismissed.
- * @param aAny pointer to instance of this class.
- * @return KErrNone.
- */
- static TInt DoDismissDialogTimeoutL( TAny* aAny );
-
- private:
-
- // Pointer to pointer to this instance.
- CEikDialog** iSelfPtr;
-
- // Timer for dismissing the query after timeout.
- CPeriodic* iQueryTimer;
-
- // Request status.
- TRequestStatus* iRequestStatus;
-
- };
-
-#endif // CVTUIALLOWVIDEODIALOG_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiApp.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2004 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 class for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIAPP_H
-#define CVTUIAPP_H
-
-// INCLUDES
-#include <aknapp.h>
-
-// CLASS DECLARATION
-
-/**
-* Application class for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiApp
- : public CAknApplication
- {
- public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CVtUiApp();
-
- public: // Functions from base classes
-
- /**
- * From CAknApplication, creates document instance.
- * @return document instance.
- */
- virtual CApaDocument* CreateDocumentL();
-
- /**
- * From CAknApplication, returns UID of the application.
- * @return UID of the application.
- */
- virtual TUid AppDllUid() const;
-
- };
-
-#endif // CVTUIAPP_H
-
-// End of File
--- 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
--- a/vtuis/videotelui/inc/CVtUiBitmapManager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Bitmap manager for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIBITMAPMANAGER_H
-#define CVTUIBITMAPMANAGER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <gdi.h>
-#include "videotelui.hrh"
-
-// DATA TYPES
-
-/**
-* Type definition for bitmap pool identifier.
-* Zero is reserved as invalid identifier.
-*/
-typedef TInt TVtUiBitmapPoolId;
-
-// FORWARD DECLARATION
-class CFbsBitmap;
-
-// CLASS DECLARATION
-
-/**
-* Bitmap manager for Video Telephone application.
-* @since Series 60 2.8
-*/
-class CVtUiBitmapManager
- : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- */
- CVtUiBitmapManager();
-
- /**
- * Destructor.
- */
- ~CVtUiBitmapManager();
-
- public: // New functions
-
- /**
- * Adds bitmaps to the pool.
- * @param aBitmapId bitmap identifier.
- * @param aBitmapMaskId bitmap mask identifier,
- * KErrNotFound if no mask.
- * @param aExpectDefaultColor ETrue if default color is to be expected.
- * @return bitmap pool identifier.
- */
- TVtUiBitmapPoolId AddBitmapsL(
- TVtUiBitmapId aBitmapId,
- TVtUiBitmapId aBitmapMaskId,
- TBool aExpectDefaultColor );
-
- /**
- * Adds bitmap to the pool.Note that this bitmap does not have mask.
- * @param aBitmapId bitmap identifier.
- * @param aExpectDefaultColor ETrue if default color is to be expected.
- * @return bitmap pool identifier.
- */
- TVtUiBitmapPoolId AddBitmapL(
- TVtUiBitmapId aBitmapId,
- TBool aExpectDefaultColor );
-
- /**
- * Removes bitmap from the pool.
- * @param aId bitmap pool identifier.
- */
- void RemoveBitmap( TVtUiBitmapPoolId aId );
-
- /**
- * Sets size of the specified bitmap. This method must be
- * called before bitmap is used.
- *
- * @param aId bitmap pool identifier.
- * @param aSize size of the bitmap.
- */
- void SetSize(
- TVtUiBitmapPoolId aId,
- const TSize& aSize );
-
- /**
- * Sets size and default color of the specified bitmap.
- * This method must be called before bitmap is used.
- *
- * @param aId bitmap pool identifier.
- * @param aSize size of the bitmap.
- * @param aDefaultColor default color of the bitmap.
- */
- void SetSizeAndColor(
- TVtUiBitmapPoolId aId,
- const TSize& aSize,
- const TRgb& aDefaultColor );
-
- /**
- * Sets aspect ratio preservation status.
- * @param aId bitmap pool identifier.
- * @param aPreserve ETrue if aspect ration is to be preserved.
- */
- void SetAspectRatio(
- TVtUiBitmapPoolId aId,
- TBool aPreserve );
-
- /**
- * This method is called to inform that bitmap is required.
- * @param aId bitmap pool identifier.
- */
- void RequireBitmap( TVtUiBitmapPoolId aId );
-
- /**
- * Gets bitmap & its mask.
- * @param aId bitmap pool identifier.
- * @param aBitmap it will be updated to hold bitmap pointer,
- * or NULL if bitmap is not available. This pointer
- * must not be kept any longer than absolutely required.
- * @param aBitmapMask it will be updated to hold bitmap mask pointer,
- * or NULL if bitmap mask is not available. This pointer
- * must not be kept any longer than absolutely required.
- */
- void GetBitmaps(
- TVtUiBitmapPoolId aId,
- CFbsBitmap*& aBitmap,
- CFbsBitmap*& aBitmapMask );
-
- /**
- * Gets bitmap & its mask.
- * @param aId bitmap pool identifier.
- * @param aBitmap it will be updated to hold bitmap pointer,
- * or NULL if bitmap is not available. This pointer
- * must not be kept any longer than absolutely required.
- */
- void GetBitmap(
- TVtUiBitmapPoolId aId,
- CFbsBitmap*& aBitmap );
-
- /**
- * Invalidates bitmaps. This is called on theme / layout change.
- */
- void InvalidateBitmaps();
-
- private:
-
- // Inner class.
- class CBitmapInfo;
-
- /**
- * Finds bitmap based on pool identifier.
- * @param aId bitmap pool identifier.
- * @return KErrNotFound if not found, or index to array.
- */
- TInt Find( TVtUiBitmapPoolId aId ) const;
-
- private:
-
- // Owned array of bitmap information instances.
- RPointerArray< CBitmapInfo > iBitmapArray;
-
- // Bitmap pool identifier used to generate bitmaps.
- TVtUiBitmapPoolId iBitmapId;
-
- // Temporary instance for getting bitmap file name.
- TFileName iTmpFileName;
-
- };
-
-#endif // CVTUIBITMAPMANAGER_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiBlankControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2004 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: Blank control for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIBLANKCONTROL_H
-#define CVTUIBLANKCONTROL_H
-
-// INCLUDES
-#include <coecntrl.h>
-
-// CLASS DECLARATION
-
-/**
-* Blank control for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiBlankControl
- : public CCoeControl
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtUiBlankControl();
-
- /**
- * Symbian constructor.
- * @param aRect control rectangle.
- */
- void ConstructL( const TRect& aRect );
-
- /**
- * C++ destructor.
- */
- ~CVtUiBlankControl();
-
- public: // New functions
-
- /**
- * Sets blanker active / inactive.
- * @param aStatus ETrue if to be activated.
- */
- void SetActive( TBool aStatus );
-
- protected: // Functions from base classes
-
- /**
- * From CCoeControl, handles key events.
- * @param aKeyEvent key event.
- * @param aType type of event.
- */
- virtual TKeyResponse OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- /**
- * From CCoeControl, draws the control.
- * @param aRect area to be drawn.
- */
- virtual void Draw( const TRect& aRect ) const;
-
- /**
- * From CCoeControl, handles size changes.
- */
- virtual void SizeChanged();
-
- /**
- * From CCoeControl, handles position changes.
- */
- virtual void PositionChanged();
-
- private:
-
- // ETrue if blanker is active.
- TBool iBlankerActive;
-
- };
-
-#endif // CVTUIBLANKCONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiBlankDialog.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2004 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: Blank dialog for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIBLANKDIALOG_H
-#define CVTUIBLANKDIALOG_H
-
-// INCLUDES
-#include <eikdialg.h>
-
-// CLASS DECLARATION
-
-/**
-* Blank dialog for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiBlankDialog
- : public CEikDialog
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- *
- * @param aSelfPtr optional pointer to itself.
- */
- CVtUiBlankDialog( CEikDialog** aSelfPtr );
-
- /**
- * Destructor. If a pointer was passed in constructor,
- * it will be cleared here.
- */
- ~CVtUiBlankDialog();
-
- public: // New functions
-
- /**
- * Executes blank dialog, no wait flag set.
- */
- void ExecuteDialogNoWaitLD();
-
- /**
- * Executes blank dialog.
- * @param aRequest request status, optional.
- */
- void ExecuteDialogLD(
- TRequestStatus* aRequest );
-
- protected: // New functions
-
- /**
- * Completes dialog with error.
- * Note: this method will delete the dialog.
- * @param aError error code.
- */
- void Complete( const TInt aError );
-
- protected: // Functions from base classes
-
- /**
- * @see CEikDialog::PreLayoutDynInitL.
- */
- void PreLayoutDynInitL();
-
- /**
- * @see CEikDialog::PostLayoutDynInitL.
- */
- void PostLayoutDynInitL();
-
- /**
- * @see CEikDialog::OkToExitL.
- */
- TBool OkToExitL( TInt aButtonId );
-
- /**
- * @see CEikDialog::Draw.
- */
- void Draw( const TRect& aRect ) const;
-
- private:
-
- // Pointer to itself.
- CEikDialog** iSelfPtr;
-
- // Error code.
- TInt* iError;
-
- // Request status.
- TRequestStatus* iRequest;
- };
-
-#endif // CVTUIBLANKDIALOG_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiContextControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Context pane control for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUICONTEXTCONTROL_H
-#define CVTUICONTEXTCONTROL_H
-
-// INCLUDES
-#include <AknWsEventObserver.h>
-#include "cvtuivideocontrolbase.h"
-
-// FORWARDS
-class CVtUiAppUi;
-class TVtUiStates;
-
-/**
-* Context pane control for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiContextControl : public CVtUiVideoControlBase,
- public MAknWsEventObserver
- {
-
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aBitmapManager bitmap manager.
- * @param aLargeViewfinder ETrue if large viewfinder wanted.
- * @param aAppUi application UI.
- * @param aUiStates UI states.
- */
- static CVtUiContextControl* NewL(
- CVtUiBitmapManager& aBitmapManager,
- CVtUiAppUi& aAppUi,
- TVtUiStates& aUiStates );
-
- /**
- * C++ destructor.
- */
- ~CVtUiContextControl();
-
- /**
- * LayoutRemoteVideo
- */
- void LayoutRemoteVideo();
-
- public: // from CCoeControl
-
- /**
- * @see CCoeControl::HandlePointerEventL
- */
- void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-
- private: // from CVtUiVideoControlBase
-
- /**
- * @see CVtUiVideoControlBase::HandleSizeChanged
- */
- void HandleSizeChanged();
-
- /**
- * @see CVtUiVideoControlBase::DrawColoredBackground
- */
- void DrawColoredBackground( CWindowGc& aGc ) const;
-
- /**
- * @see CVtUiVideoControlBase::StreamBlitPosition
- */
- TPoint StreamBlitPosition() const;
-
- /**
- * @see CVtUiVideoControlBase::StreamBlitPosition
- */
- TRect StreamClippingRect() const;
-
- /**
- * @see CVtUiVideoControlBase::BlindImage
- */
- CFbsBitmap* BlindImage() const;
-
- /**
- * @see CVtUiVideoControlBase::BlindMask
- */
- CFbsBitmap* BlindMask() const;
-
- /**
- * @see CVtUiVideoControlBase::BlindBlitPosition
- */
- TPoint BlindBlitPosition() const;
-
- public: // from MAknWsEventObserver
-
- /**
- * @see MAknWsEventObserver::HandleWsEventL
- */
- void HandleWsEventL( const TWsEvent& aEvent,
- CCoeControl* aDestination );
-
- private:
-
- /**
- * C++ constructor.
- */
- CVtUiContextControl(
- CVtUiBitmapManager& aBitmapManager,
- CVtUiAppUi& aAppUi,
- TVtUiStates& aUiStates );
-
- /**
- * Symbian constructor.
- */
- void ConstructL();
-
- private:
-
- // Background icon identifier.
- TVtUiBitmapPoolId iBackgroundId;
-
- // Blind icon identifier.
- TVtUiBitmapPoolId iBlindId;
-
- // Blind icon mask identifier.
- TVtUiBitmapPoolId iBlindMaskId;
-
- // Reference to application UI.
- CVtUiAppUi& iAppUi;
-
- // Reference to UI states.
- TVtUiStates& iUiStates;
-
- // Background bitmap layout.
- TAknLayoutRect iBackGround;
-
- // Blind icon rect
- TRect iBlindRect;
-
- // Stream rect
- TRect iStreamRect;
-
- // ETrue if it is ok to swap images on button up
- TBool iOkToSwapOnButtonUp;
-
- };
-
-#endif // CVTUICONTEXTCONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiDoc.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2004 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: Document class for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIDOC_H
-#define CVTUIDOC_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-// CLASS DECLARATION
-
-/**
-* Document class for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiDoc
- : public CAknDocument
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aApp application instance.
- */
- CVtUiDoc( CEikApplication& aApp );
-
- public: // Functions from base classes
-
- /**
- * From CAknDocument, creates application UI instance.
- * @return application UI instance.
- */
- virtual CEikAppUi* CreateAppUiL();
-
- /**
- * From CAknDocument, updates task name.
- * @param aWgName window group name instance.
- */
- virtual void UpdateTaskNameL( CApaWindowGroupName* aWgName );
-
- };
-
-#endif // CVTUIDOC_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiExecuteCmdDialog.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2004 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: Dialog for command execution for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIEXECUTECMDDIALOG_H
-#define CVTUIEXECUTECMDDIALOG_H
-
-// INCLUDES
-#include "CVtUiBlankDialog.h"
-#include <mvtengcommandobserver.h>
-
-// FORWARD DECLARATIONS
-class MVtEngCommandHandler;
-class MVtUiEngineCommandManager;
-
-// CLASS DECLARATION
-
-/**
-* Dialog for command execution for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiExecuteCmdDialog
- : public CVtUiBlankDialog,
- private MVtEngCommandObserver
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- *
- * @param aSelfPtr optional pointer to itself.
- * @param aCommandHandler command handler.
- * @param aCommandManager command manager.
- */
- CVtUiExecuteCmdDialog(
- CEikDialog** aSelfPtr,
- MVtEngCommandHandler& aCommandHandler,
- MVtUiEngineCommandManager& aCommandManager );
-
- /**
- * Destructor.
- */
- ~CVtUiExecuteCmdDialog();
-
- public: // New functions
-
- /**
- * Executes command dialog.
- * @param aCommandId command identifier.
- * @param aParams parameters.
- * @param aRequest request status, optional.
- */
- void ExecuteCmdLD(
- const TVtEngCommandId aCommandId,
- TDesC8* aParams,
- TRequestStatus* aRequest );
-
- protected: // Functions from base classes
-
- /**
- * @see CVtUiBlankDialog::PostLayoutDynInitL.
- */
- void PostLayoutDynInitL();
-
- private:
-
- /**
- * @see MVtEngCommandObserver::HandleVTCommandPerformedL.
- */
- virtual void HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError );
-
- /**
- * Handles execution failure.
- * @param aResult error code.
- */
- void HandleExecuteFailed( TInt aResult );
-
- private:
-
- // Inner class.
- class CActiveCmd;
-
- // Friend.
- friend class CActiveCmd;
-
- // Ref to command handler.
- MVtEngCommandHandler& iCommandHandler;
-
- // Ref to command manager.
- MVtUiEngineCommandManager& iCommandManager;
-
- // Command to be executed.
- TVtEngCommandId iCommand;
-
- // Owned parameters.
- HBufC8* iCommandParams;
-
- // ETrue if command has been completed.
- TBool iCommandCompleted;
-
- // Owned active object to perform the command.
- CActiveCmd* iActiveCmd;
-
- };
-
-#endif // CVTUIEXECUTECMDDIALOG_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiMainControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Main pane control for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIMAINCONTROL_H
-#define CVTUIMAINCONTROL_H
-
-// INCLUDES
-#include "cvtuivideocontrolbase.h"
-
-// CLASS DECLARATION
-class TVtUiStates;
-class TAknTextLineLayout;
-
-/**
-* Main pane control for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiMainControl : public CVtUiVideoControlBase
- {
-
- public: // Constructors and destructor
-
- /**
- * Constructor.
- * @param aBitmapManager bitmap manager.
- * @param aUiStates Ui states class.
- */
- static CVtUiMainControl* NewL( CVtUiBitmapManager& aBitmapManager,
- TVtUiStates& aUiStates );
-
- /**
- * C++ destructor.
- */
- ~CVtUiMainControl();
-
- public: // New functions.
-
- /**
- * Sets SQCif mode on/off.
- * @param aIsSupported whether on/off
- */
- void SupportSQCif( TBool aIsSupported );
-
- /**
- * LayoutRemoteVideo
- */
- void LayoutRemoteVideo();
-
- private: // from CVtUiVideoControlBase
-
- /**
- * @see CVtUiContextControl::HandleSizeChanged
- */
- void HandleSizeChanged();
-
- /**
- * @see CVtUiContextControl::DrawWaitingText
- */
- TBool DrawWaitingText( CWindowGc& aGc ) const;
-
- /**
- * @see CVtUiContextControl::StreamBlitPosition
- */
- TPoint StreamBlitPosition() const;
-
- /**
- * @see CVtUiContextControl::StreamClippingRect
- */
- TRect StreamClippingRect() const;
-
- /**
- * @see CVtUiContextControl::BlindImage
- */
- CFbsBitmap* BlindImage() const;
-
- /**
- * @see CVtUiContextControl::BlindMask
- */
- CFbsBitmap* BlindMask() const;
-
- /**
- * @see CVtUiContextControl::BlindBlitPosition
- */
- TPoint BlindBlitPosition() const;
-
- /**
- * @see CVtUiContextControl::WaitingTextLayout
- */
- TAknTextLineLayout WaitingTextLayout( TInt aLine );
-
- private:
-
- /**
- * Private constructor.
- */
- CVtUiMainControl( CVtUiBitmapManager& aBitmapManager,
- TVtUiStates& aUiStates );
-
- /**
- * C++ constructor.
- * @param aBitmapManager bitmap manager.
- */
- CVtUiMainControl();
-
- /**
- * Symbian constructor.
- */
- void ConstructL();
-
- private:
-
- // Background layout.
- TAknLayoutRect iBackgroundLayout;
-
- // Blind icon identifier.
- TVtUiBitmapPoolId iBlindId;
-
- // Blind icon mask identifier.
- TVtUiBitmapPoolId iBlindMaskId;
-
- // Blind icon layout.
- TAknLayoutRect iBlindLayout;
-
- // Stream layout.
- TAknLayoutRect iStreamLayoutRect;
-
- // ETrue if sqcif is used in remote video.
- TBool iSQCifRemote;
-
- // reference to uistates
- TVtUiStates& iUiStates;
-
- };
-
-#endif // CVTUIMAINCONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiMutedControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2004 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: Navi pane control for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIMUTEDCONTROL_H
-#define CVTUIMUTEDCONTROL_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <AknUtils.h>
-
-// CLASS DECLARATION
-
-/**
-* Navi pane control for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiMutedControl
- : public CCoeControl
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- CVtUiMutedControl();
-
- /**
- * Symbian constructor.
- */
- void ConstructL();
-
- /**
- * C++ destructor.
- */
- ~CVtUiMutedControl();
-
- public: // Functions from base classes
-
- /**
- * From CCoeControl, handles resource change.
- * @param aType type of change.
- */
- virtual void HandleResourceChange(
- TInt aType );
-
- protected: // Functions from base classes
-
- /**
- * From CCoeControl, draws the control.
- * @param aRect area to be drawn.
- */
- virtual void Draw( const TRect& aRect ) const;
-
- /**
- * From CCoeControl, handles size changes.
- */
- virtual void SizeChanged();
-
- /**
- * From CCoeControl, handles position changes.
- */
- virtual void PositionChanged();
-
- /**
- * From CCoeControl, returns amount of component controls.
- * @return amount of component controls.
- */
- virtual TInt CountComponentControls() const;
-
- /**
- * From CCoeControl, returns specified control.
- * @param aIndex index of control.
- * @return control.
- */
- virtual CCoeControl* ComponentControl(
- TInt aIndex ) const;
-
- private:
-
- // Owned muted label.
- CEikLabel* iMutedLabel;
-
- };
-
-#endif // CVTUIMUTEDCONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiNaviPane.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Controller for navi pane for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUINAVIPANE_H
-#define CVTUINAVIPANE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <coedef.h>
-#include <w32std.h>
-#include <coecobs.h>
-
-// FORWARD DECLARATIONS
-class CAknNavigationControlContainer;
-class CAknNavigationDecorator;
-class CVtUiNaviPaneControl;
-class CVtUiAppUi;
-
-// CONSTANTS
-
-// Minimum volume.
-const TInt KVtUiVolumeMinimum = 0;
-
-// Maximum volume.
-const TInt KVtUiVolumeMaximum = 10;
-
-// CLASS DECLARATION
-
-/**
-* Controller for navi pane for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiNaviPane : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aNaviPane reference to navipane.
- * @param aAppUi application UI.
- */
- static CVtUiNaviPane* NewL(
- CAknNavigationControlContainer& aNaviPane,
- CVtUiAppUi& aAppUi );
-
- /**
- * C++ destructor.
- */
- ~CVtUiNaviPane();
-
- public: // New functions
-
- /**
- * Updates current speaker.
- * @param aLoudspeaker Loudspeaker if ETrue, handset otherwise.
- */
- void SetCurrentSpeaker(
- const TBool aLoudspeaker );
-
- /**
- * Changes muted status.
- * @param aStatus status.
- */
- void SetMuted(
- const TBool aStatus );
-
- /**
- * Updates call duration.
- * @param aDuration current duration.
- * @param aEnabled ETrue if call duration enabled.
- */
- void SetCallDuration(
- const TTimeIntervalSeconds& aDuration,
- const TBool aEnabled );
-
- /**
- * Commits changes. This method should be called after above
- * Set* methods to make sure that display is up to date.
- */
- void CommitL();
-
- /**
- * Gets speaker volume.
- * @param aLoudspeaker ETrue if loudspeaker, EFalse if handset.
- * @param aValue it will be updated to contain volume of the speaker.
- */
- void GetSpeakerVolume(
- const TBool aLoudspeaker,
- TInt& aValue ) const;
-
- /**
- * Handles resource changes.
- * @param aType type of change.
- */
- void HandleResourceChange(
- TInt aType );
-
- protected: // From base classes
-
- /**
- * Called by CActive when operation needs to be canceled.
- */
- void DoCancel();
-
- /**
- * Called by CActiveScheduler when operation has been
- * finished.
- */
- void RunL();
-
- private:
-
- /**
- * C++ constructor.
- * @param aNaviPane navipane instance.
- * @param aAppUi application UI.
- */
- CVtUiNaviPane(
- CAknNavigationControlContainer& aNaviPane,
- CVtUiAppUi& aAppUi );
-
- /**
- * Symbian constructor.
- */
- void ConstructL();
-
- /**
- * Pushes indicators after timeout.
- */
- void PushAfterTimeout();
-
- /**
- * Pushes new decorator to navi pane replacing the
- * previous one.
- * @param aNew new to replace the old one.
- */
- void PushL( CAknNavigationDecorator* aNew );
-
- /**
- * Returns indicator that should be used currently.
- * @return indicator to be shown.
- */
- CAknNavigationDecorator* DefaultIndicator() const;
-
- private:
-
- // Slider types in navipane
- enum TSliderControlType
- {
- ENone,
- EZoom, // Zoom control visible
- EVolume // Volume control visible
- };
-
-
- // Holds current slider type
- TSliderControlType iSliderType;
-
- // Ref to navi pane.
- CAknNavigationControlContainer& iNaviPane;
-
- // Ref to top navi pane element.
- CAknNavigationDecorator* iCurrent;
-
- // Owned controller for call duration
- CAknNavigationDecorator* iMainIndicators;
-
- // Reference to navi pane control.
- CVtUiNaviPaneControl* iNaviPaneControl;
-
- // Owned muted indicator.
- CAknNavigationDecorator* iMutedIndicator;
-
- // Owned timer instance.
- RTimer iTimer;
-
- // ETrue if call duration was enabled.
- TBool iOldCallDurationEnabled;
-
- // ETrue if call duration is enabled.
- TBool iCallDurationEnabled;
-
- // ETrue if loudspeaker, EFalse if handset.
- TBool iLoudspeaker;
-
- // Old microphone status.
- TBool iOldMicrophoneMuted;
-
- // ETrue if microphone is muted.
- TBool iMicrophoneMuted;
-
- // Reference to application UI.
- CVtUiAppUi& iAppUi;
- };
-
-#endif // CVtUiNaviPane_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiNaviPaneControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Navi pane control for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUINAVIPANECONTROL_H
-#define CVTUINAVIPANECONTROL_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <AknUtils.h>
-
-// CONSTANTS
-
-// Maximum length of call duration buffer.
-const TInt KVtUiCallDurationBufferLength = 16;
-
-// FORWARD DECLARATIONS
-class CVtUiNaviPane;
-
-// CLASS DECLARATION
-
-/**
-* Navi pane control for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiNaviPaneControl
- : public CCoeControl
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aNaviPane eference to navipane.
- */
- CVtUiNaviPaneControl( CVtUiNaviPane& aNaviPane );
-
- /**
- * Symbian constructor.
- */
- void ConstructL();
-
- /**
- * C++ destructor.
- */
- ~CVtUiNaviPaneControl();
-
- public: // New functions
-
- /**
- * Sets call duration.
- * @param aDuration call duration.
- * @param aEnabled ETrue if enabled.
- */
- void SetCallDuration(
- const TTimeIntervalSeconds& aDuration,
- const TBool aEnabled );
-
- /**
- * Updates screen to reflect changes.
- */
- void CommitL();
-
- protected: // Functions from base classes
-
- /**
- * From CCoeControl, draws the control.
- * @param aRect area to be drawn.
- */
- virtual void Draw( const TRect& aRect ) const;
-
- /**
- * From CCoeControl, handles size changes.
- */
- virtual void SizeChanged();
-
- /**
- * From CCoeControl, handles position changes.
- */
- virtual void PositionChanged();
-
- private:
-
- /**
- * Gets call duration text.
- * @return reference to text.
- */
- const TDesC& GetCallDurationText() const;
-
- /**
- * Appends character to the buffer.
- * @param aBuffer buffer.
- * @param aChar character.
- */
- static void AppendChar(
- TDes& aBuffer,
- const TChar& aChar );
-
- /**
- * Appends a number to the buffer.
- * @param aBuffer buffer.
- * @param aNumber number, 0 .. 99.
- */
- static void AppendNum(
- TDes& aBuffer,
- const TInt aNumber );
-
- private:
-
- // Call duration layout.
- TAknLayoutText iCallDurationLayout;
-
- // ETrue if call duration is enabled.
- TBool iCallDurationEnabled;
-
- // Duration in seconds.
- TTimeIntervalSeconds iCallDuration;
-
- // Buffer for call duration.
- mutable TBuf< KVtUiCallDurationBufferLength > iCallDurationBuffer;
-
- // Current speaker, ETrue if loudspeaker, EFalse if handset.
- TBool iLoudspeaker;
-
- // Reference to navipane.
- CVtUiNaviPane& iNaviPane;
-
- };
-
-#endif // CVTUINAVIPANECONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiNumberEntryActivationControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2004 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: Number entry activation control for
-* Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUINUMBERENTRYACTIVATIONCONTROL_H
-#define CVTUINUMBERENTRYACTIVATIONCONTROL_H
-
-// INCLUDES
-#include <coecntrl.h>
-
-// FORWARD DECLARATIONS
-class CVtUiAppUi;
-
-// CLASS DECLARATION
-
-/**
-* Number entry activation control for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiNumberEntryActivationControl
- : public CCoeControl
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aAppUi application ui.
- */
- CVtUiNumberEntryActivationControl( CVtUiAppUi& aAppUi );
-
- /**
- * Symbian constructor.
- * @param aRect initial area.
- */
- void ConstructL( const TRect& aRect );
-
- /**
- * C++ destructor.
- */
- ~CVtUiNumberEntryActivationControl();
-
- public: // Functions from base classes
-
- /**
- * @see CCoeControl::SizeChanged.
- */
- virtual void SizeChanged();
-
- /**
- * @see CCoeControl::PositionChanged.
- */
- virtual void PositionChanged();
-
- /**
- * @see CCoeControl::Draw.
- */
- virtual void Draw( const TRect& aRect ) const;
-
- /**
- * @see CCoeControl::OfferKeyEventL.
- */
- virtual TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- public: // New functions
-
- /**
- * Set control's activation status.
- * @param aIsActive ETrue if key events should
- * be handled oterherwise EFalse.
- */
- void SetActive( TBool aIsActive );
-
- private:
-
- /**
- * Checks if event should open number entry.
- * @param aKeyEvent event.
- * @param aDtmfTone event as character tone.
- * @return ETrue if number entry should be opened.
- */
- static TBool IsNumericEvent(
- const TKeyEvent& aKeyEvent,
- TChar& aDtmfTone );
-
- private:
-
- // Reference to application ui.
- CVtUiAppUi& iAppUi;
-
- // ETrue if this control has been added to stack.
- TBool iAddedToStack;
-
- // ETrue if key events should be handled oterherwise EFalse.
- TBool iIsActive;
-
- };
-
-#endif // CVTUINUMBERENTRYACTIVATIONCONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/CVtUiRemoteVideoControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 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: class for Remote Video Control.
-*
-*/
-
-#ifndef CVTUIREMOTEVIDEOCONTROL_H_
-#define CVTUIREMOTEVIDEOCONTROL_H_
-
-#include <coecntrl.h>
-#include <aknwseventobserver.h>
-
-class CVtUiVideoControlBase;
-class CVtUiAppUi;
-
-/**
- * CVtUiRemoteVideoControl
- *
- * Remote Video control.
- *
- * @since S60 v5.0
- */
-class CVtUiRemoteVideoControl : public CCoeControl,
- public MAknWsEventObserver
- {
-public:
-
- /**
- * Static Constructor.
- */
- static CVtUiRemoteVideoControl* NewL(CVtUiAppUi& aAppUi);
-
- RWindow& GetRWindow();
-
- /**
- * Destructor
- */
- ~CVtUiRemoteVideoControl();
-
-protected:
-
- /**
- * Constructor
- */
- CVtUiRemoteVideoControl(CVtUiAppUi& aAppUi);
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
-public: // from CCoeControl
-
- /**
- * @see CCoeControl::HandlePointerEventL
- */
- void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-
-public: // from MAknWsEventObserver
-
- /**
- * @see MAknWsEventObserver::HandleWsEventL
- */
- void HandleWsEventL( const TWsEvent& aEvent,
- CCoeControl* aDestination );
-
-protected: // virtual methods
-
- /**
- * The size changed method. If you need to do special handling after the
- * control's size has changed, overwrite this method.
- */
- virtual void HandleSizeChanged();
-
-private: // from CCoeControl
- /**
- * @see CCoeControl::Draw
- */
- void Draw( const TRect& aRect ) const;
-
- /**
- * @see CCoeControl::SizeChanged
- */
- void SizeChanged();
-
- /**
- * @see CCoeControl::PositionChanged
- */
- void PositionChanged();
-
- /**
- * The draw method.
- */
- void DoDraw( CWindowGc& aGc ) const;
-
-private:
-
- // Reference to application UI.
- CVtUiAppUi& iAppUi;
-
-
- };
-
-#endif /*CVTUIREMOTEVIDEOCONTROL_H_*/
--- a/vtuis/videotelui/inc/CVtUiZoomControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Navi pane zoom indicator control for
-* Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUIZOOMCONTROL_H
-#define CVTUIZOOMCONTROL_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <aknutils.h>
-#include "CVtUiBitmapManager.h"
-
-// CLASS DECLARATION
-
-/**
-* Navi pane zoom indicator control for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiZoomControl
- : public CCoeControl
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aBitmapManager bitmap manager.
- */
- CVtUiZoomControl( CVtUiBitmapManager& aBitmapManager );
-
- /**
- * Symbian constructor.
- */
- void ConstructL();
-
- /**
- * C++ destructor.
- */
- ~CVtUiZoomControl();
-
- public: // New functions
-
- /**
- * Sets zoom parameters.
- * @param aStepCount amount of steps, 0 if zooming disabled.
- * @param aCurrentStep current step, 0 .. aStepCount.
- */
- void SetZoomParams(
- const TInt aStepCount,
- const TInt aCurrentStep );
-
- /**
- * Commits changes.
- */
- void CommitL();
-
- /**
- * Returns ETrue if zooming is enabled.
- * @return ETrue if enabled.
- */
- TBool IsZoomEnabled() const;
-
- /**
- * Gets zoom parameters.
- * @param aStepCount amount of steps, 0 if zooming disabled.
- * @param aCurrentStep current step, 0 .. aStepCount.
- */
- void GetZoomParams(
- TInt& aStepCount,
- TInt& aCurrentStep ) const;
-
- /**
- * Updates zoom. This method should be called periodically during zooming.
- * @return ETrue if zoom step was updated.
- */
- TBool UpdateZoomL();
-
- /**
- * Stops zoom.
- */
- void StopZoom();
-
- public: // Functions from base classes
-
- /**
- * From CCoeControl, handles key events.
- * @param aKeyEvent key event.
- * @param aType type of event.
- * @return response indicating if key was consumed.
- */
- virtual TKeyResponse OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- /**
- * From CCoeControl, handles resource change.
- * @param aType type of change.
- */
- virtual void HandleResourceChange(
- TInt aType );
-
- protected: // Functions from base classes
-
- /**
- * From CCoeControl, draws the control.
- * @param aRect area to be drawn.
- */
- virtual void Draw( const TRect& aRect ) const;
-
- /**
- * From CCoeControl, handles size changes.
- */
- virtual void SizeChanged();
-
- /**
- * From CCoeControl, handles position changes.
- */
- virtual void PositionChanged();
-
- private:
-
- /**
- * Calculates amount of steps to be shown.
- * @param aFullSteps amount of full steps.
- * @param aPartialStep partial steps, 0 .. 255.
- */
- void DetermineSteps(
- TInt& aFullSteps,
- TInt& aPartialStep ) const;
-
- /**
- * Generates zoom mask bitmap.
- * @param aAreaBitmap maximum bitmap, ownership not transferred.
- * @param aPartial partial amount.
- * @param aRow area row number.
- * @param aRowSize size of the row.
- * @return ETrue if successful, EFalse otherwise.
- */
- TBool GenerateZoomMaskBitmap(
- CFbsBitmap* aMaskBitmap,
- const TInt aPartial,
- const TInt aRow,
- const TSize& aRowSize ) const;
-
- /**
- * Generates zoom mask bitmap.
- * @param aAreaBitmap maximum bitmap, ownership not transferred.
- * @param aPartial partial amount.
- * @param aRow area row number.
- * @param aRowSize size of the row.
- */
- void DoGenerateZoomMaskBitmap(
- CFbsBitmap* aMaskBitmap,
- const TInt aPartial,
- const TInt aRow,
- const TSize& aRowSize ) const;
-
- /**
- * Creates bitmaps.
- * @return error code.
- */
- TInt CreateBitmaps();
-
- /**
- * Creates bitmaps.
- */
- void CreateBitmapsL();
-
- /**
- * Returns size of the temporary bitmaps.
- * @return size of the temporary bitmaps.
- */
- TSize SizeOfBitmap() const;
-
- /**
- * Gets position and source rect.
- * @param aPosition it will contain position.
- * @param aSourceRect it will contain source rectangle.
- * @param aZoomStep zoom step.
- */
- void GetPositionAndRect(
- TPoint& aPosition,
- TRect& aSourceRect,
- const TInt aZoomStep ) const;
-
- private:
-
- // Inner class.
- class CBitmap;
-
- // Reference to bitmap manager.
- CVtUiBitmapManager& iBitmapManager;
-
- // Zoom direction bitmap identifier.
- TVtUiBitmapPoolId iZoomDirId;
-
- // Zoom area bitmap identifier.
- TVtUiBitmapPoolId iZoomAreaId;
-
- // Zoom min bitmap identifier.
- TVtUiBitmapPoolId iZoomMinId;
-
- // Zoom max bitmap identifier.
- TVtUiBitmapPoolId iZoomMaxId;
-
- // Zoom pane rectangle.
- TRect iZoomPaneRect;
-
- // Zoom direction layout.
- TAknLayoutRect iZoomDirLayout;
-
- // Zoom area layout.
- TAknLayoutRect iZoomAreaLayout;
-
- // Current step, 0 .. iMaxZoomStep.
- TInt iCurrentZoomStep;
-
- // Maximum step.
- TInt iMaxZoomStep;
-
- // Used partial value used in iZoomMaskBitmap
- // generation.
- mutable TInt iZoomMaskPartial;
-
- // Used row value used in iZoomMaskBitmap
- // generation.
- mutable TInt iZoomMaskRow;
-
- // Owned partial soft mask.
- CBitmap* iZoomPartialMask;
-
- // Owned partial shade (soft mask).
- CBitmap* iZoomPartialShade;
-
- // Owned partial shade mask.
- CBitmap* iZoomPartialShadeMask;
-
- // Zoom direction +1 or -1. 0 if no
- // zoom ongoing.
- TInt iZoomDirection;
-
- // Zoom step at the start of zooming.
- TInt iZoomStepStart;
-
- // Start time of zooming.
- TTime iZoomStartTime;
-
- };
-
-#endif // CVTUIZOOMCONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/MVtUiEngineCommandManager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2004 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: Command manager class for Video Telephone application.
-*
-*/
-
-
-
-#ifndef MVTUICOMMANDMANAGER_H
-#define MVTUICOMMANDMANAGER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class MVtEngCommandObserver;
-
-// CLASS DECLARATION
-
-/**
-* Command manager class for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class MVtUiEngineCommandManager
- {
- public: // New functions
-
- /**
- * Adds observer.
- * @param aObserver observer to be added.
- */
- virtual void AddObserverL( MVtEngCommandObserver& aObserver ) = 0;
-
- /**
- * Removes observer.
- * @param aObserver observer to be removed.
- */
- virtual void RemoveObserver( MVtEngCommandObserver& aObserver ) = 0;
-
- };
-
-#endif // MVTUICOMMANDMANAGER_H
-
-// End of File
--- a/vtuis/videotelui/inc/MVtUiVideoWindow.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2004 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 controlling a video window
-* for Video Telephone application.
-*
-*/
-
-
-
-#ifndef MVTUIVIDEOWINDOW_H
-#define MVTUIVIDEOWINDOW_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-
-// CLASS DECLARATION
-
-/**
-* Interface for controlling a video window (uplink / downlink) for Video
-* Telephone application.
-*
-* @since Series 60 2.6
-*/
-class MVtUiVideoWindow
- {
- public: // New functions
-
- /**
- * Resets blind, stream bitmap and waiting image statuses.
- */
- virtual void Reset() = 0;
-
- /**
- * Changes blind status.
- * @param aStatus new status, ETrue - on, EFalse - off.
- */
- virtual void SetBlind( TBool aStatus ) = 0;
-
- /**
- * Sets stream bitmap.
- * @param aStreamBitmap bitmap. Ownership not transferred.
- */
- virtual void SetStreamBitmap( CFbsBitmap* aStreamBitmap ) = 0;
-
- /**
- * Sets stream bitmap for reserve, when Draw() routine is called.
- * (e.g. when opening and closing menu)
- * @param aStreamBitmap bitmap. Ownership not transferred.
- */
- virtual void SetStreamBitmapReserve( CFbsBitmap* aStreamBitmap ) = 0;
-
- /**
- * Sets waiting image status.
- * @param aShowWaitingText ETrue if waiting text should be shown.
- */
- virtual void SetWaiting( TBool aShowWaitingText ) = 0;
-
- /**
- * Redraws image.
- */
- virtual void Redraw() = 0;
-
- /**
- * Set remote video control
- */
- virtual void SetRemoteVideoControl( CCoeControl* aRemoteControl ) = 0;
-
- /**
- * Layout the postion and the size of the remote video control
- */
- virtual void LayoutRemoteVideo() = 0;
-
- /**
- * Returns pointer to remote video control or NULL if no remote video control is present.
- */
- virtual CCoeControl * RemoteVideoControl() = 0;
-
- };
-
-#endif // CVTUICONTEXTCONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/TVtUiCallParameters.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2004 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: Call parameters class for Video Telephone application.
-*
-*/
-
-
-
-#ifndef TVTUICALLPARAMETERS_H
-#define TVTUICALLPARAMETERS_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-/**
-* Call parameters for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class TVtUiCallParameters
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- */
- TVtUiCallParameters();
-
- public: // New functions
-
- /**
- * Resets parameters.
- */
- void Reset();
-
- /**
- * Sets audio status.
- * @param aEnabled ETrue if audio enabled, EFalse if disabled.
- */
- void SetAudioStatus( const TBool aEnabled );
-
- /**
- * Gets audio status.
- * @param aEnabled It will equal to ETrue if audio enabled,
- * EFalse if disabled.
- * @return error code,
- * KErrNone if audio status has been set,
- * KErrNotFound if not.
- */
- TInt GetAudioStatus( TBool& aEnabled ) const;
-
- /**
- * Sets video status.
- * @param aEnabled enabled status.
- */
- void SetVideoStatus( const TBool aEnabled );
-
- /**
- * Gets video status.
- * @param aEnabled It will equal to ETrue if video enabled,
- * EFalse if disabled.
- * @return error code,
- * KErrNone if video status has been set,
- * KErrNotFound if not.
- */
- TInt GetVideoStatus( TBool& aEnabled );
-
- /**
- * Sets selected camera.
- * @param aPrimary ETrue if primary, EFalse if secondary.
- */
- void SetSelectedCamera( const TBool aPrimary );
-
- /**
- * Gets selected camera.
- * @param aPrimary It will equal to ETrue if primary has been selected,
- * EFalse if secondary.
- * @return error code,
- * KErrNone if selected camera has been set,
- * KErrNotFound if not.
- */
- TInt GetSelectedCamera( TBool& aPrimary );
-
- private:
-
- // Current flags.
- TInt iFlags;
-
- };
-
-#endif // TVTUICALLPARAMETERS_H
-
-// End of File
--- a/vtuis/videotelui/inc/VideoTelephonyInternalCRKeys.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2005-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 Telephony internal Central Repository keys
-*
-*/
-
-
-#ifndef VIDEOTELEPHONYINTERNALCRKEYS_H
-#define VIDEOTELEPHONYINTERNALCRKEYS_H
-
-#include <e32std.h>
-
-/**
-* Video Telephony Variation API
-* Keys under this category are used in defining video telephony variation.
-*/
-const TUid KCRUidVTVariation = {0x102072D0};
-
-/**
-* Video Telephony Local Variation Flags. Values are defined in
-* VideoTelephonyVariant.hrh.
-*/
-const TUint32 KVTLocalVariationFlags = 0x00000001;
-
-/**
-* Video Telephony Configuration API
-* Keys under this category are used for configuring video call behaviour.
-* @since S60 3.1
-*/
-const TUid KCRUidVTConfiguration = {0x10281872};
-
-/**
-* This key controls minimum, normal and maximum frame rate for video encoder.
-* Integer values in the string are between 0 and 31 separated by space.
-* Example for key value is "5 10 5".
-*/
-const TUint32 KVTVideoFrameRates = 0x00000001;
-
-/**
-* Defines layout (screen orientation) used by Video Telephone application
-* per active camera. Each camera has one of the following configurations:
-* 1) "LS" = Landscape
-* 2) "PR" = Portrait
-* 3) "OL" = Obey device layout (normal operation)
-* Camera values are:
-* 1) "C1" = VT primary camera (inwards)
-* 2) "C2" = VT secondary camera (outwards)
-* Example value (portrait for cam1, landscape for cam2): C1:PR C2:LS
-*/
-const TUint32 KVTCameraLayout = 0x00000002;
-
-/**
-* Lists implementation UIDs for MPEG4, H.263 and H.264 encoders for video
-* telephony in hexadecimal separated by space
-*/
-const TUint32 KVTVideoEncoderUIDs = 0x00000003;
-
-/**
-* Lists implementation UIDs for MPEG4, H.263 and H.264 decoders for video
-* telephony in hexadecimal separated by space
-*/
-const TUint32 KVTVideoDecoderUIDs = 0x00000004;
-
-/**
-* Lists implementation UIDs for AMR-NB and future audio encoders for video
-* telephony (in hex, separated by space)
-*/
-const TUint32 KVTAudioEncoderUIDs = 0x00000005;
-
-/**
-* Lists implementation UIDs for AMR-NB and future audio decoders for video
-* telephony (in hex, separated by space)
-*/
-const TUint32 KVTAudioDecoderUIDs = 0x00000006;
-
-/**
-* Lists processing delay for MPEG4, H.263 and H.264 encoders for video
-* telephony in unsigned 32-bit integers separated by space
-*/
-const TUint32 KVTVideoEncoderDelay = 0x00000007;
-
-/**
-* Lists processing delay for MPEG4, H.263 and H.264 decoders for video
-* telephony in unsigned 32-bit integers separated by space
-*/
-const TUint32 KVTVideoDecoderDelay = 0x00000008;
-
-/**
-* Lists processing delay for AMR-NB and future audio encoders for video
-* telephony (in unsigned 32-bit integers, separated by space)
-*/
-const TUint32 KVTAudioEncoderDelay = 0x00000009;
-
-/**
-* Lists processing delay for AMR-NB and future audio decoders for video
-* telephony (in unsigned 32-bit integers, separated by space)
-*/
-const TUint32 KVTAudioDecoderDelay = 0x0000000A;
-
-/*
-* Defines number of toolbar buttons. Three buttons is minimum
-* and seven is maximum.
-*/
-const TUint32 KVTToolbarCommands = 0x0000000B;
-
-#endif // VIDEOTELEPHONYINTERNALCRKEYS_H
-
-// End of file
\ No newline at end of file
--- a/vtuis/videotelui/inc/VideoTelephonyVariant.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2005 - 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: Bit flag definitions for VT local variation.
-*
-*/
-
-
-#ifndef VIDEOTELEPHONYVARIANT_HRH
-#define VIDEOTELEPHONYVARIANT_HRH
-
-
-/**
-* KVTLVFlagScalingMethodENearest defines whether the video image is
-* scaled using Nearest algorithm, which is fast, but quality is low.
-* When the flag is set ENearest is used.
-* @since S60 v2.8
-*/
-#define KVTLVFlagScalingMethodENearest 0x00000001
-
-/**
-* KVTLVFlagScalingMethodEBilinear defines whether the video image is
-* scaled using Bilinear algorithm, which offers the best quality, but in a
-* slow way. When the flag is set Bilinear is used.
-* @since S60 v2.8
-*/
-#define KVTLVFlagScalingMethodEBilinear 0x00000002
-
-/**
-* KVTLVFlagEnableBitReversal defines if bit order should be
-* reversed in PV.
-* When the flag is set bit order is reversed.
-*/
-#define KVTLVFlagEnableBitReversal 0x00000004
-
-/**
-* KVTLVFlagEnableAMR_WB defines if AMR wideband is supported in video calls.
-* @since S60 v5.0
-*/
-#define KVTLVFlagEnableAMR_WB 0x00000008
-
-/**
-* KVTLVFlagSupportMpeg4 defines whether the PV should support Mepg4.
-* @since S60 v5.0
-*/
-#define KVTLVFlagDisableMpeg4 0x00000010
-
-#endif // VIDEOTELEPHONYVARIANT_HRH
-
-// End of File
--- a/vtuis/videotelui/inc/VtUiLayout.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Layout related accessory methods for Video Telephone
-* application.
-*
-*/
-
-
-
-#ifndef VTUILAYOUT_H
-#define VTUILAYOUT_H
-
-// INCLUDES
-#include "videotelui.hrh"
-#include <e32base.h>
-#include <AknUtils.h>
-
-// FORWARD DECLARATIONS
-class TAknsItemID;
-
-// CLASS DECLARATION
-
-/**
-* Layout related accessory methods for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class VtUiLayout
- {
- public: // New functions
-
- /**
- * Returns application window rectangle.
- * @param aRect rectangle to be filled.
- */
- static void GetApplicationParentRect(
- TRect& aRect );
-
- // ELEMENTS RELATIVE TO APPLICATION WINDOW:
-
- /**
- * Returns main pane layout.
- * @param aLayout main pane layout.
- */
- static void GetMainPaneLayout(
- TAknWindowLineLayout& aLayout );
-
- // ELEMENTS RELATIVE TO APPLICATION WINDOW:
-
- /**
- * Returns layout for uplink video stream background.
- * @param aLayout layout of qgn_graf_call_video_out_bg.
- */
- static void GetFirstWindowBackgroundLayout(
- TAknWindowLineLayout& aLayout );
-
- /**
- * Returns layout for uplink video stream.
- * @param aLayout layout of uplink video stream relative.
- */
- static void GetFirstWindowStreamLayout(
- TAknWindowLineLayout& aLayout );
-
- /**
- * Returns layout of uplink video disabled icon.
- * @param aLayout layout of qgn_indi_call_video_blind_out.
- */
- static void GetFirstWindowStreamDisabledIconLayout(
- TAknWindowLineLayout& aLayout );
-
- // ELEMENTS RELATIVE TO MAIN PANE:
-
- /**
- * Returns layout of background rectangle.
- * @param aLayout layout of background rectangle.
- */
- static void GetSecondWindowBackgroundLayout(
- TAknWindowLineLayout& aLayout );
-
- /**
- * Returns layout of downlink video stream.
- * @param aLayout layout of downlink video stream.
- * @param aUseSQCif ETrue if SQCIF layout is to be used.
- */
- static void GetSecondWindowStreamLayout(
- TAknWindowLineLayout& aLayout,
- TBool aIsToolbar,
- TBool aIsSubQCIF = EFalse );
-
- /**
- * Returns layout of downlink video stream (the whole picture).
- * @param aLayout layout of downlink video stream.
- * @param aUseSQCif ETrue if SQCIF layout is to be used.
- */
- static void GetSecondWindowStreamWholeLayout(
- TAknWindowLineLayout& aLayout,
- TBool aIsToolbaraIsToolbar,
- TBool aIsSubQCIF = EFalse );
-
- /**
- * Returns layout of downlink video disabled icon.
- * @param aLayout layout of qgn_indi_call_video_blind_in.
- */
- static void GetSecondWindowDisabledIconLayout(
- TAknWindowLineLayout& aLayout );
-
- /**
- * Returns layout of waiting text.
- * @param aLayout layout.
- * @param aFirstLine ETrue if first line, EFalse if second.
- */
- static void GetSecondWindowWaitingTextLayout(
- TAknTextLineLayout& aLayout,
- const TBool aFirstLine );
-
- /**
- * Returns number entry area layout.
- * @param aLayout layout.
- */
- static void GetNumberEntryAreaLayout(
- TAknWindowLineLayout& aLayout );
-
- // ELEMENTS RELATIVE TO NAVI PANE:
-
- /**
- * Returns layout of audio routing indicator.
- * @param aLayoutlayout of qgn_indi_<ref>_[muted].
- */
- static void GetAudioRoutingIconLayout(
- TAknWindowLineLayout& aLayout );
-
- /**
- * Returns layout of call duration text.
- * @param aLayout layout of call duration text.
- */
- static void GetCallDurationTextLayout(
- TAknTextLineLayout& aLayout );
-
- /**
- * Returns layout of muted text.
- * @param aLayout layout of muted text.
- */
- static void GetMutedTextLayout(
- TAknTextLineLayout& aLayout );
-
- /**
- * Gets zooming pane layout.
- * @param aLayout layout of zooming pane.
- */
- static void GetZoomPaneLayout(
- TAknWindowLineLayout& aLayout );
-
- // ELEMENTS RELATIVE TO ZOOMING PANE:
-
- /**
- * Gets zoom direction icon layout.
- * @param aLayout layout of zoom direction icon.
- */
- static void GetZoomDirLayout(
- TAknWindowLineLayout& aLayout );
-
- /**
- * Gets zoom area layout.
- * @param aLayout layout of zoom area.
- */
- static void GetZoomAreaLayout(
- TAknWindowLineLayout& aLayout );
-
- /**
- * Gets zoom step layout.
- * @param aLayout layout of a zoom step.
- * @param aZoomStep zoom step, 1 .. 11.
- */
- static void GetZoomStepLayout(
- TAknWindowLineLayout& aLayout,
- TInt aZoomStep );
-
- // OTHER UTILITY METHODS
-
- /**
- * Returns skin identifier corresponding to the bitmap.
- *
- * @param aId identifier of the bitmap.
- * @return skin identifier or KAknsIIDNone if no skin for this bitmap.
- */
- static TAknsItemID MapBitmapToSkinId( TVtUiBitmapId aId );
-
- /**
- * Determines color skin identifier corresponding to the bitmap.
- *
- * @param aId bitmap identifier.
- * @param aColorId it will contain color skin id.
- * @param aColorIndex it will contain color index.
- * @return ETrue if bitmap has color skin, EFalse otherwise.
- */
- static TBool MapBitmapToColorId(
- TVtUiBitmapId aId,
- TAknsItemID& aColorId,
- TInt& aColorIndex );
-
- /**
- * Resolves file name and index from bitmap identifier.
- * @param aId bitmap identifier.
- * @param aFileName it will contain the name of the file.
- * @param aIndex it will contain the index.
- */
- static void Resolve(
- TVtUiBitmapId aId,
- TFileName& aFileName,
- TInt& aIndex );
-
- /**
- * Can be used for checking current orientation.
- * @return ETrue if current application orientation is landscape,
- * EFalse otherwise.
- */
- static TBool IsLandscapeOrientation();
-
- };
-
-#endif // VTUILAYOUT_H
-
-// End of File
--- a/vtuis/videotelui/inc/VtUiPanic.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2004 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: Panic methods and reasons for Video Telephone application.
-*
-*/
-
-
-
-#ifndef VTUIPANIC_H
-#define VTUIPANIC_H
-
-// INCLUDES
-#include <e32base.h>
-
-// DATA TYPES
-
-/**
-* Enumerates all panic reasons.
-*/
-enum TVtUiPanicReason
- {
- // Invalid index passed to VtUiLayout::Resolve.
- EVtUiPanicInvalidBitmapId = 10,
- // Invalid bitmap file in VtUiLayout::Resolve.
- EVtUiPanicInvalidBitmapFile = 11,
- // Reset must not fail.
- EVtUiPanicResetFailed = 12,
- // Communication not supported.
- EVtUiPanicCommsNotSupported = 13,
- // EIKON server handle not found.
- EVtUiPanicEikonServerNotFound = 14,
- // Prepare view finder not supported.
- EVtUiPanicPrepareViewFinderNotSupported = 15,
- // Prepare remote render not supported.
- EVtUiPanicPrepareRemoteRenderNotSupported = 16,
- // Mismatch in bitmap file names.
- EVtUiPanicMismatchInBitmapFileNames = 17,
- // Default color requirement mismatch.
- EVtUiPanicDefaultColorRequireMismatch = 18,
- // Application shutdown has timeouted.
- EVtUiPanicApplicationShutdownTimeout = 100,
- // Engine functionality does not match with required.
- EVtUiPanicEngineFunctionalityAssert = 101,
- // Renderer instance is not available
- EVtUiPanicRendererNotFound = 200,
- // Values out of range
- EVtUiPanicOutOfRange = 300
- };
-
-// CLASS DECLARATION
-
-/**
-* Panic methods and reasons for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class VtUiPanic
- {
- public: // New functions
-
- /**
- * Panics this process.
- * @param aReason reason of panic.
- */
- static void Panic(
- TVtUiPanicReason aReason );
-
- };
-
-#endif // VTUIPANIC_H
-
-// End of File
--- a/vtuis/videotelui/inc/VtUiUtility.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
-* Copyright (c) 2004 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: Utility methods for Video Telephone application.
-*
-*/
-
-
-
-#ifndef VTUIUTILITY_H
-#define VTUIUTILITY_H
-
-// INCLUDES
-#include <e32base.h>
-#include <mvtengaudio.h>
-#include <mvtengmedia.h>
-#include <w32std.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Utility methods for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class VtUiUtility
- {
- public: // New functions
-
- /**
- * Enumerates audio routing masks.
- */
- enum TAudioRoutingMask
- {
- // Deactivate loudspeaker.
- EDeactivateLoudspeaker = (1<<0),
- // Activate loudspeaker.
- EActivateLoudspeaker = (1<<1),
- // Deactivate BT handsfree.
- EDeactivateBtHandsfree = (1<<2),
- // Activate BT handsfree.
- EActivateBtHandsfree = (1<<3)
- };
-
- /**
- * Gets audio routing availabilities.
- * @param aAudio audio instance.
- * @param aAvailable availability bitmap.
- */
- static void GetAudioRoutingAvailability(
- MVtEngAudio& aAudio,
- TInt& aAvailable );
-
- /**
- * Gets outgoing media state.
- * @param aMedia media instance.
- * @param aAvailable availability bitmap.
- */
- static void GetOutgoingMediaState(
- MVtEngMedia& aMedia,
- TInt& aAvailable );
-
- /**
- * Gets incoming media state.
- * @param aMedia media instance.
- * @param aAvailable availability bitmap.
- */
- static void GetIncomingMediaState(
- MVtEngMedia& aMedia,
- TInt& aAvailable );
-
- /**
- * Checks if media has still image.
- * @param aMedia media instance.
- * @return ETrue if media has still image.
- */
- static TBool HasStillImage(
- MVtEngMedia& aMedia );
-
- /**
- * Gets freeze's current status.
- * @param aMedia media instance.
- * @return ETrue if active provider is frozen, EFalse otherwise.
- */
- static TBool GetFreezeState(
- MVtEngMedia& aMedia );
-
- /**
- * Checks if freeze is supported.
- * @param aMedia media instance.
- * @return ETrue if freeze is supported.
- */
- static TBool IsFreezeSupported(
- MVtEngMedia& aMedia );
-
- /**
- * Gets current local video quality setting.
- * @param aMedia media instance.
- * @param aVideoQuality Current local video quality settings.
- */
- static void GetVideoQuality(
- MVtEngMedia& aMedia,
- MVtEngMedia::TVideoQuality& aVideoQuality );
- /**
- * Gets current object sharing state.
- * @param aMedia media instance.
- * @param aShareObjectState contains current object sharing state on
- * return.
- */
- static void GetObjectSharingState( MVtEngMedia& aMedia,
- MVtEngMedia::TShareObjectState& aShareObjectState );
-
- /**
- * Checks if zooming is allowed.
- * @param aMedia media instance.
- * @return ETrue if allowed, EFalse otherwise.
- */
- static TBool IsZoomAllowed(
- MVtEngMedia& aMedia );
-
- /**
- * Checks if the device has cameras currently attached.
- * @param aMedia media instance.
- * @return ETrue if there are cameras available.
- */
- static TBool HasCameras( MVtEngMedia& aMedia );
-
- /**
- * Checks if the key event is DTMF enabled.
- * @param aKeyEvent The key event.
- * @param aDtmfTone DTMF tone character.
- * @return ETrue if this event is DTMF event.
- */
- static TBool IsDTMFEvent( const TKeyEvent& aKeyEvent,
- TChar& aDtmfTone );
-
- /**
- * Checks if the character is DTMF enabled.
- * @param aChar The character.
- * @return ETrue if this character is DTMF character.
- */
- static TBool IsDTMFCharacter( const TChar aChar );
-
- private:
-
- /**
- * Checks if audio routing is available.
- * @param aAudio audio instance.
- * @param aCurrent current speaker.
- * @param aSource source speaker.
- * @param aTarget target speaker.
- */
- static TBool IsAudioRoutingAvailable(
- MVtEngAudio& aAudio,
- const MVtEngAudio::TAudioRoutingState aCurrent,
- const MVtEngAudio::TAudioRoutingState aSource,
- const MVtEngAudio::TAudioRoutingState aTarget );
-
- };
-
-#endif // VTUIUTILITY_H
-
-// End of File
--- a/vtuis/videotelui/inc/commands/cvtuicmdbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* 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: UI command bases class definition.
-*
-*/
-
-
-#ifndef C_VTUICMDBASE_H
-#define C_VTUICMDBASE_H
-
-#include <e32base.h>
-
-/**
- * CVtUiCmdBase
- *
- * Base class for UI commands.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCmdBase ) : public CBase
- {
-
-public: // public methods
-
- /**
- * Returns command id.
- *
- * @return This command's id.
- */
- TInt CommandId() const;
-
-public: // public abstract methods
-
- /**
- * Execute command
- *
- */
- virtual void HandleL() = 0;
-
- /**
- * Returns ETrue if command is enabled.
- *
- * @return ETrue if this command is enabled (can be executed), EFalse
- * otherwise.
- */
- virtual TBool IsEnabled() const = 0;
-
-public: // public static methods
-
- /**
- * Key comparing function type definition.
- */
- typedef TInt ( *TKeyOrder ) ( const TInt*, const CVtUiCmdBase& );
-
- /**
- * Returns linear order object for ordered array inserting.
- *
- * @return TLinearOrder instance for searching and inserting CVtUiCmdBase
- * based objects into RArray.
- */
- static TLinearOrder< CVtUiCmdBase > LinearOrder();
-
- /**
- * Returns linear order object for ordered array inserting.
- *
- * @return Pointer to key comparaing function, that can be used in
- * FindInOrder() method call.
- */
- static TKeyOrder KeyOrder();
-
-protected:
-
- /**
- * C++ constructor.
- *
- * @aCommandId Id of this command.
- *
- */
- CVtUiCmdBase( TInt aCommandId );
-
-protected:
-
- // Command id
- const TInt iCommandId;
-
- };
-
-#endif // C_VTUICMDBASE_H
--- a/vtuis/videotelui/inc/commands/cvtuicmdcontext.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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: Command context base class definition.
-*
-*/
-
-
-#ifndef C_VTUICMDCONTEXT_H
-#define C_VTUICMDCONTEXT_H
-
-#include <e32base.h>
-
-#include "tvtuicmdcontexttype.h"
-
-class CVtUiCmdValidatorBase;
-class CVtUiCmdValidationActionBase;
-class MVtUiCommandManager;
-class CVtUiCmdCustomValidationActionBase;
-
-/**
- * CVtUiCmdContext
- *
- * Command context base class. This class defines context in which commands
- * will be validated.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCmdContext ) : public CBase
- {
-
-public: // public methods
-
- /**
- * C++ destructor.
- */
- ~CVtUiCmdContext();
-
- /**
- * Returns reference priority.
- *
- * @return Validator priority.
- */
- TInt ReferencePriority() const;
-
- /**
- * Returns context type.
- *
- * @return Context type.
- */
- TVtUiCmdContextType ContextType() const;
-
- /**
- * Adds validator to context.
- *
- * @param aValidator Validator reference to be added into this context.
- * @return KErrNone if validator supports this context and adding succeeded.
- * KErrNotSupported if validator does not support this context.
- * Other system wide error code that may happen during add.
- */
- TInt AddValidator( CVtUiCmdValidatorBase& aValidator );
-
- /**
- * Removes validator to context.
- *
- * @param aValidator Constant validator reference to be removed from this
- * context.
- * @return Validator priority.
- */
- void RemoveValidator( const CVtUiCmdValidatorBase& aValidator );
-
-public: // pure virtual methods
-
- /**
- * Do validation.
- *
- * @param aAction Action to be validated.
- */
- virtual void ValidateL( CVtUiCmdValidationActionBase& aAction ) = 0;
-
-protected:
-
- /**
- * C++ constructor
- */
- CVtUiCmdContext( MVtUiCommandManager& aCommandManager,
- TVtUiCmdContextType aCtxType, TInt aReferencePriority );
-
- /**
- * Validates menu items.
- */
- void ValidateMenuItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * Validates softkey items.
- */
- void ValidateSoftkeyItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * Validates toolbar items.
- */
- void ValidateToolbarItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * Custom action validation.
- */
- void CustomValidationL( CVtUiCmdCustomValidationActionBase& aAction );
-
- /**
- * Registers command context to command policy manager.
- */
- void RegisterCommandContextL();
-
- /**
- * Unregisters command context from command policy manager.
- */
- void UnregisterCommandContext();
-
-protected: // data
-
- // Reference to policy manager (for cleanup)
- MVtUiCommandManager& iCommandManager;
-
-private: // data
-
- // Validator list (ordered by priority)
- RPointerArray< CVtUiCmdValidatorBase > iValidators;
-
- // Validator priority
- const TInt iReferencePriority;
-
- // Context type.
- const TVtUiCmdContextType iContextType;
-
- };
-
-#endif // C_VTUICMDCONTEXT_H
--- a/vtuis/videotelui/inc/commands/cvtuicmdcustomvalidationactionbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* 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: Custom command validation action class definition.
-*
-*/
-
-
-#ifndef C_VTUICMDCUSTOMVALIDATIONACTIONBASE_H
-#define C_VTUICMDCUSTOMVALIDATIONACTIONBASE_H
-
-#include <e32base.h>
-
-#include "cvtuicmdvalidationactionbase.h"
-
-/**
- * CVtUiCmdCustomValidationActionBase
- *
- * Custom command validation action base class. This class is an extension to
- * command validation action and defines new attribute Type ID that is used
- * for defining type of the custom validation action.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCmdCustomValidationActionBase )
- : public CVtUiCmdValidationActionBase
- {
-
-public: // typedefs
-
- // Custom type id type definition.
- typedef TInt TCustomTypeId;
-
-public:
-
- /**
- * Returns custom type id.
- * @return Custom type id.
- */
- TCustomTypeId CustomTypeId() const;
-
-protected: // new protected methods
-
- /**
- * C++ constructor.
- */
- CVtUiCmdCustomValidationActionBase( TCustomTypeId aCustomTypeId );
-
-private: // data
-
- // Custom type id.
- const TCustomTypeId iCustomTypeId;
-
- };
-
-#endif // C_VTUICMDCUSTOMVALIDATIONACTIONBASE_H
--- a/vtuis/videotelui/inc/commands/cvtuicmdstatecheckaction.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* 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: Command state check action.
-*
-*/
-
-
-#ifndef C_VTUICMDSTATECHECKACTION_H
-#define C_VTUICMDSTATECHECKACTION_H
-
-#include "cvtuicmdcustomvalidationactionbase.h"
-
-/**
- * CVtUiCmdStateCheckAction
- *
- * Custom validation action that concludes whether or not a command is allowed.
- * Command validness is checked from its current state.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCmdStateCheckAction )
-: public CVtUiCmdCustomValidationActionBase
- {
-
-public:
-
- /**
- * Static constructor.
- *
- * @return Pointer to newly created instance of CVtUiCmdStateCheckAction.
- */
- static CVtUiCmdStateCheckAction* NewL();
-
- /**
- * Sets command to be checked.
- *
- * @param aCommandId Id of command to be checked.
- */
- void SetCommand( TInt aCommandId );
-
- /**
- * Sets command to be checked.
- *
- * @return ETrue is command set with SetCommand() is allowed to be
- * executed.
- */
- TBool IsCommandAllowed() const;
-
-public: // from CVtUiCmdValidationActionBase
-
- /**
- * @see CVtUiCmdValidationActionBase::ProcessL
- */
- void ProcessL( const MVtUiCmdValidatorCallBack& aCallBack );
-
-private:
-
- /**
- * C++ constructor.
- */
- CVtUiCmdStateCheckAction();
-
-private: // data
-
- // Id of command to be checked
- TInt iCommandId;
-
- // ETrue if command defined by iCommandId is allowed
- TBool iIsCommandAllowed;
-
- };
-
-#endif // C_VTUICMDSTATECHECKACTION_H
--- a/vtuis/videotelui/inc/commands/cvtuicmdvalidationactionbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* 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: Command validation action base class definition.
-*
-*/
-
-
-#ifndef C_VTUICMDVALIDATIONACTIONBASE_H
-#define C_VTUICMDVALIDATIONACTIONBASE_H
-
-#include <e32base.h>
-
-class CVtUiCmdValidatorBase;
-class MVtUiCmdValidatorCallBack;
-
-/**
- * CVtUiCmdValidationActionBase
- *
- * Command validation action base class.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCmdValidationActionBase ) : public CBase
- {
-
-public: // public methods
-
- /**
- * C++ destructor.
- */
- ~CVtUiCmdValidationActionBase();
-
- /**
- * Called when validation process is about to begin. Resets internal
- * variables.
- */
- virtual void BeginProcess();
-
- /**
- * Called when validation process has finished.
- */
- virtual void EndProcess();
-
-public: // pure virtual methods
-
- /**
- * Execute validation process.
- *
- * @param aCallBack Action validation callback routine that will be called
- * for every item to be validated.
- */
- virtual void ProcessL( const MVtUiCmdValidatorCallBack& aCallBack ) = 0;
-
-protected:
-
- /**
- * Mark command handled.
- *
- * @param aCommandId Id of command that was handled.
- */
- void CommandHandledL( TInt aCommandId );
-
- /**
- * Check whether command is already handled or not.
- *
- * @param aCommandId Id of command to be checked.
- * @return ETrue if command was already handler, EFalse otherwise.
- */
- TBool IsCommandHandled( TInt aCommandId ) const;
-
-private: // data
-
- // Array of handled commands.
- RArray< TInt > iHandledCommands;
-
- };
-
-#endif // C_VTUICMDVALIDATIONACTIONBASE_H
--- a/vtuis/videotelui/inc/commands/cvtuicmdvalidatorbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* 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: Base class for command validators.
-*
-*/
-
-
-#ifndef C_VTUICMDVALIDATORBASE_H
-#define C_VTUICMDVALIDATORBASE_H
-
-#include <e32base.h>
-
-#include "tvtuicmdcontexttype.h"
-
-class CVtUiCmdValidationActionBase;
-class CVtUiCmdCustomValidationActionBase;
-
-/**
- * CVtUiCmdValidatorBase
- *
- * Base class for all validators. Validator implementations validate commands
- * and other properties (like softkey resource IDs) on context basis. E.g.
- * primary validator will validate commands in all contexts, while toolbar
- * validator will do fine tuning for commands only in menu context, so that
- * commands that are visible in toolbar are not shown in menu.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCmdValidatorBase ) : public CBase
- {
-
-public: // public methods
-
- /**
- * Returns validator priority.
- *
- * @return Validator priority.
- */
- TInt Priority() const;
-
-public: // pure virtual methods
-
- /**
- * Validates menu items.
- *
- * @param aAction Reference to validation action.
- * @param aReferencePriority Context reference priority.
- */
- virtual void ValidateMenuItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority ) = 0;
-
- /**
- * Validates softkey items.
- *
- * @param aAction Reference to validation action.
- * @param aReferencePriority Context reference priority.
- */
- virtual void ValidateSoftkeyItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority ) = 0;
-
- /**
- * Validates toolbar items.
- *
- * @param aAction Reference to validation action.
- * @param aReferencePriority Context reference priority.
- */
- virtual void ValidateToolbarItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority ) = 0;
-
- /**
- * Custom validation.
- *
- * @param aAction Reference to custom validation action.
- * @param aReferencePriority Context reference priority.
- */
- virtual void CustomValidationL( CVtUiCmdCustomValidationActionBase& aAction,
- TInt aReferencePriority ) = 0;
-
- /**
- * Query for context validation.
- *
- * @param aCtxType Command context type.
- * @return ETrue if this instance validates given context type, EFalse
- * otherwise.
- */
- virtual TBool ValidatesContext( const TVtUiCmdContextType& aCtxType )
- const = 0;
-
-protected:
-
- /**
- * C++ constructor
- *
- * @param aPriority Validator priority.
- */
- CVtUiCmdValidatorBase( TInt aPriority );
-
-private: // data
-
- // Validator priority
- const TInt iPriority;
-
- };
-
-#endif // C_VTUICMDVALIDATORBASE_H
--- a/vtuis/videotelui/inc/commands/cvtuicommandmanager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* 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: Command manager class definition.
-*
-*/
-
-
-#ifndef C_VTUICOMMANDMANAGER_H
-#define C_VTUICOMMANDMANAGER_H
-
-#include "mvtuicommandmanager.h"
-#include "mvtuicommandui.h"
-#include "tvtuilocalvariation.h"
-#include "CVtUiAppUi.h"
-
-class TVtUiStates;
-class CVtUiCommandPolicyManager;
-class CVtUiPrimaryCmdPolicy;
-class CVtUiCmdStateCheckAction;
-class CVtUiExecutionContext;
-
-/**
- * CVtUiCommandManager
- *
- * Acts as a proxy for Command UIs and Validators.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCommandManager ) : public CBase,
- public MVtUiCommandManager, public MVtUiCommandUi
- {
-
-public:
-
- /**
- * Static constructor.
- *
- * @param aUiStates Constant reference to UI states object.
- */
- static CVtUiCommandManager* NewL( const TVtUiStates& aUiStates,
- CVtUiAppUi& aAppUi );
-
- /**
- * Destructor.
- */
- ~CVtUiCommandManager();
-
-public:
-
- /**
- * Constant reference to UI states.
- *
- * @return Constant reference to UI states object.
- */
- const TVtUiStates& UiStates() const;
-
- /**
- * Constant reference to VT local variation.
- *
- * @return Constant reference to VT local variation object.
- */
- const TVtUiVideoTelephonyVariation& VideoTelephonyVariation() const;
-
- /**
- * Handles command.
- *
- * @param aCommandId Id of command to be handled. If given command is not
- * found, command will be silently ignored.
- */
- void HandleCommandL( TInt aCommandId );
-
- /**
- * Constant reference to CVtUiAppUi states.
- *
- * @return Constant reference to UI states object.
- */
- const CVtUiAppUi& AppUi() const;
-
-
-public: // from MVtUiCommandManager
-
- /**
- * @see MVtUiCommandManager::AddCommandUi
- */
- TInt AddCommandUi( MVtUiCommandUi& aCommandUi );
-
- /**
- * @see MVtUiCommandManager::RemoveCommandUi
- */
- void RemoveCommandUi( MVtUiCommandUi& aCommandUi );
-
- /**
- * @see MVtUiCommandManager::ValidateMenuItemsL
- */
- void ValidateMenuItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * @see MVtUiCommandManager::ValidateSoftkeyItemsL
- */
- void ValidateSoftkeyItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * @see MVtUiCommandManager::ValidateToolbarItemsL
- */
- void ValidateToolbarItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * @see MVtUiCommandManager::IsCommandAllowedL
- */
- TBool IsCommandAllowedL( TInt aCommandId );
-
- /**
- * @see MVtUiCommandManager::RegisterCommandContext
- */
- TInt RegisterCommandContext( CVtUiCmdContext& aContext );
-
- /**
- * @see MVtUiCommandManager::UnregisterCommandContext
- */
- void UnregisterCommandContext( CVtUiCmdContext& aContext );
-
- /**
- * @see MVtUiCommandManager::AddValidator
- */
- TInt AddValidator( CVtUiCmdValidatorBase& aValidator );
-
- /**
- * @see MVtUiCommandManager::RemoveValidator
- */
- void RemoveValidator( CVtUiCmdValidatorBase& aValidator );
-
- /**
- * @see MVtUiCommandManager::RefreshL
- */
- void RefreshL();
-
- /**
- * @see MVtUiCommandManager::AddCommandModifier
- */
- TInt AddCommandModifier( CVtUiCommandModifyBase& aModifier );
-
- /**
- * @see MVtUiCommandManager::RemoveCommandModifier
- */
- void RemoveCommandModifier( CVtUiCommandModifyBase& aModifier );
-
- /**
- * @see MVtUiCommandManager::RegisterCommandL
- */
- void RegisterCommandL( CVtUiCmdBase& aCommand );
-
- /**
- * @see MVtUiCommandManager::UnregisterCommand
- */
- void UnregisterCommand( const CVtUiCmdBase& aCommand );
-
-private:
-
- /**
- * Constructor.
- */
- CVtUiCommandManager( const TVtUiStates& aUiStates, CVtUiAppUi& aAppUi );
-
- /**
- * Symbian OS constructor.
- * @param aModel Engine model.
- */
- void ConstructL();
-
- /**
- * Called when a new command modifier is added
- */
- TInt CommandModifierAdded( CVtUiCommandModifyBase& aModifier );
-
- /**
- * Called when a command modifier is removed
- */
- void CommandModifierRemoved( CVtUiCommandModifyBase& aModifier );
-
- /**
- * Called when a new command ui is added
- */
- TInt CommandUiAdded( MVtUiCommandUi& aCommandUi );
-
- /**
- * Called when a command ui is removed
- */
- void CommandUiRemoved( MVtUiCommandUi& aCommandUi );
-
-private:
-
- // Commands Uis
- RPointerArray< MVtUiCommandUi > iCommandUis;
-
- // Command modifiers
- RPointerArray< CVtUiCommandModifyBase > iCommandModifiers;
-
- // Registered commands
- RPointerArray< CVtUiCmdBase > iCommands;
-
- // Command policy manager instance
- CVtUiCommandPolicyManager* iCmdPolicyMgr;
-
- // Reference to UI states instance
- const TVtUiStates& iUiStates;
-
- // Reference to VT local variation
- TVtUiVideoTelephonyVariation iVtVariation;
-
- // Command state validation action
- CVtUiCmdStateCheckAction* iCmdStateCheckAction;
-
- // Execution context (for command state validation)
- CVtUiExecutionContext* iExecutionContext;
-
- // Reference to appui
- const CVtUiAppUi& iAppUi;
- };
-
-#endif // C_VTUICOMMANDMANAGER_H
--- a/vtuis/videotelui/inc/commands/cvtuicommandmodifybase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* 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: Command modifier base class definition.
-*
-*/
-
-
-#ifndef C_VTUICOMMANDMODIFYBASE_H
-#define C_VTUICOMMANDMODIFYBASE_H
-
-#include <e32base.h>
-
-#include "mvtuicommandsetting.h"
-
-/**
- * CVtUiCommandModifyBase
- *
- * Command modifier base class. Command modifiers can be used for modifying
- * different command sets. E.g. in toolbar and number entry a command modifiers
- * are being used for modifying softkeys.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCommandModifyBase ) : public CBase
- {
-
-public: // static methods
-
- /**
- * Returns TLinearOrder<> for priority ordering.
- */
- static TLinearOrder< CVtUiCommandModifyBase > PriorityOrder();
-
-private: // static methods
-
- /**
- * Priority ordering function.
- */
- static TInt PriorityOrderFunc( const CVtUiCommandModifyBase& aM1,
- const CVtUiCommandModifyBase& aM2 );
-
-public: // pure virtual methods
-
- /**
- * Modifies command set.
- */
- virtual void ModifyCommandsL( MVtUiCommandSetting& aCommandSettings ) = 0;
-
- /**
- * Returns ETrue if this modifier supports given command set type.
- */
- virtual TBool Supports( MVtUiCommandSetting::Type aType ) const = 0;
-
-protected:
-
- /**
- * Constructor
- */
- CVtUiCommandModifyBase( TInt aPriority );
-
-private:
-
- // Modifier priority
- const TInt iPriority;
-
- };
-
-#endif // C_VTUICOMMANDMODIFYBASE_H
--- a/vtuis/videotelui/inc/commands/cvtuicommandpolicymanager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-/*
-* 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: Command policy manager class definition.
-*
-*/
-
-
-#ifndef C_VTUICOMMANDPOLICYMANAGER_H
-#define C_VTUICOMMANDPOLICYMANAGER_H
-
-#include <e32base.h>
-
-#include "tvtuicmdcontexttype.h"
-
-class CVtUiCmdContext;
-class CVtUiCmdValidatorBase;
-class CVtUiCmdValidationActionBase;
-class CVtUiCmdCustomValidationActionBase;
-class CVtUiCommandManager;
-class CVtUiPrimaryCmdPolicy;
-
-/**
- * CVtUiCommandPolicyManager
- *
- * Contains pointers to all registered command contexts and commnd policy
- * instances. When validation is required, calls proper methods in proper
- * context for registered validators in validator priority order.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiCommandPolicyManager ) : public CBase
- {
-
-public: // public methods
-
- /**
- * Static constructor.
- *
- * @param aCmdManager Constant reference to command manager instance.
- * @return Newly created instance of CVtUiCommandPolicyManager class.
- */
- static CVtUiCommandPolicyManager*
- NewL( const CVtUiCommandManager& aCmdManager );
-
- /**
- * C++ destructor.
- */
- ~CVtUiCommandPolicyManager();
-
- /**
- * Registers command context.
- *
- * @param aContext Reference to command context to be registered.
- * @return KErrNone if registration succeeded.
- */
- TInt RegisterCommandContext( CVtUiCmdContext& aContext );
-
- /**
- * Unregisters command context.
- *
- * @param aContext Constant reference to command context to be unregistered.
- */
- void UnregisterCommandContext( CVtUiCmdContext& aContext );
-
- /**
- * Adds validator to policy manager and registered contexts.
- *
- * @param aValidator Reference to validator to be added.
- * @return KErrNone if add succeeded.
- */
- TInt AddValidator( CVtUiCmdValidatorBase& aValidator );
-
- /**
- * Removes validator from policy manager and registered contexts.
- *
- * @param aValidator Constant reference to validator to be removed.
- */
- void RemoveValidator( CVtUiCmdValidatorBase& aValidator );
-
- /**
- * Validates menu items for given action.
- *
- * @param aAction Reference to validation action to be carried on menu
- * commmands.
- */
- void ValidateMenuItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * Validates softkey items for given action.
- *
- * @param aAction Reference to validation action to be carried on softkeys.
- */
- void ValidateSoftkeyItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * Validates toolbar items for given action.
- *
- * @param aAction Reference to validation action to be carried on toolbar
- * commands.
- */
- void ValidateToolbarItemsL( CVtUiCmdValidationActionBase& aAction );
-
- /**
- * Custom validation for given action.
- *
- * @param Reference to custom validation action to be carried.
- */
- void CustomValidateL( CVtUiCmdCustomValidationActionBase& aAction );
-
-private:
-
- /**
- * Constructor
- */
- CVtUiCommandPolicyManager( const CVtUiCommandManager& aCmdManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Called when RegisterCommandContext() succeeds.
- */
- void CommandContextRegistered( CVtUiCmdContext& aContext );
-
- /**
- * Called when UnregisterCommandContext() succeeds.
- */
- void CommandContextUnregistered( CVtUiCmdContext& aContext );
-
- /**
- * Called when AddValidator() succeeds.
- */
- void ValidatorAdded( CVtUiCmdValidatorBase& aValidator );
-
- /**
- * Called when RemoveValidator() succeeds.
- */
- void ValidatorRemoved( CVtUiCmdValidatorBase& aValidator );
-
- /**
- * Returns command context by type.
- */
- CVtUiCmdContext* FindCommandContextByType(
- TVtUiCmdContextType aContextType );
-
- /**
- * Called from different validation routines.
- */
- void ValidateL( TVtUiCmdContextType aContextType,
- CVtUiCmdValidationActionBase& aAction );
-
-private: // data
-
- // Context list (ordered by context type)
- RPointerArray< CVtUiCmdContext > iContexts;
-
- // Validator list
- RPointerArray< CVtUiCmdValidatorBase > iValidators;
-
- // Reference to command manager
- const CVtUiCommandManager& iCommandManager;
-
- // Primary command policy, always exists.
- CVtUiPrimaryCmdPolicy* iPrimaryCommandPolicy;
-
- };
-
-#endif // C_VTUICOMMANDPOLICYMANAGER_H
--- a/vtuis/videotelui/inc/commands/cvtuicommandsetting.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* 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: Command settings class definition.
-*
-*/
-
-
-#ifndef C_VTUICOMMANDSETTING_H
-#define C_VTUICOMMANDSETTING_H
-
-#include <e32base.h>
-
-#include "mvtuicommandsetting.h"
-
-class CVtUiCommandModifyBase;
-
-/**
- * CVtUiCommandSetting
- *
- * Template commmand setting class that takes command setting action as a
- * templated parameter.
- *
- * @since S60 v3.2
- */
-template < typename ACTION >
-class CVtUiCommandSetting : public CBase, public MVtUiCommandSetting
- {
-
-public:
-
- /**
- * Destructor
- */
- ~CVtUiCommandSetting();
-
- /**
- * Defines commands.
- *
- * @param aAction Action related to commands to be defined.
- */
- void DefineCommandsL( const ACTION& aAction );
-
- /**
- * Adds new modifer
- *
- * @param aModifier Reference to modifier to be added to this setting
- * instance.
- * @return KErrNone if modifier could be added, KErrAlreadyExists if same
- * modifier is already added or KErrArgument if another modifier with
- * same priority is already added.
- */
- TInt AddModifier( CVtUiCommandModifyBase& aModifier );
-
- /**
- * Removes modifier
- *
- * @param aModifier Constant reference to modifier to be removed.
- */
- void RemoveModifier( CVtUiCommandModifyBase& aModifier );
-
- /**
- * Return command type
- *
- * @return Type of commands this setting class instance is defining.
- */
- Type CommandType() const;
-
- /**
- * Returns reference to action
- *
- * @return Constant reference to action that is related to this command
- * definition process.
- */
- const ACTION& Action();
-
-protected:
-
- /**
- * Constructor
- */
- CVtUiCommandSetting( Type aCommandType );
-
-private:
-
- // Modifiers
- RPointerArray< CVtUiCommandModifyBase > iModifiers;
-
- // Command type
- const Type iCommandType;
-
- // Stored action
- const ACTION* iAction;
-
- };
-
-#include "cvtuicommandsetting.inl"
-
-#endif // C_VTUICOMMANDSETTING_H
--- a/vtuis/videotelui/inc/commands/cvtuicommandsetting.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* 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: Command setting inline methods.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicommandmodifybase.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-static const TInt KVtUiModifierArrayGranularity = 1;
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandSetting< A >::~CVtUiCommandSetting
-// ---------------------------------------------------------------------------
-//
-template < typename A >
-CVtUiCommandSetting< A >::~CVtUiCommandSetting()
- {
- iModifiers.Reset();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandSetting< A >::CVtUiCommandSetting
-// ---------------------------------------------------------------------------
-//
-template < typename A >
-CVtUiCommandSetting< A >::CVtUiCommandSetting( Type aCommandType ) :
- iModifiers( KVtUiModifierArrayGranularity ), iCommandType( aCommandType )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandSetting< A >::DefineCommandsL
-// ---------------------------------------------------------------------------
-//
-template < typename A >
-void CVtUiCommandSetting< A >::DefineCommandsL( const A& aAction )
- {
- __VTPRINTENTER( "CmdSet< A >.DefineCommandsL" )
- iAction = &aAction;
- if ( iModifiers.Count() > 0 )
- {
- iModifiers[ iModifiers.Count() - 1 ]->ModifyCommandsL( *this );
- }
- else
- {
- DoDefineCommandsL();
- }
- iAction = NULL;
- __VTPRINTEXIT( "CmdSet< A >.DefineCommandsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandSetting< A >::AddModifier
-// ---------------------------------------------------------------------------
-//
-template < typename A >
-TInt CVtUiCommandSetting< A >::AddModifier(
- CVtUiCommandModifyBase& aModifier )
- {
- __VTPRINTENTER( "CmdSet< A >.AddModifier" )
- TInt result( KErrNone );
- if ( aModifier.Supports( iCommandType ) )
- {
- TInt idx( iModifiers.FindInOrder( &aModifier,
- CVtUiCommandModifyBase::PriorityOrder() ) );
- if ( idx == KErrNotFound )
- {
- result = iModifiers.InsertInOrder( &aModifier,
- CVtUiCommandModifyBase::PriorityOrder() );
- }
- else
- {
- if ( iModifiers[ idx ] != &aModifier )
- {
- // Priorities match, but instance is not same -> argument
- // is not valid
- result = KErrArgument;
- }
- }
- }
- __VTPRINTEXITR( "CmdSet< A >.AddModifier %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandSetting< A >::RemoveModifier
-// ---------------------------------------------------------------------------
-//
-template < typename A >
-void CVtUiCommandSetting< A >::RemoveModifier(
- CVtUiCommandModifyBase& aModifier )
- {
- __VTPRINTENTER( "CmdSet< A >.RemoveModifier" )
- TInt idx( iModifiers.FindInOrder( &aModifier,
- CVtUiCommandModifyBase::PriorityOrder() ) );
-
- if ( idx != KErrNotFound )
- {
- iModifiers.Remove( idx );
- }
- __VTPRINTEXIT( "CmdSet< A >.RemoveModifier" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandSetting< A >::CommandType
-// ---------------------------------------------------------------------------
-//
-template < typename A >
-MVtUiCommandSetting::Type CVtUiCommandSetting< A >::CommandType() const
- {
- return iCommandType;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandSetting< A >::Action
-// ---------------------------------------------------------------------------
-//
-template < typename A >
-const A& CVtUiCommandSetting< A >::Action()
- {
- return *iAction;
- }
-
--- a/vtuis/videotelui/inc/commands/cvtuiexecutioncontext.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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: Execution context class definition.
-*
-*/
-
-
-#ifndef C_VTUIEXECUTIONCONTEXT_H
-#define C_VTUIEXECUTIONCONTEXT_H
-
-#include "cvtuicmdcontext.h"
-
-/**
- * CVtUiExecutionContext
- *
- * Command execution context. This context is used for checking whether or not
- * a command is allowed to be performed.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiExecutionContext ) : public CVtUiCmdContext
- {
-
-public: // public methods
-
- /**
- * C++ destructor.
- */
- ~CVtUiExecutionContext();
-
- /**
- * Static constructor.
- *
- * @param aCommandManager Reference to command manager.
- * @return Newly created instance of CVtUiExecutionContext class.
- */
- static CVtUiExecutionContext* NewL( MVtUiCommandManager& aCommandManager );
-
-public: // from CVtUiCmdContext
-
- /**
- * @see CVtUiCmdContext::ValidateL
- */
- void ValidateL( CVtUiCmdValidationActionBase& aAction );
-
-private:
-
- /**
- * C++ constructor
- */
- CVtUiExecutionContext( MVtUiCommandManager& aCommandManager );
-
- /**
- * 2nd constructor, may leave.
- */
- void ConstructL();
-
-private: // data
-
- };
-
-#endif // C_VTUIEXECUTIONCONTEXT_H
--- a/vtuis/videotelui/inc/commands/cvtuifeaturecmdbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* 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: Feature based UI command base class definition.
-*
-*/
-
-
-#ifndef C_VTUIFEATURECMDBASE_H
-#define C_VTUIFEATURECMDBASE_H
-
-#include "cvtuicmdbase.h"
-
-class MVtUiFeature;
-
-/**
- * CVtUiCmdBase
- *
- * Base class for all UI commands that are feature based.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiFeatureCmdBase ) : public CVtUiCmdBase
- {
-
-public: // from CVtUiCmdBase
-
- /**
- * @see CVtUiCmdBase::HandleL
- */
- void HandleL();
-
- /**
- * @see CVtUiCmdBase::IsEnabled
- */
- TBool IsEnabled() const;
-
-protected:
-
- /**
- * C++ constructor.
- *
- * @aFeature Reference to a feature this command refers to.
- * @aCommandId Id of this command.
- *
- */
- CVtUiFeatureCmdBase( MVtUiFeature& aFeature, TInt aCommandId );
-
-protected:
-
- // Reference to command feature
- MVtUiFeature& iFeature;
-
- };
-
-#endif // C_VTUIFEATURECMDBASE_H
--- a/vtuis/videotelui/inc/commands/cvtuiprimarycmdpolicy.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* 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: Primary command policy class definition.
-*
-*/
-
-
-#ifndef C_VTUIPRIMARYCMDPOLICY_H
-#define C_VTUIPRIMARYCMDPOLICY_H
-
-#include <e32base.h>
-
-#include "tvtuicmdpolicypriority.h"
-#include "cvtuicmdvalidatorbase.h"
-#include "tvtuilocalvariation.h"
-
-class CVtUiCmdValidationActionBase;
-class TVtUiStates;
-class CVtUiAppUi;
-/**
- * CVtUiPrimaryCmdPolicy
- *
- * Primary policy is the highest priority policy. It does the basic validation,
- * results of which can be modified by the lower priority validators.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiPrimaryCmdPolicy ) : public CVtUiCmdValidatorBase
- {
-
-public: // public methods
-
- /**
- * Static constructor.
- *
- * @param aUiStates Constant reference to UI states object.
- * @return Newly created instace of CVtUiPrimaryCmdPolicy class.
- */
- static CVtUiPrimaryCmdPolicy* NewL( const TVtUiStates& aUiStates,
- const CVtUiAppUi& aAppUi );
-
- /**
- * Destructor
- */
- ~CVtUiPrimaryCmdPolicy();
-
-public: // from CVtUiCmdValidatorBase
-
- /**
- * @see CVtUiCmdValidatorBase::ValidateMenuItemsL
- */
- void ValidateMenuItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority );
-
- /**
- * @see CVtUiCmdValidatorBase::ValidateSoftkeyItemsL
- */
- void ValidateSoftkeyItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority );
-
- /**
- * @see CVtUiCmdValidatorBase::ValidateToolbarItemsL
- */
- void ValidateToolbarItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority );
-
- /**
- * @see CVtUiCmdValidatorBase::CustomValidationL
- */
- void CustomValidationL( CVtUiCmdCustomValidationActionBase& aAction,
- TInt aReferencePriority );
-
- /**
- * @see CVtUiCmdValidatorBase::ValidatesContext
- */
- TBool ValidatesContext( const TVtUiCmdContextType& aCtxType )
- const;
-
-private:
-
- /**
- * C++ constructor
- */
- CVtUiPrimaryCmdPolicy( const TVtUiStates& aUiStates,
- const CVtUiAppUi& aAppUi );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Callback for menu validation.
- */
- TBool ValidateMenuCommand( TInt aCommandId ) const;
-
- /**
- * Callback for softkey resource id validation.
- */
- TBool ValidateSoftkey( TInt aResourceId ) const;
-
- /**
- * Callback for toolbar command validation.
- */
- TBool ValidateToolbarCommand( TInt aCommandId ) const;
-
- /**
- * Callback for command state validation.
- */
- TBool ValidateCommandState( TInt aCommandId ) const;
-
- /**
- * Callback for command validation.
- */
- TBool ValidateCommand( TInt aCommandId, TBool& aHandled ) const;
-
-private: // data
-
- // UI states
- const TVtUiStates& iUiStates;
-
- // Active idle local variation
- TBool iAIEnabled;
-
- // Reference to appui
- const CVtUiAppUi& iAppUi;
-
- };
-
-#endif // C_VTUIPRIMARYCMDPOLICY_H
--- a/vtuis/videotelui/inc/commands/mvtuicommanditerator.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* 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: Command iterator API definition.
-*
-*/
-
-
-#ifndef M_VTUICOMMANDITERATOR_H
-#define M_VTUICOMMANDITERATOR_H
-
-#include <e32base.h>
-
-/**
- * MVtUiCommandIterator
- *
- * API for iterating through set of commands.
- *
- * @since S60 v3.2
- */
-class MVtUiCommandIterator
- {
-
-public:
-
- /**
- * Returns ETrue if the iteration has more elements
- *
- * @return ETrue if iteration contains more commands (i.e. call to Next()
- * will return a valid command), EFalse otherwise.
- */
- virtual TBool HasNext() const = 0;
-
- /**
- * Returns the next command in the iteration.
- *
- * @return Next command in the iteration.
- */
- virtual TInt Next() = 0;
-
- };
-
-#endif // M_VTUICOMMANDITERATOR_H
--- a/vtuis/videotelui/inc/commands/mvtuicommandmanager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* 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: Command manager API definition.
-*
-*/
-
-
-#ifndef M_VTUICOMMANDMANAGER_H
-#define M_VTUICOMMANDMANAGER_H
-
-#include <e32base.h>
-
-class CEikMenuPane;
-class CVtUiCmdContext;
-class CVtUiCmdValidatorBase;
-class CVtUiCmdValidationActionBase;
-class MVtUiCommandUi;
-class CVtUiCommandModifyBase;
-class CVtUiCmdCustomValidationActionBase;
-class CVtUiCmdBase;
-
-/**
- * MVtUiCommandManager
- *
- * Command manager API for other components. Command manager holds command UI
- * instances and does command validation for all registered commands.
- *
- * @since S60 v3.2
- */
-class MVtUiCommandManager
- {
-
-public:
-
- /**
- * Adds new command ui to command manager.
- * @param aCommandUi Reference to command ui to be added.
- * @return KErrNone if command ui was added successfully.
- */
- virtual TInt AddCommandUi( MVtUiCommandUi& aCommandUi ) = 0;
-
- /**
- * Removes command ui from command manager.
- * @param aCommandUi Constant reference to command ui to be removed.
- *
- */
- virtual void RemoveCommandUi( MVtUiCommandUi& aCommandUi ) = 0;
-
- /**
- * Validate menu items in given manu pane.
- *
- * @param aAction Reference to action to be carried on all menu commands.
- */
- virtual void ValidateMenuItemsL(
- CVtUiCmdValidationActionBase& aAction ) = 0;
-
- /**
- * Validate softkeys.
- *
- * @param aAction Reference to action to be carried on all softkeys.
- */
- virtual void ValidateSoftkeyItemsL(
- CVtUiCmdValidationActionBase& aAction ) = 0;
-
- /**
- * Validate toolbar buttons.
- *
- * @param aAction Reference to action to be carried on all toolbar commands.
- */
- virtual void ValidateToolbarItemsL(
- CVtUiCmdValidationActionBase& aAction ) = 0;
-
- /**
- * Validate command.
- *
- * @param aCommandId Id of command that is being checked.
- * @return ETrue if command can be executed, EFalse otherwise.
- */
- virtual TBool IsCommandAllowedL( TInt aCommandId ) = 0;
-
- /**
- * Registers command context.
- *
- * @param aContext Reference to command context to be registered.
- * @return KErrNone if registration succeeded.
- */
- virtual TInt RegisterCommandContext( CVtUiCmdContext& aContext ) = 0;
-
- /**
- * Unregisters command context.
- *
- * @param aContext Reference to command context to be unregistered.
- */
- virtual void UnregisterCommandContext( CVtUiCmdContext& aContext ) = 0;
-
- /**
- * Adds validator to policy manager and registered contexts.
- *
- * @param aValidator Reference to validator to be added.
- * @return KErrNone if registration succeeded.
- */
- virtual TInt AddValidator( CVtUiCmdValidatorBase& aValidator ) = 0;
-
- /**
- * Removes validator from policy manager and registered contexts.
- *
- * @param aValidator Constant reference to validator to be removed.
- */
- virtual void RemoveValidator( CVtUiCmdValidatorBase& aValidator ) = 0;
-
- /**
- * Refresh command uis.
- */
- virtual void RefreshL() = 0;
-
- /**
- * Add new command modifier.
- *
- * @param aModifier Reference to command modifier to be added to every
- * registered command setting.
- * @return KErrNone if modifier could be added, KErrAlreadyExists if same
- * modifier is already added or KErrArgument if another modifier with
- * same priority is already added.
- */
- virtual TInt AddCommandModifier( CVtUiCommandModifyBase& aModifier ) = 0;
-
- /**
- * Remove command modifier.
- *
- * @param aModifier Reference to command modifier to be removed from every
- * registered command setting.
- */
- virtual void RemoveCommandModifier( CVtUiCommandModifyBase& aModifier ) = 0;
-
- /**
- * Registers new command to command manager.
- *
- * @param aCommand Reference to command to be registered.
- */
- virtual void RegisterCommandL( CVtUiCmdBase& aCommand ) = 0;
-
- /**
- * Unregisters command from command manager.
- *
- * @param aCommand Constant reference to command to be unregistered.
- */
- virtual void UnregisterCommand( const CVtUiCmdBase& aCommand ) = 0;
-
- };
-
-#endif // M_VTUICOMMANDMANAGER_H
--- a/vtuis/videotelui/inc/commands/mvtuicommandsetting.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* 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: Command iterator API definition.
-*
-*/
-
-
-#ifndef M_VTUICOMMANDSETTING_H
-#define M_VTUICOMMANDSETTING_H
-
-#include <e32base.h>
-
-/**
- * MVtUiCommandSetting
- *
- * Command Setting API.
- *
- * @since S60 v3.2
- */
-class MVtUiCommandSetting
- {
-
-public:
-
- /**
- * Command types.
- */
- enum Type
- {
- /** Softkeys */
- ECommandTypeSoftkeys
- };
-
-public: // pure virtual methods
-
- /**
- * Does the base command definition. If no modifiers are registered, then
- * this method is called from DefineCommandsL(), otherwise this method may
- * be called by the modifier, but it is not required to do so.
- */
- virtual void DoDefineCommandsL() = 0;
-
- };
-
-
-#endif // M_VTUICOMMANDSETTING_H
--- a/vtuis/videotelui/inc/commands/mvtuicommandui.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* 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: Command UI API definition.
-*
-*/
-
-
-#ifndef M_VTUICOMMANDUI_H
-#define M_VTUICOMMANDUI_H
-
-#include <e32base.h>
-
-class CVtUiCommandModifyBase;
-
-/**
- * MVtUiCommandUi
- *
- * Command UI API. Defines methods for adding/removing command modifiers and
- * method to refresh related command UI.
- *
- * @since S60 v3.2
- */
-class MVtUiCommandUi
- {
-
-public:
-
- /**
- * Refresh command ui.
- */
- virtual void RefreshL() = 0;
-
- /**
- * Add new command modifier.
- *
- * @param aModifier Reference to modifier to be added to this command ui.
- * @return KErrNone if modifier could be added, KErrAlreadyExists if same
- * modifier is already added or KErrArgument if another modifier with
- * same priority is already added.
- */
- virtual TInt AddCommandModifier( CVtUiCommandModifyBase& aModifier ) = 0;
-
- /**
- * Remove command modifier.
- *
- * @param aModifier Reference to modifier to be removed from this command
- * ui.
- */
- virtual void RemoveCommandModifier( CVtUiCommandModifyBase& aModifier ) = 0;
-
- };
-
-#endif // M_VTUICOMMANDUI_H
--- a/vtuis/videotelui/inc/commands/tVtuifeaturevariation.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
-* 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: Video Telephone feature variation class definition.
-*
-*/
-
-
-#ifndef T_VTUIFEATUREVARIATION_H
-#define T_VTUIFEATUREVARIATION_H
-
-#include <e32base.h>
-#include <featmgr.h>
-
-/**
- * TVtUiVariationBase
- *
- * Base class for feature variation classes.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiFeatureVariationBase )
- {
-
-public:
-
- /**
- * Returns variation feature ID.
- */
- virtual TUint32 FeatureId() const = 0;
-
-protected:
-
- /**
- * Return whether or not feature is supported by Featuremanager.
- * @return ETrue if feature is supported by Featuremanager.
- */
- virtual TBool IsFeatureSupported( const TUint32 aId) const;
-
- };
-
-/**
- * TVtUiHelpVariation
- *
- * Help variation class. Uses Featuremanager to verify if feture is
- * supported. This class should be instanced only once and same instance
- * should be passesd as reference to modules that need this feature variation
- * information.
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiHelpVariation ) : public TVtUiFeatureVariationBase
- {
-
-public:
-
- /**
- * Return whether or help variation is supported.
- *
- * @return ETrue if help supported.
- */
- TBool IsHelpSupported() const;
-
-private: // from TVtUiFeatureVariationBase
-
- TUint32 FeatureId() const;
-
- };
-/**
- * TVtUiDPVariation
- *
- * Display Post (DP) variation class. Uses Featuremanager to verify if feture is
- * supported. This class should be instanced only once and same instance
- * should be passesd as reference to modules that need this feature variation
- * information.
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiDPVariation ) : public TVtUiFeatureVariationBase
- {
-
-public:
-
- /**
- * Return whether or DP variation is supported.
- *
- * @return ETrue if DP supported.
- */
- TBool IsDPSupported() const;
-
-private: // from TVtUiFeatureVariationBase
-
- TUint32 FeatureId() const;
-
- };
-/**
- * TVtUiBTVariation
- *
- * BlueTooth (BT) variation class. Uses Featuremanager to verify if feture is
- * supported. This class should be instanced only once and same instance
- * should be passesd as reference to modules that need this feature variation
- * information.
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiBTVariation ) : public TVtUiFeatureVariationBase
- {
-
-public:
-
- /**
- * Return whether or BT variation is supported.
- *
- * @return ETrue if BT supported.
- */
- TBool IsBTSupported() const;
-
-private: // from TVtUiFeatureVariationBase
-
- TUint32 FeatureId() const;
-
- };
-/**
- * TVtUiSideVolumeKeysVariation
- *
- * Side volume keys variation class. Uses Featuremanager to verify if feture is
- * supported. This class should be instanced only once and same instance
- * should be passesd as reference to modules that need this feature variation
- * information.
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiSideVolumeKeysVariation ) : public TVtUiFeatureVariationBase
- {
-
-public:
-
- /**
- * Return whether or Side volume keys variation is supported.
- *
- * @return ETrue if Side volume keys supported.
- */
- TBool IsSideVolumeKeysSupported() const;
-
-private: // from TVtUiFeatureVariationBase
-
- TUint32 FeatureId() const;
-
- };
-/**
- * TVtUiActiveIdleFetManVariation
- *
- * Active Idle feature manager variation class. Uses Featuremanager to verify if feture is
- * supported. This class should be instanced only once and same instance
- * should be passesd as reference to modules that need this feature variation
- * information.
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiActiveIdleFetManVariation ) : public TVtUiFeatureVariationBase
- {
-
-public:
-
- /**
- * Return whether or Acvtive Idle variation is supported.
- *
- * @return ETrue if Acvtive Idle supported.
- */
- TBool IsActiveIdleFetManSupported() const;
-
-private: // from TVtUiFeatureVariationBase
-
- TUint32 FeatureId() const;
-
- };
-#endif // T_VTUIFEATUREVARIATION_H
\ No newline at end of file
--- a/vtuis/videotelui/inc/commands/tvtflagcontainer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* 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: Flag container class definition.
-*
-*/
-
-
-#ifndef T_VTFLAGCONTAINER_H
-#define T_VTFLAGCONTAINER_H
-
-#include <e32base.h>
-
-/**
- * TVtFlagContainer
- *
- * Flag container is a class that holds maximum of 32 different flags. Also
- * contains methods for setting, clearing and getting the flag state.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtFlagContainer )
- {
-public:
-
- /**
- * Constructor.
- */
- inline TVtFlagContainer();
-
-protected:
-
- /**
- * Clears all flags.
- */
- inline void Clear();
-
- /**
- * Tests flag.
- */
- inline TBool IsFlag( TUint32 aFlags ) const;
-
- /**
- * Sets flag(s).
- */
- inline void SetFlag( TUint32 aFlags );
-
- /**
- * Clears flag(s).
- */
- inline void ClearFlag( TUint32 aFlags );
-
- /**
- * Gets flag value.
- */
- inline TUint32 Value() const;
-
- /**
- * Sets flag value.
- */
- inline void SetValue( TUint32 aValue );
-
-private:
-
- // Current flags
- TUint32 iFlags;
-
- };
-
-/**
- * TVtUpdateableFlagContainer
- *
- * A flag container with Update() method that can be called to get
- * flags updated in one pass.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUpdateableFlagContainer ) : public TVtFlagContainer
- {
-public:
-
- /**
- * Issues flag updation.
- */
- inline void Update();
-
-private:
-
- /**
- * Called when flags needs to be updated (as a result to call Update()).
- */
- virtual void UpdateFlags() = 0;
-
- };
-
-#include "tvtflagcontainer.inl"
-
-#endif // T_VTFLAGCONTAINER_H
--- a/vtuis/videotelui/inc/commands/tvtflagcontainer.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* 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: Flag container class inline methods.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// TVtFlagContainer::TVtFlagContainer
-// -----------------------------------------------------------------------------
-//
-TVtFlagContainer::TVtFlagContainer()
- {
- Clear();
- }
-
-// -----------------------------------------------------------------------------
-// TVtFlagContainer::Clear
-// -----------------------------------------------------------------------------
-//
-void TVtFlagContainer::Clear()
- {
- iFlags = 0;
- }
-
-// -----------------------------------------------------------------------------
-// TVtFlagContainer::IsFlag
-// -----------------------------------------------------------------------------
-//
-TBool TVtFlagContainer::IsFlag( TUint32 aFlags ) const
- {
- return ( iFlags & aFlags );
- }
-
-// -----------------------------------------------------------------------------
-// TVtFlagContainer::SetFlag
-// -----------------------------------------------------------------------------
-//
-void TVtFlagContainer::SetFlag( TUint32 aFlags )
- {
- iFlags |= aFlags;
- }
-
-// -----------------------------------------------------------------------------
-// TVtFlagContainer::ClearFlag
-// -----------------------------------------------------------------------------
-//
-void TVtFlagContainer::ClearFlag( TUint32 aFlags )
- {
- iFlags &= ~aFlags;
- }
-
-// -----------------------------------------------------------------------------
-// TVtFlagContainer::Value
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtFlagContainer::Value() const
- {
- return iFlags;
- }
-
-// -----------------------------------------------------------------------------
-// TVtFlagContainer::SetValue
-// -----------------------------------------------------------------------------
-//
-void TVtFlagContainer::SetValue( TUint32 aValue )
- {
- iFlags = aValue;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUpdateableFlagContainer::Update
-// -----------------------------------------------------------------------------
-//
-void TVtUpdateableFlagContainer::Update()
- {
- Clear();
- UpdateFlags();
- }
--- a/vtuis/videotelui/inc/commands/tvtuiaudiostate.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* 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: Audio state class definition.
-*
-*/
-
-
-#ifndef T_VTUIAUDIOSTATE_H
-#define T_VTUIAUDIOSTATE_H
-
-#include <e32base.h>
-
-#include "tvtflagcontainer.h"
-
-class CVtEngModel;
-
-/**
- * TVtUiAudioState
- *
- * Contains status information about video telephony audio.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiAudioState ) : public TVtUpdateableFlagContainer
- {
-public:
-
- /**
- * Constructor
- *
- * @param aModel Reference to VT engine model.
- */
- inline TVtUiAudioState( CVtEngModel& aModel );
-
- /**
- * Return whether audio is enabled or not.
- *
- * @return ETrue if audio is enabled EFalse otherwise.
- */
- inline TBool IsAudio() const;
-
- /**
- * Return whether BT handsfree can be activated or not.
- *
- * @return ETrue if BT handsfree can be activated EFalse otherwise.
- */
- inline TBool CanActivateBtHf() const;
-
- /**
- * Return whether BT handsfree can be deactivated or not.
- *
- * @return ETrue if BT handsfree can be deactivated EFalse otherwise.
- */
- inline TBool CanDeactivateBtHf() const;
-
- /**
- * Return whether loudspeaker can be activated or not.
- *
- * @return ETrue if loudpseaker can be activated EFalse otherwise.
- */
- inline TBool CanActivateLoudspeaker() const;
-
- /**
- * Return whether loudspeaker can be deactivated or not.
- *
- * @return ETrue if loudspeaker can be deactivated EFalse otherwise.
- */
- inline TBool CanDeactivateLoudspeaker() const;
-
- /**
- * Return whether or not audio is permanently stopped.
- *
- * @return ETrue if audio is permanently stopped.
- */
- inline TBool IsAudioPermanentlyStopped() const;
-
-private: // from TVtUpdateableFlagContainer
-
- /**
- * @see TVtUpdateableFlagContainer::UpdateFlags
- */
- void UpdateFlags();
-
-private:
-
- // Enumeration for audio state flags.
- enum TFlags
- {
- /** Is set if audio is currently enabled. */
- EIsAudio = ( 1<<0 ),
- /** Is set if BT handsfree can be activated. */
- ECanActivateBtHf = ( 1<<1 ),
- /** Is set if BT handsfree can be deactivated. */
- ECanDeactivateBtHf = ( 1<<2 ),
- /** Is set if loudspeaker can be activated. */
- ECanActivateLoudspeaker = ( 1<<3 ),
- /** Is set if loudspeaker can be deactivated. */
- ECanDeactivateLoudspeaker = ( 1<<4 ),
- /** Set if audio is permanently stopped */
- EIsAudioPermanentlyStopped = ( 1<<5 )
- };
-
- // Reference to engine model instance
- CVtEngModel& iModel;
-
- };
-
-#include "tvtuiaudiostate.inl"
-
-#endif // T_VTUIAUDIOSTATE_H
--- a/vtuis/videotelui/inc/commands/tvtuiaudiostate.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* 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: Audio state class inline methods.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// TVtUiAudioState::TVtUiAudioState
-// -----------------------------------------------------------------------------
-//
-TVtUiAudioState::TVtUiAudioState( CVtEngModel& aModel )
-: iModel( aModel )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAudioState::IsAudio
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAudioState::IsAudio() const
- {
- return IsFlag( EIsAudio );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAudioState::CanActivateBtHf
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAudioState::CanActivateBtHf() const
- {
- return IsFlag( ECanActivateBtHf );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAudioState::CanDeactivateBtHf
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAudioState::CanDeactivateBtHf() const
- {
- return IsFlag( ECanDeactivateBtHf );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAudioState::CanActivateLoudspeaker
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAudioState::CanActivateLoudspeaker() const
- {
- return IsFlag( ECanActivateLoudspeaker );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAudioState::CanDeactivateLoudspeaker
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAudioState::CanDeactivateLoudspeaker() const
- {
- return IsFlag( ECanDeactivateLoudspeaker );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsAudioPermanentlyStopped
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAudioState::IsAudioPermanentlyStopped() const
- {
- return IsFlag( EIsAudioPermanentlyStopped );
- }
--- a/vtuis/videotelui/inc/commands/tvtuicmdcontexttype.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* 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: Command context types.
-*
-*/
-
-
-#ifndef T_VTUICMDCONTEXTTYPE_H
-#define T_VTUICMDCONTEXTTYPE_H
-
-/**
- * Command context types
- *
- * @since S60 3.2
- */
-enum TVtUiCmdContextType
- {
- /** Context type not defined yet */
- EVtUiCmdContextTypeUndefined = 0,
-
- /** Context type menu */
- EVtUiCmdContextTypeMenu,
-
- /** Context type softkey */
- EVtUiCmdContextTypeSoftkey,
-
- /** Context type toolbar */
- EVtUiCmdContextTypeToolbar,
-
- /** Context type execution */
- EVtUiCmdContextTypeExecution,
-
- /** Context type number entry */
- EVtUiCmdContextTypeNumberEntry
-
- };
-
-#endif // T_VTUICMDCONTEXTTYPE_H
--- a/vtuis/videotelui/inc/commands/tvtuicmdpolicypriority.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* 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: Command policy priorities.
-*
-*/
-
-
-#ifndef T_VTUICMDPOLICYPRIORITY_H
-#define T_VTUICMDPOLICYPRIORITY_H
-
-/**
- * Command priority enumeration
- *
- * @since S60 3.2
- */
-enum TVtUiCmdPolicyPriority
- {
- /** Undefined priority value */
- EVtUiCmdPolicyPriorityUndefined = 0,
-
- /** Lowest possible priority */
- EVtUiCmdPolicyPriorityLowest = 1,
-
- /** Number entry policy priority */
- EVtUiCmdPolicyPriorityNumberEntry,
-
- /** Menu policy priority */
- EVtUiCmdPolicyPriorityMenu = 100,
-
- /** Softkey policy priority */
- EVtUiCmdPolicyPrioritySoftkey = 200,
-
- /** Toolbar policy priority */
- EVtUiCmdPolicyPriorityToolbar = 300,
-
- /** Primary policy priority, must be highest */
- EVtUiCmdPolicyPriorityPrimary,
-
- /** Highest possible priority */
- EVtUiCmdPolicyPriorityHighest = EVtUiCmdPolicyPriorityPrimary
-
- };
-
-#endif // T_VTUICMDPOLICYPRIORITY_H
--- a/vtuis/videotelui/inc/commands/tvtuicmdvalidatorcallback.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* 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: Command validator callback class definition.
-*
-*/
-
-
-#ifndef T_VTUICMDVALIDATORCALLBACK_H
-#define T_VTUICMDVALIDATORCALLBACK_H
-
-#include <e32base.h>
-
-/**
- * MVtUiCmdValidatorCallBack
- *
- * Command validator callback API.
- *
- * @since S60 v3.2
- */
-class MVtUiCmdValidatorCallBack
- {
-
-public:
-
- /**
- * Invokes callback call.
- */
- virtual TBool Call( TInt ) const = 0;
-
- };
-
-/**
- * TVtUiCmdValidatorCallBack
- *
- * Validator callback wrapper to maintain type safety. Also allows use of
- * different types of instances for invocation of callback.
- *
- * @since S60 v3.2
- */
-template < class T >
-NONSHARABLE_CLASS( TVtUiCmdValidatorCallBack )
-: public MVtUiCmdValidatorCallBack
- {
-
- // Callback method type definition
- typedef TBool ( T::*TCallBackMethod )( TInt ) const;
-
-public:
-
- /**
- * Constructor
- *
- * @param aInstance Instance on which callback method will be called.
- * @param aMethod Callback method to be called.
- */
- TVtUiCmdValidatorCallBack( const T& aInstance, TCallBackMethod aMethod );
-
- /**
- * Executes callback.
- *
- * @param aParameter Callback parameter, e.g. command Id or resource Id.
- * @return Callback result.
- */
- TBool Call( TInt aParameter ) const;
-
-private:
-
- // Instance from which callback method will be invoke
- const T* iInstance;
-
- // Callback method pointer
- TCallBackMethod iMethod;
-
- };
-
-#include "tvtuicmdvalidatorcallback.inl"
-
-#endif // T_VTUICMDVALIDATORCALLBACK_H
--- a/vtuis/videotelui/inc/commands/tvtuicmdvalidatorcallback.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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: Command validator callback class inline methods.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// TVtUiCmdValidatorCallBack< T >::TVtUiCmdValidatorCallBack
-// -----------------------------------------------------------------------------
-//
-template < class T >
-TVtUiCmdValidatorCallBack< T >::TVtUiCmdValidatorCallBack(
- const T& aInstance, TCallBackMethod aMethod )
- : iInstance( &aInstance ), iMethod( aMethod )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiCmdValidatorCallBack< T >::Call
-// -----------------------------------------------------------------------------
-//
-template < class T >
-TBool TVtUiCmdValidatorCallBack< T >::Call( TInt aCommandId ) const
- {
- return ( iInstance->*iMethod )( aCommandId );
- }
-
--- a/vtuis/videotelui/inc/commands/tvtuicommandmodifierpriority.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 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: Command modifier priorities.
-*
-*/
-
-
-#ifndef VTUICOMMANDMODIFIERPRIORITIES_H
-#define VTUICOMMANDMODIFIERPRIORITIES_H
-
-/**
- * Enumerates Modifier priorities
- *
- * @since S60 3.2
- */
-enum TVtUiCmdModifierPriority
- {
- /** Undefined priority value */
- EVtUiCmdModifierPriorityUndefined = 0,
-
- /** Lowest possible priority */
- EVtUiCmdModifierPriorityLowest = 1,
-
- /** Menu Modifier priority */
- EVtUiCmdModifierPriorityToolbar = 100,
-
- /** Menu Modifier priority */
- EVtUiCmdModifierPriorityNumberEntry = 101,
-
- /** Highest possible priority */
- EVtUiCmdModifierPriorityHighest = 500,
- };
-
-#endif // VTUICOMMANDMODIFIERPRIORITIES_H
-
-// End of File
--- a/vtuis/videotelui/inc/commands/tvtuilocalvariation.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* 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: Video Telephone local variation class definition.
-*
-*/
-
-
-#ifndef T_VTUILOCALVARIATION_H
-#define T_VTUILOCALVARIATION_H
-
-#include <e32base.h>
-
-#include "tvtflagcontainer.h"
-
-// User selectable Call answer status values
-const TInt KAllwaysQuery = 0;
-const TInt KAllwaysAllow = 2;
-const TInt KNumberOfTbButtons = 6;
-
-/**
- * TVtUiVariationBase
- *
- * Base class for local variation classes.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiVariationBase ) : public TVtFlagContainer
- {
-public:
-
- /**
- * Reads variations from central reposityory.
- * and set default value in case error
- */
- virtual void ReadL( const TInt adefault = -1 );
-
-protected:
-
- /**
- * Returns UID of the repository to be read.
- */
- virtual const TUid& Uid() const = 0;
-
- /**
- * ID of the key inside repository to be read.
- */
- virtual TUint32 Key() const = 0;
-
- /**
- * Gets key value.
- */
- virtual TUint32 ReceiveValue() const;
-
- };
-
-/**
- * TVtUiVideoTelephonyVariation
- *
- * Video Telephony variation class. Reads VT local variation flags from the
- * CenRep and contains methods to query flag states. This class should be
- * instanced only once and same instance should be passesd as reference to
- * modules that need this local variation information.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiVideoTelephonyVariation ) : public TVtUiVariationBase
- {
-
-public:
-
- /**
- * Return whether or not ScalingMethodENearest is set in local variation.
- *
- * @return ETrue if ScalingMethodENearest local variation flag is set,
- * EFalse otherwise.
- */
- inline TBool IsScalingMethodENearest() const;
-
- /**
- * Return whether or not ScalingMethodEBilinear is set in local variation.
- *
- * @return ETrue if ScalingMethodEBilinear local variation flag is set,
- * EFalse otherwise.
- */
- inline TBool IsScalingMethodEBilinear() const;
-
- /**
- * Return whether or not EnableBitReversal is set in local variation.
- *
- * @return ETrue if EnableBitReversal local variation flag is set, EFalse
- * otherwise.
- */
- inline TBool IsEnableBitReversal() const;
-
-private: // from TVtUiVariationBase
-
- /**
- * @see TVtUiVariationBase::Uid
- */
- const TUid& Uid() const;
-
- /**
- * @see TVtUiVariationBase::Key
- */
- TUint32 Key() const;
- };
-
-/**
- * TVtUiActiveIdleVariation
- *
- * Active Idle variation class. Reads AI local variation flags from the
- * CenRep and contains methods to query flag states. This class should be
- * instanced only once and same instance should be passesd as reference to
- * modules that need this local variation information.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiActiveIdleVariation ) : public TVtUiVariationBase
- {
-
-public:
- /**
- * Return whether or not active idle is enabled in local variation.
- *
- * @return ETrue if active idle is enabled in local variation.
- */
- TBool IsActiveIdleEnabled();
-
-private: // from TVtUiVariationBase
-
- /**
- * @see TVtUiVariationBase::Uid
- */
- const TUid& Uid() const;
-
- /**
- * @see TVtUiVariationBase::Key
- */
- TUint32 Key() const;
-
-private:
- };
-
-/**
- * TVtUiGsMuteVariation
- *
- * General settings (Gs) variation class. Reads GS local variation flags from the
- * CenRep and contains methods to query flag states and values. This class should be
- * instanced only once and same instance should be passesd as reference to
- * modules that need this local variation information.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiGsMuteVariation ) : public TVtUiVariationBase
- {
-
-public:
-
- /**
- * Returns Gs mute state value from CanRep.
- *
- * @return Gs mute state value.
- */
- TUint32 GsMuteState();
-
-private: // from TVtUiVariationBase
-
- /**
- * @see TVtUiVariationBase::Uid
- */
- const TUid& Uid() const;
-
- /**
- * @see TVtUiVariationBase::Key
- */
- TUint32 Key() const;
-
-private:
- };
-
-/**
- * TVtUiToolbarVariation
- *
- * Toolbar variation class. Reads TB local variation flags from the
- * CenRep and contains methods to query flag states and values. This class should be
- * instanced only once and same instance should be passesd as reference to
- * modules that need this local variation information.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiToolbarVariation ) : public TVtUiVariationBase
- {
-
-public:
- /**
- * Returns number of toolbar buttons from CanRep.
- *
- * @return number of toolbar buttons.
- */
- TUint32 NumberOfButtons();
-
-private: // from TVtUiVariationBase
-
- /**
- * @see TVtUiVariationBase::Uid
- */
- const TUid& Uid() const;
-
- /**
- * @see TVtUiVariationBase::Key
- */
- TUint32 Key() const;
-
-private:
- };
-
-
-#include "tvtuilocalvariation.inl"
-
-#endif // T_VTUILOCALVARIATION_H
--- a/vtuis/videotelui/inc/commands/tvtuilocalvariation.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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: Video Telephone local variation class inline methods.
-*
-*/
-
-
-#include "VideoTelephonyVariant.hrh"
-
-// TVtUiVideoTelephonyVariation
-
-// -----------------------------------------------------------------------------
-// TVtUiVideoTelephonyVariation::IsScalingMethodENearest
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiVideoTelephonyVariation::IsScalingMethodENearest() const
- {
- return IsFlag( KVTLVFlagScalingMethodENearest );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiVideoTelephonyVariation::IsScalingMethodEBilinear
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiVideoTelephonyVariation::IsScalingMethodEBilinear() const
- {
- return IsFlag( KVTLVFlagScalingMethodEBilinear );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiVideoTelephonyVariation::IsEnableBitReversal
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiVideoTelephonyVariation::IsEnableBitReversal() const
- {
- return IsFlag( KVTLVFlagEnableBitReversal );
- }
--- a/vtuis/videotelui/inc/commands/tvtuimediastate.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
-* 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: Media state class definition.
-*
-*/
-
-
-#ifndef T_VTUIMEDIASTATE_H
-#define T_VTUIMEDIASTATE_H
-
-#include <e32base.h>
-
-#include "tvtflagcontainer.h"
-
-class MVtEngMedia;
-class MVtEngCommandHandler;
-
-/**
- * TVtUiMediaState
- *
- * Contains information about media's (video) current status.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiMediaState ) : public TVtUpdateableFlagContainer
- {
-public:
-
- /**
- * Constructor.
- *
- * @param aMedia Reference to VT engine media object.
- * @param aCommandHandler Reference to command handler object.
- */
- inline TVtUiMediaState( MVtEngMedia& aMedia,
- MVtEngCommandHandler& aCommandHandler );
-
- /**
- * Return whether or not video is being sent.
- *
- * @return ETrue if video is being sent.
- */
- inline TBool IsVideo() const;
-
- /**
- * Return whether or not any camera is available in device.
- *
- * @return ETrue if any camera is available in device.
- */
- inline TBool HasCamera() const;
-
- /**
- * Return whether or not freeze is supported for active video source.
- *
- * @return ETrue if freeze is supported for active video source.
- */
- inline TBool IsFreezeSupported() const;
-
- /**
- * Return whether or not active video source is frozen.
- *
- * @return ETrue if video is frozen.
- */
- inline TBool IsFrozen() const;
-
- /**
- * Return whether or not share is active.
- *
- * @return ETrue if still image is being shared.
- */
- inline TBool IsSharing() const;
-
- /**
- * Return whether or not sharing is being initialized.
- *
- * @return ETrue if still image sharing is being initialized.
- */
- inline TBool IsInitializingShare() const;
-
- /**
- * Return whether or not primary camera is being used by VT.
- *
- * @return ETrue if primary camera is being used.
- */
- inline TBool IsPrimaryCameraInUse() const;
-
- /**
- * Return whether or not secondary camera is being used by VT.
- *
- * @return ETrue if secondary camera is being used.
- */
- inline TBool IsSecondaryCameraInUse() const;
-
- /**
- * Return whether or not it is possible to share.
- *
- * @return ETrue if sharing is not allowed.
- */
- inline TBool IsNotAbleToShare() const;
-
- /**
- * Return whether or not device has primary camera.
- *
- * @return ETrue if primary camera is available.
- */
- inline TBool HasPrimaryCamera() const;
-
- /**
- * Return whether or not device has secondary camera.
- *
- * @return ETrue if secondary camera is available.
- */
- inline TBool HasSecondaryCamera() const;
-
- /**
- * Return whether or not active video source supports contrast setting.
- *
- * @return ETrue if contrast settingis allowed.
- */
- inline TBool IsContrastSupported() const;
-
- /**
- * Return whether or not active video source supports white balance setting.
- *
- * @return ETrue if white balance setting is allowed.
- */
- inline TBool IsWhiteBalanceSupported() const;
-
- /**
- * Return whether or not active video source supports color tone setting.
- *
- * @return ETrue if colour tone setting is allowed.
- */
- inline TBool IsColorToneSupported() const;
-
- /**
- * Return whether or not active video source supports brightness setting.
- *
- * @return ETrue if brightness setting is allowed.
- */
- inline TBool IsBrightnessSupported() const;
-
- /**
- * Return whether or not video is permanently stopped.
- *
- * @return ETrue if video is permanently stopped.
- */
- inline TBool IsVideoPermanentlyStopped() const;
-
-private: // from TVtUpdateableFlagContainer
-
- /**
- * @see TVtUpdateableFlagContainer::UpdateFlags
- */
- void UpdateFlags();
-
-private:
-
- // Enumeration for media state flags.
- enum TFlags
- {
- /** Set if video is currently enabled. */
- EIsVideo = ( 1<<0 ),
- /** Set if device has any cameras */
- EHasCamera = ( 1<<1 ),
- /** Set if current active video source supports freezing */
- EIsFreezeSupported = ( 1<<2 ),
- /** Set if current active video source is frozen */
- EIsFrozen = ( 1<<3 ),
- /** Set if sharing is active */
- EIsSharing = ( 1<<4 ),
- /** Set if sharing is being initialized */
- EIsInitializingShare = ( 1<<5 ),
- /** Set if device's primary camera is being used by VT application */
- EIsPrimaryCameraInUse = ( 1<<6 ),
- /** Set if device's secondary camera is being used by VT application */
- EIsSecondaryCameraInUse = ( 1<<7 ),
- /** Set if it is not possible to share */
- EIsNotAbleToShare = ( 1<<8 ),
- /** Set if device has primary camera */
- EHasPrimaryCamera = ( 1<<9 ),
- /** Set if device has secondary camera */
- EHasSecondaryCamera = ( 1<<10 ),
- /** Set if current video source supports contrast setting */
- EIsContrastSupported = ( 1<<11 ),
- /** Set if current video source supports white balance setting */
- EIsWhiteBalanceSupported = ( 1<<12 ),
- /** Set if current video source supports color tone setting */
- EIsColorToneSupported = ( 1<<13 ),
- /** Set if current video source supports brightness setting */
- EIsBrightnessSupported = ( 1<<14 ),
- /** Set if video is permanently stopped*/
- EIsVideoPermanentlyStopped = ( 1<<15 )
- };
-
- // Reference to engine media instance.
- MVtEngMedia& iMedia;
-
- // Reference to engine command handler instance.
- MVtEngCommandHandler& iCommandHandler;
- };
-
-#include "tvtuimediastate.inl"
-
-#endif // T_VTUIMEDIASTATE_H
--- a/vtuis/videotelui/inc/commands/tvtuimediastate.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* 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: Media state class inline methods.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::TVtUiMediaState
-// -----------------------------------------------------------------------------
-//
-TVtUiMediaState::TVtUiMediaState( MVtEngMedia& aMedia,
- MVtEngCommandHandler& aCommandHandler )
- : iMedia( aMedia ), iCommandHandler( aCommandHandler )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsVideo
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsVideo() const
- {
- return IsFlag( EIsVideo );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::HasCamera
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::HasCamera() const
- {
- return IsFlag( EHasCamera );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsFreezeSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsFreezeSupported() const
- {
- return IsFlag( EIsFreezeSupported );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsFrozen
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsFrozen() const
- {
- return IsFlag( EIsFrozen );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsSharing
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsSharing() const
- {
- return IsFlag( EIsSharing );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsInitializingShare
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsInitializingShare() const
- {
- return IsFlag( EIsInitializingShare );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsPrimaryCameraInUse
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsPrimaryCameraInUse() const
- {
- return IsFlag( EIsPrimaryCameraInUse );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsSecondaryCameraInUse
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsSecondaryCameraInUse() const
- {
- return IsFlag( EIsSecondaryCameraInUse );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsNotAbleToShare
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsNotAbleToShare() const
- {
- return IsFlag( EIsNotAbleToShare );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::HasPrimaryCamera
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::HasPrimaryCamera() const
- {
- return IsFlag( EHasPrimaryCamera );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::HasSecondaryCamera
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::HasSecondaryCamera() const
- {
- return IsFlag( EHasSecondaryCamera );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsContrastSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsContrastSupported() const
- {
- return IsFlag( EIsContrastSupported );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsWhiteBalanceSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsWhiteBalanceSupported() const
- {
- return IsFlag( EIsWhiteBalanceSupported );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsColorToneSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsColorToneSupported() const
- {
- return IsFlag( EIsColorToneSupported );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsBrightnessSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsBrightnessSupported() const
- {
- return IsFlag( EIsBrightnessSupported );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::IsVideoPermanentlyStopped
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiMediaState::IsVideoPermanentlyStopped() const
- {
- return IsFlag( EIsVideoPermanentlyStopped );
- }
--- a/vtuis/videotelui/inc/commands/tvtuistates.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,679 +0,0 @@
-/*
-* Copyright (c) 2007 - 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: UI states class definition.
-*
-*/
-
-
-#ifndef T_VTUISTATES_H
-#define T_VTUISTATES_H
-
-#include <e32base.h>
-
-#include "tvtuimediastate.h"
-#include "tvtuiaudiostate.h"
-
-class CVtEngModel;
-class MVtEngCameraPreferences;
-
-/**
- * TVtUiStates
- *
- * Contains information about Application UI's current status.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiStates ) : public TVtFlagContainer
- {
-
-public: // enumerations
-
- /**
- * Application execution state (will be set by the app state classes)
- */
- enum TVtUiExecState
- {
- EExecStateStarting,
- EExecStateRunning,
- EExecStateResetting,
- EExecStateFinalized
- };
-
-public:
-
- /**
- * Constructor.
- */
- TVtUiStates( 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 TVtUiMediaState& MediaState() const;
-
- /**
- * Returns reference to audio state object
- *
- * @return Reference to audio state object.
- */
- inline const TVtUiAudioState& 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 EIsBlankControlAdded
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetBlankControlAdded( TBool aSet );
-
- /**
- * Check if EIsBlankControlAdded is set
- *
- * @return ETrue if EIsBlankControlAdded is set EFalse otherwise
- */
- inline TBool IsBlankControlAdded() const;
-
- /**
- * Sets or clears EIsLaunchOkOptionsMenu
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetLaunchOkOptionsMenu( TBool aSet );
-
- /**
- * Check if EIsLaunchOkOptionsMenu is set
- *
- * @return ETrue if EIsLaunchOkOptionsMenu is set EFalse otherwise
- */
- inline TBool IsLaunchOkOptionsMenu() 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 EIsViewFindersInitialPlaceContextPane
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetViewFindersInitialPlaceContextPane( TBool aSet );
-
- /**
- * Check if EIsViewFindersInitialPlaceContextPane is set
- *
- * @return ETrue if EIsViewFindersInitialPlaceContextPane is set EFalse
- * otherwise
- */
- inline TBool IsViewFindersInitialPlaceContextPane() const;
-
- /**
- * Sets or clears EViewFinderToMainPane
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetViewFinderToMainPane( TBool aSet );
-
- /**
- * Check if EViewFinderToMainPane is set
- *
- * @return ETrue if EViewFinderToMainPane is set EFalse otherwise
- */
- inline TBool IsViewFinderToMainPane() const;
-
- /**
- * Sets or clears EIsCaptureModeOn
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetCaptureModeOn( TBool aSet );
-
- /**
- * Check if EIsCaptureModeOn is set
- *
- * @return ETrue if EIsCaptureModeOn is set EFalse otherwise
- */
- inline TBool IsCaptureModeOn() 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;
-
- /**
- * Check if EIsZoomModeOn is set
- *
- * @return ETrue if EIsZoomModeOn is set EFalse otherwise
- */
- inline TBool IsZoomModeOn() const;
-
- /**
- * Sets or clears EIsZoomModeOn
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetZoomModeOn( TBool aSet );
-
- /**
- * Check if EIsWhiteBalanceModeOn is set
- *
- * @return ETrue if EIsWhiteBalanceModeOn is set EFalse otherwise
- */
- inline TBool IsWhiteBalanceModeOn() const;
-
- /**
- * Sets or clears EIsWhiteBalanceModeOn
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetWhiteBalanceModeOn( TBool aSet );
-
- /**
- * Check if EIsColorToneModeOn is set
- *
- * @return ETrue if EIsColorToneModeOn is set EFalse otherwise
- */
- inline TBool IsColorToneModeOn() const;
-
- /**
- * Sets or clears EIsColorToneModeOn
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetColorToneModeOn( TBool aSet );
-
- /**
- * Check if EBrightnessModeOn is set
- *
- * @return ETrue if EBrightnessModeOn is set EFalse otherwise
- */
- inline TBool IsBrightnessModeOn() const;
-
- /**
- * Sets or clears EBrightnessModeOn
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetBrightnessModeOn( TBool aSet );
-
- /**
- * Check if EContrastModeOn is set
- *
- * @return ETrue if EContrastModeOn is set EFalse otherwise
- */
- inline TBool IsContrastModeOn() const;
-
- /**
- * Sets or clears EContrastModeOn
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetContrastModeOn( TBool aSet );
-
- /**
- * Sets or clears EIsNumberEntryOpen
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetIsNumberEntryOpen( TBool aSet );
-
- /**
- * Check if EIsNumberEntryOpen is set
- *
- * @return ETrue if EIsNumberEntryOpen is set EFalse otherwise
- */
- inline TBool IsNumberEntryOpen() const;
-
- /**
- * Sets or clears EIsToolbarAvailable
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetIsToolbarAvailable( TBool aSet );
-
- /**
- * Check if IsToolbarAvailable is set
- *
- * @return ETrue if IsToolbarAvailable is set EFalse otherwise
- */
- inline TBool IsToolbarAvailable() 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;
-
- /**
- * Sets or clears EIsSelectingShare
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetSelectingShare( TBool aSet );
-
- /**
- * Check if user is selecting file to be shared.
- *
- * @return ETrue if user is selecting file, EFalse otherwise
- */
- inline TBool IsSelectingShare() const;
-
- /**
- * Sets or clears EIsDialerOpen
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetIsDialerOpen( TBool aSet );
-
- /**
- * Check if video DTMF dialer is open.
- *
- * @return ETrue if dialer is open, EFalse otherwise
- */
- inline TBool IsDialerOpen() const;
-
- /**
- * Sets or clears EIsFixedToolbarVisible
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetIsFixedToolbarVisible( TBool aSet );
-
- /**
- * Check if fixed toolbar is visible.
- *
- * @return ETrue iftoolbar is visible, EFalse otherwise
- */
- inline TBool IsFixedToolbarVisible() const;
-
- /**
- * Sets or clears EIsDialerActivating
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetIsDialerActivating( TBool aSet );
-
- /**
- * Check if dialer is being activated
- *
- * @return ETrue if dialer is being activated, EFalse otherwise
- */
- inline TBool IsDialerActivating() const;
-
- /**
- * Adjusts command activating reference count
- *
- * @param aSet ETrue if setting will be increased, EFalse if
- * decreased.
- */
- void SetIsCommandActivating( TBool aSet );
-
- /**
- * Check if command activating ref.count is greater than zero
- *
- * @return ETrue if any command is being activated, EFalse otherwise
- */
- inline TBool IsCommandActivating() const;
-
- /**
- * Check if EIsVolumeModeOn is set
- *
- * @return ETrue if EIsVolumeModeOn is set EFalse otherwise
- */
- inline TBool IsVolumeModeOn() const;
-
- /**
- * Sets or clears EIsVolumeModeOn
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetVolumeModeOn( TBool aSet );
-
- /**
- * Check if EIsVideoQualityModeOn is set
- *
- * @return ETrue if EIsVideoQualityModeOn is set EFalse otherwise
- */
- inline TBool IsVideoQualityModeOn() const;
-
- /**
- * Sets or clears EIsVideoQualityModeOn
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
-
- inline void SetVideoQualityModeOn( TBool aSet );
- /**
- * Sets or clears EIsFloatingToolbarVisible
- *
- * @param aSet ETrue if setting will be set, EFalse otherwise.
- */
- inline void SetIsFloatingToolbarVisible( TBool aSet );
-
- /**
- * Check if floating toolbar is visible.
- *
- * @return ETrue iftoolbar is visible, EFalse otherwise
- */
- inline TBool IsFloatingToolbarVisible() const;
-
- /**
- * Returns application's execution state.
- * @return Application's current execution state.
- */
- TVtUiExecState ExecState() const;
-
-private: // methods to be accessed only by certain classes (see friends)
-
- /**
- * Sets application's execution state.
- * @param aState Application's new execution state.
- */
- void SetExecState( const TVtUiExecState aState );
-
-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 blank control has been added to control stack */
- EIsBlankControlAdded = ( 1<<2 ),
-
- /** Set if launch ok in options menu */
- EIsLaunchOkOptionsMenu = ( 1<<3 ),
-
- /** Set if device lock is on */
- EIsDeviceLockOn = ( 1<<4 ),
-
- /** Set if details have been received */
- EDetailsReceived = ( 1<<5 ),
-
- /** Set if waiting for first frame */
- EWaitingForFirstFrame = ( 1<<6 ),
-
- /** Set if SQCIF is being used */
- EUseSQCif = ( 1 << 7 ),
-
- /** Set if images was in context pane before freeze, unset if not */
- EViewFindersInitialPlaceContextPane = ( 1<<8 ),
-
- /** Set if viewfinder has to be moved to mainpane, when imageshare is
- ready */
- EViewFinderToMainPane = ( 1<<9 ),
-
- /** Set if capture mode is on, unset if off */
- EIsCaptureModeOn = ( 1<<10 ),
-
- /** Set if application on foreground */
- EIsThisApplicationForeground = ( 1<<11 ),
-
- /** 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<<12 ),
-
- /** Set if camera in use note should be shown. */
- EExecShowCameraInUse = ( 1<<13 ),
-
- /** Set if zooming slider indicators is shown in navi pane.
- Toolbar also dims other toolbar controls except zoom
- mode control.*/
- EIsZoomModeOn = ( 1<<14 ),
-
- /** Set if contrast mode is on, unset if off */
- EIsContrastModeOn = ( 1<<15 ),
-
- /** Set if brightness mode is on, unset if off */
- EIsBrightnessModeOn = ( 1<<16 ),
-
- /** Set if number entry is open in UI (do not use this flag in new code)
- */
- EIsNumberEntryOpen = ( 1<<17 ),
-
- /** Set if toolbar is available in UI */
- EIsToolbarAvailable = ( 1<<18 ),
-
- /** Set if waiting call exists */
- EIsWaitingCall = ( 1<<19 ),
-
- /** Set if initializing share */
- EIsSelectingShare = ( 1<<20 ),
-
- /** Set if initializing share */
- EIsDialerOpen = ( 1<<21 ),
-
- /** Set if white balance mode is on, unset if off */
- EIsWhiteBalanceModeOn = ( 1<<22 ),
-
- /** Set if color tone mode is on, unset if off */
- EIsColorToneModeOn = ( 1 << 23 ),
-
- /** Set if fixed toolar is visible, unset if not */
- EIsFixedToolbarVisible = ( 1 << 24 ),
-
- /** Set if dialer is being activated, unset if not */
- EIsDialerActivating = ( 1 << 25 ),
-
- /** Set if volume mode is on, unset if off */
- EIsVolumeModeOn = ( 1 << 26 ),
-
- /** Set if floating toolar is visible, unset if not */
- EIsFloatingToolbarVisible = ( 1 << 27 ),
-
- /** Set if video quality mode is on, unset if not */
- EIsVideoQualityModeOn = ( 1 << 28 )
- };
-
- // Engine media state
- TVtUiMediaState iMediaState;
-
- // Engine audio state
- TVtUiAudioState iAudioState;
-
- // Refrence to engine
- CVtEngModel& iModel;
-
- // Refrence to camera prefrences
- MVtEngCameraPreferences* iCameraPref;
-
- // Application execution state
- TVtUiExecState iExecState;
-
- // Reference count of command activating. Enables command to be set
- // active several times and action to take only when count is reset
- // back to zer0.
- TUint iCommandActivatingRefCount;
-
-private: // friends
-
- friend class TVtUiAppStateBase;
-
- };
-
-#include "tvtuistates.inl"
-
-#endif // T_VTUISTATES_H
--- a/vtuis/videotelui/inc/commands/tvtuistates.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,596 +0,0 @@
-/*
-* Copyright (c) 2007 - 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: UI states class inline methods.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::MediaState
-// -----------------------------------------------------------------------------
-//
-const TVtUiMediaState& TVtUiStates::MediaState() const
- {
- return iMediaState;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::AudioState
-// -----------------------------------------------------------------------------
-//
-const TVtUiAudioState& TVtUiStates::AudioState() const
- {
- return iAudioState;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetCLIReceived
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetCLIReceived( TBool aSet )
- {
- aSet ? SetFlag( EIsCLIReceived ) : ClearFlag( EIsCLIReceived );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsCLIReceived
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsCLIReceived() const
- {
- return IsFlag( EIsCLIReceived );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetLayoutChangeNeeded
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetLayoutChangeNeeded( TBool aSet )
- {
- aSet ? SetFlag( EIsLayoutChangeNeeded ) :
- ClearFlag( EIsLayoutChangeNeeded );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsLayoutChangeNeeded
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsLayoutChangeNeeded() const
- {
- return IsFlag( EIsLayoutChangeNeeded );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetBlankControlAdded
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetBlankControlAdded( TBool aSet )
- {
- aSet ? SetFlag( EIsBlankControlAdded ) :
- ClearFlag( EIsBlankControlAdded );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsBlankControlAdded
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsBlankControlAdded() const
- {
- return IsFlag( EIsBlankControlAdded );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetLaunchOkOptionsMenu
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetLaunchOkOptionsMenu( TBool aSet )
- {
- aSet ? SetFlag( EIsLaunchOkOptionsMenu ) :
- ClearFlag( EIsLaunchOkOptionsMenu );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsLaunchOkOptionsMenu
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsLaunchOkOptionsMenu() const
- {
- return IsFlag( EIsLaunchOkOptionsMenu );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetDeviceLockOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetDeviceLockOn( TBool aSet )
- {
- aSet ? SetFlag( EIsDeviceLockOn ) :
- ClearFlag( EIsDeviceLockOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsDeviceLockOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsDeviceLockOn() const
- {
- return IsFlag( EIsDeviceLockOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetDetailsReceived
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetDetailsReceived( TBool aSet )
- {
- aSet ? SetFlag( EDetailsReceived ) :
- ClearFlag( EDetailsReceived );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsDetailsReceived
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsDetailsReceived() const
- {
- return IsFlag( EDetailsReceived );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetWaitingForFirstFrame
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetWaitingForFirstFrame( TBool aSet )
- {
- aSet ? SetFlag( EWaitingForFirstFrame ) :
- ClearFlag( EWaitingForFirstFrame );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsWaitingForFirstFrame
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsWaitingForFirstFrame() const
- {
- return IsFlag( EWaitingForFirstFrame );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetUseSQCif
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetUseSQCif( TBool aSet )
- {
- aSet ? SetFlag( EUseSQCif ) :
- ClearFlag( EUseSQCif );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsUseSQCif
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsUseSQCif() const
- {
- return IsFlag( EUseSQCif );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetViewFindersInitialPlaceContextPane
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetViewFindersInitialPlaceContextPane( TBool aSet )
- {
- aSet ? SetFlag( EViewFindersInitialPlaceContextPane ) :
- ClearFlag( EViewFindersInitialPlaceContextPane );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsViewFindersInitialPlaceContextPane
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsViewFindersInitialPlaceContextPane() const
- {
- return IsFlag( EViewFindersInitialPlaceContextPane );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetViewFinderToMainPane
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetViewFinderToMainPane( TBool aSet )
- {
- aSet ? SetFlag( EViewFinderToMainPane ) :
- ClearFlag( EViewFinderToMainPane );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsViewFinderToMainPane
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsViewFinderToMainPane() const
- {
- return IsFlag( EViewFinderToMainPane );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetCaptureModeOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetCaptureModeOn( TBool aSet )
- {
- aSet ? SetFlag( EIsCaptureModeOn ) :
- ClearFlag( EIsCaptureModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsCaptureModeOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsCaptureModeOn() const
- {
- return IsFlag( EIsCaptureModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetThisApplicationForeground
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetThisApplicationForeground( TBool aSet )
- {
- aSet ? SetFlag( EIsThisApplicationForeground ) :
- ClearFlag( EIsThisApplicationForeground );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsThisApplicationForeground
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsThisApplicationForeground() const
- {
- return IsFlag( EIsThisApplicationForeground );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetDisableBlindSetting
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetDisableBlindSetting( TBool aSet )
- {
- aSet ? SetFlag( EIsDisableBlindSetting ) :
- ClearFlag( EIsDisableBlindSetting );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsDisableBlindSetting
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsDisableBlindSetting() const
- {
- return IsFlag( EIsDisableBlindSetting );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetExecShowCameraInUse
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetExecShowCameraInUse( TBool aSet )
- {
- aSet ? SetFlag( EExecShowCameraInUse ) :
- ClearFlag( EExecShowCameraInUse );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsExecShowCameraInUse
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsExecShowCameraInUse() const
- {
- return IsFlag( EExecShowCameraInUse );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsZoomModeOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsZoomModeOn() const
- {
- return IsFlag( EIsZoomModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetZoomModeOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetZoomModeOn( TBool aSet )
- {
- aSet ? SetFlag( EIsZoomModeOn ) :
- ClearFlag( EIsZoomModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsWhiteBalanceModeOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsWhiteBalanceModeOn() const
- {
- return IsFlag( EIsWhiteBalanceModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetWhiteBalanceModeOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetWhiteBalanceModeOn( TBool aSet )
- {
- aSet ? SetFlag( EIsWhiteBalanceModeOn ) :
- ClearFlag( EIsWhiteBalanceModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsColorToneModeOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsColorToneModeOn() const
- {
- return IsFlag( EIsColorToneModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetColorToneModeOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetColorToneModeOn( TBool aSet )
- {
- aSet ? SetFlag( EIsColorToneModeOn ) :
- ClearFlag( EIsColorToneModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsBrightnessModeOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsBrightnessModeOn() const
- {
- return IsFlag( EIsBrightnessModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetBrightnessModeOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetBrightnessModeOn( TBool aSet )
- {
- aSet ? SetFlag( EIsBrightnessModeOn ) :
- ClearFlag( EIsBrightnessModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsContrastModeOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsContrastModeOn() const
- {
- return IsFlag( EIsContrastModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetContrastModeOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetContrastModeOn( TBool aSet )
- {
- aSet ? SetFlag( EIsContrastModeOn ) :
- ClearFlag( EIsContrastModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetIsNumberEntryOpen
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetIsNumberEntryOpen( TBool aSet )
- {
- aSet ? SetFlag( EIsNumberEntryOpen ) :
- ClearFlag( EIsNumberEntryOpen );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsNumberEntryOpen
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsNumberEntryOpen() const
- {
- return IsFlag( EIsNumberEntryOpen );
- }
-
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetIsToolbarAvailable
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetIsToolbarAvailable( TBool aSet )
- {
- aSet ? SetFlag( EIsToolbarAvailable ) :
- ClearFlag( EIsToolbarAvailable );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsToolbarAvailable
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsToolbarAvailable() const
- {
- return IsFlag( EIsToolbarAvailable );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates:::SetWaitingCall
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetWaitingCall( TBool aSet )
- {
- aSet ? SetFlag( EIsWaitingCall ) :
- ClearFlag( EIsWaitingCall );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsWaitingCall
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsWaitingCall() const
- {
- return IsFlag( EIsWaitingCall );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates:::SetSelectingShare
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetSelectingShare( TBool aSet )
- {
- aSet ? SetFlag( EIsSelectingShare ) :
- ClearFlag( EIsSelectingShare );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsSelectingShare
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsSelectingShare() const
- {
- return IsFlag( EIsSelectingShare );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetIsDialerOpen
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetIsDialerOpen( TBool aSet )
- {
- aSet ? SetFlag( EIsDialerOpen ) :
- ClearFlag( EIsDialerOpen );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsDialerOpen
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsDialerOpen() const
- {
- return IsFlag( EIsDialerOpen );
- }
-
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetIsFixedToolbarVisible
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetIsFixedToolbarVisible( TBool aSet )
- {
- aSet ? SetFlag( EIsFixedToolbarVisible ) :
- ClearFlag( EIsFixedToolbarVisible );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsFixedToolbarVisible
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsFixedToolbarVisible() const
- {
- return IsFlag( EIsFixedToolbarVisible );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetIsDialerActivating
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetIsDialerActivating( TBool aSet )
- {
- aSet ? SetFlag( EIsDialerActivating ) :
- ClearFlag( EIsDialerActivating );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsDialerActivating
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsDialerActivating() const
- {
- return IsFlag( EIsDialerActivating );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsCommandActivating
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsCommandActivating() const
- {
- return iCommandActivatingRefCount > 0;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsVolumeModeOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsVolumeModeOn() const
- {
- return IsFlag( EIsVolumeModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetVolumeModeOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetVolumeModeOn( TBool aSet )
- {
- aSet ? SetFlag( EIsVolumeModeOn ) :
- ClearFlag( EIsVolumeModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetIsFloatingToolbarVisible
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetIsFloatingToolbarVisible( TBool aSet )
- {
- aSet ? SetFlag( EIsFloatingToolbarVisible ) :
- ClearFlag( EIsFloatingToolbarVisible );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsFloatingToolbarVisible
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsFloatingToolbarVisible() const
- {
- return IsFlag( EIsFloatingToolbarVisible );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsVideoQualityModeOn
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsVideoQualityModeOn() const
- {
- return IsFlag( EIsVideoQualityModeOn );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetVideoQualityModeOn
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetVideoQualityModeOn( TBool aSet )
- {
- aSet ? SetFlag( EIsVideoQualityModeOn ) :
- ClearFlag( EIsVideoQualityModeOn );
- }
\ No newline at end of file
--- a/vtuis/videotelui/inc/compman/cvtuicomponentmanager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,435 +0,0 @@
-/*
-* Copyright (c) 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: Component manager implementation.
-*
-*/
-
-
-#ifndef C_VTUICOMPONENTMANAGER_H
-#define C_VTUICOMPONENTMANAGER_H
-
-#include <coeaui.h>
-
-#include "mvtuicomponentmanager.h"
-#include "mvtuicomponent.h"
-#include "tvtuicomponentstate.h"
-
-/**
- * CVtUiComponentManager
- *
- * Component manager implementation.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiComponentManager )
- : public CBase, public MVtUiComponentManager
- {
-
-public: // public methods
-
- /**
- * Static constructor.
- *
- * @return Newly created instance of CVtUiComponentManager class.
- */
- static CVtUiComponentManager* NewL();
-
- /**
- * Destructor.
- */
- ~CVtUiComponentManager();
-
- /**
- * Called when a Ws event is delivered.
- *
- * @param aEvent Window server event.
- * @param aDestination Event destination control.
- */
- void HandleWsEventL( const TWsEvent& aEvent, CCoeControl *aDestination );
-
- /**
- * Called when a resource change is informed.
- *
- * @param aType Type of change.
- */
- void HandleResourceChangeL( TInt aType );
-
- /**
- * Called when a keyevent needs handling.
- *
- * @param aKeyEvent Key event structure.
- * @param aCode Event code.
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType);
-
- /**
- * Called when a layout change is informed.
- *
- */
- void HandleLayoutChangeL();
-
-public: // from MVtUiComponentManager
-
- /**
- * @see MVtUiComponentManager::ChangeWsEventRegistration
- */
- TInt ChangeWsEventRegistration( MVtUiWindowServerEventObserver& aObserver,
- TAction aAction );
-
- /**
- * @see MVtUiComponentManager::ChangeResourceChangeRegistration
- */
- TInt ChangeResourceChangeRegistration(
- MVtUiResourceChangeObserver& aObserver,
- TAction aAction );
-
- /**
- * @see MVtUiComponentManager::ChangeKeyEventRegistration
- */
- TInt ChangeKeyEventRegistration( MVtUiKeyEventObserver& aComponent,
- TAction aAction );
-
- /**
- * @see MVtUiComponentManager::ChangeLayoutChangeRegistration
- */
- TInt ChangeLayoutChangeRegistration( MVtUiLayoutChangeObserver& aComponent,
- TAction aAction );
-
- /**
- * @see MVtUiComponentManager::ChangeComponentRegistration
- */
- TInt ChangeComponentRegistration( TVtUiComponentState& aComponentState,
- TAction aAction );
-
- /**
- * @see MVtUiComponentManager::RequestActivation
- */
- void RequestActivationL( MVtUiComponent::TComponentId aId );
-
- /**
- * @see MVtUiComponentManager::DeActivateComponentL
- */
- void DeActivateComponentL( MVtUiComponent::TComponentId aId );
-
-private: // private classes
-
- /**
- * TStateListItem
- *
- * Contains one component's state in state list.
- */
- class TStateListItem
- {
-
- public: // public type definitions
-
- /**
- * Compare by key type definition.
- */
- typedef TInt (*TKeyCmpFunc)
- ( const MVtUiComponent::TComponentId*, const TStateListItem& );
-
- public: // public methods
-
- /**
- * Constructor
- *
- * @param aState Constant reference to component state.
- */
- TStateListItem( const TVtUiComponentState& aState );
-
- /**
- * Returns component id.
- *
- * @return Component's id.
- */
- MVtUiComponent::TComponentId ComponentId() const;
-
- /**
- * Returns component's state.
- *
- * @return Component's state.
- */
- TVtUiComponentState::TState State() const;
-
- /**
- * Sets component's state.
- *
- * @param aState Component's new state.
- */
- void SetState( TVtUiComponentState::TState aState );
-
- /**
- * Returns const reference to block list.
- *
- * @return Constant reference to block list.
- */
- const TVtUiBlockList& BlockList() const;
-
- /**
- * Sets this object as root.
- */
- void SetRoot();
-
- /**
- * Returns ETrue if this object is root.
- *
- * @return ETrue if this item is root, EFalse otherwise.
- */
- TBool IsRoot() const;
-
- /**
- * Sets this object as visited.
- */
- void SetVisited();
-
- /**
- * Returns ETrue if this object is visited.
- *
- * @return ETrue if this item has been visited, EFalse otherwise.
- */
- TBool IsVisited() const;
-
- public: // static public methods
-
- /**
- * Returns TLinearOrder for RArray operations. Ordered by component id.
- *
- * @return TLinearOrder insntace for RArray operations. Ordering will
- * be done based on component Id.
- */
- static TLinearOrder< TStateListItem > LinearOrder();
-
- /**
- * Returns key order function for RArray operations.
- *
- * @return Key compare method pointer for RArray operations.
- */
- static TKeyCmpFunc KeyOrder();
-
- /**
- * Returns TLinearOrder for RArray operations. Ordered by component
- * state.
- *
- * @return TLinearOrder instance for RArray operations. Ordering will
- * be done based on component state.
- */
- static TLinearOrder< TStateListItem > StateOrder();
-
- private: // static private methods
-
- /**
- * StateListItem compare method.
- */
- static TInt ItemCmpFunc( const TStateListItem& aItem1,
- const TStateListItem& aItem2 );
-
- /**
- * StateListItem vs key compare method.
- */
- static TInt KeyCmpFunc( const MVtUiComponent::TComponentId* aKey,
- const TStateListItem& aItem );
-
- /**
- * StateListItem by state compare method.
- */
- static TInt StateCmpFunc( const TStateListItem& aItem1,
- const TStateListItem& aItem2 );
-
- private: // data
-
- // Component's ID
- MVtUiComponent::TComponentId iComponentId;
-
- // Component's state
- TVtUiComponentState::TState iState;
-
- // Block mask (IDs which will be blocked by this component)
- TVtUiBlockListBitField iBlockList;
-
- // ETrue if this component is the root compoent, EFalse otherwise
- TBool iIsRoot;
-
- // ETrue if this component has been already visited (i.e. evaluated)
- TBool iIsVisited;
-
- };
-
- /**
- * TStateList
- *
- * Contains list of component states. This list can be modified and when all
- * modifications are ready, the whole list can be commited at once.
- *
- */
- class TStateList
- {
-
- public: // public methods
-
- /**
- * Constructor.
- */
- TStateList();
-
- /**
- * Destructor.
- */
- ~TStateList();
-
- /**
- * Add new item to state list.
- *
- * @param aItem Reference to item to be added to the list.
- */
- void AddItemL( TStateListItem& aItem );
-
- /**
- * Returns number of items in state list.
- *
- * @return Number of items on list.
- */
- TInt ItemCount() const;
-
- /**
- * Find state list item by component id.
- *
- * @param aComponentId Id of component that will be searched.
- * @return Index of the component or KErrNotFound if component with
- * given Id could not be found.
- */
- TInt FindItem( MVtUiComponent::TComponentId aComponentId ) const;
-
- /**
- * Returns reference to state list item at given index.
- *
- * @param aIndex Index of the item to be fetched.
- * @return Reference to item at given index.
- */
- TStateListItem& At( TInt aIndex );
-
- /**
- * Returns const reference to state list item at given index.
- *
- * @param aIndex Index of the item to be fetched.
- * @return Constant reference to item at given index.
- */
- const TStateListItem& At( TInt aIndex ) const;
-
- /**
- * Sorts list using given linear order.
- *
- * @param aOrder TLinearObject that will be used in sorting.
- */
- void Sort(
- TLinearOrder< CVtUiComponentManager::TStateListItem > aOrder );
-
- private: // data
-
- // List items
- RArray< TStateListItem > iItems;
-
- };
-
-private: // enumerations
-
- /**
- * Activation actions
- */
- enum TActivationAction
- {
- /** Hide component */
- EHide,
- /** Show component */
- EShow
- };
-
-private:
-
- /**
- * Constructor
- */
- CVtUiComponentManager();
-
- /**
- * 2nd constructor, may leave
- */
- void ConstructL();
-
- /**
- * Adds or removes component from given array.
- */
- template < class T >
- TInt AddOrRemoveComponent( RPointerArray< T >& aArray, T* aComponent,
- TAction aAction );
-
- /**
- * Returns linear order object for array operations.
- */
- static TLinearOrder< MVtUiComponent > ComponentOrder();
-
- /**
- * Returns linear order object for array operations.
- */
- static TLinearOrder< TVtUiComponentState > ComponentStateOrder();
-
- /**
- * Starts activation process.
- */
- void DoActivationL( TVtUiComponentState& aComponentState,
- TVtUiComponentState::TState aNewState );
-
- /**
- * Starts deactivation process.
- */
- void DoDeactivationL( TVtUiComponentState& aComponentState,
- TVtUiComponentState::TState aNewState );
-
- /**
- * Calculates activation.
- */
- void CalculateActivationL( const TVtUiBlockList& aBlockList,
- const TVtUiBlockList& aExclList, TStateList& aStateList,
- TActivationAction aAction );
-
- /**
- * Commits activation calculation results.
- */
- void CommitStateListL( TStateList& aList );
-
- /**
- * Constructs component state list before the calculations.
- */
- void ConstructStateListL( TStateList& aList );
-
-private: // data
-
- // Window server event listeners
- RPointerArray< MVtUiWindowServerEventObserver > iWsEventObservers;
-
- // Resource change event listeners
- RPointerArray< MVtUiResourceChangeObserver > iResourceChangeObservers;
-
- // Key event listeners
- RPointerArray< MVtUiKeyEventObserver > iKeyEventObservers;
-
- // Layout change listeners
- RPointerArray< MVtUiLayoutChangeObserver > iLayoutChangeObservers;
-
- // Registered components
- RPointerArray< TVtUiComponentState > iComponents;
-
- };
-
-#endif // C_VTUICOMPONENTMANAGER_H
--- a/vtuis/videotelui/inc/compman/mvtuicomponent.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 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: VT UI Component API definition.
-*
-*/
-
-
-#ifndef M_VTUICOMPONENT_H
-#define M_VTUICOMPONENT_H
-
-#include <e32base.h>
-
-class CCoeControl;
-
-/**
- * MVtUiComponent
- *
- * UI component API definition.
- *
- * @since S60 v3.2
- */
-class MVtUiComponent
- {
-
-public: // enumerations
-
- /**
- * Component Ids.
- */
- enum TComponentId
- {
- /** NULL component Id */
- EComponentIdNull = 0,
- /** Toobar component Id */
- EComponentIdToolbar = ( 1 << 0 ),
- /** Number entry component Id */
- EComponentIdNumberEntry = ( 1 << 1 ),
- /** Video quality component id */
- EComponentIdVideoQuality = ( 1 << 2 ),
- /** White balance feature id */
- EComponentIdWhiteBalance = ( 1 << 3 ),
- /** Color tone component id */
- EComponentIdColorTone = ( 1 << 4 ),
- /** Brightness component id */
- EVComponentIdBrightness = ( 1 << 5 ),
- /** Contrast component id */
- EVComponentIdContrast = ( 1 << 6 ),
- /** Dialer component id */
- EComponentIdDialer = ( 1 << 7 ),
- /** Volume component id */
- EComponentIdVolume = ( 1 << 8 ),
- /** Zoom component id */
- EComponentIdZoom = ( 1 << 9 )
- };
-
-public: // public methods
-
- /**
- * Returns component id.
- *
- * @return Component's id.
- */
- virtual TComponentId ComponentId() const = 0;
-
- /**
- * Returns this component as a CCoeControl.
- *
- * @return Component as a pointer to CCoeControl or NULL if this component
- * is not inherited from CCoeControl.
- */
- virtual CCoeControl* ComponentAsControl() = 0;
-
- /**
- * Activates component.
- */
- virtual void DoActivateL() = 0;
-
- /**
- * Deactivates component.
- */
- virtual void DoDeactivateL() = 0;
-
- };
-
-#endif // M_VTUICOMPONENT_H
--- a/vtuis/videotelui/inc/compman/mvtuicomponentmanager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 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: VT UI Component manager API definition.
-*
-*/
-
-
-#ifndef M_VTUICOMPONENTMANAGER_H
-#define M_VTUICOMPONENTMANAGER_H
-
-#include <e32base.h>
-
-#include "mvtuicomponent.h"
-
-class TVtUiComponentState;
-class MVtUiWindowServerEventObserver;
-class MVtUiResourceChangeObserver;
-class MVtUiKeyEventObserver;
-class MVtUiLayoutChangeObserver;
-
-/**
- * MVtUiComponentManager
- *
- * Component manager API definition.
- *
- * @since S60 v3.2
- */
-class MVtUiComponentManager
- {
-
-public: // enumerations
-
- /**
- * Registration action.
- */
- enum TAction
- {
- /** Register action */
- ERegister,
-
- /** Unregister action */
- EUnregister
- };
-
-public: // public methods
-
- /**
- * Register or unregister Ws event listening.
- *
- * @param aComponent Observer whose registration will be changed.
- * @param aAction Registration action
- * @see MVtUiComponentManager::TAction
- * @return KErrNone if registration action succeeded.
- */
- virtual TInt ChangeWsEventRegistration(
- MVtUiWindowServerEventObserver& aComponent,
- TAction aAction ) = 0;
-
- /**
- * Register or unregister resource change event listening.
- *
- * @param aComponent Observer whose registration will be changed.
- * @param aAction Registration action
- * @see MVtUiComponentManager::TAction
- * @return KErrNone if registration action succeeded.
- */
- virtual TInt ChangeResourceChangeRegistration(
- MVtUiResourceChangeObserver& aComponent,
- TAction aAction ) = 0;
-
- /**
- * Register or unregister key event listening.
- *
- * @param aComponent Observer whose registration will be changed.
- * @param aAction Registration action
- * @see MVtUiComponentManager::TAction
- * @return KErrNone if registration action succeeded.
- */
- virtual TInt ChangeKeyEventRegistration( MVtUiKeyEventObserver& aComponent,
- TAction aAction ) = 0;
-
- /**
- * Register or unregister layout change listening.
- *
- * @param aComponent Observer whose registration will be changed.
- * @param aAction Registration action
- * @see MVtUiComponentManager::TAction
- * @return KErrNone if registration action succeeded.
- */
- virtual TInt ChangeLayoutChangeRegistration( MVtUiLayoutChangeObserver& aComponent,
- TAction aAction ) = 0;
-
- /**
- * Register or unregister component.
- *
- * @param aComponent Observer whose registration will be changed.
- * @param aAction Registration action
- * @see MVtUiComponentManager::TAction
- * @return KErrNone if registration action succeeded.
- */
- virtual TInt ChangeComponentRegistration( TVtUiComponentState& aComponent,
- TAction aAction ) = 0;
-
- /**
- * Request component activation.
- *
- * @param aId Id of component to be activated.
- */
- virtual void RequestActivationL( MVtUiComponent::TComponentId aId ) = 0;
-
- /**
- * Deactivate component.
- *
- * @param aId Id of component to be deactivated.
- */
- virtual void DeActivateComponentL( MVtUiComponent::TComponentId aId ) = 0;
-
- };
-
-#endif // M_VTUICOMPONENTMANAGER_H
--- a/vtuis/videotelui/inc/compman/mvtuikeyeventobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 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: Key event observer API for components.
-*
-*/
-
-
-#ifndef M_VTUIKEYEVENTOBSERVER_H
-#define M_VTUIKEYEVENTOBSERVER_H
-
-#include <w32std.h>
-#include <coedef.h>
-
-/**
- * MVtUiKeyEventObserver
- *
- * Keyevent observer API definition.
- *
- * @since S60 v3.2
- */
-class MVtUiKeyEventObserver
- {
-
-public:
-
- /**
- * Called when key event handling is required.
- *
- * @param aEvent The key event.
- * @param aCode The type of key event: EEventKey, EEventKeyUp or
- * EEventKeyDown.
- * @return Indicates whether or not the key event was used.
- */
- virtual TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode ) = 0;
-
- };
-
-#endif // M_VTUIKEYEVENTOBSERVER_H
--- a/vtuis/videotelui/inc/compman/mvtuilayoutchangeobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* 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: Layout change observer API definition.
-*
-*/
-
-
-#ifndef M_VTUILAYOUTCHANGEOBSERVER_H
-#define M_VTUILAYOUTCHANGEOBSERVER_H
-
-#include <e32def.h>
-
-/**
- * MVtUiLayoutChangeObserver
- *
- * Layout change observer API definition.
- *
- * @since S60 v3.2
- */
-class MVtUiLayoutChangeObserver
- {
-
-public:
-
- /**
- * Called when layout have been changed.
- *
- */
- virtual void HandleLayoutChangeL() = 0;
-
- };
-
-#endif // M_VTUIRESOURCECHANGEOBSERVER_H
--- a/vtuis/videotelui/inc/compman/mvtuiresourcechangeobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 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: Resource change observer API definition.
-*
-*/
-
-
-#ifndef M_VTUIRESOURCECHANGEOBSERVER_H
-#define M_VTUIRESOURCECHANGEOBSERVER_H
-
-#include <e32def.h>
-
-/**
- * MVtUiResourceChangeObserver
- *
- * Resource change observer API definition.
- *
- * @since S60 v3.2
- */
-class MVtUiResourceChangeObserver
- {
-
-public:
-
- /**
- * Called when resources have been changed.
- *
- * @param aType The type of resources that have changed.
- */
- virtual void HandleResourceChangeL( TInt aType ) = 0;
-
- };
-
-#endif // M_VTUIRESOURCECHANGEOBSERVER_H
--- a/vtuis/videotelui/inc/compman/mvtuiwindowservereventobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 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: Window Server event observer API definition.
-*
-*/
-
-
-#ifndef M_VTUIWINDOWSERVEREVENTOBSERVER_H
-#define M_VTUIWINDOWSERVEREVENTOBSERVER_H
-
-class TWsEvent;
-class CCoeControl;
-
-/**
- * MVtUiWindowServerEventObserver
- *
- * Window Server event observer API definition.
- *
- * @since S60 v3.2
- */
-class MVtUiWindowServerEventObserver
- {
-
-public:
-
- /**
- * Called when window server event handling is required.
- *
- * @param aEvent A window server event.
- * @param aDestination The control associated with the event.
- * This is only relevant for pointer events.
- */
- virtual void HandleWsEventL( const TWsEvent& aEvent,
- CCoeControl* aDestination ) = 0;
-
- };
-
-#endif // M_VTUIWINDOWSERVEREVENTOBSERVER_H
--- a/vtuis/videotelui/inc/compman/tvtuiblocklists.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* Copyright (c) 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: VT UI component state definition.
-*
-*/
-
-
-#ifndef T_VTUIBLOCKLISTS_H
-#define T_VTUIBLOCKLISTS_H
-
-#include <e32base.h>
-
-#include "mvtuicomponent.h"
-
-/**
- * CVtUiBlockListIterator
- *
- * Class for iterating through component's block list.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiBlockListIterator ) : public CBase
- {
-
-public: // public abstract methods
-
- /**
- * Returns ETrue if there is more component Ids left in the iterator.
- *
- * @return ETrue if there is more Ids left, EFalse otherwise.
- */
- virtual TBool HasNext() const = 0;
-
- /**
- * Returns next component id.
- *
- * @return Next component Id.
- */
- virtual MVtUiComponent::TComponentId Next() = 0;
-
- };
-
-/**
- * TVtUiBlockList
- *
- * Base class for component block lists.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiBlockList )
- {
-
-public: // public methods
-
- /**
- * Destructor.
- */
- virtual ~TVtUiBlockList();
-
-public: // public abstract methods
-
- /**
- * Returns ETrue if block list is empty.
- *
- * @return ETrue if this block list is empty, EFalse otherwise.
- */
- virtual TBool IsEmpty() const = 0;
-
- /**
- * Returns ETrue if block list contains given component id.
- *
- * @param aId Component Id to check.
- * @return ETrue if this block list contains given component Id, EFalse
- * otherwise.
- */
- virtual TBool Contains( MVtUiComponent::TComponentId aId ) const = 0;
-
- /**
- * Merges this block list with given block list.
- *
- * @param aBlockList List to merge into this block list.
- */
- virtual void Union( const TVtUiBlockList& aBlockList ) = 0;
-
- /**
- * Returns new instance of block list iterator. Instance is owned by the
- * caller, but it is also pushed to cleanupstack.
- *
- * @return Instance to block list iterator. Iterator is for this block
- * list instance.
- */
- virtual CVtUiBlockListIterator* IteratorLC() const = 0;
-
-protected: // protected methods
-
- /**
- * Constructor.
- */
- TVtUiBlockList();
-
- };
-
-/**
- * TVtUiBlockListBitField
- *
- * Component block list in which component IDs are defined as bits (i.e.
- * only single bit is set per ID).
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiBlockListBitField ) : public TVtUiBlockList
- {
-
-public: // public methods
-
- /**
- * Default construct, initialized block list as empty.
- */
- TVtUiBlockListBitField();
-
- /**
- * Constructor that initializes block list.
- *
- * @param aBlockMask Component Ids that will be added to block list.
- */
- TVtUiBlockListBitField( TUint aBlockMask );
-
-public: // from
-
- /**
- * @see TVtUiBlockList::IsEmpty
- */
- TBool IsEmpty() const;
-
- /**
- * @see TVtUiBlockList::Contains
- */
- TBool Contains( MVtUiComponent::TComponentId aId ) const;
-
- /**
- * @see TVtUiBlockList::Union
- */
- void Union( const TVtUiBlockList& aBlockList );
-
- /**
- * @see TVtUiBlockList::IteratorLC
- */
- CVtUiBlockListIterator* IteratorLC() const;
-
-private: // inner classes
-
- /**
- * CVtUiBListIteratorBF
- *
- * @since S60 v3.2
- */
- class CVtUiBListIteratorBF : public CVtUiBlockListIterator
- {
-
- public: // public methods
-
- /**
- * Static constructor
- *
- * @param aBlockMask Components Ids.
- */
- static CVtUiBListIteratorBF* NewLC( const TUint& aBlockMask );
-
- private: // private methods
-
- /**
- * Constructor
- */
- CVtUiBListIteratorBF( const TUint& aBlockMask );
-
- private: // from CVtUiBlockListIterator
-
- /**
- * @see CVtUiBlockListIterator::HasNext
- */
- TBool HasNext() const;
-
- /**
- * @see CVtUiBlockListIterator::Next
- */
- MVtUiComponent::TComponentId Next();
-
- private: // data
-
- // Blockmask from TVtUiBlockListBitField
- const TUint iBlockMask;
-
- // Current id
- TUint iCurrent;
-
- };
-
-private: // data
-
- // Block list as bit field, this requires that component ids are defined
- // as bitfields.
- TUint iBlockMask;
-
- };
-
-#endif // T_VTUIBLOCKLISTS_H
--- a/vtuis/videotelui/inc/compman/tvtuicomponentstate.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 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: VT UI component state definition.
-*
-*/
-
-
-#ifndef T_VTUICOMPONENTSTATE_H
-#define T_VTUICOMPONENTSTATE_H
-
-#include <e32base.h>
-
-#include "tvtuiblocklists.h"
-
-/**
- * TVtUiComponentState
- *
- * Component state definition.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( TVtUiComponentState )
- {
-
-public: // enumerations
-
- enum TState
- {
- /** Component is inactive */
- EInactive,
-
- /** Component is activated but some other component is blocking it */
- EWaiting,
-
- /** Component is active */
- EActive
- };
-
-public: // public methods
-
- /**
- * Activate component.
- */
- void ActivateComponentL();
-
- /**
- * Blocks component.
- */
- void BlockComponentL();
-
- /**
- * Deactivates component.
- */
- void DeActivateComponentL();
-
- /**
- * Returns component's state.
- *
- * @return Component's current state.
- */
- TState State() const;
-
- /**
- * Returns component.
- *
- * @return Constant reference to component.
- */
- const MVtUiComponent& Component() const;
-
- /**
- * Returns const reference to the block list.
- *
- * @return Constant reference to component's block list.
- */
- const TVtUiBlockList& BlockList() const;
-
- /**
- * Returns reference to the block list.
- *
- * @return Reference to component's block list.
- */
- TVtUiBlockList& BlockList();
-
-protected: // protected methods
-
- /**
- * Constructor
- *
- * @param aComponent Component for this state instance.
- * @param aBlockList Block list for this state intance.
- */
- TVtUiComponentState( MVtUiComponent& aComponent,
- const TVtUiBlockList& aBlockList );
-
-protected:
-
- // Reference to component
- MVtUiComponent& iComponent;
-
- // Blocklist
- TVtUiBlockListBitField iBlockList;
-
- // Component's state
- TState iState;
-
- };
-
-#endif // T_VTUICOMPONENTSTATE_H
--- a/vtuis/videotelui/inc/cvtuiappshutter.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
-* 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: Class responsible for application exit.
-*
-*/
-
-
-#ifndef C_VTUIAPPSHUTTER_H
-#define C_VTUIAPPSHUTTER_H
-
-#include <babitflags.h>
-
-#include <MPhCltEmergencyCallObserver.h>
-#include <cphcltemergencycall.h>
-#include <rphcltserver.h>
-
-class CAsyncCallBack;
-class MVtUiShutterObserver;
-class MVtUiStateContext;
-
-/**
-* Shutdown service for the application. This is singleton
-* which deletes itself when shutdown is complete.
-*
-* @since S60 v3.2
-*/
-class CVtUiAppShutter : public CBase
- {
-public:
-
- /**
- * Returns the instance of application shutter.
- *
- * @param aComms for sending call ending related commands to Phone.
- * @param aObserver observer informed when shutdown is completed.
- * @return the application shutter
- */
- static CVtUiAppShutter* InstanceL(
- MVtUiShutterObserver& aObserver );
-
- /**
- * Starts shutdown.
- */
- void StartShutdown();
-
- /**
- * Starts shutdown because emergency call was requested by the user.
- * If supplied number is detected other than emergency number this method
- * leaves KErrArgument.
- * @param aStateContext for accessing emergency number and local
- * variation.
- */
- void ShutdownWithEmergencyCallL( MVtUiStateContext& aStateContext );
-
- /**
- * Callback from emergency caller.
- */
- void EmergencyCallDoneL();
-
-private:
-
- /**
- * Exits the application if no pending shutdown preparation
- * is ongoing. Deletes itself as last action.
- */
- void ShutdownIfReadyAndDestroy();
-
-
- /**
- * Enques async callback.
- */
- void EnqueCallbackL( TCallBack& aCallback );
-
- /**
- * Asynch callback handling response to emergency call creation.
- */
- static TInt EmergencyResponseCallback( TAny* aAny );
-
- /** C++ constructor */
- CVtUiAppShutter( MVtUiShutterObserver& aObserver );
-
- /** destructor */
- ~CVtUiAppShutter();
-
-private: // for making shutdown with emergency call
- class CEmergencyCaller : public CBase, private MPhCltEmergencyCallObserver
- {
- public:
- /**
- * Dials emergency call. Object destroys itself when
- * response is received.
- */
- static CEmergencyCaller* DialEmergencyL(
- CVtUiAppShutter& aObserver,
- MVtUiStateContext& aStateContext );
-
- // Destructor
- ~CEmergencyCaller();
-
- private: // C++ constructor
-
- CEmergencyCaller(
- CVtUiAppShutter& aObserver,
- MVtUiStateContext& aStateContext );
-
- /**
- * 2nd phase constructor
- */
- void ConstructL();
-
- private: // from MPhCltEmergencyCallObserver
- /**
- * @see MPhCltEmergencyCallObserver::HandleEmergencyDialL
- */
- virtual void HandleEmergencyDialL( const TInt aStatus );
-
- private: // Data
-
- // Emergency number
- TPhCltTelephoneNumber iNumber;
-
- // Phone Server session
- RPhCltServer iServer;
-
- // Emergency call handler
- CPhCltEmergencyCall* iEmergency;
-
- // Observer for callback
- CVtUiAppShutter& iObserver;
-
- // State context for gettin entered numbers and local variation
- MVtUiStateContext& iStateContext;
- };
-private: // Data
-
- /**
- * Guard flags for completing shutdown.
- * All must be cleared before shutdown
- * can be completed.
- */
- enum TShutterFlags
- {
- /** Waiting for call on StartShutdown() */
- EShutterWaitingStart,
- /** Waiting for callback on emegency call request */
- EShutterWaitingEmergencyCallback,
- };
-
- // Asynch callback
- CAsyncCallBack* iCallback;
-
- // guard flags
- TBitFlags8 iPendingStateFlags;
-
- // Observer to notify when application exit
- // is allowed.
- MVtUiShutterObserver& iObserver;
-
- // Handles emergency call dialling
- CEmergencyCaller* iEmergencyCaller;
-
- };
-
-#endif // C_VTUIAPPSHUTTER_H
--- a/vtuis/videotelui/inc/cvtuidtmfbuffer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
-* 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: DTMF buffer definition.
-*
-*/
-
-
-#ifndef C_VTUIDTMFBUFFER_H
-#define C_VTUIDTMFBUFFER_H
-
-#include <e32base.h>
-#include "mvtuinumbersource.h"
-
-class CCoeEnv;
-class TKeyEvent;
-
-// Maximum size of the DTMF buffer
-const TInt KVtUiDTMFBufferSize = 64;
-
-/**
-* TVtUiBaseComponentState
-*
-* Base componentstate definition.
-*
-* @since S60 v5.0
-*/
-class CVtUiDTMFBuffer : public CActive, public MVtUiNumberSource
- {
-
-public:
-
- /**
- * Static construction method.
- * @param aCoeEnv Reference to CoeEnv object.
- * @return Pointer to newly created instance of CVtUiDTMFBuffer.
- */
- static CVtUiDTMFBuffer* NewL( const CCoeEnv& aCoeEnv );
-
- /**
- * C++ destructor.
- */
- ~CVtUiDTMFBuffer();
-
- /**
- * Append one character to DTMF buffer.
- * @param aChar Character to append.
- * @return ETrue if the given character was appended (i.e. it is a DTMF)
- */
- TBool Append( TChar aChar );
-
- /**
- * Clears the contents of the DTMF buffer.
- */
- void Reset();
-
- /**
- * Promote this instance as current number source.
- */
- void Activate();
-
- /**
- * Demote this instance from current number source position.
- */
- void Deactivate();
-
-public: // from MVtUiNumberSource
-
- /**
- * @see MVtUiNumberSource::GetContents
- */
- void GetContents( TDes& aContents ) const;
-
-private: // from CActive
-
- /**
- * @see CActive::DoCancel
- */
- void DoCancel();
-
- /**
- * @see CActive::RunL
- */
- void RunL();
-
-private:
-
- /**
- * C++ constructor
- */
- CVtUiDTMFBuffer( const CCoeEnv& aCoeEnv );
-
- /**
- * 2nd constructor, may leave.
- */
- void ConstructL();
-
- /**
- * Starts buffer modification monitoring timer. If this timer expires,
- * buffer will be reset. Timer is restarted when new character is added to
- * the buffer.
- */
- void StartTimer();
-
- /**
- * Called when buffer modification monitoring timer has expired.
- */
- void TimerExpired( TInt aError );
-
- /**
- * Clears the contents of the DTMF buffer.
- */
- void ResetBuffer();
-
-private:
-
- // Reference to coeenv
- const CCoeEnv& iCoeEnv;
-
- // Timer instance
- RTimer iTimer;
-
- // DTMF buffer
- TBuf< KVtUiDTMFBufferSize > iBuffer;
-
- };
-
-#endif // C_VTUIDTMFBUFFER_H
--- a/vtuis/videotelui/inc/cvtuivideocontrolbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,354 +0,0 @@
-/*
-* Copyright (c) 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: Base class for video control.
-*
-*/
-
-
-#ifndef C_VTUIVIDEOCONTROLBASE_H
-#define C_VTUIVIDEOCONTROLBASE_H
-
-#include <coecntrl.h>
-#include <AknUtils.h>
-#include <babitflags.h>
-
-#include "MVtUiVideoWindow.h"
-#include "CVtUiBitmapManager.h"
-
-// FORWARD DECLARATIONS
-class CVtUiBitmapManager;
-class TAknTextLineLayout;
-class CAknsBasicBackgroundControlContext;
-/**
- * CVtUiVideoControlBase
- *
- * Video control base class.
- *
- * @since S60 v5.0
- */
-class CVtUiVideoControlBase : public CCoeControl, public MVtUiVideoWindow
- {
-
-protected: // enumerations
-
- // Rendering hints
- enum TRenderingHint
- {
- // If this hint is set, then control's background is filled with color
- // at index 0. This hint is mutually exclusive with ESkinnedBackground.
- // If neither EColoredBackground nor ESkinnedBackground is set, then
- // no background drawing is done.
- EColoredBackground,
-
- // If this is set, then control's background is skinned. This hint is
- // mutually exclusive with EColoredBackground. If neither
- // EColoredBackground nor ESkinnedBackground is set, then no background
- // drawing is done.
- ESkinnedBackground,
-
- // If this hint is set, then no blind icon is drawn.
- ENoBlindIcon,
-
- // If this hint is set, then no waiting text is shown.
- ENoWaitingText
- };
-
-public:
-
- /**
- * Destructor
- */
- ~CVtUiVideoControlBase();
-
-protected:
-
- /**
- * Constructor
- */
- CVtUiVideoControlBase( CVtUiBitmapManager& aBitmapManager );
-
- /**
- * 2nd constructor
- */
- void BaseConstructL();
-
- /**
- * Sets (enables) rendering hints
- */
- void SetRenderingHint( TRenderingHint aHint );
-
- /**
- * Clears (disables) rendering hints
- */
- void ClearRenderingHint( TRenderingHint aHint );
-
- /**
- * Returns reference to bitmap manager.
- */
- CVtUiBitmapManager& BitmapManager() const;
-
- /**
- * Returns pointer to bitmap with given ID.
- */
- CFbsBitmap* Bitmap( TVtUiBitmapPoolId aId ) const;
-
- /**
- * Fixes given point suitable for DP (e.g. x coordinates of the point is
- * even).
- */
- TPoint AdjustPointForDP( const TPoint aPoint ) const;
-
- /**
- * Fixes given rect suitable for DP (e.g. x coordinates and width of the
- * rectangle are even).
- */
- TRect AdjustRectForDP( const TRect aRect ) const;
-
-protected: // virtual methods
-
- /**
- * Gets waiting text layout.
- */
- virtual TAknTextLineLayout WaitingTextLayout( TInt aLine );
-
- /**
- * The size changed method. If you need to do special handling after the
- * control's size has changed, overwrite this method.
- */
- virtual void HandleSizeChanged();
-
- /**
- * Draws control background using current skin. If you need special
- * background rendering in inherited control, override this method.
- * There is no need to check ESkinnedBackground hint again in this method
- * because it has been checked prior to calling.
- */
- virtual void DrawSkinnedBackground( CWindowGc& aGc ) const;
-
- /**
- * Draws control background using color. If you need special
- * background rendering in inherited control, override this method.
- * There is no need to check EColoredBackground hint again in this method
- * because it has been checked prior to calling.
- */
- virtual void DrawColoredBackground( CWindowGc& aGc ) const;
-
- /**
- * Draws waiting text. If you need special waiting text rendering in
- * inherited control, override this method.
- * There is no need to check ENoWaitingText hint again in this method
- * because it has been checked prior to calling.
- */
- virtual TBool DrawWaitingText( CWindowGc& aGc ) const;
-
- /**
- * Draws blind icon. If you need special blind icon rendering in inherited
- * control, override this method.
- * There is no need to check ENoBlindIcon hint again in this method
- * because it has been checked prior to calling.
- */
- virtual void DrawBlind( CWindowGc& aGc ) const;
-
- /**
- * Draws stream. If you need special stream rendering in inherited control,
- * override this method. iStreamBitmap cannot be NULL if this method is
- * called.
- */
- virtual void DrawStream( CWindowGc& aGc ) const;
-
- /**
- * Returns blitting position (top-left corner) coordinates for the stream.
- */
- virtual TPoint StreamBlitPosition() const;
-
- /**
- * Returns clipping rectangle for the stream.
- */
- virtual TRect StreamClippingRect() const;
-
- /**
- * Returns pointer to blind bitmap or NULL if no bitmap is present.
- */
- virtual CFbsBitmap* BlindImage() const;
-
- /**
- * Returns pointer to blind mask or NULL if no mask is present.
- */
- virtual CFbsBitmap* BlindMask() const;
-
- /**
- * Returns blit position for blind icon.
- */
- virtual TPoint BlindBlitPosition() const;
-
-public: // from MVtUiVideoWindow
-
- /**
- * @see MVtUiVideoWindow::Reset
- */
- void Reset();
-
- /**
- * @see MVtUiVideoWindow::SetBlind
- */
- void SetBlind( TBool aStatus );
-
- /**
- * @see MVtUiVideoWindow::SetStreamBitmap
- */
- void SetStreamBitmap( CFbsBitmap* aStreamBitmap );
-
- /**
- * @see MVtUiVideoWindow::SetStreamBitmapReserve
- */
- void SetStreamBitmapReserve( CFbsBitmap* aStreamBitmap );
-
- /**
- * @see MVtUiVideoWindow::SetWaiting
- */
- void SetWaiting( TBool aShowWaitingText );
-
- /**
- * @see MVtUiVideoWindow::Redraw
- */
- void Redraw();
-
- /**
- * @see CCoeControl::MopSupplyObject
- */
- TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-
- /**
- * Set remote video control
- */
- virtual void SetRemoteVideoControl( CCoeControl* aRemoteControl );
-
- /**
- * Layout the postion and the size of the remote video control
- */
- virtual void LayoutRemoteVideo();
-
- /**
- * Returns pointer to remote video control or NULL if no remote video control is present.
- */
- CCoeControl * RemoteVideoControl();
-
-private: // from CCoeControl
-
- /**
- * @see CCoeControl::Draw
- */
- void Draw( const TRect& aRect ) const;
-
- /**
- * @see CCoeControl::SizeChanged
- */
- void SizeChanged();
-
- /**
- * @see CCoeControl::PositionChanged
- */
- void PositionChanged();
-
-private:
-
- /**
- * Redraws stream bitmap.
- */
- void RedrawStream();
-
- /**
- * Wraps waiting text if needed.
- */
- void WrapOnDemand();
-
- /**
- * Wraps waiting text.
- */
- void WrapWaitingTextL();
-
- /**
- * The draw method.
- */
- void DoDraw( CWindowGc& aGc ) const;
-
- /**
- * Draws control background.
- */
- void DoDrawBackground( CWindowGc& aGc ) const;
-
- /**
- * Draws waiting text.
- */
- TBool DoDrawWaitingText( CWindowGc& aGc ) const;
-
- /**
- * Draws blind icon.
- */
- void DoDrawBlind( CWindowGc& aGc ) const;
-
- /**
- * Draws stream.
- */
- void DoDrawStream( CWindowGc& aGc ) const;
-
- TBool IsAlphaZero() const;
-
- void SetAlpha( CWindowGc& aGc ) const;
-
-protected:
-
- // ETrue if blind icon is shown.
- TBool iBlindStatus;
-
- // Reference to stream bitmap.
- CFbsBitmap* iStreamBitmap;
-
- // ETrue if waiting text should be shown.
- TBool iWaitingTextShow;
-
- // Owned wrapped waiting text.
- HBufC* iWaitingTextWrapped;
-
- // Owned wrapped waiting text.
- CArrayFix< TPtrC >* iWaitingTextWrappedArray;
-
- // First line layout of waiting text.
- TAknLayoutText iWaitingTextLine1Layout;
-
- // Second line layout of waiting text.
- TAknLayoutText iWaitingTextLine2Layout;
-
- // Owned: background context.
- CAknsBasicBackgroundControlContext* iBgContext;
-
- // Reference to remote video control.
- CCoeControl* iRemoteVideoControl;
-
-private:
-
- // Pointer to bitmap manager.
- CVtUiBitmapManager* iBitmapManager;
-
- // Rendering hints
- TBitFlags32 iHints;
-
- // FrameUpdate() is called from AO.
- CAsyncCallBack* iAsyncFrameUpdated;
-
- mutable TBool iSetAlpha;
-
- };
-
-#endif // C_VTUIVIDEOCONTROLBASE_H
--- a/vtuis/videotelui/inc/features/cvtuifeaturebase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 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: CVtUiFeatureBase implementation.
-*
-*/
-
-
-#ifndef C_VTUIFEATUREBASE_H
-#define C_VTUIFEATUREBASE_H
-
-// INCLUDES
-#include <e32base.h>
-#include "mvtuifeature.h"
-
-// CLASS DECLARATION
-class CVtUiAppUi;
-class CVtUiFeatureManager;
-
-/**
-* Base class for Video Telephone application features.
-*
-* @since S60 3.2
-*/
-class CVtUiFeatureBase : public CBase, public MVtUiFeature
- {
- public: // public methods
- /**
- * C++ destructor.
- */
- ~CVtUiFeatureBase();
-
- public: // from MVtUiFeature
-
- /** @see MVtUiFeature */
- virtual void StartL();
-
- /** @see MVtUiFeature */
- virtual void Stop() = 0;
-
- /** @see MVtUiFeature */
- virtual void InitFeatureL() = 0;
-
- /** @see MVtUiFeature */
- TVtUiFeatureState State() const;
-
- /** @see MVtUiFeature */
- TVtUiFeatureId Id() const;
-
- protected:
- /**
- * C++ constructor
- *
- */
- CVtUiFeatureBase( TVtUiFeatureId aId,
- CVtUiFeatureManager& aFeatureManager );
-
- /**
- * BaseConstructL
- * For child class to use.
- * Calls constructL.
- */
- void BaseConstructL();
-
- /**
- * Callback function that inits the features.
- * @param aAny pointer to an instance of the class.
- * @return always KErrNone.
- */
- static TInt DoInitFeaturesL( TAny* aAny );
-
-
- protected: // data
-
- // Feature's unique Id
- const TVtUiFeatureId iId;
-
- // Reference to featuremanager
- CVtUiFeatureManager& iFeatureManager;
-
- // Features current state
- MVtUiFeature::TVtUiFeatureState iFeatureState;
-
- // Owned asynch callback.
- CAsyncCallBack* iAsyncCallback;
-
- };
-
-#endif // C_VTUIFEATUREBASE_H
\ No newline at end of file
--- a/vtuis/videotelui/inc/features/cvtuifeaturemanager.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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: Feature manager for Video Telephone application.
-*
-*/
-
-
-#ifndef C_VTUIFEATUREMANAGER_H
-#define C_VTUIFEATUREMANAGER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// CLASS DECLARATION
-class MVtUiFeature;
-class CVtUiAppUi;
-class CVtUiFeatureBase;
-class TVtUiStates;
-class MVtUiCommandManager;
-class MVtUiComponentManager;
-class CVtEngModel;
-/**
-* Feature manager for Video Telephone application.
-*
-* @since S60 v3.2
-*/
-class CVtUiFeatureManager : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CVtUiFeatureManager* NewL( CVtUiAppUi& aAppUi,
- TVtUiStates& aUiStates, MVtUiCommandManager& aCommandManager,
- MVtUiComponentManager& aComponentManager );
-
- /**
- * Destructor.
- */
- ~CVtUiFeatureManager();
-
- public: // New functions
-
- /**
- * Return reference to CVtUiAppUi class.
- */
- CVtUiAppUi& AppUi();
-
- /**
- * GetFeatureById
- */
- MVtUiFeature* GetFeatureById( TInt aId );
-
- /**
- * TVtUiStates
- */
- TVtUiStates& UiStates();
-
- /**
- * Command Manager
- */
- MVtUiCommandManager& CommandManager();
-
- /**
- * Component Manager
- */
- MVtUiComponentManager& ComponentManager();
-
- /**
- * Return reference to CVtEngModel class.
- */
- CVtEngModel& Model();
-
- private:
-
- /**
- * Second phase constructor
- */
- void ConstructL();
-
- /**
- * c++ constructor
- */
- CVtUiFeatureManager( CVtUiAppUi& aAppUi, TVtUiStates& aUiStates,
- MVtUiCommandManager& aCommandManager,
- MVtUiComponentManager& aComponentManager );
-
- /**
- * Creates all features
- */
- void CreateFeaturesL();
-
- private: // data
-
- // Feature list
- RPointerArray< CVtUiFeatureBase > iFeatures;
-
- // Ref to application ui.
- CVtUiAppUi& iAppUi;
-
- // Reference to UI states instance
- TVtUiStates& iUiStates;
-
- // Reference to command manager API
- MVtUiCommandManager& iCommandManager;
-
- // Reference to component manager API
- MVtUiComponentManager& iComponentManager;
-
- // Engine model.
- CVtEngModel* iModel;
-
- };
-
-#endif // C_VTUIFEATUREMANAGER_H
-// End of File
\ No newline at end of file
--- a/vtuis/videotelui/inc/features/dialer/cvtuicmdclosedialer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* 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: Dialer close command.
-*
-*/
-
-
-#ifndef C_VTUICMDCLOSEDIALER_H
-#define C_VTUICMDCLOSEDIALER_H
-
-#include "cvtuifeaturecmdbase.h"
-
-class MVtUiCommandManager;
-
-/**
- * CVtUiCmdCloseDialer
- *
- * @since S60 v5.0
- */
-class CVtUiCmdCloseDialer : public CVtUiFeatureCmdBase
- {
-
-public:
-
- /**
- * Static constructor
- *
- * @param aCommandManager Reference to command manager.
- * @param aFeature Reference to minidialer feature.
- * @return Newly created instance to CVtUiCmdCloseDialer.
- */
- static CVtUiCmdCloseDialer* NewL( MVtUiCommandManager& aCommandManager,
- MVtUiFeature& aFeature );
-
- /**
- * Destructor
- */
- ~CVtUiCmdCloseDialer();
-
-private: // from CVtUiFeatureCmdBase
-
- /**
- * @see CVtUiFeatureCmdBase::HandleL
- */
- void HandleL();
-
- /**
- * @see CVtUiFeatureCmdBase::IsEnabled
- */
- TBool CVtUiCmdCloseDialer::IsEnabled() const;
-
-private:
-
- /**
- * Constructor
- */
- CVtUiCmdCloseDialer( MVtUiCommandManager& aCommandManager,
- MVtUiFeature& aFeature );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
-private:
-
- // Reference to command manager API.
- MVtUiCommandManager& iCommandManager;
-
- };
-
-#endif // C_VTUICMDCLOSEDIALER_H
--- a/vtuis/videotelui/inc/features/dialer/cvtuicmdopendialer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* 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: Dialer open command.
-*
-*/
-
-
-#ifndef C_VTUICMDOPENDIALER_H
-#define C_VTUICMDOPENDIALER_H
-
-#include "cvtuifeaturecmdbase.h"
-
-class MVtUiCommandManager;
-
-/**
- * CVtUiCmdOpenDialer
- *
- * @since S60 v5.0
- */
-class CVtUiCmdOpenDialer : public CVtUiFeatureCmdBase
- {
-
-public:
-
- /**
- * Static constructor
- *
- * @param aCommandManager Reference to command manager.
- * @param aFeature Reference to minidialer feature.
- * @return Newly created instance to CVtUiCmdOpenDialer.
- */
- static CVtUiCmdOpenDialer* NewL( MVtUiCommandManager& aCommandManager,
- MVtUiFeature& aFeature );
-
- /**
- * Destructor
- */
- ~CVtUiCmdOpenDialer();
-
-private:
-
- /**
- * Constructor
- */
- CVtUiCmdOpenDialer( MVtUiCommandManager& aCommandManager,
- MVtUiFeature& aFeature );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
-private:
-
- // Reference to command manager API.
- MVtUiCommandManager& iCommandManager;
-
- };
-
-#endif // C_VTUICMDOPENDIALER_H
--- a/vtuis/videotelui/inc/features/dialer/cvtuidialer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* 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: Dialer UI feature.
-*
-*/
-
-
-#ifndef C_VTUIDIALER_H
-#define C_VTUIDIALER_H
-
-#include "cvtuifeaturebase.h"
-#include "mvtuidialer.h"
-
-class CVtUiFeatureCmdBase;
-class CVtUiDialerContainer;
-
-/**
- * CVtUiDialer
- *
- * Mini dialer UI feature definition.
- *
- * @since S60 v5.0
- */
-class CVtUiDialer : public CVtUiFeatureBase, public MVtUiDialer
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to featuremanager.
- * @return Newly created instance to CVtUiDialer.
- */
- static CVtUiDialer* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiDialer();
-
-public: // from CVtUiFeatureBase
-
- /**
- * @see CVtUiFeatureBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiFeatureBase::Stop
- */
- void Stop();
-
- /**
- * @see CVtUiFeatureBase::InitFeatureL
- */
- void InitFeatureL();
-
-private: // from MVtUiDialer
-
- /**
- * @see MVtUiDialer::VideoWindow
- */
- MVtUiVideoWindow& VideoWindow() const;
-
- /**
- * @see MVtUiDialer::VideoControl
- */
- CCoeControl& VideoControl() const;
-
-private:
-
- /**
- * Constructor
- */
- CVtUiDialer( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Preapres feature before start.
- */
- void PrepareL();
-
- /**
- * Unprepares feature after stop.
- */
- void Unprepare();
-
-private:
-
- // Open command
- CVtUiFeatureCmdBase* iCmdOpen;
-
- // Open command
- CVtUiFeatureCmdBase* iCmdClose;
-
- // Dialer container
- CVtUiDialerContainer* iDialerContainer;
-
- };
-
-#endif // C_VTUIDIALER_H
--- a/vtuis/videotelui/inc/features/dialer/cvtuidialercontainer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* 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: Dialer container class.
-*
-*/
-
-
-#ifndef C_VTUIDIALERCONTAINER_H
-#define C_VTUIDIALERCONTAINER_H
-
-#include <coecntrl.h>
-#include "CVtUiAppUi.h"
-#include "mvtuicomponent.h"
-#include "mvtuiresourcechangeobserver.h"
-#include "mvtuikeyeventobserver.h"
-#include "mvtuinumbersource.h"
-#include "tvtuicomponentstate.h"
-
-// FORWARD DECLARATIONS
-class MVtUiVideoWindow;
-class MVtUiComponentManager;
-class CVtUiBitmapManager;
-class CVtUiDialerVideoControl;
-class CVideoDTMFDialer;
-class TVtUiStates;
-class CVtUiDialerSKModifier;
-class CVtUiFeatureManager;
-class CVtUiDTMFBuffer;
-class CAknsBasicBackgroundControlContext;
-
-// CONSTANTS
-const TInt KVtUiDigitBufferSize = 128;
-
-/**
- * TVtUiMiniDialerComponentState
- *
- * Mini dialer component state definition.
- *
- * @since S60 v5.0
- */
-class TVtUiDialerComponentState : public TVtUiComponentState
- {
-
-public:
-
- /**
- * Constructor
- */
- TVtUiDialerComponentState( MVtUiComponent& aComponent );
-
- };
-
-/**
- * CVtUiDialerContainer
- *
- * Mini dialer UI feature definition.
- *
- * @since S60 v5.0
- */
-class CVtUiDialerContainer : public CCoeControl,
- public MVtUiResourceChangeObserver, public MVtUiComponent,
- public MVtUiNumberSource, public MVtUiKeyEventObserver
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- * @param aComponentManager Reference to component manager.
- * @param aBitmapManager Reference to bitmap manager.
- * @return Newly created instance of CVtUiDialerContainer.
- */
- static CVtUiDialerContainer*
- NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiDialerContainer();
-
- /**
- * Registers component to component manager's event handling mechanism.
- * @exception May leave with error KErrAlreadyExists, if the component
- * has already been registered.
- */
- void RegisterComponentL();
-
- /**
- * Unregisters component from component manager's event handling mechanism.
- */
- void UnregisterComponent();
-
- /**
- * Returns video window.
- * @return Pointer to video window.
- */
- MVtUiVideoWindow* ComponentAsVideoWindow();
-
- /**
- * @see CCoeControl::MopSupplyObject
- */
- TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-
-private: // from MVtUiResourceChangeObserver
-
- /**
- * @see MVtUiResourceChangeObserver::HandleResourceChangeL
- */
- void HandleResourceChangeL( TInt aType );
-
-
-private: // from MVtUiComponent
-
- /**
- * @see MVtUiComponent::ComponentId
- */
- TComponentId ComponentId() const;
-
- /**
- * @see MVtUiComponent::ComponentAsControl
- */
- CCoeControl* ComponentAsControl();
-
- /**
- * @see MVtUiComponent::DoActivateL
- */
- void DoActivateL();
-
- /**
- * @see MVtUiComponent::DoDeactivateL
- */
- void DoDeactivateL();
-
-private: // from MVtUiNumberSource
-
- /**
- * @see MVtUiNumberSource::GetContents
- */
- void GetContents( TDes& aContents ) const;
-
-private: // from MVtUiKeyEventObserver
-
- /**
- * @see MVtUiNumberSource::OfferKeyEventL
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode );
-
-private: // from CCoeControl
-
- /**
- * @see CCoeControl::Draw
- */
- void Draw( const TRect& aRect ) const;
-
- /**
- * @see CCoeControl::SizeChanged
- */
- void SizeChanged();
-
- /**
- * @see CCoeControl::PositionChanged
- */
- void PositionChanged();
-
- /**
- * @see CCoeControl::CountComponentControls
- */
- TInt CountComponentControls() const;
-
- /**
- * @see CCoeControl::ComponentControl
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
-private:
-
- /**
- * Constructor
- */
- CVtUiDialerContainer( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL( CVtUiBitmapManager& aBitmapManager );
-
- /**
- * Layouts this control.
- */
- void LayoutDialerContainer();
-
- /**
- * Returns dialer's rect (wrapper to VtUiLayout).
- */
- TRect DialerRect() const;
-
- /**
- * Resets digit buffer.
- */
- void Reset();
-
- /**
- * Appends new digit to digit buffer. If buffer is full, oldest digit is
- * deleted.
- */
- void AppendDigit( TChar aDigit );
-
- /**
- * Static callback method for deactivating dialer asynchronously.
- */
- static TInt ASyncDoDeactivate( TAny* aSelf );
-
-private:
-
- // Component state
- TVtUiDialerComponentState iComponentState;
-
- // Feature manager instance
- CVtUiFeatureManager* iFeatureManager;
-
- // Component manager
- MVtUiComponentManager* iComponentManager;
-
- // UI states
- TVtUiStates& iUiStates;
-
- // Video control instance
- CVtUiDialerVideoControl* iVideoControl;
-
- // Dialer instance
- CVideoDTMFDialer* iDialer;
-
- // Buffer for digits
- CVtUiDTMFBuffer* iInputBuffer;
-
- // Rendering mode
- CVtUiAppUi::TRenderingMode iMode;
-
- // Softkey modifier for dialer feature
- CVtUiDialerSKModifier* iSKModifier;
-
- // Asynccallback instance for handling asynchronous deactivation.
- CAsyncCallBack* iAsyncDeactivate;
-
- // Owned: background context.
- CAknsBasicBackgroundControlContext* iBgContext;
-
- };
-
-#endif // C_VTUIDIALERCONTAINER_H
--- a/vtuis/videotelui/inc/features/dialer/cvtuidialerskmodifier.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* 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: Dialer feature softkey modifier class.
-*
-*/
-
-
-#ifndef C_VTUIDIALERSKMODIFIER_H
-#define C_VTUIDIALERSKMODIFIER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "cvtuicommandmodifybase.h"
-
-// FORWARD DECLARATIONS
-class CVtUiFeatureManager;
-
-/**
- * CVtUiDialerSKModifier
- *
- * Modifies softkeys for dialer control.
- *
- * @since S60 v5.0
- */
-class CVtUiDialerSKModifier : public CVtUiCommandModifyBase
- {
-
-public: // static methods
- /**
- * Static constructor.
- *
- */
- static CVtUiDialerSKModifier* NewL( CVtUiFeatureManager& aFeatureMgr );
-
- /**
- * Destructor
- */
- ~CVtUiDialerSKModifier();
-
-public: // from base class
-
- /**
- * @See CVtUiCommandModifyBase::ModifyCommandsL
- */
- virtual void ModifyCommandsL( MVtUiCommandSetting& aCommandSettings );
-
- /**
- * @See CVtUiCommandModifyBase::Supports
- */
- virtual TBool Supports( MVtUiCommandSetting::Type aType ) const;
-
-private:
- /**
- * C++ constructor
- *
- */
- CVtUiDialerSKModifier( CVtUiFeatureManager& aFeatureMgr );
-
-private: // data
-
- // refrence to appui
- CVtUiFeatureManager& iFeatureMgr;
-
- };
-
-#endif // C_VTUIDIALERSKMODIFIER_H
--- a/vtuis/videotelui/inc/features/dialer/cvtuidialervideocontrol.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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: Video control.
-*
-*/
-
-
-#ifndef C_VTUIDIALERVIDEOCONTROL_H
-#define C_VTUIDIALERVIDEOCONTROL_H
-
-#include "cvtuivideocontrolbase.h"
-
-/**
- * CVtUiDialerVideoControl
- *
- * Mini dialer UI feature definition.
- *
- * @since S60 v5.0
- */
-class CVtUiDialerVideoControl : public CVtUiVideoControlBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aBitmapManager Reference to bitmap manager.
- * @return Newly created instance of CVtUiDialerVideoControl.
- */
- static CVtUiDialerVideoControl* NewL( CVtUiBitmapManager& aBitmapManager );
-
- /**
- * Destructor
- */
- ~CVtUiDialerVideoControl();
-public:
- /**
- * LayoutRemoteVideo
- */
- void LayoutRemoteVideo();
-
-private:
-
- /**
- * Constructor
- */
- CVtUiDialerVideoControl( CVtUiBitmapManager& aBitmapManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
-private: // from CVtUiVideoControlBase
-
- /**
- * @see CVtUiVideoControlBase::WaitingTextLayout
- */
- TAknTextLineLayout WaitingTextLayout( TInt aLine );
-
- };
-
-#endif // C_VTUIDIALERVIDEOCONTROL_H
--- a/vtuis/videotelui/inc/features/dialer/mvtuidialer.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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: Dialer API for VT application.
-*
-*/
-
-
-#ifndef M_VTUIDIALER_H
-#define M_VTUIDIALER_H
-
-class MVtUiVideoWindow;
-class CCoeControl;
-
-/**
- * MVtUiDialer
- *
- * Mini dialer UI feature API for AppUi.
- *
- * @since S60 v5.0
- */
-class MVtUiDialer
- {
-
-public:
-
- /**
- * Get reference to video window control
- * @return Reference to video window.
- */
- virtual MVtUiVideoWindow& VideoWindow() const = 0;
-
- /**
- * Get reference to video window control
- * @return Reference to video control.
- */
- virtual CCoeControl& VideoControl() const = 0;
-
- };
-
-#endif //
--- a/vtuis/videotelui/inc/features/menu/cvtuimenucontext.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 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: Menu context class definition.
-*
-*/
-
-
-#ifndef C_VTUIMENUCONTEXT_H
-#define C_VTUIMENUCONTEXT_H
-
-#include <e32base.h>
-
-#include "cvtuicmdcontext.h"
-
-/**
- * CVtUiMenuContext
- *
- * Menu command context class definition.
- *
- * @since S60 v3.2
- */
-class CVtUiMenuContext : public CVtUiCmdContext
- {
-
-public: // public methods
-
- /**
- * C++ destructor.
- *
- */
- ~CVtUiMenuContext();
-
- /**
- * Leave safe destructor.
- *
- */
- static CVtUiMenuContext* NewL( MVtUiCommandManager& aCommandManager );
-
-public: // from CVtUiCmdContext
-
- /**
- * @see CVtUiCmdContext::ValidateL
- */
- void ValidateL( CVtUiCmdValidationActionBase& aAction );
-
-private:
-
- /**
- * C++ constructor
- *
- * @param aPriority Validator priority.
- */
- CVtUiMenuContext( MVtUiCommandManager& aCommandManager );
-
- /**
- * 2nd consttuctor, may leave.
- */
- void ConstructL();
-
-private: // data
-
- };
-
-#endif // C_VTUIMENUCONTEXT_H
--- a/vtuis/videotelui/inc/features/menu/cvtuimenuitemdimmeraction.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 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: Menu dimmer action class definition.
-*
-*/
-
-
-#ifndef C_VTUIMENUITEMDIMMERACTION_H
-#define C_VTUIMENUITEMDIMMERACTION_H
-
-#include <e32base.h>
-
-#include "cvtuicmdvalidationactionbase.h"
-
-class CEikMenuPane;
-
-/**
- * CVtUiCmdValidationActionBase
- *
- * Menu item dimmer action definition.
- *
- * @since S60 v3.2
- */
-class CVtUiMenuItemDimmerAction : public CVtUiCmdValidationActionBase
- {
-
-public:
-
- /**
- * Leave-safe constructor.
- *
- */
- static CVtUiMenuItemDimmerAction* NewL();
-
- /**
- * Sets menu pane instance.
- *
- */
- void SetMenuPane( CEikMenuPane* aMenuPane );
-
-public: // from CVtUiCmdValidationActionBase
-
- /**
- * @see CVtUiCmdValidationActionBase::ProcessL
- */
- void ProcessL( const MVtUiCmdValidatorCallBack& aCallBack );
-
- /**
- * @see CVtUiCmdValidationActionBase::EndProcess
- */
- void EndProcess();
-
-private:
-
- /**
- * C++ constructor.
- *
- */
- CVtUiMenuItemDimmerAction();
-
- /**
- * Sets given menu command dimmed in menu.
- *
- */
- void SetItemDimmed( TInt aCommandId );
-
-private: // data
-
- // Menu pane instance this action is currently working on
- CEikMenuPane* iMenuPane;
-
- };
-
-#endif // C_VTUIMENUITEMDIMMERACTION_H
--- a/vtuis/videotelui/inc/features/menu/cvtuimenus.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 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: Menu UI feature.
-*
-*/
-
-
-#ifndef C_VTUIMENUS_H
-#define C_VTUIMENUS_H
-
-#include "cvtuifeaturebase.h"
-#include "mvtuicommandui.h"
-
-class CVtUiMenuContext;
-class CVtUiMenuItemDimmerAction;
-class CEikMenuPane;
-class CVtUiCommandModifyBase;
-
-/**
- * CVtUiMenus
- *
- * Menu feature definition.
- *
- * @since S60 v3.2
- */
-class CVtUiMenus : public CVtUiFeatureBase, public MVtUiCommandUi
- {
-
-public:
-
- /**
- * Static constructor
- */
- static CVtUiMenus* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiMenus();
-
-public:
-
- /**
- * Sets menu context.
- */
- void SetMenuPane( CEikMenuPane* aMenuPane );
-
-public: // from CVtUiFeatureBase
-
- /**
- * @see CVtUiFeatureBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiFeatureBase::Stop
- */
- void Stop();
-
- /**
- * @see CVtUiFeatureBase::InitFeatureL
- */
- void InitFeatureL();
-
-public: // from MVtUiCommandUi
-
- /**
- * @see MVtUiCommandUi::RefreshL
- */
- void RefreshL();
-
- /**
- * @see MVtUiCommandUi::AddCommandModifier
- */
- TInt AddCommandModifier( CVtUiCommandModifyBase& );
-
- /**
- * @see MVtUiCommandUi::RemoveCommandModifier
- */
- void RemoveCommandModifier( CVtUiCommandModifyBase& );
-
-private:
-
- /**
- * Constructor
- */
- CVtUiMenus( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
-private:
-
- // Menu context instance
- CVtUiMenuContext* iMenuCommandContext;
-
- // Menu dimmer action instance
- CVtUiMenuItemDimmerAction* iMenuDimmerAction;
-
- };
-
-#endif // C_VTUIMENUS_H
--- a/vtuis/videotelui/inc/features/menu/tvtuimenucommanditerator.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 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: Menu command iterator class definition.
-*
-*/
-
-
-#ifndef T_VTUIMENUCOMMANDITERATOR_H
-#define T_VTUIMENUCOMMANDITERATOR_H
-
-#include "mvtuicommanditerator.h"
-
-/**
- * TVtUiMenuCommandIterator
- *
- * Menu command iterator class definition.
- *
- * @since S60 v3.2
- */
-class TVtUiMenuCommandIterator : public MVtUiCommandIterator
- {
-
-public: // public methods
-
- /**
- * C++ constructor
- *
- */
- TVtUiMenuCommandIterator( CEikMenuPane& aMenuPane );
-
-public: // from MVtUiCommandIterator
-
- /**
- * @see MVtUiCommandIterator::HasNext
- */
- TBool HasNext() const;
-
- /**
- * @see MVtUiCommandIterator::Next
- */
- TInt Next();
-
-private:
-
- // Pointer to menu pane to be iterated
- CEikMenuPane* iMenuPane;
-
- // Current iteration point
- TInt iCurrent;
-
- };
-
-#endif // T_VTUIMENUCOMMANDITERATOR_H
--- a/vtuis/videotelui/inc/features/mvtuifeature.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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: Observer interface for handling features
-*
-*/
-
-
-#ifndef MVTUIFEATURE_H
-#define MVTUIFEATURE_H
-
-// INCLUDES
-#include <e32std.h>
-
-#include "tvtuifeatureids.h"
-
-// CLASS DECLARATION
-
-/**
-* Interface for handling features
-*
-* @since S60 v3.2
-*/
-class MVtUiFeature
- {
- public: // New functions
- /**
- * ENotSupported
- * feature is not supported in current configuration.
- * EUnprepared
- * starting may require some init code to run.
- * EPreparing
- * running initialization code.
- * EReady
- * feature can be started.
- * EActive
- * feature is running.
- * EDisabled
- * feature is supported but cannot be started at this time.
- * EFailed
- * started but failed (maybe temporary or permanent, feature specific)
- */
- enum TVtUiFeatureState
- {
- ENotSupported,
- EUnprepared,
- EPreparing,
- EReady,
- EActive,
- EDisabled,
- EFailed
- };
-
- /**
- * Starts the feature.
- */
- virtual void StartL() = 0;
-
- /**
- * Stops the feature.
- */
- virtual void Stop() = 0;
-
- /**
- * Current state of the feature
- */
- virtual TVtUiFeatureState State() const = 0;
-
- /**
- * Id()
- */
- virtual TVtUiFeatureId Id() const = 0;
- };
-
-#endif // MVTUIFEATURE_H
-// End of File
--- a/vtuis/videotelui/inc/features/numberentry/CVtUiNumberEntryControl.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 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: Number entry control for Video Telephone application.
-*
-*/
-
-
-
-#ifndef CVTUINUMBERENTRYCONTROL_H
-#define CVTUINUMBERENTRYCONTROL_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <AknUtils.h>
-
-#include "mvtuicomponent.h"
-#include "tvtuicomponentstate.h"
-#include "mvtuinumbersource.h"
-
-// FORWARD DECLARATIONS
-class MVtUiFeature;
-class MVtUiComponentManager;
-class TVtUiStates;
-class MVtUiNumberEntryControlObserver;
-class CVtUiDTMFBuffer;
-
-// CLASS DECLARATION
-
-/**
-* TVtUiNumberEntryComponentState
-*
-* Component state implementation for Number Entry control. Component state is
-* used by the Component Manager.
-*
-* @since S60 3.2
-*/
-class TVtUiNumberEntryComponentState : public TVtUiComponentState
- {
-
-public:
-
- /**
- * Constructor.
- */
- TVtUiNumberEntryComponentState( MVtUiComponent& aComponent );
-
- };
-
-/**
-* Number entry control for Video Telephone application.
-*
-* @since Series 60 2.6
-*/
-class CVtUiNumberEntryControl
- : public CCoeControl, public MVtUiComponent
- {
- public: // Constructors and destructor
-
- /**
- * C++ constructor.
- * @param aAppUi application ui.
- * @param aUiStates ui states
- */
- CVtUiNumberEntryControl( MVtUiFeature& aFeature,
- TVtUiStates& aUiStates );
-
- /**
- * Symbian constructor.
- * @param aRect initial area.
- */
- void ConstructL( const TRect& aRect );
-
- /**
- * C++ destructor.
- */
- ~CVtUiNumberEntryControl();
-
- public: // New functions
-
- /**
- * Opens number entry.
- * @return ETrue if number entry was opened, EFalse otherwise.
- */
- TBool OpenNumberEntry();
-
- /**
- * Returns ETrue if number entry is open.
- * @return ETrue if number entry is open.
- */
- TBool IsNumberEntryOpen() const;
-
- /**
- * Closes number entry.
- */
- void CloseNumberEntry();
-
- /**
- * Register component to component manager.
- */
- void RegisterComponentL( MVtUiComponentManager& aComponentManager );
-
- /**
- * Unregister component to component manager.
- */
- void UnregisterComponent( MVtUiComponentManager& aComponentManager );
-
- /**
- * Adds number entry control observer.
- */
- void SetNumberEntryControlObserver(
- MVtUiNumberEntryControlObserver* aObserver );
-
- public: // Functions from base classes
-
- /**
- * @see CCoeControl::OfferKeyEventL.
- */
- virtual TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- private:
-
- /**
- * Callback function to close number entry.
- * @param aAny pointer to an instance of this class.
- * @return KErrNone.
- */
- static TInt DoCloseNumberEntry( TAny* aAny );
-
- /**
- * Called from DoCloseNumberEntry when number entry needs to be closed.
- */
- void HandleTimeoutCloseNumberEntry();
-
- /**
- * Return ETrue if menu or dialog is being displayed.
- */
- TBool IsDisplayingMenuOrDialog() const;
-
- private: // from MVtUiComponent
-
- /**
- * @see MVtUiComponent::ComponentId
- */
- TComponentId ComponentId() const;
-
- /**
- * @see MVtUiComponent::ComponentAsControl
- */
- CCoeControl* ComponentAsControl();
-
- /**
- * @see MVtUiComponent::DoActivateL
- */
- void DoActivateL();
-
- /**
- * @see MVtUiComponent::DoDeactivateL
- */
- void DoDeactivateL();
-
- private:
-
- // Reference to feature that owns this control.
- MVtUiFeature& iFeature;
-
- // Number entry area layout.
- TAknLayoutRect iNumberEntryAreaLayout;
-
- // Component state
- TVtUiNumberEntryComponentState iComponentState;
-
- // UI States
- TVtUiStates& iUiStates;
-
- // Number entry control observer
- MVtUiNumberEntryControlObserver* iControlObserver;
-
- // Buffer for digits
- CVtUiDTMFBuffer* iInputBuffer;
- };
-
-#endif // CVTUINUMBERENTRYCONTROL_H
-
-// End of File
--- a/vtuis/videotelui/inc/features/numberentry/cvtuinumberentry.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 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: Number entry UI feature definition.
-*
-*/
-
-
-#ifndef C_VTUINUMBERENTRY_H
-#define C_VTUINUMBERENTRY_H
-
-#include "mvtuicommandui.h"
-#include "cvtuifeaturebase.h"
-#include "mvtuinumberentrycontrolobserver.h"
-#include "cvtuifeaturemanager.h"
-
-class CVtUiNumberEntryControl;
-
-/**
- * CVtUiNumberEntry
- *
- * NumberEntry UI feature.
- *
- * @since S60 v3.2
- */
- class CVtUiNumberEntry : public CVtUiFeatureBase,
- public MVtUiNumberEntryControlObserver
- {
-
-public:
-
- /**
- * Static constructor
- */
- static CVtUiNumberEntry* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiNumberEntry();
-
-public: // from CVtUiFeatureBase
-
- /**
- * @see CVtUiFeatureBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiFeatureBase::Stop
- */
- void Stop();
-
- /**
- * @see CVtUiFeatureBase::InitFeatureL
- */
- void InitFeatureL();
-
-public: // from MVtUiNumberEntryControlObserver
-
- /**
- * @see MVtUiNumberEntryControlObserver::ControlActivatedL
- */
- void ControlActivatedL();
-
- /**
- * @see MVtUiNumberEntryControlObserver::ControlDeactivated
- */
- void ControlDeactivated();
-
-private:
-
- /**
- * Constructor
- */
- CVtUiNumberEntry( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Prepares feature
- */
- void PrepareL();
-
- /**
- * Unprepares feature
- */
- void Unprepare();
-
- /**
- * Creates number entry control instance
- */
- void CreateNumberEntryControlL();
-
- /**
- * Deletes number entry control instance
- */
- void DeleteNumberEntryControl();
-
-private:
-
- // Owned number entry control instance.
- CVtUiNumberEntryControl* iNumberEntryControl;
-
- };
-
-#endif // C_VTUINUMBERENTRY_H
--- a/vtuis/videotelui/inc/features/numberentry/mvtuinumberentrycontrolobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 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: Key event observer API for components.
-*
-*/
-
-
-#ifndef M_VTUINUMBERENTRYCONTROLOBSERVER_H
-#define M_VTUINUMBERENTRYCONTROLOBSERVER_H
-
-/**
-* MVtUiNumberEntryControlObserver
-*
-* Observer API for number entry control.
-*
-* @since S60 v3.2
-*/
-class MVtUiNumberEntryControlObserver
- {
-
-public:
-
- /**
- * Called when number entry control is activated.
- */
- virtual void ControlActivatedL() = 0;
-
- /**
- * Called when number entry control is deactivated.
- */
- virtual void ControlDeactivated() = 0;
-
- };
-
-#endif // M_VTUINUMBERENTRYCONTROLOBSERVER_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuibrightness.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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: Brightness ui feature
-*
-*/
-
-
-#ifndef C_VTUIBRIGHTNESS_H
-#define C_VTUIBRIGHTNESS_H
-
-#include "cvtuiprefsliderbase.h"
-
-/**
-* CVtUiBrightness
-*
-* Brightness ui feature
-*
-* @since S60 v3.2
-*/
-class CVtUiBrightness : public CVtUiPrefSliderBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiBrightness* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiBrightness();
-
-public: // from CVtUiPrefSliderBase
-
- /**
- * @see CVtUiPrefSliderBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiPrefSliderBase::Stop
- */
- void Stop();
-
-protected:
-
- /*
- * Constructor
- */
- CVtUiBrightness( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- };
-
-#endif // C_VTUIBRIGHTNESS_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuibrightnesspopup.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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: Brightness popup
-*
-*/
-
-
-#ifndef C_VTUIBRIGHTNESSPOPUP_H
-#define C_VTUIBRIGHTNESSPOPUP_H
-
-#include "tvtuicomponentstate.h"
-#include "cvtuiprefpopupbase.h"
-
-
-/**
-* CVtUiBrightnessPopup
-*
-* Brightness popup definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiBrightnessPopup : public CVtUiPrefPopupBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiBrightnessPopup* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiBrightnessPopup();
-
-protected: // from CVtUiPrefPopupBase
-
- // @see CVtUiPrefPopupBase::CurrentValue
- TInt CurrentValue() ;
-
-private:
-
- /**
- * Constructor
- */
- CVtUiBrightnessPopup( CVtUiFeatureManager& aFeatureManager );
-
- /*
- * 2nd constructor
- */
- void ConstructL();
-
- };
-
-#endif // C_VTUIBRIGHTNESSPOPUP_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuicolortone.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* 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: Color tone feature.
-*
-*/
-
-
-#ifndef C_VTUICOLORTONE_H
-#define C_VTUICOLORTONE_H
-
-#include <mvtengcamerapreferences.h>
-#include "cvtuiprefsettinglistbase.h"
-#include "cvtuifeaturebase.h"
-#include "tvtuicomponentstate.h"
-#include "mvtuicomponent.h"
-#include "mvtuilayoutchangeobserver.h"
-
-/**
-* TVtUiColorToneComponentState
-*
-* Video quality componentstate definition.
-*
-* @since S60 v3.2
-*/
-class TVtUiColorToneComponentState : public TVtUiComponentState
- {
-
-public:
-
- /**
- * Constructor
- * @param aComponent Reference to component.
- */
- TVtUiColorToneComponentState( MVtUiComponent& aComponent );
-
- };
-
-/**
-* CVtUiColorTone
-*
-* Color tone UI feature definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiColorTone : public CVtUiPrefSettingListBase,
- public MVtUiComponent, public MVtUiLayoutChangeObserver
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiColorTone* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiColorTone();
-
-public: // from MVtUiFeature
-
- /**
- * @see MVtUiFeature::StartL
- */
- void StartL();
-
- /**
- * @see MVtUiFeature::Stop
- */
- void Stop();
-
- /**
- * @see MVtUiFeature::InitFeatureL
- */
- void InitFeatureL();
-
-public: // from MVtUiComponent
-
- /**
- * @see MVtUiComponent::ComponentId
- */
- MVtUiComponent::TComponentId ComponentId() const;
-
- /**
- * @see MVtUiComponent::ComponentAsControl
- */
- CCoeControl* ComponentAsControl();
-
- /**
- * @see MVtUiComponent::DoActivateL
- */
- void DoActivateL();
-
- /**
- * @see MVtUiComponent::DoDeactivateL
- */
- void DoDeactivateL();
-
-public: // from MVtUiComponentManager
-
- /**
- * @see MVtUiComponentManager::HandleLayoutChangeL
- */
- void HandleLayoutChangeL();
-
-protected: // from base class
-
- /**
- * @see CVtUiPrefSettingListBase::CurrentSelection
- */
- virtual TInt CurrentSelection();
-
- /**
- * @see CVtUiPrefSettingListBase::SetItemsL
- */
- virtual void SetItemsL( CDesCArray& aArray );
-
- /**
- * @see CVtUiPrefSettingListBase::SettingPageResId
- */
- virtual TInt SettingPageResId() const;
-
- /**
- * @see CVtUiPrefSettingListBase::SettingPageItemChangedL
- */
- virtual void SettingPageItemChangedL( TInt aIndex );
-
-private:
-
- /**
- * Constructor
- */
- CVtUiColorTone( CVtUiFeatureManager& aFeatureManager );
-
- // Maps color tone enum to array index
- TInt MapCTEnumToArrayIndex( MVtEngCameraPreferences::TColorTone&
- aColorTone ) const;
-
- // Maps arrya index to color tone enum
- MVtEngCameraPreferences::TColorTone MapArrayIndexToCTEnum(
- TInt aIndex) const;
-
- // Callback function that stops the feature.
- static TInt DoStopL( TAny* aAny );
-
- // Callback function that starts the feature.
- static TInt DoStartL( TAny* aAny );
-
-private:
-
- // Component state
- TVtUiColorToneComponentState iComponentState;
-
- };
-
-#endif // CVTUICOLORTONE_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuicontrast.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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: Contrast ui feature
-*
-*/
-
-
-#ifndef C_VTUICONTRAST_H
-#define C_VTUICONTRAST_H
-
-#include "cvtuiprefsliderbase.h"
-
-
-/**
-* CVtUiContrast
-*
-* Contrast ui feature
-*
-* @since S60 v3.2
-*/
-class CVtUiContrast : public CVtUiPrefSliderBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiContrast* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiContrast();
-
-public: // from CVtUiPrefSliderBase
-
- /**
- * @see CVtUiPrefSliderBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiPrefSliderBase::Stop
- */
- void Stop();
-
-protected:
-
- /*
- * Constructor
- */
- CVtUiContrast( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- };
-
-#endif // C_VTUICONTRAST_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuicontrastpopup.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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: Contrast popup
-*
-*/
-
-
-#ifndef C_VTUICONTRASTPOPUP_H
-#define C_VTUICONTRASTPOPUP_H
-
-#include "tvtuicomponentstate.h"
-#include "cvtuiprefpopupbase.h"
-
-
-/**
-* CVtUiContrastPopup
-*
-* Contrast popup definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiContrastPopup : public CVtUiPrefPopupBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiContrastPopup* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiContrastPopup();
-
-protected: // from CVtUiPrefPopupBase
-
- // @see CVtUiPrefPopupBase::CurrentValue
- TInt CurrentValue();
-
-private:
-
- /**
- * Constructor
- */
- CVtUiContrastPopup( CVtUiFeatureManager& aFeatureManager );
-
- /*
- * 2nd constructor
- */
- void ConstructL();
-
- };
-
-#endif // C_VTUICONTRASTPOPUP_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuiprefpopupbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* 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: Base class for video preference popups
-*
-*/
-
-
-#ifndef C_VTUIPREFPOPUPBASE_H
-#define C_VTUIPREFPOPUPBASE_H
-
-
-#include "cvtuipopupbase.h"
-
-class MVtEngCameraPreferences;
-class CVtUiFeatureManager;
-/*
-* CVtUiPrefPopupBase
-*
-* Base class for video preference popups
-*
-* @since S60 v3.2
-*/
-class CVtUiPrefPopupBase : public CVtUiPopupBase
- {
-
-public:
-
- /**
- * Destructor
- */
- ~CVtUiPrefPopupBase();
-
-
-public: // from CVtUiPopupBase
-
- /**
- * @see CVtUiPopupBase::HandleControlEventL
- */
- void HandleControlEventL(
- CCoeControl* aControl,TCoeEvent aEventType );
-
- /**
- * @see CVtUiPopupBase::UpdatePopupL
- */
- void UpdatePopupL();
-
-private: // from base class
-
- /**
- * @see CVtUiPopupBase::OfferKeyEventL
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode );
-
-protected: // new functions
-
- // Does the actual viewfinder adjusting
- void AdjustVideoL( TInt aValue );
-
- // from base class CVtUiPopupBase::DoActivateL()
- void DoActivateL();
-
- // Gets current adjustvalue
- virtual TInt CurrentValue() = 0;
-
-protected:
-
- /**
- * Constructor
- */
- CVtUiPrefPopupBase( CVtUiFeatureManager& aFeatureManager,
- TVtUiBlockListBitField aBitField, TComponentId aComponentId,
- TInt aCmdId );
-
- /**
- * 2nd constructor
- */
- void BaseConstructL();
-
-protected:
-
- // Pointer to camera preferences
- MVtEngCameraPreferences* iCameraPref;
-
- // Reference to feature manager
- CVtUiFeatureManager& iFeatureManager;
-
- // Engine command id
- TInt iEngineCommandId;
-
- // Current value
- TInt iCurrent;
- };
-
-#endif // C_VTUIPREFPOPUPBASE_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuiprefsettinglistbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-* 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: Base class for video preference setting list.
-*
-*/
-
-
-#ifndef C_VTUIPEFSETTINGLISTBASE_H
-#define C_VTUIPEFSETTINGLISTBASE_H
-
-#include <AknTransparentCameraSettingPage.h>
-#include "mvtuicommandui.h"
-#include "cvtuifeaturebase.h"
-#include "mvtuicomponent.h"
-#include "tvtuicomponentstate.h"
-#include "tvtuifeatureids.h"
-#include "mvtuisettingpageobserver.h"
-
-class CVtUiAppUi;
-class CVtUiTransparentSettingPage;
-class MVtEngCameraPreferences;
-
-/**
-* CVtUiPrefSettingListBase
-*
-* Base class for color tone and white balance
-*
-* @since S60 v3.2
-*/
-class CVtUiPrefSettingListBase : public CVtUiFeatureBase,
- public MAknSettingPageObserver, MVtUiSettingPageObserver
- {
-
-public:
-
- /**
- * Destructor
- */
- ~CVtUiPrefSettingListBase();
-
- /**
- * has pending settingpange changed cmd cause camera cover switched.
- */
- TBool IsPendingCmd();
-
- /**
- * handle pending settingpange command
- */
- void HandlePendingCmdL();
-
-public: // from MVtUiFeature
-
- /**
- * @see MVtUiFeature::Stop
- */
- virtual void Stop() = 0;
-
- /**
- * @see MVtUiFeature::InitFeatureL
- */
- virtual void InitFeatureL();
-
-protected: // from MAknSettingPageObserver
-
- /**
- * @see MAknSettingPageObserver::HandleSettingPageEventL
- */
- void HandleSettingPageEventL(
- CAknSettingPage* aSettingPage,
- TAknSettingPageEvent aEventType );
-
-protected: // from MVtUiSettingPageObserver
-
- /**
- * @see MVtUiSettingPageObserver::ListStateChangedL
- */
- void ListStateChangedL();
-
-protected:
-
- // Gets currently selected list item
- virtual TInt CurrentSelection() = 0;
-
- // Set items to setting page
- virtual void SetItemsL( CDesCArray& aArray ) = 0;
-
- // Gets resource id for selection list
- virtual TInt SettingPageResId() const = 0;
-
- // This function gets called when focus is moved
- // to new item in the settin page list
- virtual void SettingPageItemChangedL( TInt aIndex ) = 0;
-
- // Start function calls this
- void StartSettingPageL();
-
- // Stop function calls this
- void StopSettingPageL();
-
-public: // from CCoeControl
-
- /*
- * @see CCoeControl::SizeChanged
- */
- void SizeChanged();
-
-public:
-
- /**
- * Updates setting pages background bitmap
- * @param aFrame Bitmap for setting page's backgound.
- */
- void UpdateBackground( CFbsBitmap* aFrame );
-
- /**
- * Updates setting value
- * E.g disabling video will reset camera settings. and
- * after enabling video camera setting value needs to be restored.
- */
- void UpdateSettingL();
-
-protected:
-
- /**
- * Constructor
- */
- CVtUiPrefSettingListBase( CVtUiFeatureManager& aFeatureManager,
- TVtUiFeatureId aFeatureId );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- // Reads item from resource and appends it to the array
- void ReadAndAppendItemL( CDesCArray& aItems, TInt aResId );
-
-private:
-
- // Does the initialisation of the setting page
- void CreateSettingPageL();
-
- // Resizes backround bitmap
- void ResizeBackroundBitmapRect( );
-
-protected:
-
- // Pointer to camera preferences
- MVtEngCameraPreferences* iCameraPref;
-
- // The original value (which was active when the
- // setting page was launched)
- TInt iOriginalSelection;
-
- // Supported color tone or white balance modes
- TUint32 iSupportedModes;
-
- // Contains currenltly supported items in setting page
- RArray< TInt> iActiveItems;
-
- // whether or not has a pending command
- TBool iPendingSettingChangeCmd;
-
-private:
-
- // Owned setting page instance
- CVtUiTransparentSettingPage* iSettingPage;
-
- // Background bitmap for setting page
- CFbsBitmap* iViewfinderBitmap;
-
- // Currently focused value
- TInt iCurrentSelection;
-
- // Position of bitmap's top left corner
- TPoint iBitmapTopLeftCorner;
-
- // Background bitmap's clip rect
- TRect iBitmapClippingRect;
-
- // Reference to appui
- CVtUiAppUi& iAppUi;
-
- // Window priority for context control
- TInt iWindowPriority;
-
- // Window position for context control
- TInt iWindowPosition;
-
-
- };
-
-#endif // CVTUIPEFSETTINGLISTBASE_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuiprefsliderbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* 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: Base class for video pref sliders
-*
-*/
-
-
-#ifndef CVTUIPREFSLIDERBASE_H
-#define CVTUIPREFSLIDERBASE_H
-
-#include "cvtuisliderbase.h"
-
-class CVtUiPopupBase;
-
-/**
-* CVtUiPrefSliderBase
-*
-* Base class for video pref sliders
-*
-* @since S60 v3.2
-*/
-class CVtUiPrefSliderBase : public CVtUiSliderBase
- {
-
-public:
-
- /**
- * Destructor
- */
- ~CVtUiPrefSliderBase();
-
-public: // from CVtUiSliderBase
-
- /**
- * @see CVtUiSliderBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiSliderBase::Stop
- */
- void Stop();
-
- /**
- * @see CVtUiSliderBase::InitFeatureL
- */
- void InitFeatureL();
-
-protected:
-
- /*
- * Constructor
- */
- CVtUiPrefSliderBase( CVtUiFeatureManager& aFeatureManager,
- TVtUiFeatureId aFeatureId );
-
- /**
- * 2nd constructor
- */
- void BaseConstructL( );
-
- };
-
-#endif // CVTUIPREFSLIDERBASE_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuiprefsliderskmodifier.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* 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: Video preference slider softkey modifier class definition.
-*
-*/
-
-
-#ifndef C_VTUIPREFSLIDERMODIFIER_H
-#define C_VTUIPREFSLIDERMODIFIER_H
-
-#include <e32base.h>
-#include "cvtuicommandmodifybase.h"
-
-class CVtUiAppUi;
-
-/**
-* CVtUiPrefSliderSKModifier
-*
-* Video preference slider softkey modifier class definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiPrefSliderSKModifier : public CVtUiCommandModifyBase
- {
- public: // static methods
- /**
- * Static constructor.
- * @param aAppUi Reference to command appui.
- * @param aResourceId Reference resource id.
- */
- static CVtUiPrefSliderSKModifier* NewL( CVtUiAppUi& aAppUi,
- TInt aResourceId );
-
- /**
- * Destructor
- */
- ~CVtUiPrefSliderSKModifier();
-
- public: // from base class
-
- /**
- * @See CVtUiCommandModifyBase::ModifyCommandsL
- */
- virtual void ModifyCommandsL( MVtUiCommandSetting& aCommandSettings );
-
- /**
- * @See CVtUiCommandModifyBase::Supports
- */
- virtual TBool Supports( MVtUiCommandSetting::Type aType ) const;
-
- private:
- /**
- * C++ constructor
- *
- */
- CVtUiPrefSliderSKModifier( CVtUiAppUi& aAppUi, TInt aResourceId );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- private: // data
-
- // refrence to appui
- CVtUiAppUi& iAppUi;
-
- // softkey resource id
- TInt iResourceId;
-
- };
-
-#endif // C_VTUIPREFSLIDERMODIFIER_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuitransparentsettingpage.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* 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: CVtUiTransparentSettingPage API definition.
-*
-*/
-
-
-#ifndef CVTUITRANSPARENTSETTINGPAGE_H
-#define CVTUITRANSPARENTSETTINGPAGE_H
-
-#include <AknTransparentCameraSettingPage.h>
-
-class MVtUiSettingPageObserver;
-class CAknsBasicBackgroundControlContext;
-
-/**
-* CVtUiTransparentSettingPage
-*
-* CVtUiTransparentSettingPage API definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiTransparentSettingPage : public CAknTransparentCameraSettingPage
-{
-public: // public methods
- /**
- * handle layoutChange
- */
- void HandleLayoutChangeL();
-
- /**
- * Constructor.
- * @param aResourceID Setting Page to use.
- * @param aCurrentSelectionIndex The currently selected index.
- * @param aItemArray List of option texts and their selection states.
- * @param aAppUi Reference to AppUi.
- * @return Newly created instance of CVtUiTransparentSettingPage class.
- */
- CVtUiTransparentSettingPage(
- TInt aResourceID,
- TInt& aCurrentSelectionIndex,
- const MDesCArray* aItemArray );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Destructor
- */
- ~CVtUiTransparentSettingPage();
-
- /**
- * Adds setting page observer.
- * @param aObserver Observer for setting page.
- */
- void SetSettingPageEventStateObserver(
- MVtUiSettingPageObserver* aObserver );
-
-private: // from aknsettinpage
-
- /**
- * @see CAknSettinPage::DynamicInitL
- */
- void DynamicInitL();
-
- /**
- * @get the layout data in portrait or landscape mode
- */
- void GetTheLayoutData();
-
- /**
- * @see CAknSettinPage::HandleControlEventL
- */
- void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType );
-
-private: // new functions
-
- /*
- * Gets rect from layout data.
- */
- TRect RectFromLayout( const TAknWindowComponentLayout&
- aComponentLayout ) const;
-
-private:
-
- // Setting page observer
- MVtUiSettingPageObserver* iSettingPageObserver;
-};
-
-#endif // CVTUITRANSPARENTSETTINGPAGE_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuivideoquality.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* 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: Video quality feature.
-*
-*/
-
-
-#ifndef C_VTUIVIDEOQUALITY_H
-#define C_VTUIVIDEOQUALITY_H
-
-#include <gulicon.h>
-#include "cvtuifeaturebase.h"
-#include "mvtuicomponent.h"
-#include "tvtuicomponentstate.h"
-#include "videotelui.hrh"
-
-/**
-* TVtUiVideoQualityComponentState
-*
-* Video quality componentstate definition.
-*
-* @since S60 v3.2
-*/
-class TVtUiVideoQualityComponentState : public TVtUiComponentState
- {
-
-public:
-
- /**
- * Constructor
- * @param aComponent Reference to component.
- */
- TVtUiVideoQualityComponentState( MVtUiComponent& aComponent );
-
- };
-
-/**
-* CVtUiVideoQuality
-*
-* Video quality UI feature definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiVideoQuality : public CVtUiFeatureBase,
- public MVtUiComponent
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiVideoQuality* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiVideoQuality();
-
-public: // from MVtUiFeature
-
- /**
- * @see MVtUiFeature::StartL
- */
- void StartL();
-
- /**
- * @see MVtUiFeature::Stop
- */
- void Stop();
-
- /**
- * @see MVtUiFeature::InitFeatureL
- */
- void InitFeatureL();
-
-public: // from MVtUiComponent
-
- /**
- * @see MVtUiComponent::ComponentId
- */
- MVtUiComponent::TComponentId ComponentId() const;
-
- /**
- * @see MVtUiComponent::ComponentAsControl
- */
- CCoeControl* ComponentAsControl();
-
- /**
- * @see MVtUiComponent::DoActivateL
- */
- void DoActivateL();
-
- /**
- * @see MVtUiComponent::DoDeactivateL
- */
- void DoDeactivateL();
-
-private:
-
- // Creates icons for list
- CGulIcon* CreateIconLC( TVtUiBitmapId aIconId, TVtUiBitmapId aMaskId );
-
- // Shows the selection list
- void ShowSelectionListL();
-
- // Async the selection list
- static TInt AsyncShowSelectionList( TAny* aPtr );
-
- // Reads items from source to target array and updates the selection icon
- // if needed.
- void SetItemsL( CDesCArray& aTarget,const CDesCArray& aSource );
-
- // Return curretly active item.
- TInt ActiveItem() const;
-
- // Item selected, adjust video quality.
- void ItemSelectedL( TInt aItemIndex );
-
-private:
-
- /**
- * Constructor
- */
- CVtUiVideoQuality( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Callback function that stops the feature.
- * @param aAny pointer to an instance of the class.
- * @return always KErrNone.
- */
- static TInt DoStop( TAny* aAny );
-
-private:
-
- // Component state
- TVtUiVideoQualityComponentState iComponentState;
-
- // Async callback for selection list
- CAsyncCallBack* iShowSelectionListCallback;
- };
-
-#endif // CVTUIVIDEOQUALITY_H
--- a/vtuis/videotelui/inc/features/prefs/cvtuiwhitebalance.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* 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: White balance feature.
-*
-*/
-
-
-#ifndef C_VTUIWHITEBALANCE_H
-#define C_VTUIWHITEBALANCE_H
-
-#include <mvtengcamerapreferences.h>
-#include "cvtuiprefsettinglistbase.h"
-#include "tvtuicomponentstate.h"
-#include "mvtuicomponent.h"
-#include "mvtuilayoutchangeobserver.h"
-
-/**
-* TVtUiWhiteBalanceComponentState
-*
-* Video quality componentstate definition.
-*
-* @since S60 v3.2
-*/
-class TVtUiWhiteBalanceComponentState : public TVtUiComponentState
- {
-
-public:
-
- /**
- * Constructor
- * @param aComponent Reference to component.
- */
- TVtUiWhiteBalanceComponentState( MVtUiComponent& aComponent );
-
- };
-
-/**
-* CVtUiWhiteBalance
-*
-* White balance UI feature definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiWhiteBalance : public CVtUiPrefSettingListBase,
- public MVtUiComponent, public MVtUiLayoutChangeObserver
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiWhiteBalance* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiWhiteBalance();
-
-public: // from MVtUiFeature
-
- /**
- * @see MVtUiFeature::StartL
- */
- void StartL();
-
- /**
- * @see MVtUiFeature:Stop
- */
- void Stop();
-
- /**
- * @see MVtUiFeature::InitFeatureL
- */
- void InitFeatureL();
-
-public: // from MVtUiComponent
-
- /**
- * @see MVtUiComponent::ComponentId
- */
- MVtUiComponent::TComponentId ComponentId() const;
-
- /**
- * @see MVtUiComponent::ComponentAsControl
- */
- CCoeControl* ComponentAsControl();
-
- /**
- * @see MVtUiComponent::DoActivateL
- */
- void DoActivateL();
-
- /**
- * @see MVtUiComponent::DoDeactivateL
- */
- void DoDeactivateL();
-
-public: // from MVtUiComponentManager
-
- /**
- * @see MVtUiComponentManager::HandleLayoutChangeL
- */
- void HandleLayoutChangeL();
-
-protected: // from base class
-
- /**
- * @see CVtUiPrefSettingListBase::CurrentSelection
- */
- virtual TInt CurrentSelection();
-
- /**
- * @see CVtUiPrefSettingListBase::SetItemsL
- */
- virtual void SetItemsL( CDesCArray& aArray );
-
- /**
- * @see CVtUiPrefSettingListBase::SettingPageResId
- */
- virtual TInt SettingPageResId() const;
-
- /**
- * @see CVtUiPrefSettingListBase::SettingPageItemChangedL
- */
- virtual void SettingPageItemChangedL( TInt aIndex );
-
-private:
-
- /**
- * Constructor
- */
- CVtUiWhiteBalance( CVtUiFeatureManager& aFeatureManager );
-
- // Maps white balance enum to array index
- TInt MapWBEnumToArrayIndex( MVtEngCameraPreferences::TWhiteBalance&
- aWhiteBalance ) const;
-
- // Maps arrya index to white balance enum
- MVtEngCameraPreferences::TWhiteBalance MapArrayIndexToWBEnum( TInt aIndex) const;
-
- // Callback function that stops the feature.
- static TInt DoStopL( TAny* aAny );
-
- // Callback function that starts the feature.
- static TInt DoStartL( TAny* aAny );
-
-private:
-
- // Component state
- TVtUiWhiteBalanceComponentState iComponentState;
-
- };
-
-#endif // CVTUIWHITEBALANCE_H
--- a/vtuis/videotelui/inc/features/prefs/mvtuisettingpageobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* 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: Observer API for CVtUiTransparentSettingPage.
-*
-*/
-
-
-#ifndef M_VTUISETTINGPAGEOBSERVER_H
-#define M_VTUISETTINGPAGEOBSERVER_H
-
-/**
-* MVtUiSettingPageObserver
-*
-* Observer API for CVtUiTransparentSettingPage.
-*
-* @since S60 v3.2
-*/
-class MVtUiSettingPageObserver
- {
-
-public:
-
- /**
- * Called when EEventStateChanged event occurs
- * in setting page.
- */
- virtual void ListStateChangedL() = 0;
-
- };
-
-#endif // M_VTUISETTINGPAGEOBSERVER_H
\ No newline at end of file
--- a/vtuis/videotelui/inc/features/softkey/cvtuisoftkeycontext.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 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: Softkey context class definition.
-*
-*/
-
-
-#ifndef C_VTUISOFTKEYCONTEXT_H
-#define C_VTUISOFTKEYCONTEXT_H
-
-#include <e32base.h>
-
-#include "cvtuicmdcontext.h"
-
-/**
- * CVtUiSoftkeyContext
- *
- * Softkey command context class definition.
- *
- * @since S60 v3.2
- */
-class CVtUiSoftkeyContext : public CVtUiCmdContext
- {
-
-public: // public methods
-
- /**
- * C++ destructor.
- */
- ~CVtUiSoftkeyContext();
-
- /**
- * Static constructor
- * @param aCommandManager Reference to command manager.
- */
- static CVtUiSoftkeyContext* NewL( MVtUiCommandManager& aCommandManager );
-
-public: // virtual methods
-
- /**
- * Make validations.
- *
- * @param aAction Reference to validation action base.
- */
- void ValidateL( CVtUiCmdValidationActionBase& aAction );
-
-private:
-
- /**
- * C++ constructor
- *
- * @param aCommandManager Reference to command manager.
- */
- CVtUiSoftkeyContext( MVtUiCommandManager& aCommandManager );
-
- /**
- * 2nd consttuctor, may leave.
- */
- void ConstructL();
-
- };
-
-#endif // C_VTUISOFTKEYCONTEXT_H
--- a/vtuis/videotelui/inc/features/softkey/cvtuisoftkeys.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 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: Softkey UI feature.
-*
-*/
-
-
-#ifndef C_VTUISOFTKEYS_H
-#define C_VTUISOFTKEYS_H
-
-#include "mvtuicommandui.h"
-#include "cvtuifeaturebase.h"
-
-class CEikButtonGroupContainer;
-class CVtUiSoftkeySetting;
-class CVtUiCommandModifyBase;
-class CVtUiSoftkeyValidationAction;
-class CVtUiSoftkeyContext;
-
-/**
- * CVtUiSoftkeys
- *
- * Sofktey UI feature definition.
- *
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiSoftkeys ) : public CVtUiFeatureBase,
- public MVtUiCommandUi
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- * @param aButtonGroupContainer Reference to button group container.
- */
- static CVtUiSoftkeys* NewL( CVtUiFeatureManager& aFeatureManager,
- CEikButtonGroupContainer& aButtonGroupContainer );
-
- /**
- * Destructor
- */
- ~CVtUiSoftkeys();
-
-public:
-
- /**
- * Returns reference to application button group container.
- */
- CEikButtonGroupContainer& ButtonGroup();
-
-public: // from CVtUiFeatureBase
-
- /**
- * @see CVtUiFeatureBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiFeatureBase::Stop
- */
- void Stop();
-
- /**
- * @see CVtUiFeatureBase::InitFeatureL
- */
- void InitFeatureL();
-
-public: // from MVtUiCommandUi
-
- /**
- * @see MVtUiCommandUi::RefreshL
- */
- void RefreshL();
-
- /**
- * @see MVtUiCommandUi::AddCommandModifierL
- */
- TInt AddCommandModifier( CVtUiCommandModifyBase& aModifier );
-
- /**
- * @see MVtUiCommandUi::RemoveCommandModifierL
- */
- void RemoveCommandModifier( CVtUiCommandModifyBase& aModifier );
-
-private:
-
- /**
- * Constructor
- */
- CVtUiSoftkeys( CVtUiFeatureManager& aFeatureManager,
- CEikButtonGroupContainer& aButtonGroupContainer );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
-private:
-
- // Softkey container
- CEikButtonGroupContainer& iButtonGroupContainer;
-
- // Softkey context instance
- CVtUiSoftkeyContext* iSoftkeyCommandContext;
-
- // Softkey setter
- CVtUiSoftkeySetting* iSoftkeySetting;
-
- // Softkey validation action instance
- CVtUiSoftkeyValidationAction* iSoftkeyValidationAction;
-
- };
-
-#endif // C_VTUISOFTKEYS_H
--- a/vtuis/videotelui/inc/features/softkey/cvtuisoftkeysetting.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 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: Softkey settings class definition.
-*
-*/
-
-
-#ifndef C_VTUISOFTKEYSETTING_H
-#define C_VTUISOFTKEYSETTING_H
-
-#include "cvtuicommandsetting.h"
-
-class CVtUiSoftkeys;
-class CVtUiSoftkeyValidationAction;
-
-/**
- * CVtUiSoftkeySetting
- *
- * Softkey setting class definition.
- *
- * @since S60 v3.2
- */
-class CVtUiSoftkeySetting :
- public CVtUiCommandSetting< CVtUiSoftkeyValidationAction >
- {
-
-public:
-
- /**
- * Constructor
- * @param aSoftkeys Reference to softkeysr.
- */
- CVtUiSoftkeySetting( CVtUiSoftkeys& aSoftkeys );
-
- /**
- * Destructor
- */
- ~CVtUiSoftkeySetting();
-
-public: // from CVtUiCommandSetting
-
- /**
- * @see CVtUiCommandSetting::DoDefineCommandsL
- */
- void DoDefineCommandsL();
-
-private:
-
- // Softkey container
- CVtUiSoftkeys* iSoftkeys;
-
- };
-
-#endif // C_VTUISOFTKEYSETTING_H
--- a/vtuis/videotelui/inc/features/softkey/cvtuisoftkeyvalidationaction.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 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: Softkey validation action class definition.
-*
-*/
-
-
-#ifndef C_CVTUISOFTKEYVALIDATIONACTION_H
-#define C_CVTUISOFTKEYVALIDATIONACTION_H
-
-#include <e32base.h>
-
-#include "cvtuicmdvalidationactionbase.h"
-
-/**
- * CVtUiSoftkeyValidationAction
- *
- * Softkey validation action definition.
- *
- * @since S60 v3.2
- */
-class CVtUiSoftkeyValidationAction : public CVtUiCmdValidationActionBase
- {
-
-public:
-
- /**
- * Static constructor
- */
- static CVtUiSoftkeyValidationAction* NewL();
-
-public: // from CVtUiCmdValidationActionBase
-
- /**
- * @see CVtUiCmdValidationActionBase::BeginProcess
- */
- void BeginProcess();
-
- /**
- * @see CVtUiCmdValidationActionBase::ProcessL
- */
- void ProcessL( const MVtUiCmdValidatorCallBack& aCallBack );
-
-public: // new methods
-
- /**
- * Returns resource id after validation process.
- */
- TInt ResourceId() const;
-
-private:
-
- /**
- * C++ constructor.
- *
- */
- CVtUiSoftkeyValidationAction();
-
-private: // data
-
- // Index to currently selected softkey
- TInt iCurrentIdx;
-
- };
-
-#endif // C_CVTUISOFTKEYVALIDATIONACTION_H
--- a/vtuis/videotelui/inc/features/toolbar/cvtuifixedtoolbar.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* 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: Fixed toolbar UI feature class definition.
-*
-*/
-
-
-#ifndef C_VTUIFIXEDTOOLBAR_H
-#define C_VTUIFIXEDTOOLBAR_H
-
-#include "cvtuitoolbarbase.h"
-
-/**
-* CVtUiFixedToolbar
-*
-* Toolbar UI feature definition.
-*
-* @since S60 3.2
-*/
-class CVtUiFixedToolbar : public CVtUiToolbarBase
- {
- public: // public methods
-
- /**
- * Static constructor.
- * @param aFeatureManager feature manager.
- */
- static CVtUiFixedToolbar* NewL(CVtUiFeatureManager& aFeatureManager );
-
- /**
- * C++ destructor.
- */
- ~CVtUiFixedToolbar();
-
- public: // from CVtUiToolbarBase
-
- /**
- * @see CVtUiToolbarBase::DoActivateL
- */
- void DoActivateL();
-
- /**
- * @see CVtUiToolbarBase::DoDeactivateL
- */
- void DoDeactivateL();
-
- /**
- * @see CVtUiToolbarBase::CreateToolbarButtonsL
- */
- void CreateToolbarButtonsL();
-
- /**
- * @see CVtUiToolbarBase::PopulateCmdsIdsL
- */
- void PopulateCmdsIdsL();
-
- /**
- * @see CVtUiToolbarBase::SetToolbarVisibilityAfterLayoutChange
- */
- void SetToolbarVisibilityAfterLayoutChangeL( TBool aVisible );
-
- private:
-
- // Hides/shows toolbar
- void MakeToolbarVisible( const TBool aVisible );
-
- // Dimms/undimms all toolbar buttons
- void DimToolbarbuttons( TBool aIsDimmed );
-
- // Sets toolbar visible
- static TInt DoShowToolbarL( TAny* aAny );
-
- // Sets toolbar buttons dimmed
- static TInt DoDimToolbarButtons( TAny* aAny );
-
- private:
-
- /**
- * C++ constructor
- */
- CVtUiFixedToolbar( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd phase constructor
- */
- void ConstructL();
-
- private: // data
-
- // for callback usage
- CIdle* iIdle;
- };
-
-#endif // C_VTUIFIXEDTOOLBAR_H
\ No newline at end of file
--- a/vtuis/videotelui/inc/features/toolbar/cvtuifloatingtoolbar.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 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: Floating toolbar UI feature class definition.
-*
-*/
-
-
-#ifndef C_VTUIFLOATINGTOOLBAR_H
-#define C_VTUIFLOATINGTOOLBAR_H
-
-#include "cvtuitoolbarbase.h"
-#include "mvtuiresourcechangeobserver.h"
-#include <aknlayoutscalable_avkon.cdl.h>
-
-/**
-* CVtUiFloatingToolbar
-*
-* Toolbar UI feature definition.
-*
-* @since S60 3.2
-*/
-class CVtUiFloatingToolbar : public CVtUiToolbarBase,
- public MVtUiResourceChangeObserver
- {
- public: // public methods
-
- /**
- * Static constructor.
- * @param aFeatureManager feature manager.
- */
- static CVtUiFloatingToolbar* NewL( CVtUiFeatureManager&
- aFeatureManager );
-
- /**
- * C++ destructor.
- */
- ~CVtUiFloatingToolbar();
-
-
- public: // from CVtUiToolbarBase
-
-
- /**
- * @see CVtUiToolbarBase::DoActivateL
- */
- void DoActivateL();
-
- /**
- * @see CVtUiToolbarBase::DoDeactivateL
- */
- void DoDeactivateL();
-
- /**
- * @see CVtUiToolbarBase::CreateToolbarButtonsL
- */
- void CreateToolbarButtonsL();
-
- /**
- * @see CVtUiToolbarBase::PopulateCmdsIdsL
- */
- void PopulateCmdsIdsL();
-
- public: // from MVtUiResourceChangeObserver
-
- /**
- * @see MVtUiComponent::HandleResourceChangeL
- */
- void HandleResourceChangeL( TInt aType );
-
- private:
-
- /**
- * C++ constructor
- */
- CVtUiFloatingToolbar( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd phase constructor
- */
- void ConstructL();
-
- /**
-
- /*
- * Gets rect from layout data.
- */
- TRect RectFromLayout( const TAknWindowComponentLayout&
- aComponentLayout ) const;
-
- /*
- * Sets toolbar layout.
- */
- void LayoutToolbarL();
-
- /*
- * Gets variety for layoutdata.
- */
- TInt GetVariety( TBool aIsLandscapeOrientation );
-
- private: // data
-
-
-
- };
-
-#endif // C_VTUIFLOATINGTOOLBAR_H
\ No newline at end of file
--- a/vtuis/videotelui/inc/features/toolbar/cvtuihidetoolbaritemaction.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 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: Toolbar hide item action class definition.
-*
-*/
-
-
-#ifndef C_VTUIHIDETOLLBARITEMACTION_H
-#define C_VTUIHIDETOLLBARITEMACTION_H
-
-#include <e32base.h>
-#include "cvtuicmdvalidationactionbase.h"
-#include "tvtuistates.h"
-
-class CVtUiToolbarBase;
-
-/**
-* CVtUiHideToolbarItemAction
-*
-* Toolbar hide item action definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiHideToolbarItemAction : public CVtUiCmdValidationActionBase
- {
- public:
-
- /**
- * Leave-safe constructor.
- * @param aToolbar Pointer to toolbar.
- * @param aUiStates Reference to uistates.
- */
- static CVtUiHideToolbarItemAction* NewL( CVtUiToolbarBase* aToolbar,
- const TVtUiStates& aUiStates );
-
- /**
- * Destructor
- *
- */
- ~CVtUiHideToolbarItemAction();
-
- public: // from CVtUiCmdValidationActionBase
-
- /**
- * @See CVtUiCmdValidationActionBase::ProcessL
- */
- void ProcessL( const MVtUiCmdValidatorCallBack& aCallBack );
-
-
- /**
- * @See CVtUiCmdValidationActionBase::EndProcess
- */
- virtual void EndProcess();
-
- private:
-
- /**
- * C++ constructor.
- *
- */
- CVtUiHideToolbarItemAction( CVtUiToolbarBase* aToolbar,
- const TVtUiStates& aUiStates );
-
- /**
- * Sets given toolbar control hidden in toolbar.
- *
- */
- void SetItemHiddenL( TInt aCommandId );
-
- /**
- * Decides if toolbar control should be dimmed or shown.
- *
- */
- void HideOrShowToolbarControlL( TInt aCommandId );
-
- private: // data
-
- // Toolbar instance this action is currently working on
- CVtUiToolbarBase* iToolbar;
-
- // Reference to UI states instance
- const TVtUiStates& iUiStates;
- };
-
-#endif // C_VTUIHIDETOLLBARITEMACTION_H
--- a/vtuis/videotelui/inc/features/toolbar/cvtuitoolbarbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,372 +0,0 @@
-/*
-* Copyright (c) 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: Base class for toolbar.
-*
-*/
-
-
-#ifndef C_VTUITOOLBAR_H
-#define C_VTUITOOLBAR_H
-
-#include <e32base.h>
-#include <aknappui.h>
-#include <akntoolbarobserver.h>
-
-#include "mvtuifeature.h"
-#include "CVtUiAppUi.h"
-#include "cvtuifeaturebase.h"
-#include "mvtuicommandui.h"
-#include "mvtuicomponent.h"
-#include "mvtuiresourcechangeobserver.h"
-#include "tvtuicomponentstate.h"
-#include "mvtuilayoutchangeobserver.h"
-#include <aknlayoutscalable_avkon.cdl.h>
-
-class MVtuiFeature;
-class CAknToolbar;
-class CVtUiToolbarItem;
-class TVtUiFeatureState;
-class TVtUiStates;
-class CVtUiToolbarContext;
-class CVtUiToolbarCmdPolicy;
-class CVtUiHideToolbarItemAction;
-class CVtUiFeatureManager;
-class CVtUiToolbarSKModifier;
-class CVtUiToolbarButton;
-
-/**
-* TVtUiToolbarComponentState
-*
-* Toolbar componentstate definition.
-*
-* @since S60 v3.2
-*/
-class TVtUiToolbarComponentState : public TVtUiComponentState
- {
-
-public:
-
- /**
- * Constructor
- * @param aComponent Reference to component.
- */
- TVtUiToolbarComponentState( MVtUiComponent& aComponent );
-
- };
-
-/**
-* CVtUiToolbar
-*
-* Toolbar UI feature definition.
-*
-* @since S60 3.2
-*/
-class CVtUiToolbarBase : public CVtUiFeatureBase, public MAknToolbarObserver,
- public MVtUiCommandUi, public MVtUiComponent,
- public MVtUiLayoutChangeObserver
- {
- public: // public methods
-
- /**
- * C++ destructor.
- */
- ~CVtUiToolbarBase();
-
- public: // from MAknToolbarObserver
-
- /**
- * @see MAknToolbarObserver::DynInitToolbarL
- */
- void DynInitToolbarL(
- TInt aResourceId,
- CAknToolbar* aToolbar );
-
- /**
- * @see MAknToolbarObserver::DynInitToolbarL
- */
- void OfferToolbarEventL( TInt aCommand );
-
- public: // from MVtUiFeature
- /**
- * @see MVtUiFeature::StartL
- */
- void StartL();
-
- /**
- * @see MVtUiFeature::Stop
- */
- void Stop();
-
- /*
- * @see MVtUiFeature::InitFeatureL
- */
- void InitFeatureL();
-
- public: // from MVtUiCommandUi
-
- /**
- * @see MVtUiCommandUi::RefreshL
- */
- void RefreshL();
-
- /**
- * @see MVtUiCommandUi::AddCommandModifier
- */
- TInt AddCommandModifier( CVtUiCommandModifyBase& aModifier );
-
- /**
- * @see MVtUiCommandUi::RemoveCommandModifier
- */
- void RemoveCommandModifier( CVtUiCommandModifyBase& aModifier );
-
- public: // from MVtUiComponent
-
- /**
- * @see MVtUiComponent::ComponentId
- */
- TComponentId ComponentId() const;
-
- /**
- * @see MVtUiComponent::ComponentAsControl
- */
- CCoeControl* ComponentAsControl();
-
- /**
- * @see MVtUiComponent::DoActivateL
- */
- virtual void DoActivateL();
-
- /**
- * @see MVtUiComponent::DoDeactivateL
- */
- virtual void DoDeactivateL();
-
- public: // from MVtUiComponentManager
-
- /**
- * @see MVtUiComponentManager::HandleLayoutChangeL
- */
- void HandleLayoutChangeL();
-
- public:
-
- /**
- * Return number of commands in toolbar.
- * @return Number of commands.
- */
- TInt NumberOfToolbarControls() const;
-
- /**
- * Maps command id array index to command id.
- * @param aIndex Command id array index.
- * @return Command id associated with index.
- */
- TInt CommandIdByCmdIdsArrayIndex( TInt aIndex ) const;
-
- /**
- * Updates toolbar's buttons states and
- * redraws the toolbar.
- */
- void UpdateToolbarL();
-
- /**
- * EHidden
- * command is hidden
- * EDimmed
- * command is dimmed
- * EShown
- * command is visible
- */
- enum TCmdStateFlags
- {
- ENotInitialized = -1,
- EHidden,
- EDimmed,
- EShown
- };
-
- /**
- * Sets visibility of toolbar commands.
- * @param aCmdId command id.
- * @param aNewState command's new state.
- * @return ETrue if command is available, otherwise EFalse.
- */
- void SetCmdIdVisibilityStateL( TInt aCmdId, TCmdStateFlags aNewState);
-
- /**
- * Cheks if command is available in toolbar.
- * @param aCmdId command id.
- * @return ETrue if command is available, otherwise EFalse.
- */
- TBool IsCommandInToolbar( TInt aCmdId ) const;
-
- protected:
-
- /**
- * C++ constructor
- */
- CVtUiToolbarBase( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd phase constructor
- */
- void BaseConstructL();
-
- protected:
-
- /**
- * Creates toolbar buttons
- */
- virtual void CreateToolbarButtonsL();
-
- /*
- * Appends all the commnands used by toolbar to an array.
- */
- virtual void PopulateCmdsIdsL();
-
- /*
- * Sets toolbar visibility after layoutchange
- */
- virtual void SetToolbarVisibilityAfterLayoutChangeL( TBool aVisible );
-
- /**
- * Creates all toolbar items()
- */
- void CreateToolbarItemL( TInt aResourceId,
- TInt aCommandId, CVtUiAppUi& appUi );
-
- /**
- * Finds command from array by command id.
- */
- CVtUiToolbarButton* FindToolbarItemByCommandId( const TInt aCommandId );
-
- /*
- * Starts or stops to block pointer events
- * @param aIsBlocking ETrue if events are blocked
- * otherwise EFalse
- */
- void BlockPointerEvents( TBool aIsBlocking );
-
- /*
- * Starts or stops to block key events
- * @param aIsBlocking ETrue if events are blocked
- * otherwise EFalse
- */
- void BlockKeyEvents( TBool aIsBlocking );
-
- /*
- * Cheks if dialer component is active
- * @return ETrue if dialer is aactive, otherwise EFalse.
- */
- TBool IsDialerActive() const;
-
- /**
- * Dims toolbar.
- * @param aDimmed ETrue ETrue to dim the toolbar,
- * EFalse to set the toolbar as not dimmed
- */
- void DimToolbar( const TBool aDimmed, const TBool aDrawNow );
- private:
-
- /**
- * Hides command from toolbar.
- */
- void HideToolbarButton( const TInt aCommandId, const TBool aHide,
- const TBool aDrawNow );
-
- /**
- * Dims command from toolbar.
- */
- void DimToolbarButton( const TInt aCommandId, const TBool aDimmed,
- const TBool aDrawNow );
-
- /**
- * Maps toggle button id to single command id.
- */
- TInt MapCmdIdToChilId( TInt aCmdId );
-
- /**
- * Maps single command id to toggle button id.
- */
- TInt MapCmdIdToParentId( TInt aCmdId );
-
- /*
- * Checks if command id associated with toggle button is visible.
- * Togglle button has two states and two command ids which has their
- * own state values. See from .rss file.
- */
- TBool IsCmdIdVisibleInToggleButton( TInt aCmdId );
-
- /*
- * Checks if both command ids in togglebutton are dimmed.
- */
- TBool IsToggleButtonHidden( TInt aFirstCmdId, TInt aSecondCmdId );
-
- /*
- * Removes registrations.
- */
- void Clean();
-
- protected: // data
-
- // array of supported commmand ids
- RArray<TInt> iCmdIds;
-
- // current focus id
- TInt iCmdFocus;
-
- // owned toolbar control
- CAknToolbar* iToolbar;
-
- // Number of supported toolbar buttons
- TInt iNumberOfToolbarButtons;
-
- private: // data
-
- // struct used by iCmdStates array
- class TCommandState
- {
- public:
- TInt iCmdId;
- TCmdStateFlags iOldState;
- TCmdStateFlags iNewState;
- };
-
- // owned toolbar item array
- RPointerArray<CVtUiToolbarButton> iToolBarControls;
-
- // toolbar context instance
- CVtUiToolbarContext* iToolbarCtx;
-
- // owned hide toolbar item action
- CVtUiHideToolbarItemAction* iHideToolbarItemAction;
-
- // Toolbar command policy instance
- CVtUiToolbarCmdPolicy* iToolbarCmdPolicy;
-
- // owned softkey modifier
- CVtUiToolbarSKModifier* iToolbarSKModifier;
-
- // array which hold state information of the commands
- RArray<TCommandState> iCmdStates;
-
- // Component state
- TVtUiToolbarComponentState iComponentState;
-
- // ETrue if capture mode was on in previous update
- TBool iWasCaptureModePreviousState;
-
- };
-
-#endif // C_VTUITOOLBAR_H
\ No newline at end of file
--- a/vtuis/videotelui/inc/features/toolbar/cvtuitoolbarbutton.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 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: CVtUiToolbarButton class definition.
-*
-*/
-
-
-#ifndef C_VTUITOOLBARBUTTON_H
-#define C_VTUITOOLBARBUTTON_H
-
-#include <aknbutton.h>
-
-class CVtUiAppUi;
-
-/**
-* CVtUiToolbarButton
-*
-* Toolbar button class definition.
-*
-* @since S60 3.2
-*/
-class CVtUiToolbarButton : public CAknButton
- {
- public:
-
- /**
- * Static constructor.
- * @param aResourceId Resource id.
- * @param aAppUi Reference to appui.
- * @param aCmdId Reference to command id.
- */
- static CVtUiToolbarButton* NewL( TInt aResourceId,
- CVtUiAppUi& aAppUi, TInt aCmdId );
-
- /**
- * Static constructor.
- * @param aResourceId Resource id.
- * @param aAppUi Reference to appui.
- * @param aCmdId Reference to command id.
- */
- static CVtUiToolbarButton* NewLC( TInt aResourceId,
- CVtUiAppUi& aAppUi, TInt aCmdId );
-
- /**
- * C++ destructor.
- */
- ~CVtUiToolbarButton();
-
- /*
- * Shows help text for a certain period of time.
- */
- void ShowHelpL();
-
- /*
- * Return commmand id
- */
- TInt CmdId() const;
-
- /*
- * Starts or stops to block pointer events
- * @param aIsBlocking ETrue if events are blocked
- * otherwise EFalse
- */
- void BlockPointerEvents( TBool aIsBlocking );
-
- /*
- * Starts or stops to block key events
- * @param aIsBlocking ETrue if events are blocked
- * otherwise EFalse
- */
- void BlockKeyEvents( TBool aIsBlocking );
-
-
- /* @see CAknButton::OfferKeyEventL */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- /* @see CAknButton::HandlePointerEventL */
- void HandlePointerEventL( const TPointerEvent&
- aPointerEvent );
-
- /* @see CAknButton::StatesCount */
- TInt StatesCount() const;
-
- private:
-
- /**
- * Constructor
- */
- CVtUiToolbarButton( CVtUiAppUi& aAppUi, TInt aCmdId );
-
- private:
-
- /**
- * Checks whether key events should be blocked.
- */
- TBool IsCommandActive() const;
-
- private:
-
- // reference to appui
- CVtUiAppUi& iAppUi;
-
- // command id
- TInt iCmdId;
-
- // Flag to indicate is key event blocking on
- TBool iIsBlockingKeyEvents;
-
- // Flag to indicate is pointer event blocking on
- TBool iIsBlockingPointerEvents;
-
- // time stamp to limit pointerevents
- TTime iTimeStamp;
-
- TBool isLimitingPointers;
-
- };
-
-#endif // C_VTUITOOLBARBUTTON_H
--- a/vtuis/videotelui/inc/features/toolbar/cvtuitoolbarcmdpolicy.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2009 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: Toolbar command policy implementation.
-*
-*/
-
-
-#ifndef C_VTUITOOLBARCMDPOLICY_H
-#define C_VTUITOOLBARCMDPOLICY_H
-
-#include <e32base.h>
-
-#include "tvtuicmdpolicypriority.h"
-#include "cvtuicmdvalidatorbase.h"
-
-class CVtUiCmdValidationActionBase;
-class CVtUiToolbarBase;
-
-/**
-* CVtUiToolbarCmdPolicy
-*
-* Toolbar command policy implementation.
-*
-* @since S60 v3.2
-*/
-class CVtUiToolbarCmdPolicy : public CVtUiCmdValidatorBase
- {
- public: // public methods
-
- /**
- * Static constructor.
- * @param aToolbar Reference to toolbar.
- */
- static CVtUiToolbarCmdPolicy* NewL( CVtUiToolbarBase& aToolbar );
-
- public: // from CVtUiCmdValidatorBase
-
- /**
- * @see CVtUiCmdValidatorBase::ValidateMenuItemsL
- */
- void ValidateMenuItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority );
-
- /**
- * @see CVtUiCmdValidatorBase::ValidateSoftkeyItemsL
- */
- void ValidateSoftkeyItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority );
-
- /**
- * @see CVtUiCmdValidatorBase::ValidateToolbarItemsL
- */
- void ValidateToolbarItemsL( CVtUiCmdValidationActionBase& aAction,
- TInt aReferencePriority );
-
- /**
- * @see CVtUiCmdValidatorBase::CustomValidationL
- */
- void CustomValidationL( CVtUiCmdCustomValidationActionBase& aAction,
- TInt aReferencePriority );
-
- /**
- * @see CVtUiCmdValidatorBase::ValidatesContext
- */
- TBool ValidatesContext( const TVtUiCmdContextType& aCtxType )
- const;
-
- private:
-
- /**
- * C++ constructor
- *
- */
- CVtUiToolbarCmdPolicy( CVtUiToolbarBase& aToolbar );
-
- /**
- * Callback for menu validation.
- *
- */
- TBool ValidateMenuCommand( TInt aCommandId ) const;
-
- private: // data
-
- // Reference to cvtuitoolbar
- CVtUiToolbarBase& iToolbar;
-
- };
-
-#endif // C_VTUITOOLBARCMDPOLICY_H
--- a/vtuis/videotelui/inc/features/toolbar/cvtuitoolbarcontext.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 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: Toolbar context class definition.
-*
-*/
-
-
-#ifndef C_VTUITOOLBARCONTEXT_H
-#define C_VTUITOOLBARCONTEXT_H
-
-#include <e32base.h>
-
-#include "cvtuicmdcontext.h"
-
-class CVtUiCmdValidatorBase;
-
-/** Toolbar context reference priority */
-const TInt KVtUiToolbarContextPriority = 50;
-
-/**
-* CVtUiToolbarContext
-*
-* Toolbar context class definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiToolbarContext : public CVtUiCmdContext
- {
- public: // public methods
-
- /**
- * C++ destructor.
- *
- */
- ~CVtUiToolbarContext();
-
- /**
- * Leave safe destructor.
- * @param aCommandManager Reference to command manager.
- */
- static CVtUiToolbarContext* NewL(
- MVtUiCommandManager& aCommandManager );
-
- public: // from CVtUiCmdContext
-
- /**
- * @see CVtUiCmdContext::ValidateL
- */
- void ValidateL( CVtUiCmdValidationActionBase& aAction );
-
- private:
-
- /**
- * C++ constructor
- *
- * @param aCommandManager Reference to command manager.
- */
- CVtUiToolbarContext( MVtUiCommandManager& aCommandManager );
-
- /**
- * 2nd consttuctor, may leave.
- */
- void ConstructL();
-
- };
-
-#endif // C_VTUITOOLBARCONTEXT_H
--- a/vtuis/videotelui/inc/features/toolbar/cvtuitoolbarskmodifier.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 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: Toolbar softkey modifier class definition.
-*
-*/
-
-
-#ifndef C_VTUITOOLBARSKMODIFIER_H
-#define C_VTUITOOLBARSKMODIFIER_H
-
-#include <e32base.h>
-#include "cvtuicommandmodifybase.h"
-
-class CVtUiAppUi;
-class TVtUiStates;
-
-/**
-* CVtUiToolbarSKModifier
-*
-* Toolbar softkey modifier class definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiToolbarSKModifier : public CVtUiCommandModifyBase
- {
- public: // static methods
- /**
- * Static constructor.
- * @param aAppUi Reference to command appui.
- * @param aUiStates Reference to uistates.
- */
- static CVtUiToolbarSKModifier* NewL( CVtUiAppUi& aAppUi,
- const TVtUiStates& aUiStates );
-
- /**
- * Destructor
- */
- ~CVtUiToolbarSKModifier();
-
- public: // from base class
-
- /**
- * @See CVtUiCommandModifyBase::ModifyCommandsL
- */
- virtual void ModifyCommandsL( MVtUiCommandSetting& aCommandSettings );
-
- /**
- * @See CVtUiCommandModifyBase::Supports
- */
- virtual TBool Supports( MVtUiCommandSetting::Type aType ) const;
-
- private:
- /**
- * C++ constructor
- *
- */
- CVtUiToolbarSKModifier( CVtUiAppUi& aAppUi,
- const TVtUiStates& aUiStates );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- private: // data
-
- // refrence to appui
- CVtUiAppUi& iAppUi;
-
- // UI states
- const TVtUiStates& iUiStates;
-
- };
-
-#endif // C_VTUITOOLBARSKMODIFIER_H
--- a/vtuis/videotelui/inc/features/toolbar/tvtuitoolbarcommanditerator.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 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: Toolbar command iterator class definition.
-*
-*/
-
-
-#ifndef T_VTUITOOLBARCOMMANDITERATOR_H
-#define T_VTUITOOLBARCOMMANDITERATOR_H
-
-#include "mvtuicommanditerator.h"
-
-class CVtUiToolbarBase;
-
-/**
-* TVtUiToolbarCommandIterator
-*
-* Toolbar command iterator class definition.
-*
-* @since S60 v3.2
-*/
-class TVtUiToolbarCommandIterator : public MVtUiCommandIterator
- {
-
-public: // public methods
-
- /**
- * C++ constructor
- * @param aToolbar Reference to toolbar.
- */
- TVtUiToolbarCommandIterator( CVtUiToolbarBase& aToolbar );
-
-public: // from MVtUiCommandIterator
-
- /**
- * @see MVtUiCommandIterator::HasNext
- */
- TBool HasNext() const;
-
- /**
- * @see MVtUiCommandIterator::Next
- */
- TInt Next();
-
-private:
-
- // Pointer to Toolbar
- CVtUiToolbarBase* iToolbar;
-
- // Current iteration point
- TInt iCurrent;
-
- };
-
-#endif // T_VTUITOOLBARCOMMANDITERATOR_H
--- a/vtuis/videotelui/inc/features/tvtuifeatureids.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 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: Feature ids.
-*
-*/
-
-
-#ifndef T_VTUIFEATUREIDS_H
-#define T_VTUIFEATUREIDS_H
-
-/**
- *
- * Feature IDs.
- *
- */
-enum TVtUiFeatureId
- {
- /** Toolbar feature id */
- EVtUiFeatureIdToolbar = 1,
-
- /** Softkey feature id */
- EVtUiFeatureIdSoftkey,
-
- /** Menu feature id */
- EVtUiFeatureIdMenu,
-
- /** Mini Dialer feature id */
- EVtUiFeatureIdMiniDialer,
-
- /** Number entry feature id */
- EVtUiFeatureIdNumberEntry,
-
- /** Video quality feature id */
- EVtUiFeatureIdVideoQuality,
-
- /** White balance feature id */
- EVtUiFeatureIdWhiteBalance,
-
- /** Color tone feature id */
- EVtUiFeatureIdColourTone,
-
- /** Brightness feature id */
- EVtUiFeatureIdBrightness,
-
- /** Contrast feature id */
- EVtUiFeatureIdContrast,
-
- /** Dialer feature id */
- EVtUiFeatureIdDialer,
-
- /** Volume feature id */
- EVtUiFeatureIdVolume,
-
- /** Zoom feature id */
- EVtUiFeatureIdZoom
- };
-
-#endif // T_VTUIFEATUREIDS_H
--- a/vtuis/videotelui/inc/features/volume/cvtuivolume.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* 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: Volume ui feature
-*
-*/
-
-
-#ifndef C_VTUIVOLUME_H
-#define C_VTUIVOLUME_H
-
-#include "cvtuisliderbase.h"
-
-/**
-* CVtUiVolume
-*
-* Volume ui feature
-*
-* @since S60 v3.2
-*/
-class CVtUiVolume : public CVtUiSliderBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiVolume* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiVolume();
-
- /**
- * Refresh volume popup status.
- */
- void RefreshL();
-
-public: // from CVtUiSliderBase
-
- /**
- * @see CVtUiSliderBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiSliderBase::Stop
- */
- void Stop();
-
- /*
- * Return current slider's volume value
- */
- TInt GetVolumeValue();
-
-protected:
-
- /*
- * Constructor
- */
- CVtUiVolume( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- };
-
-#endif // C_VTUIVOLUME_H
--- a/vtuis/videotelui/inc/features/volume/cvtuivolumecontrol.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* 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: Volume control adjusts engine side volume values.
-*
-*/
-
-
-
-#ifndef CVTUIVOLUMECONTROL_H
-#define CVTUIVOLUMECONTROL_H
-
-
-#include <e32base.h>
-#include <mvtengcommandobserver.h>
-#include <mvtengaudio.h>
-
-class MVtEngCommandHandler;
-class MVtUiEngineCommandManager;
-class CVtUiFeatureManager;
-
-
-/**
-* Volume control adjusts engine side volume values.
-*
-* @since Series 60 v5.0
-*/
-class CVtUiVolumeControl
- : public CBase,
- private MVtEngCommandObserver
- {
- public: // Constructors and destructor
-
- // Type for volume settings.
- typedef MVtEngAudio::TVtEngOutputVolume TVolume;
-
- /**
- * Constructor.
- *
- * @param aSelfPtr optional pointer to itself.
- * @param aCommandHandler command handler.
- * @param aAudio audio interface.
- * @param aCommandManager command manager.
- * @param aFeatureManager Reference to feature manager.
- */
- CVtUiVolumeControl(
- MVtEngCommandHandler& aCommandHandler,
- MVtEngAudio& aAudio,
- MVtUiEngineCommandManager& aCommandManager,
- CVtUiFeatureManager& aFeatureManager );
-
- /*
- * 2nd phase constructor
- */
- void ConstructL();
-
- /**
- * Destructor.
- */
- ~CVtUiVolumeControl();
-
-public: // New functions
-
- // Adjust volume to new value
- void AdjustVolumeL( TVolume aVolume );
-
-private:
-
- /**
- * @see MVtEngCommandObserver::HandleVTCommandPerformedL.
- */
- virtual void HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError );
-
- // Checks if volume is changed in slider
- TBool IsVolumeChangedL();
-
-private:
-
- // Reference to command handler.
- MVtEngCommandHandler& iCommandHandler;
-
- // Reference to audio interface.
- MVtEngAudio& iAudio;
-
- // Reference to command manager.
- MVtUiEngineCommandManager& iCommandManager;
-
- // ETrue if command is performed.
- TBool iCommandPerformed;
-
- // Volume being updated to engine.
- TVolume iVolume;
-
- // Volume pointer descriptor.
- TPtrC8 iVolumePtr;
-
- // Reference to featuremanager
- CVtUiFeatureManager& iFeatureManager;
-
- // Is control adjusting volume
- TBool iIsActive;
- };
-
-#endif // CVtUiVolumeControl_H
-
-// End of File
--- a/vtuis/videotelui/inc/features/volume/cvtuivolumepopup.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* 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: Volume popup definition
-*
-*/
-
-
-#ifndef C_VTUIVOLUMEPOPUP_H
-#define C_VTUIVOLUMEPOPUP_H
-
-#include "tvtuicomponentstate.h"
-#include "cvtuipopupbase.h"
-#include "mvtengaudio.h"
-
-class CVtUiFeatureManager;
-class CVtEngModel;
-
-/**
-* CVtUiVolumePopup
-*
-* Volume popup definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiVolumePopup : public CVtUiPopupBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiVolumePopup* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiVolumePopup();
-
- /**
- * Refresh volume popup status.
- */
- void RefreshL();
-
- /**
- * Update volume popup and audio routing
- */
- void UpdateVolumeAndRoutingL();
-
-private: // from base class
-
- /**
- * @see CVtUiPopupBase::DoActivateL
- */
- void DoActivateL();
-
- /**
- * @see CVtUiPopupBase::OfferKeyEventL
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode );
-
- /**
- * @see CVtUiPopupBase::HandleControlEventL
- */
- void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
-
-private:
-
- /**
- * Constructor
- */
- CVtUiVolumePopup( CVtUiFeatureManager& aFeatureManager );
-
- /*
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Returns current output volume for given routing.
- */
- TInt OutputVolume( MVtEngAudio::TAudioRoutingState aRouting ) const;
-
- /**
- * Updates volume
- */
- void UpdateVolumeL();
-
-private:
-
- // Engine model
- CVtEngModel& iModel;
-
- // Stored audio routing state.
- MVtEngAudio::TAudioRoutingState iAudioRouting;
-
- // Stored volume
- TInt iVolume;
-
- // Reference to feature manager
- CVtUiFeatureManager& iFeatureManager;
-
- };
-
-#endif // C_VTUIVOLUMEPOPUP_H
--- a/vtuis/videotelui/inc/features/zoom/cvtuizoom.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* 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: Zoom ui feature
-*
-*/
-
-
-#ifndef C_VTUIZOOM_H
-#define C_VTUIZOOM_H
-
-#include "cvtuisliderbase.h"
-
-/**
-* CVtUiZoom
-*
-* Zoom ui feature
-*
-* @since S60 v3.2
-*/
-class CVtUiZoom : public CVtUiSliderBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiZoom* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiZoom();
-
- /**
- * Refresh zoom popup status.
- */
- void RefreshL();
-
-public: // from CVtUiSliderBase
-
- /**
- * @see CVtUiSliderBase::StartL
- */
- void StartL();
-
- /**
- * @see CVtUiSliderBase::Stop
- */
- void Stop();
-
- /**
- * @see CVtUiSliderBase::ComponenStateChangedL
- */
- void ComponenStateChangedL();
-
-protected:
-
- /*
- * Constructor
- */
- CVtUiZoom( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- };
-
-#endif // C_VTUIZOOM_H
--- a/vtuis/videotelui/inc/features/zoom/cvtuizoompopup.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* 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: Zoom popup definition
-*
-*/
-
-
-#ifndef C_VTUIZOOMPOPUP_H
-#define C_VTUIZOOMPOPUP_H
-
-#include "tvtuicomponentstate.h"
-#include "cvtuipopupbase.h"
-
-class CVtUiFeatureManager;
-class MVtEngMedia;
-
-/**
-* CVtUiZoomPopup
-*
-* Zoom popup definition.
-*
-* @since S60 v3.2
-*/
-class CVtUiZoomPopup : public CVtUiPopupBase
- {
-
-public:
-
- /**
- * Static constructor
- * @param aFeatureManager Reference to feature manager.
- */
- static CVtUiZoomPopup* NewL( CVtUiFeatureManager& aFeatureManager );
-
- /**
- * Destructor
- */
- ~CVtUiZoomPopup();
-
- /**
- * Refresh zoom popup status.
- */
- void RefreshL();
-
-private: // from CVtUiPopupBase
-
- /**
- * @see CVtUiPopupBase::DoActivateL
- */
- void DoActivateL();
-
-private: // from base class
-
- /**
- * @see CVtUiPopupBase::OfferKeyEventL
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode );
-
- /**
- * @see CVtUiPopupBase::HandleControlEventL
- */
- void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
-
-private:
-
- /**
- * Constructor
- */
- CVtUiZoomPopup( CVtUiFeatureManager& aFeatureManager );
-
- /*
- * 2nd constructor
- */
- void ConstructL();
-
- /*
- * Updates zoom adjust range according to current active provider.
- */
- void UpdateAdjustRangeL();
-
- /**
- * Returns current zoom step or KErrNotFound if an error happens.
- */
- TInt CurrentZoomStep() const;
-
- /**
- * Returns maximum zoom step or KErrNotFound if an error happens.
- */
- TInt MaxZoomStep() const;
-
- void ScaleAndSetZoomFactorL( TInt aValue );
-
-private:
-
- // Reference to feature manager
- CVtUiFeatureManager& iFeatureManager;
-
- // Engine media
- MVtEngMedia& iMedia;
-
- // Current zoom
- TInt iCurrent;
-
- // Maximum zoom value
- TInt iMax;
-
- };
-
-#endif // C_VTUIZOOMPOPUP_H
--- a/vtuis/videotelui/inc/mvtuinumbersource.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 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: Number Source API
-*
-*/
-
-
-#ifndef M_VTUINUMBERSOURCE_H
-#define M_VTUINUMBERSOURCE_H
-
-#include <e32base.h>
-
-/**
- * MVtUiNumberSource
- *
- * @since S60 v3.2
- */
-class MVtUiNumberSource
- {
-
-public:
-
- /**
- * Gets number typed by the user.
- *
- */
- virtual void GetContents( TDes& aContents ) const = 0;
-
- };
-
-#endif // M_VTUINUMBERSOURCE_H
--- a/vtuis/videotelui/inc/mvtuishutterobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* 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 reporting application shutdown readiness.
-*
-*/
-
-
-#ifndef M_MVTUISHUTTEROBSERVER_H
-#define M_MVTUISHUTTEROBSERVER_H
-
-
-/**
-* Observer interface for reporting shutdown readiness.
-*
-* @since S60 v3.2
-*/
-class MVtUiShutterObserver
- {
-public:
-
- /**
- * Called when application can exit.
- */
- virtual void HandleShutdownReady() = 0;
- };
-
-#endif // M_MVTUISHUTTEROBSERVER_H
--- a/vtuis/videotelui/inc/mvtuistatecontext.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* 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
--- a/vtuis/videotelui/inc/sliders/cvtuipopupbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-/*
-* 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: Base class for video telephone popups
-*
-*/
-
-
-#ifndef C_VTUIPOPUPBASE_H
-#define C_VTUIPOPUPBASE_H
-
-#include <coecobs.h>
-
-#include "mvtuicomponent.h"
-#include "tvtuicomponentstate.h"
-#include "tvtuifeatureids.h"
-#include "mvtuiresourcechangeobserver.h"
-#include "mvtuikeyeventobserver.h"
-
-class CAknVolumePopup;
-class MVtUiComponentManager;
-class MVtUiComponentStateObserver;
-class CFbsBitmap;
-
-/**
-* TVtUiBaseComponentState
-*
-* Base componentstate definition.
-*
-* @since S60 v3.2
-*/
-class TVtUiBaseComponentState : public TVtUiComponentState
- {
-
-public:
- /**
- * Constructor
- * @param aComponent Reference to component.
- */
- TVtUiBaseComponentState( MVtUiComponent& aComponent,
- TVtUiBlockListBitField aBitField );
- };
-
-/**
-* CVtUiPopupBase
-*
-* Base class for vide telephone popups
-*
-* @since S60 v3.2
-*/
-class CVtUiPopupBase : public CBase, public MVtUiComponent,
- public MVtUiResourceChangeObserver, public MCoeControlObserver,
- public MVtUiKeyEventObserver
- {
-
-public:
-
- /**
- * Destructor
- */
- ~CVtUiPopupBase();
-
-public: // from MVtUiComponent
-
- /**
- * @see MVtUiComponent::ComponentId
- */
- TComponentId ComponentId() const;
-
- /**
- * @see MVtUiComponent::ComponentAsControl
- */
- CCoeControl* ComponentAsControl();
-
- /**
- * @see MVtUiComponent::DoActivateL
- */
- virtual void DoActivateL();
-
- /**
- * @see MVtUiComponent::DoDeactivateL
- */
- virtual void DoDeactivateL();
-
-public: // from MVtUiComponentManager
-
- /**
- * @see MVtUiComponentManager::HandleResourceChangeL
- */
- void HandleResourceChangeL( TInt aType );
-
-public: // from MCoeControlObserver
-
- /**
- * @see MCoeControlObserver::HandleControlEventL
- */
- virtual void HandleControlEventL(
- CCoeControl* aControl,TCoeEvent aEventType ) = 0;
-
-public: // from MVtUiKeyEventObserver
-
- /**
- * @see CCoeControl::MVtUiKeyEventObserver
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent, TEventCode aCode );
-
-public: // new functions
-
- /**
- * Set popup to be pemanently visible i.e. tapping outside
- * the control doesn't close the control.
- * @param aPermanent If Etrue popup will be visible all the time,
- * otherwise popup is closed and next time will obey timeout.
- */
- void SetPermanenVisibility( TBool aPermanent );
-
- /**
- * Set new component observer
- * @param iCompStateObserver New observer
- */
- void SetObserver( MVtUiComponentStateObserver& aCompStateObserver );
-
- /**
- * Gets slider control value.
- * @return value within slider control's value range
- */
- TInt Value() const;
-
- /**
- * update popup itself
- */
- virtual void UpdatePopupL();
-
-protected: // new functions
-
- /**
- * Set new value to slider control.
- * @param aValue value within slider control's value range.
- */
- void SetValue( TInt aValue );
-
- /**
- * Scales the given value to slider control's value range
- * and sets it to the slider control
- * @param aValue value within popup control's value range.
- */
- void ScaleAndSetValue( TInt aValue );
-
- /**
- * Gets value from the slider control and scales it
- * @return value within popup control's value range
- */
- TInt ScaledValue() const;
-
- /**
- * Gets value from the slider control and scales it
- * @param aValue value in popup control's value range.
- * @return value within slider control's value range
- */
- TInt SliderValueWithScaling( TInt aValue ) const;
-
- /**
- * Set new end point values popup control
- * These values are not same as slider's range
- */
- void SetMinAndMaxValues( TInt aMax, TInt aMin );
-
- /*
- * Set adjust range of the slider
- */
- void SetAdjustRange( TInt aMinimumValue, TInt aMaximumValue,
- TInt aStepCount );
-
- /**
- * Set value type for vertical slider control
- */
- void SetValueType( TInt aValueType );
-
- /**
- * Shows popup.
- */
- void ShowPopupL();
-
- /**
- * Opens popup.
- */
- void OpenPopupL();
-
- /**
- * Closes popup
- */
- void ClosePopup();
-
- /**
- * Set time out time in seconds
- */
- void SetTimeOut( TInt aTime );
-
- /**
- * Checks whether popup is visible
- */
- TBool IsPopUpVisible();
-
-protected:
-
- /**
- * Constructor
- */
- CVtUiPopupBase( MVtUiComponentManager& aComponentManager,
- TVtUiBlockListBitField aBitField, TComponentId aComponentId );
-
- /**
- * 2nd constructor
- */
- void BaseConstructL();
-
-private:
-
- /**
- * Position of the popup
- */
- TPoint PopupPosition() const;
-
- /**
- * Sets popup controls's value
- */
- void SetPopupValue( TInt aValue );
-
-protected: // Set in child constructor
-
- // Reference to component manager
- MVtUiComponentManager& iComponentManager;
-
- // Component state
- TVtUiBaseComponentState iComponentState;
-
- // Component id
- TComponentId iComponentId;
-
-private:
-
- // class for slider handling
- CAknVolumePopup* iPopup;
-
- // Interface for component state observing
- MVtUiComponentStateObserver* iCompStateObserver;
-
- // Maximum value
- TInt iMax;
-
- // Minimum value
- TInt iMin;
-
- // Number of steps
- TInt iStepCount;
-
- // Time out for showing popup
- TInt iTimeOutTime;
-
- // Scaling constant
- TInt iScalingConstant;
-
- };
-
-#endif // CVTUIPEFSLIDERBASE_H
--- a/vtuis/videotelui/inc/sliders/cvtuisliderbase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* 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: Base class for video telephone sliders
-*
-*/
-
-
-#ifndef C_VTUISLIDERBASE_H
-#define C_VTUISLIDERBASE_H
-
-#include "cvtuifeaturebase.h"
-#include "mvtuicomponent.h"
-#include "mvtuicomponentstateobserver.h"
-
-class CVtUiPopupBase;
-
-/**
-* CVtUiSliderBase
-*
-* Base class for vide telephone sliders
-*
-* @since S60 v3.2
-*/
-class CVtUiSliderBase : public CVtUiFeatureBase, public MVtUiComponentStateObserver
- {
-
-public:
-
- /**
- * Destructor
- */
- ~CVtUiSliderBase();
-
- /**
- * update slider itself
- */
- void UpdateSlider();
-
-public: // from MVtUiFeature
-
- /**
- * @see MVtUiFeature::StartL
- */
- void StartL();
-
- /**
- * @see MVtUiFeature::Stop
- */
- void Stop();
-
- /**
- * @see MVtUiFeature::InitFeatureL
- */
- void InitFeatureL();
-
-public: // from MVtUiComponentStateObserver
-
- /**
- * @see MVtUiComponentStateObserver::ComponenStateChangedL
- */
- virtual void ComponenStateChangedL();
-
- /**
- * @see CVtUiPopupBase::SetPermanenVisibility
- */
- void SetPermanenVisibility( TBool aPermanent );
-
-protected:
-
- /*
- * Constructor
- */
- CVtUiSliderBase( CVtUiFeatureManager& aFeatureManager,
- TVtUiFeatureId aFeatureId );
-
- /**
- * 2nd constructor
- */
- void ConstructL();
-
- /**
- * Sets popup pointer.
- */
- void SetPopup( CVtUiPopupBase* aPopup );
-
- /**
- * Gets popup reference.
- */
- CVtUiPopupBase& Popup();
-
- /**
- * Gets popup const reference.
- */
- const CVtUiPopupBase& Popup() const;
-
-private:
-
- // pop up base
- CVtUiPopupBase* iPopup;
-
- };
-
-#endif // CVTUIPEFSLIDERBASE_H
--- a/vtuis/videotelui/inc/sliders/mvtuicomponentstateobserver.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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: Observer API for popup based controls
-*
-*/
-
-
-#ifndef M_VTUICOMPONENTSTATEOBSERVER_H
-#define M_VTUICOMPONENTSTATEOBSERVER_H
-
-/**
-* MVtUiComponentStateObserver
-*
-* Observer API for popup based controls
-*
-* @since S60 v3.2
-*/
-class MVtUiComponentStateObserver
- {
-
-public:
-
- /**
- * Called when component state changes
- */
- virtual void ComponenStateChangedL() = 0;
-
- };
-
-#endif // M_VTUICOMPONENTSTATEOBSERVER_H
\ No newline at end of file
--- a/vtuis/videotelui/inc/tvtuiappstatebase.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2007 - 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: Base class for application states.
-*
-*/
-
-
-#ifndef T_VTUIAPPSTATEBASE_H
-#define T_VTUIAPPSTATEBASE_H
-
-#include <e32base.h>
-#include <mvtengsessioninfo.h>
-#include "mvtuistatecontext.h"
-#include "mvtuishutterobserver.h"
-#include "tvtuistates.h"
-
-/**
-* Base class for application states related to application startup, normal
-* operation and shutdown. AppUi delegates decision making by forwarding
-* events/commands it receives to current state.
-* Not all event handlers declared by the base class are applicable in
-* all concrete states. All methods returning TEventResponse imply that it may
-* consume the event completely and caller should not process it further.
-*
-* It should be kept in mind that as new functionality is added to application,
-* state classes may need changes if e.g. handling of specific event should be
-* allowed in appUi. By default event handler in specific state may consume all
-* events. Note that in this context e.g. HandleCommandL is considered as an
-* event handler.
-*
-* @since S60 v3.2
-*/
-class TVtUiAppStateBase : public MVtUiShutterObserver
- {
-public: // new functions
-
- /**
- * Return value from state's event handlers.
- */
- enum TEventResponse
- {
- /** Event was handled by a state and should
- * not be further processed by caller.
- */
- EEventHandled,
- /** Event can be handled by caller. */
- EEventNotHandled
- };
-
- /**
- * Performs state dependent actions when phase 1 of
- * startup is completed.
- */
- virtual void AppUiStartupPhase1DoneL();
-
- /**
- * Performs state dependent actions when startup fails.
- */
- virtual void AppUiStartupFailedL();
-
- /**
- * Performs state dependent actions when phase 2 of
- * startup is completed.
- */
- virtual void AppUiStartupPhase2DoneL();
-
- /**
- * Handles completion of shutdown.
- */
- virtual void ShutdownDoneL();
-
- /**
- * Handles completion of an VT engine command.
- * @param aCommand completed command
- * @param aError error
- * @return event response, is caller allowed to handle event
- */
- virtual TEventResponse HandleVTCommandPerformedL(
- const TVtEngCommandId aCommand,
- const TInt aError );
-
- /**
- * Handles event from the engine.
- * @param aEvent
- * @return event response, is caller allowed to handle event
- */
- virtual TEventResponse HandleVtEventL( const TInt aEvent );
-
- /**
- * Handles command from the user (or application framework).
- * @param aCommand
- * @return event response, is caller allowed to handle event
- */
- virtual TEventResponse HandleCommandL( const TInt aCommand );
-
- /**
- * Performs state dependent actions for foreground change event.
- * @param aIsForeground foreground status passed from UI framework
- * @return ETrue if application should behave as in foreground
- */
- virtual TBool HandleForegroundChangedL( const TBool aIsForeground );
-
- /**
- * Performs state dependent previous actions for foreground change event.
- * @param aIsForeground foreground status passed from UI framework
- * @return ETrue if application should behave as in foreground
- */
- virtual TBool PreHandleForegroundChangedL( const TBool aIsForeground );
- /**
- * Performs state dependent actions for layout change.
- */
- virtual void HandleLayoutChangedL();
-
- /**
- * Sends DTMF tone if allowed by current state.
- * @param aTone DTMF tone to send
- */
- virtual void StartDtmfTone( const TChar& aTone );
-
- /**
- * Stops DTMF tone if allowed by current state.
- */
- virtual void StopDtmfTone();
-
- /**
- * Sets initial application state.
- * @param aCtx state context providing services to states
- * @param aUiStates ui states
- */
- static void SetInitialStateL(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates);
-
-protected: // for concrete state classes
-
- /**
- * Destructor, for cleanup.
- */
- virtual ~TVtUiAppStateBase();
-
- /**
- * Performs entry action for a state.
- */
- virtual void OpenL();
-
- /**
- * Performs exit action for a state and deletes that state.
- */
- virtual void Close();
-
- /**
- * Sets current state.
- */
- void ChangeStateL( TVtUiAppStateBase& aNewState );
-
- /**
- * Sets transition to resetting state as cleanup item.
- */
- void CleanupResetPushL();
-
- /**
- * Starts shutdown when leave occurred.
- */
- static void TransitionToReset( TAny* aAny );
-
-
- /**
- * Ends the call if necessary and starts shutdown.
- * @return ETrue if shutdown started.
- */
- TBool CheckEndActiveCallL();
-
- /**
- * Returns engine session state.
- * @param aUpdate is state forced to update
- * @return session state
- */
- MVtEngSessionInfo::TSessionState SessionState(
- const TBool aUpdate ) const;
-
- /**
- * Sets forced lights state in the system.
- */
- void SetLightsState( const TBool aOn );
-
- /**
- * Delegates engine command execution to the state context.
- */
- template < typename T >
- inline void ExecuteEngineCommand(
- TInt aCommand, T& aParam );
-
- /**
- * Sets execution state.
- */
- void SetExecState( const TVtUiStates::TVtUiExecState aState );
-
-protected: // constructor
-
- // c++ constructor
- TVtUiAppStateBase( MVtUiStateContext& aCtx, TVtUiStates& aUiStates );
-
-private: // from MVtUiShutterObserver
-
- /**
- * Handles 'shutdown ready' event.
- */
- virtual void HandleShutdownReady();
-
-private: // new functions
-
- /**
- * Updates applications lock state and sends to background if
- * the device is locked.
- */
- void HandleDeviceLockEventL( const TBool aDeviceIsLocked );
-
-protected: // data members
-
- // Context providing services to states
- MVtUiStateContext& iCtx;
-
- // Various application specific state information
- TVtUiStates& iUiStates;
-
- /** Prevents sending end call command to call handling if ETrue.
- * It is not allowed when call clearing is network originated.
- */
-
- /**
- * shutdown request received
- */
- static TBool iShutdownRequested;
-
- };
-
-#include "tvtuiappstatebase.inl"
-
-#endif // T_VTUIAPPSTATEBASE_H
--- a/vtuis/videotelui/inc/tvtuiappstatebase.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* 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: Base class for application states.
-*
-*/
-
-
-template < typename T >
-inline void TVtUiAppStateBase::ExecuteEngineCommand(
- TInt aCommand, T& aParam )
- {
- TPtrC8 params( reinterpret_cast< TUint8* >( &aParam ),
- sizeof( T ) );
- TRAP_IGNORE( iCtx.DoExecuteCmdL( aCommand, ¶ms ) );
- }
--- a/vtuis/videotelui/inc/tvtuiappstates.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
-* 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: Concrete application state classes
-*
-*/
-
-
-#ifndef T_VTUIAPPSTATES_H
-#define T_VTUIAPPSTATES_H
-
-#include "tvtuiappstatebase.h"
-#include <babitflags.h>
-#include <vtengcommands.h>
-
-class CAknQueryDialog;
-
-/**
-* Initial application state. Responsible for startup phase 1 and
-* startup phase 2 (see EVtUiAppUiStartup in CVtUiAppUi.cpp).
-* Certain other state changes are required for phase 2 and history
-* of their reception is handled with precondition flags.
-*
-* @since S60 v3.2
-*/
-class TVtUiStateStarting : public TVtUiAppStateBase
- {
-public:
- /**
- * returns singleton instance of TVtUiStateStarting
- * @param aCtx state context
- * @param aUiStates UI states
- * @return singleton
- */
- static TVtUiStateStarting* InstanceL(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates );
-
-public: // from TVtUiAppStateBase
-
- /** @see TVtUiAppStateBase */
- virtual void AppUiStartupPhase1DoneL();
-
- /** @see TVtUiAppStateBase */
- virtual void AppUiStartupPhase2DoneL();
-
- /** @see TVtUiAppStateBase */
- virtual TEventResponse HandleVtEventL( TInt aEvent );
-
- /** @see TVtUiAppStateBase */
- virtual TEventResponse HandleCommandL( const TInt aCommand );
-
- /** @see TVtUiAppStateBase */
- virtual TBool HandleForegroundChangedL( TBool aIsForeground );
-
-private: // from TVtUiAppStateBase
-
- /** @see TVtUiAppStateBase */
- virtual void OpenL();
-
- /** @see TVtUiAppStateBase */
- virtual void Close();
-
-private: // new methods
-
- void CheckSessionStateL();
- static TInt AsynchOpen( TAny* aAny );
-
- void DoOpenL();
-
- /** Preconditions that must be passed in order to proceed
- * to Phase 2 in startup.
- */
- enum TPreconditions
- {
- /** waiting for CLI from engine*/
- EWaitingCLI,
- /** waiting for phase1 to complete */
- EWaitingPhase1ToComplete,
- /** waiting for engine to get proper state */
- EWaitingSessionState
- };
-
- /**
- * Clears precondition passed as argument and checks if any
- * preconditions hold and if not proceeds to phase 2 of startup.
- */
- void CheckPhase2StartupL( const TPreconditions aClearCondition );
-
- void HandleCLIReceivedL();
-
-private: // constructors and destructors
-
- // c++ constructor
- TVtUiStateStarting(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates );
-
- // Destructor
- virtual ~TVtUiStateStarting();
-
-private: // data members
-
- // Precondition for state change to running
- TBitFlags8 iPreconditions;
-
- // Singleton
- static TVtUiStateStarting* iInstance;
-
- // Starts phase1 startup in state state context. Needed because
- // initial state is opened from within state context construction.
- CAsyncCallBack* iStartCallback;
- };
-
-/**
-* Application state that is active in normal operation.
-*
-* @since S60 v3.2
-*/
-class TVtUiStateRunning : public TVtUiAppStateBase
- {
-public:
- /**
- * returns singleton instance of TVtUiStateRunning
- * @param aCtx state context
- * @param aUiStates UI states
- * @return singleton
- */
- static TVtUiStateRunning* InstanceL(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates );
-
-public: // from TVtUiAppStateBase
-
- /** @see TVtUiAppStateBase */
- virtual TEventResponse HandleVtEventL( TInt aEvent );
-
- /** @see TVtUiAppStateBase */
- virtual TEventResponse HandleCommandL( const TInt aCommand );
-
- /** @see TVtUiAppStateBase */
- virtual TBool HandleForegroundChangedL( TBool aIsForeground );
-
- /** @see TVtUiAppStateBase */
- virtual TBool PreHandleForegroundChangedL( TBool aIsForeground );
- /** @see TVtUiAppStateBase */
- virtual void HandleLayoutChangedL();
-
- /** @see TVtUiAppStateBase */
- virtual void StartDtmfTone( const TChar& aTone );
-
- /** @see TVtUiAppStateBase */
- virtual void StopDtmfTone();
-
- /** @see TVtUiAppStateBase */
- virtual void OpenL();
-
-private: // from TVtUiAppStateBase
- /** @see TVtUiAppStateBase */
- virtual void Close();
-
-private: // constructors and destructors
-
- // c++ constructor
- TVtUiStateRunning(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates );
-
- // Destructor
- virtual ~TVtUiStateRunning();
-
-private: // new functions
-
- /** Requests call handling subsystem to initiate a voice call.
- * Starts shutdown of the application.
- */
- void CreateVoiceCallL();
-
- /** Dials emergency call and starts shutdown */
- void DialEmergencyCallL();
-
- void ShutdownWithEngineCommandL( const TInt aCommand );
-
-private: // data members
- // singleton
- static TVtUiStateRunning* iInstance;
- // Create voice call query instance
- CAknQueryDialog* iCreateVoiceCallDlg;
- };
-
-/**
-* Application state that is active during shutdown.
-*
-* @since S60 v3.2
-*/
-class TVtUiStateResetting : public TVtUiAppStateBase
- {
-public:
- /**
- * returns singleton instance of TVtUiStateResetting
- * @param aCtx state context
- * @param aUiStates UI states
- * @param aCommand engine command to send when resetting state activates
- * @return singleton
- */
- static TVtUiStateResetting* InstanceL(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates,
- const TVtEngCommandId aCommand = KVtEngCommandNone );
-
-public: // from TVtUiAppStateBase
-
- /** @see TVtUiAppStateBase */
- virtual void AppUiStartupFailedL();
-
- /** @see TVtUiAppStateBase */
- virtual void ShutdownDoneL();
-
- /** @see TVtUiAppStateBase */
- virtual TEventResponse HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError );
-
- /** @see TVtUiAppStateBase */
- virtual TEventResponse HandleVtEventL( TInt aEvent );
-
- /** @see TVtUiAppStateBase */
- virtual TEventResponse HandleCommandL( const TInt aCommand );
-
- /** @see TVtUiAppStateBase */
- virtual TBool HandleForegroundChangedL( TBool aIsForeground );
-
- /** @see TVtUiAppStateBase */
- virtual void HandleLayoutChangedL();
-
-private: // from TVtUiAppStateBase
-
- /** @see TVtUiAppStateBase */
- virtual void OpenL();
-
- /** @see TVtUiAppStateBase */
- virtual void Close();
-
-private: // constructors and destructors
-
- // c++ constructor
- TVtUiStateResetting(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates,
- const TVtEngCommandId aCommand = KVtEngCommandNone );
-
- // Destructor
- virtual ~TVtUiStateResetting();
-
-private: // data members
-
- // Singleton
- static TVtUiStateResetting* iInstance;
-
- // Used in user originated shutdown (end active call/switch to voice)
- TVtEngCommandId iCommand;
- };
-
-#endif // T_VTUIAPPSTATES_H
--- a/vtuis/videotelui/inc/tvtuiwsevent.h Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 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: VT UI window server event definition.
-*
-*/
-
-
-#ifndef T_VTUIWSEVENT_H
-#define T_VTUIWSEVENT_H
-
-#include <w32std.h>
-
-/**
- * TVtUiWsEvent
- *
- * VT UI WS event code enumerations. Name 'code' used instead of 'type' to keep
- * naming consistent with with window server.
- */
-enum TVtUiWsEventCodes
- {
- // New number source activated
- EVtUiWsEventNumberSourceActivate = EEventUser + 6000,
- // Number source deactivated
- EVtUiWsEventNumberSourceDeactivate,
- // Enter rendering mode
- EVtUiWsEventBeginRenderingMode,
- // Leave rendering mode
- EVtUiWsEventEndRenderingMode
- };
-
-/**
- * TVtUiWsEvent
- *
- * Base class for VT UI ws events
- *
- * @since S60 v3.2
- */
-template < class T >
-class TVtUiWsEvent : public TWsEvent
- {
-
-public:
-
- /**
- * Constructor
- *
- * @param aType Event type @see TVtUiWsEventCodes.
- */
- inline TVtUiWsEvent( TInt aType, T* aData );
-
- /**
- * Return data contained in this event.
- */
- inline T* Data() const;
-
- };
-
-#include "tvtuiwsevent.inl"
-
-#endif // T_VTUIWSEVENT_H
--- a/vtuis/videotelui/inc/tvtuiwsevent.inl Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 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: VT UI window server event inline methods.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// TVtUiWsEvent::TVtUiWsEvent
-// -----------------------------------------------------------------------------
-//
-template < class T >
-TVtUiWsEvent< T >::TVtUiWsEvent( TInt aType, T* aData )
- {
- SetType( aType );
- Int()[ 0 ] = ( TInt ) aData;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiWsEvent::Data
-// -----------------------------------------------------------------------------
-//
-template < class T >
-T* TVtUiWsEvent< T >::Data() const
- {
- return ( T* )Int()[ 0 ];
- }
--- a/vtuis/videotelui/inc/videotelui.hrh Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +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: Header for constants.
-*
-*/
-
-
-#ifndef VIDEOTELUI_HRH
-#define VIDEOTELUI_HRH
-
-// CONSTANTS
-
-// Video Telephone application UID.
-#define KVtUiAppUidValue 0x101F8681
-
-// Enumerates commands
-enum
- {
- // Enable submenu
- EVtUiCmdEnableMain = 5000,
- // Enable video
- EVtUiCmdEnableVideo, //5001
- // Enable audio
- EVtUiCmdEnableAudio, //5002
- // Enable both video and audio
- EVtUiCmdEnableBoth, //5003
- // Disable submenu
- EVtUiCmdDisableMain, //5004
- // Disable video
- EVtUiCmdDisableVideo, //5005
- // Disable audio
- EVtUiCmdDisableAudio, //5006
- // Disable both video and audio
- EVtUiCmdDisableBoth, //5007
- // Deactivate BT handsfree
- EVtUiCmdDeactivateBT, //5008
- // Deactivet BT and activate HF (used in toolbar)
- EVtUiCmdSwitchFromBTToIHF, //5009
- // Activate BT handsfree
- EVtUiCmdActivateBT, //5010
- // Activate loudspeaker
- EVtUiCmdActivateLoudspeaker, //5011
- // Deactivate loudspeaker
- EVtUiCmdDeactivateLoudspeaker, //5012
- // End active call
- EVtUiCmdEndActiveCall, //5013
- // Use primary camera
- EVtUiCmdUsePrimaryCamera, //5014
- // Use secondary camera
- EVtUiCmdUseSecondaryCamera, //5015
- // Swap images' places
- EVtUiCmdSwapImagesPlaces, //5016
- // Zoom
- EVtUiCmdZoom, //5017
- // Send DTMF
- EVtUiCmdSendDTMF, //5018
- // Switch to voice call
- EVtUiCmdCreateVoice, //5019
- // Enable capture mode
- EVtUiCmdSnapshot, //5020
- // Freeze outgoing video
- EVtUiCmdCapture, //5021
- // Disable capture mode
- EVtUiCmdCancelCapture, //5022
- // Go to Idle.
- EVtUiCmdGoToIdle, //5023
- // Other items
- EVtUiCmdOkOptions = 6000,
- // Dial emergency
- EVtUiCmdDialEmergency,
- // Share object image
- EVtUiCmdShareObjectImage = 6100,
- // Share object video clip
- EVtUiCmdShareObjectVideoClip, //6101
- // Stop sharing image object
- EVtUiCmdStopSharingObjectImage, //6102
- // Stop sharing video clip object
- EVtUiCmdStopSharingObjectVideoClip, //6103
- // Activates zoom mode
- EVtUiCmdToolbarActivateZoomMode, //6104
- // Toggles disable video/ enable video
- EVtUiCmdToolbarToggleVideo, //6105
- // Toggles mute audio/ unmute audi
- EVtUiCmdToolbarToggleMicrophone, //6106
- // Changes audio routing
- EVtUiCmdToolbarAudioRouting, //6107
- // Toggles primary/secondary camera
- EVtUiCmdToolbarToggleCamera, //6108
- // Adjust video submenu
- EVtUiCmdAdjustVideo, //6109
- // Adjust video preferences
- EVtUiCmdAdjustVideoVideoQuality, //6110
- // Adjust video white balance
- EVtUiCmdAdjustVideoWhiteBalance, //6111
- // Adjust video brightness
- EVtUiCmdAdjustVideoBrightness, //6112
- // Adjust video contrast
- EVtUiCmdAdjustVideoContrast, //6113
- // Adjust video colour tone
- EVtUiCmdAdjustVideoColourTone, //6114
- // Dialer close
- EVtUiDialerExit //6115
- };
-
-// Enumerates bitmap identifiers
-enum TVtUiBitmapId
- {
- // Reserved to indicate no bitmap.
- EVtUiBitmapNone,
- // Viewfinder background.
- EVtUiBitmap_qgn_graf_call_video_out_bg,
- // Viewfinder background mask.
- EVtUiBitmap_qgn_graf_call_video_out_bg_mask,
- // Blind in icon.
- EVtUiBitmap_qgn_indi_call_video_blind_in,
- // Blind out icon.
- EVtUiBitmap_qgn_indi_call_video_blind_out,
- // Earpiece icon.
- EVtUiBitmap_qgn_indi_earpiece,
- // Earpiece icon mask.
- EVtUiBitmap_qgn_indi_earpiece_mask,
- // Loudspeaker icon.
- EVtUiBitmap_qgn_indi_speaker,
- // Loudspeaker icon mask.
- EVtUiBitmap_qgn_indi_speaker_mask,
- // Zoom area mask.
- EVtUiBitmap_qgn_graf_zoom_area,
- // Zoom direction bitmap.
- EVtUiBitmap_qgn_indi_zoom_dir,
- // Zoom direction bitmap mask.
- EVtUiBitmap_qgn_indi_zoom_dir_mask,
- // Zoom area minimum icon.
- EVtUiBitmap_qgn_indi_zoom_min,
- // Zoom area maximum icon.
- EVtUiBitmap_qgn_indi_zoom_max,
- // Scalable blind in icon soft mask,
- EVtUiBitmap_qgn_indi_call_video_blind_in_mask_icon,
- // Scalable blind out icon soft mask,
- EVtUiBitmap_qgn_indi_call_video_blind_out_mask_icon,
- // Current active list item indicator
- EVtUiBitmap_qgn_prop_sub_current,
- // Current active list item indicator mask
- EVtUiBitmap_qgn_prop_sub_current_mask
- };
-
-#endif // VIDEOTELUI_HRH
-
-// End of File
--- a/vtuis/videotelui/loc/videotelui.loc Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,396 +0,0 @@
-/*
-* Copyright (c) 2004 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: Localisation texts for Video Telephone application.
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: Text shown in fast swap window while there is active video call.
-// l: cell_app_pane_t1
-// r: 2.6
-//
-#define qtn_apps_videophone_grid "Video tel"
-
-// d: It is text for menu option. If it is selected,
-// d: then submenu is opened containing Video / Audio / Both
-// d: items.
-// l: list_single_pane_t1_cp2/opt3
-// r: 2.6
-//
-#define qtn_incal_enable_main_option "Enable"
-
-// d: It is text for submenu option. It enables / disables
-// d: video.
-// l: list_single_popup_submenu_pane_t1
-// r: 2.6
-//
-#define qtn_incal_change_video_option "Video"
-
-// d: It is text for submenu option. It enables / disables
-// d: audio.
-// l: list_single_popup_submenu_pane_t1
-// r: 2.6
-//
-#define qtn_incal_change_audio_option "Audio"
-
-// d: It is text for submenu option. It enables / disables
-// d: both audio and video.
-// l: list_single_popup_submenu_pane_t1
-// r: 2.6
-//
-#define qtn_incal_change_both_option "Both"
-
-// d: It is text for menu option. If it is selected,
-// d: then submenu is opened containing Video / Audio / Both
-// d: items.
-// l: list_single_pane_t1_cp2/opt3
-// r: 2.6
-//
-#define qtn_incal_disable_main_option "Disable"
-
-// d: It is text for menu option. If it is selected,
-// d: then zoom mode is activated.
-// l: list_single_pane_t1_cp2
-// r: 2.6
-//
-#define qtn_incal_zoom_own_video "Zoom"
-
-// d: It is the prompt in confirmation query shown when
-// d: incoming video call is answered.
-// l: popup_note_window
-// r: 3.2
-//
-#define qtn_incal_send_video_image "Allow video image?"
-
-// d: It is text for options menu list item.
-// d: It opens touch input window for sending DTMF tones
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_send_dtmf_tone_option "Activate keypad"
-
-// d: It it text shown in title pane during active
-// d: video call. %N is replaced with call index.
-// l: title_pane_t2/opt9
-// r: 2.6
-//
-#define qtn_call_number_video "Call %N"
-
-// d: It is text shown in main pane until the first image
-// d: is received.
-// l: main_list_empty_pane
-// r: 2.6
-//
-#define qtn_incal_waiting_image "Waiting image..."
-
-// d: It is text shown in a note when video call is
-// d: answered and camera activation fails, because
-// d: camera is in use in other application.
-// l: popup_note_window
-// r: 2.6
-//
-#define qtn_incal_close_camcorder "Camera already in use an other application."
-
-// d: It is text in softkey to enable audio (unmute microphone).
-// l: control_pane_t1/opt7
-// r: 2.6
-//
-#define qtn_incal_softk_enable_audio "Enable audio"
-
-// d: It is text for menu option. If it is selected,
-// d: then swaps locations of uplink and downlink
-// d: video streams.
-// l: list_single_pane_t1_cp2
-// r: 2.8
-//
-#define qtn_incal_swap_vt_images "Swap images' places"
-
-// d: It is text shown in a note when "use primary
-// d: camera" or "use secondary camera" operations fails.
-// l: popup_note_window
-// r: 2.6
-//
-#define qtn_err_cam_swap "Other camera wasn't usable"
-
-// d: It is text for menu option. If it is selected,
-// d: then new softkeys are now Capture and Cancel.
-// l: list_single_pane_t1_cp2
-// r: 3.1
-//
-#define qtn_incal_snapshot_option "Snapshot"
-
-// d: It is text for right softkey in freeze mode.
-// l: control_pane_t1/opt7
-// r: 3.1
-//
-#define qtn_softk_capture "Capture"
-
-// d: It is text for switch
-// d: to voice query dialog.
-// l: popup_note_window
-// r: 3.1
-#define qtn_query_create_voice_call "End active call and create voice call to the same contact?"
-
-// d: It is text for menu option.
-// d: It switches video to voice call.
-// l: list_single_pane_t1_cp2
-// r: 3.1
-#define qtn_incal_video_to_voice "Switch to voice call"
-
-// d: It is text for menu option.
-// d: It opens dialog for selecting image to be shared with peer.
-// l: list_single_pane_t1_cp2
-// r: 3.1
-#define qtn_incal_video_call_share_file "Share file"
-
-// d: It is text for softkey option.
-// d: It stops sending selected image to peer.
-// l: control_pane_t1/opt7
-// r: 3.1
-#define qtn_softk_disable_share "Disable share"
-
-//d: Error note text when user selects image that cannot be opened.
-//d: Corrupted or unsupported image selected.
-//l: popup_note_window
-//r:3.1
-//
-#define qtn_tel_info_unable_open_image "Unable to open image"
-
-//d: Error note text when user selects multiframe image that is corrupted.
-//d: Corrupted image selected.
-//l: popup_note_window
-//r: 5.0
-//
-#define qtn_incal_note_decoding_failed "Unable to animate image"
-
-//d: Error note text when user selects a DRM protected image.
-//d: DRM protected media gallery object selected.
-//l: popup_note_window
-//r:3.1
-//
-#define qtn_drm_not_allowed "Unable to select protected objects"
-
-//d: Text for image initializing wait note
-//d: Shown when image to be shared is being initialized.
-//l: popup_note_wait_window
-//r:3.1
-//
-#define qtn_vt_progress_decoding_image "Decoding image"
-
-//d: Toolbar tooltip for disable video.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_disable_video "Disable video sending"
-
-//d: Toolbar tooltip for enable video.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_enable_video "Enable video sending"
-
-
-//d: Toolbar tooltip for mute microphone.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_mute_microphone "Mute microphone"
-
-//d: Toolbar tooltip for unmute microphone.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_unmute_microphone "Unmute microphone"
-
-//d: Toolbar tooltip for swap images.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_swap_images "Change image order"
-
-//d: Toolbar tooltip for secondary camera.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_secondary_cam "Use secondary camera"
-
-//d: Toolbar tooltip for primary camera.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_primary_cam "Use primary camera"
-
-//d: Toolbar tooltip for zoom.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_zoom "Activate zoom mode"
-
-//d: Toolbar tooltip for share.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_share "Share file"
-
-//d: Toolbar tooltip for send snapshot.
-//l: popup_preview_text_window_t1
-//r:3.2
-//
-#define qtn_vt_tooltip_send_snapshot "Send snapshot"
-
-// d: It is text for menu option.
-// d: It opens submenu with Received video quality / White balance /
-// d: Brightness / Contrast / Colour tone
-// l: list_single_pane_t1_cp2/opt3
-// r: 5.0
-#define qtn_incal_video_adjust_option "Adjust video"
-
-// d: It is text for submenu option.
-// d: It opens list query dialog with options Normal / Details / Motion.
-// l: list_single_popup_submenu_pane_t1
-// r: 5.0
-#define qtn_incal_video_prefer_option "Received video quality"
-
-// d: It is text for list query option.
-// d: It adjusts incoming video frame rate to 10 frames per second.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_normal_list_option "Normal"
-
-// d: It is text for list query option.
-// d: It adjusts incoming video frame rate to 5 frames per second.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_details_list_option "Details"
-
-// d: It is text for list query option.
-// d: It adjusts incoming video frame rate to 15 frames per second.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_motion_list_option "Motion"
-
-// d: It is text for submenu option.
-// d: It opens list query dialog with options Automatic / Sunny / Cloudy /
-// d: Incandescent / Fluorescent
-// l: list_single_popup_submenu_pane_t1
-// r: 5.0
-#define qtn_incal_video_white_balance_option "White balance"
-
-// d: It is text for list query option.
-// d: It adjusts incoming video frame rate to 15 frames per second.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_automatic_option "Automatic"
-
-// d: It is text for list query option.
-// d: It adjusts white balance of outgoing video.
-// d: It sets white balance to Sunny.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_sunny_option "Sunny"
-
-// d: It is text for list query option.
-// d: It adjusts white balance of outgoing video.
-// d: It sets white balance to Cloudy.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_cloudy_option "Cloudy"
-
-// d: It is text for list query option.
-// d: It adjusts white balance of outgoing video.
-// d: It sets white balance to Incandescent.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_incandescent_option "Incandescent"
-
-// d: It is text for list query option.
-// d: It adjusts white balance of outgoing video.
-// d: It sets white balance to Fluorescent.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_fluorescent_option "Fluorescent"
-
-// d: It is text for submenu option.
-// d: It shows control for adjusting outgoing video Brightness.
-// l: list_single_popup_submenu_pane_t1
-// r: 5.0
-#define qtn_incal_video_brightness_option "Brightness"
-
-// d: It is text for submenu option.
-// d: It shows control for adjusting outgoing video Contrast.
-// l: list_single_popup_submenu_pane_t1
-// r: 5.0
-#define qtn_incal_video_contrast_option "Contrast"
-
-// d: It is text for submenu option.
-// d: It opens list query dialog with options Normal / Sepia /
-// d: Black and white / Negative
-// l: list_single_popup_submenu_pane_t1
-// r: 5.0
-#define qtn_incal_video_colour_tone_option "Colour tone"
-
-// d: It is text for list query option.
-// d: It adjusts colour tone of outgoing video.
-// d: It sets colour tone to Normal.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_ct_normal_option "Normal"
-
-// d: It is text for list query option.
-// d: It adjusts colour tone of outgoing video.
-// d: It sets colour tone to Sepia.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_sepia_option "Sepia"
-
-// d: It is text for list query option.
-// d: It adjusts colour tone of outgoing video.
-// d: It sets colour tone to Black and white.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_b_and_w_option "Black and white"
-
-// d: It is text for list query option.
-// d: It adjusts colour tone of outgoing video.
-// d: It sets colour tone to Negative.
-// l: list_single_pane_t1_cp2
-// r: 5.0
-#define qtn_incal_negative_option "Negative"
-
-// d: Toolbar tooltip for changing audio routing to handset.
-// l: popup_preview_text_window_t1
-// r: 5.0
-//
-#define qtn_vt_tooltip_audio_handset "Audio to handset"
-
-// d: Toolbar tooltip for changing audio routing to loudspeaker.
-// l: popup_preview_text_window_t1
-// r: 5.0
-//
-#define qtn_vt_tooltip_audio_loudspeaker "Audio to loudspeaker"
-
-// d: Toolbar tooltip for changing audio routing to bluetooth handsfree.
-// l: popup_preview_text_window_t1
-// r: 5.0
-//
-#define qtn_vt_tooltip_audio_bthf "Audio to Bluetooth handsfree"
-
-// d: It is text in softkey to open dialer (for dtmf sending).
-// l: control_pane_t1/opt7
-// r: 5.0
-//
-#define qtn_incal_softk_dialer "Dialer"
-
-// End of File
--- a/vtuis/videotelui/rom/videotelui.iby Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2004-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: IBY file
- *
-*/
-
-
-#ifndef __VIDEOTELUI_IBY__
-#define __VIDEOTELUI_IBY__
-
-REM Video Telephone application
-
-#ifdef __CS_VIDEO_TELEPHONY
-
-S60_APP_EXE(videotelui)
-S60_APP_AIF_ICONS(videotelui)
-S60_APP_BITMAP(videotelui)
-
-// Enabler for eclipsing ROM binaries
-data=ZSYSTEM\install\videotelui_stub.sis system\install\videotelui_stub.sis
-data=ZPRIVATE\10003a3f\apps\videotelui_reg.rsc private\10003a3f\import\apps\videotelui_reg.rsc
-
-#if defined ( RD_VT_RTF )
-
-data=ABI_DIR\BUILD_DIR\z\system\sounds\digital\VtStartRecord.wav System\sounds\digital\VtStartRecord.wav
-data=ABI_DIR\BUILD_DIR\z\system\sounds\digital\VtStopRecord.wav System\sounds\digital\VtStopRecord.wav
-
-#endif //RD_VT_RTF
-#endif // __CS_VIDEO_TELEPHONY
-#endif
--- a/vtuis/videotelui/rom/videoteluiResources.iby Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2004-2005 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: IBY file
- *
-*/
-
-
-#ifndef __VIDEOTELUI_RESOURCES_IBY__
-#define __VIDEOTELUI_RESOURCES_IBY__
-
-#ifdef __CS_VIDEO_TELEPHONY
-data=DATAZ_\APP_RESOURCE_DIR\videotelui.rsc APP_RESOURCE_DIR\videotelui.rsc
-#endif // __CS_VIDEO_TELEPHONY
-
-#endif
\ No newline at end of file
--- a/vtuis/videotelui/src/CVtUiActivateBtHfDialog.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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: Implementation of the CVtUiActivateBtHfDialog class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiActivateBtHfDialog.h"
-#include "MVtUiEngineCommandManager.h"
-#include <mvtengcommandhandler.h>
-#include <videotelui.rsg>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiActivateBtHfDialog::CVtUiActivateBtHfDialog
-// -----------------------------------------------------------------------------
-//
-CVtUiActivateBtHfDialog::CVtUiActivateBtHfDialog(
- CEikDialog** aSelfPtr,
- TInt* aError,
- MVtEngCommandHandler& aCommandHandler,
- MVtUiEngineCommandManager& aCommandManager )
- : CAknWaitDialog( aSelfPtr ),
- iCommandHandler( aCommandHandler ),
- iCommandManager( aCommandManager ),
- iError( aError ),
- iAudioRouting( MVtEngAudio::EActivateBT )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActivateBtHfDialog::~CVtUiActivateBtHfDialog
-// -----------------------------------------------------------------------------
-//
-CVtUiActivateBtHfDialog::~CVtUiActivateBtHfDialog()
- {
- if ( iError )
- {
- *iError = KErrCancel;
- iError = NULL;
- }
-
- if ( iCommandPerformed )
- {
- iCommandHandler.CancelCommand( KVtEngSetAudioRouting ); // ignore error
- }
- iCommandManager.RemoveObserver( *this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActivateBtHfDialog::ExecuteDialogLD
-// -----------------------------------------------------------------------------
-//
-void CVtUiActivateBtHfDialog::ExecuteDialogLD()
- {
- CleanupStack::PushL( this );
- iCommandManager.AddObserverL( *this );
- SetTone( CAknNoteDialog::ENoTone );
- CleanupStack::Pop( this );
-
- ExecuteLD( R_VIDEOTELUI_BTHF_CONNECT_WAIT_NOTE );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActivateBtHfDialog::PostLayoutDynInitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiActivateBtHfDialog::PostLayoutDynInitL()
- {
- iCommandHandler.ExecuteL( KVtEngSetAudioRouting, &iAudioRouting );
- iCommandPerformed = ETrue;
-
- CAknWaitDialog::PostLayoutDynInitL();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActivateBtHfDialog::HandleVTCommandPerformedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiActivateBtHfDialog::HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError )
- {
- if ( aCommand == KVtEngSetAudioRouting )
- {
- if ( iError )
- {
- *iError = aError;
- iError = NULL;
- }
-
- ProcessFinishedL();
- }
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiActiveExec.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiActiveExec class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiActiveExec.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiActiveExec::CVtUiActiveExec
-// -----------------------------------------------------------------------------
-//
-CVtUiActiveExec::CVtUiActiveExec(
- const TInt aPriority )
- : CActive( aPriority )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActiveExec::~CVtUiActiveExec
-// -----------------------------------------------------------------------------
-//
-CVtUiActiveExec::~CVtUiActiveExec()
- {
- Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActiveExec::Start
-// -----------------------------------------------------------------------------
-//
-void CVtUiActiveExec::Start(
- TInt aStartState,
- MVtUiActiveExec& aExec )
- {
- Cancel();
-
- iInitialState = aStartState;
- iCurrentState = aStartState;
- iNextState = aStartState;
-
- iActiveExec = &aExec;
-
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActiveExec::InitialState
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiActiveExec::InitialState() const
- {
- return iInitialState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActiveExec::RequestStatus
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiActiveExec::RequestStatus() const
- {
- return iStatus.Int();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActiveExec::RunL
-// -----------------------------------------------------------------------------
-//
-void CVtUiActiveExec::RunL()
- {
- User::LeaveIfError( iStatus.Int() );
- TBool synch = ETrue;
-
- // Execute to the next asynchronous operation.
- while ( synch )
- {
- iCurrentState = iNextState;
- if ( iCurrentState )
- {
- synch = iActiveExec->ActiveExecExecuteL(
- *this,
- iCurrentState,
- iNextState,
- iStatus );
-
- if ( !synch )
- {
- SetActive();
- }
- }
- else
- {
- iActiveExec->ActiveExecDone( *this, iInitialState );
- if ( !IsActive() )
- {
- iInitialState = 0;
- }
-
- synch = EFalse;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActiveExec::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVtUiActiveExec::DoCancel()
- {
- if ( iActiveExec )
- {
- iActiveExec->ActiveExecCancel( *this, iCurrentState );
-
- iCurrentState = 0;
- iActiveExec = NULL;
- iInitialState = 0;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiActiveExec::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiActiveExec::RunError( TInt aError )
- {
- if ( iActiveExec->ActiveExecContinue( *this, iCurrentState, aError ) )
- {
- iNextState = iCurrentState;
-
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- SetActive();
- }
- else
- {
- if ( !IsActive() )
- {
- iInitialState = 0;
- }
- }
-
- return KErrNone;
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiAllowVideoDialog.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiAllowVideoDialog class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiAllowVideoDialog.h"
-#include <stringloader.h>
-#include <videotelui.rsg>
-
-// CONSTANTS
-
-// Timeout for allow video query.
-const TInt KVtUiAllowVideoDialogTimeout = 5000000;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiAllowVideoDialog::CVtUiAllowVideoDialog
-// -----------------------------------------------------------------------------
-//
-CVtUiAllowVideoDialog::CVtUiAllowVideoDialog(
- CEikDialog** aSelfPtr,
- const TTone& aTone )
- : CAknQueryDialog( aTone ),
- iSelfPtr( aSelfPtr )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAllowVideoDialog::~CVtUiAllowVideoDialog
-// -----------------------------------------------------------------------------
-//
-CVtUiAllowVideoDialog::~CVtUiAllowVideoDialog()
- {
- if ( iSelfPtr )
- {
- *iSelfPtr = NULL;
- iSelfPtr = NULL;
- }
-
- if ( iRequestStatus )
- {
- User::RequestComplete( iRequestStatus, KErrNone );
- iRequestStatus = NULL;
- }
-
- delete iQueryTimer;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAllowVideoDialog::ExecuteDialogLD
-// -----------------------------------------------------------------------------
-//
-void CVtUiAllowVideoDialog::ExecuteDialogLD(
- TRequestStatus& aStatus )
- {
- aStatus = KRequestPending;
-
- HBufC* prompt = StringLoader::LoadLC( R_VIDEOTELUI_QTN_SEND_VIDEO_IMAGE );
-
- PrepareLC( R_VIDEOTELUI_ALLOW_VIDEO_QUERY );
- SetPromptL( *prompt );
- RunLD();
-
- CleanupStack::PopAndDestroy( prompt );
- iRequestStatus = &aStatus;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAllowVideoDialog::PostLayoutDynInitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAllowVideoDialog::PostLayoutDynInitL()
- {
- CAknQueryDialog::PostLayoutDynInitL();
-
- iQueryTimer = CPeriodic::NewL( CActive::EPriorityStandard );
- iQueryTimer->Start(
- KVtUiAllowVideoDialogTimeout,
- KVtUiAllowVideoDialogTimeout,
- TCallBack( DoDismissDialogTimeoutL, this ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAllowVideoDialog::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAllowVideoDialog::OkToExitL( TInt aCommand )
- {
- const TBool exit =
- CAknQueryDialog::OkToExitL( aCommand );
-
- if ( exit )
- {
- CVtUiAllowVideoDialog::TResult result =
- CVtUiAllowVideoDialog::EQueryCanceled;
-
- switch ( aCommand )
- {
- case EAknSoftkeyOk:
- case EAknSoftkeyYes:
- result = CVtUiAllowVideoDialog::EUserAllowed;
- break;
-
- case EAknSoftkeyNo:
- result = CVtUiAllowVideoDialog::EUserDenied;
- break;
-
- default:
- break;
- }
-
- if ( iRequestStatus )
- {
- User::RequestComplete( iRequestStatus, result );
- iRequestStatus = NULL;
- }
- }
-
- return exit;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAllowVideoDialog::DoDismissDialogTimeoutL
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAllowVideoDialog::DoDismissDialogTimeoutL( TAny* aAny )
- {
- CVtUiAllowVideoDialog* self =
- static_cast< CVtUiAllowVideoDialog* >( aAny );
-
- TRequestStatus* status = self->iRequestStatus;
- self->iRequestStatus = NULL;
-
- delete self;
-
- User::RequestComplete(
- status,
- CVtUiAllowVideoDialog::EQueryDismissedTimeout );
-
- return KErrNone;
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiApp.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiApp application class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiApp.h"
-#include "CVtUiDoc.h"
-#include "videotelui.hrh"
-
-#include <eikstart.h>
-
-// CONSTANTS
-
-// UID of Video Telephone application.
-const TUid KVtUiAppUid = { KVtUiAppUidValue };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiApp::CVtUiApp
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiApp::CVtUiApp()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiApp::CreateDocumentL
-// Creates CVtUiDoc instance.
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CVtUiApp::CreateDocumentL()
- {
- return new ( ELeave ) CVtUiDoc( *this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiApp::AppDllUid
-// Returns application uid.
-// -----------------------------------------------------------------------------
-//
-TUid CVtUiApp::AppDllUid() const
- {
- return KVtUiAppUid;
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// ---------------------------------------------------------
-// NewApplication implements
-//
-// Creates an instance of application.
-//
-// Returns: an instance of CVtUiApp
-// ---------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication()
- {
- return new CVtUiApp;
- }
-
-// ---------------------------------------------------------
-// E32Main implements
-//
-// It is called when executable is started.
-//
-// Returns: error code.
-// ---------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
- {
- return EikStart::RunApplication( NewApplication );
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiAppUi.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7332 +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: Implementation of the CVtUiAppUi application UI class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "videotelui.hrh"
-#include "CVtUiAppUi.h"
-#include "CVtUiMainControl.h"
-#include "CVtUiContextControl.h"
-#include "CVtUiNumberEntryActivationControl.h"
-#include "CVtUiNaviPane.h"
-#include "VtUiLayout.h"
-#include "MVtUiEngineCommandManager.h"
-#include "CVtUiExecuteCmdDialog.h"
-#include "CVtUiAllowVideoDialog.h"
-#include "CVtUiBlankControl.h"
-#include "VtUiLayout.h"
-#include "VtUiUtility.h"
-#include "VtUiPanic.h"
-#include "CVtUiActivateBtHfDialog.h"
-#include "CVtUiRemoteVideoControl.h"
-#include <csxhelp/incl.hlp.hrh>
-
-
-#include <aknincallbubblenotify.h>
-#include <aknslayeredbackgroundcontrolcontext.h>
-#include <aknutils.h>
-#include <aknnavi.h>
-#include <akntitle.h>
-#include <akndlgshut.h>
-#include <aknnotedialog.h>
-#include <aknnotewrappers.h>
-#include <akncontext.h>
-#include <eikspane.h>
-#include <eikmenup.h>
-#include <eikmenub.h>
-#include <apgcli.h>
-#include <featmgr.h>
-#include <videotelui.rsg>
-#include <hlplch.h>
-#include <apgwgnam.h>
-#include <stringloader.h>
-#include <akndef.h>
-#include <aknconsts.h>
-
-
-#include <e32property.h>
-#include <ecom/ecom.h>
-#include <coreapplicationuisdomainpskeys.h>
-#include <uikoninternalpskeys.h>
-#include <centralrepository.h>
-#include <videotelephonyinternalcrkeys.h>
-#include <settingsinternalcrkeys.h>
-#include <e32property.h>
-#include <telcommsinfopskeys.h>
-#include <telinformationpskeys.h>
-#include <activeidle2domainpskeys.h>
-#include <ctsydomainpskeys.h>
-
-#include <aknquerydialog.h>
-#include <aknglobalnote.h>
-#include <aknsoundsystem.h>
-
-
-#include <cvtlogger.h>
-#include <cvtengmodel.h>
-#include <mvtengeventobserver.h>
-#include <mvtengcommandobserver.h>
-#include <mvtengcommandhandler.h>
-#include <mvtengframeobserver.h>
-#include <mvtengaudio.h>
-#include <mvtengsessioninfo.h>
-#include <vtengevents.h>
-#include <mvtengmedia.h>
-
-#include "CVtUiBitmapManager.h"
-
-#include <mgfetch.h>
-#include <mmgfetchverifier.h>
-#include <caf/manager.h>
-#include <caf/virtualpathptr.h>
-
-#include "cvtuifeaturemanager.h"
-#include "cvtuicomponentmanager.h"
-#include "cvtuicommandmanager.h"
-#include "tvtuistates.h"
-#include "cvtuimenus.h"
-#include "cvtuisoftkeys.h"
-#include "cvtuitoolbarbase.h"
-#include "cvtuiwhitebalance.h"
-#include "cvtuicolortone.h"
-#include "cvtuibrightness.h"
-#include "cvtuicontrast.h"
-#include <remconinterfaceselector.h>
-#include <remconcoreapitarget.h>
-#include <remconcoreapitargetobserver.h>
-#include "tvtuiwsevent.h"
-#include "mvtuinumbersource.h"
-#include "tVtuifeaturevariation.h"
-#include "cvtuidialer.h"
-#include "tvtuiappstates.h"
-#include "cvtuivolume.h"
-#include "cvtuizoom.h"
-#include "cvtuivolumecontrol.h"
-
-using namespace ContentAccess;
-
-// CONSTANTS
-
-// Engine orientation to application orientation map
-const CVtUiAppUi::TAppUiOrientation engToAppOrientation[] = {
- CVtUiAppUi::EAppUiOrientationLandscape,
- CVtUiAppUi::EAppUiOrientationPortrait,
- CVtUiAppUi::EAppUiOrientationUnspecified };
-
-// Amount of help contexts.
-const TInt KVtUiHelpContextAmount = 1;
-
-// UID of Video Telephone application.
-const TUid KVtUiAppUid = { KVtUiAppUidValue };
-
-// Granularity of command observer array.
-const TInt KVtUiCommandObserverArrayGranularity = 5;
-
-// Default call index.
-const TInt KVtUiDefaultCallId = 1;
-
-// Control priority for the blank control. Above all other controls.
-const TInt KVtUiBlankControlPriority =
- ECoeStackPriorityEnvironmentFilter + 100;
-
-// Exit timeout.
-const TInt KVtUiExitTimeout = 10000000;
-
-// UID of the main telephone application
-const TUid KVtUiTelephoneUid = { 0x100058B3 };
-
-// Reset value for volume
-const TInt KVolumeResetValue = -1;
-
-
-// Name of the EIKON server window group.
-_LIT( KVtUiEikonServer, "EikonServer" );
-
-// Name of the AknCapServer window group.
-_LIT( KVtUiAknCapServer, "*akncapserver*" );
-
-// Name of the AknNotifierServer window group.
-_LIT( KVtUiAknNotifierServer, "*aknnfysrv*" );
-
-// Volume repeat delay.
-const TInt KVtUiVolumeRepeatDelay = KAknStandardKeyboardRepeatRate;
-
-// Volume repeat long delay.
-const TInt KVtUiVolumeRepeatLongDelay = KAknKeyboardRepeatInitialDelay;
-
-// Start time for toolbar timer
-const TTimeIntervalMicroSeconds32 KStartTime( 600000 );
-
-// period time for toolbar timer
-const TTimeIntervalMicroSeconds32 KPeriodTime( 300000 );
-
-// The maximum frequency that user can swap image places.
-const TInt64 KVtUiMaxSwapImagesFreq( 1000000 );
-
-// Enumerates methods used in event handling. This enumeration MUST
-// match with methodArray local array.
-enum TVtUiHandleEvents
- {
- // Refresh states
- EVtUiRefreshStates = 1 << 0,
- // Handle remote problem.
- EVtUiHandleVideoFrameRemoteProblem = 1 << 1,
- // Handle local problem.
- EVtUiHandleVideoFrameLocalProblem = 1 << 2,
- // Refresh navipane.
- EVtUiRefreshNaviPane = 1 << 3,
- // Refresh softkeys.
- EVtUiRefreshSoftkeys = 1 << 4,
- // Refresh blind icon status.
- EVtUiRefreshBlind = 1 << 5,
- // Stop showing waiting image text.
- EVtUiStopWaitingImage = 1 << 6,
- // Rx resolution changed.
- EVtUiChangeRemoteVideoLayout = 1 << 7,
- // Show initializing image progress
- EVtUiShowImageInitializingProgress = 1 << 8,
- // Hide initializing image progress
- EVtUiHideImageInitializingProgress = 1 << 9,
- // Set camera orientation
- EVtUiSetOrientation = 1 << 10,
- //Handle media status change
- EVtUiMediaStateChanged = 1 << 11,
- //Show decoding error note
- EVtUiShowDecodingError = 1 << 12,
- // Stop the white balance and color tone
- EVtUiStopWBOrColortone = 1 << 13,
- // refresh Menu
- EVtUiRefreshMenu = 1 << 14,
- // Stop brightness and contrast slider
- EVtUiStopBrightnessOrContrast = 1 << 15,
- // refresh zoom popup
- EVtUiRefreshZoomPopup = 1 << 16
- };
-
-// Enumerates states for CVtUiActiveExec.
-enum
- {
- // Operation finished. Must equal to zero.
- EVtUiAppUiNone,
-
- // Active execution states for iActiveExec:
-
- // Startup (prepare engine):
- EVtUiAppUiStartup = 100, // 100
- // Close dialogs.
- EVtUiAppUiStartupCloseDialogs = EVtUiAppUiStartup, // 100
- // Initialise engine.
- EVtUiAppUiStartupInitEngine, // 101
- // Prepare viewfinder.
- EVtUiAppUiStartupPrepareViewfinder, // 102
- // Prepare remote render.
- EVtUiAppUiStartupPrepareRemoteRender, // 103
- // Remove blank.
- EVtUiAppUiStartupRemoveBlank, // 104
-
- // Shutdown (reset engine):
- EVtUiAppUiShutdown = 300, // 300
- // Close dialogs.
- EVtUiAppUiShutdownCloseDialogs = EVtUiAppUiShutdown, // 300
- // Hide application.
- EVtUiAppUiShutdownHideApplication, // 301
- // Reset engine.
- EVtUiAppUiShutdownResetEngine, // 302
- // Remove blank.
- EVtUiAppUiShutdownRemoveBlank, // 303
-
- // Answered:
- EVtUiAppUiAnswered = 500, // 500
- // Show blank dialog.
- EVtUiAppUiAnsweredStart = EVtUiAppUiAnswered, // 500
- // Refresh navipane.
- EVtUiAppUiAnsweredRefreshNavi, // 501
- // Refresh softkeys.
- EVtUiAppUiAnsweredRefreshSoftkeys, // 502
- // Start remote render.
- EVtUiAppUiAnsweredStartRemoteRender, // 503
-
- // Prepares camera
- EVtUiAppUiAnsweredCheckCamera, // 504
- // Choose if it's needed to show query or directly activate camera.
- EVtUiAppUiAnsweredChoose, // 505
- // Set still image as source.
- EVtUiAppUiAnsweredQuerySetupStill, // 506
- // Set none as source.
- EVtUiAppUiAnsweredQuerySetupNone, // 507
- // Start viewfinder.
- EVtUiAppUiAnsweredQuerySetupStart, // 508
- // Show "allow video image" query.
- EVtUiAppUiAnsweredQueryShow, // 509
- // Check if user allowed video image.
- EVtUiAppUiAnsweredQueryDecide, // 510
- // Select camera as source.
- EVtUiAppUiAnsweredQuerySelectCamera, // 511
- // Select still image as source.
- EVtUiAppUiAnsweredQuerySelectStill, // 512
- // Select none as source.
- EVtUiAppUiAnsweredQuerySelectNone, // 513
- // Start viewfinder.
- EVtUiAppUiAnsweredQueryStartViewfinder, // 514
- // Finish.
- EVtUiAppUiAnsweredQueryFinish, // 515
- // Select camera as source.
- EVtUiAppUiAnsweredSelectCamera, // 516
- // Select still image as source.
- EVtUiAppUiAnsweredSelectStill, // 517
- // Select none as source.
- EVtUiAppUiAnsweredSelectNone, // 518
- // Start viewfinder.
- EVtUiAppUiAnsweredStartViewfinder, // 519
- // Finish.
- EVtUiAppUiAnsweredFinish, // 520
-
- // Prepares camera
- EVtUiAppUiAnsweredDoPrepareCamera // 521
- };
-
-/**
-* Enumerates background layers
-*/
-enum TVtUiBackgroundLayers
- {
- // Idle state background.
- EVtUiLayerBackground = 0,
- // Wallpaper layout.
- EVtUiLayerWallpaper = 1,
- // Amount of layers.
- EVtUiLayerCount = 2
- };
-
-// MODULE DATA STRUCTURES
-
-/**
-* Asynchronous command executor that does not use dialog for waiting the
-* execution completion.
-* @since Series 60 5.0
-*/
-class CVtEngCmdExec : public CBase, private MVtEngCommandObserver
- {
-
-public:
- /**
- * Static constructor.
- */
- static CVtEngCmdExec* NewL( MVtEngCommandHandler& aCommandHandler,
- MVtUiEngineCommandManager& aCommandManager,
- CEikButtonGroupContainer& aCBA );
-
- /**
- * Executes given command asynchronously, waiting the command completion.
- */
- void ExecuteCmdLD( const TVtEngCommandId aCommandId );
-
- /**
- * Destructor.
- */
- ~CVtEngCmdExec();
-
-private: // from MVtEngCommandObserver
-
- /**
- * @see MVtEngCommandObserver::HandleVTCommandPerformedL
- */
- void HandleVTCommandPerformedL( TVtEngCommandId aCommand,
- const TInt aError );
-
-private:
-
- /**
- * Constructor.
- */
- CVtEngCmdExec( MVtEngCommandHandler& aCommandHandler,
- MVtUiEngineCommandManager& aCommandManager,
- CEikButtonGroupContainer& aCBA );
-
-private:
-
- CActiveSchedulerWait iWait;
-
- MVtEngCommandHandler& iCommandHandler;
-
- MVtUiEngineCommandManager& iCommandManager;
-
- TVtEngCommandId iCommandId;
-
- CEikButtonGroupContainer& iCBA;
-
- };
-
-// -----------------------------------------------------------------------------
-// CVtEngCmdExec::NewL
-// -----------------------------------------------------------------------------
-//
-CVtEngCmdExec* CVtEngCmdExec::NewL( MVtEngCommandHandler& aCommandHandler,
- MVtUiEngineCommandManager& aCommandManager, CEikButtonGroupContainer& aCBA )
- {
- CVtEngCmdExec* self = new ( ELeave ) CVtEngCmdExec( aCommandHandler,
- aCommandManager, aCBA );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCmdExec::ExecuteCmdLD
-// -----------------------------------------------------------------------------
-//
-void CVtEngCmdExec::ExecuteCmdLD( const TVtEngCommandId aCommandId )
- {
- __VTPRINTENTER("CVtEngCmdExec::ExecuteCmdLD")
- CleanupStack::PushL( this );
- iCommandId = aCommandId;
- iCommandManager.AddObserverL( *this );
- iCommandHandler.ExecuteL( aCommandId, NULL );
- iCBA.SetCommandSetL( R_VIDEOTELUI_SOFTKEYS_EMPTY );
- iCBA.DrawNow();
- iWait.Start();
- CleanupStack::PopAndDestroy(); // this
- __VTPRINTEXIT("CVtEngCmdExec::ExecuteCmdLD")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCmdExec::~CVtEngCmdExec
-// -----------------------------------------------------------------------------
-//
-CVtEngCmdExec::~CVtEngCmdExec()
- {
- __VTPRINTENTER("CVtEngCmdExec::~CVtEngCmdExec")
- if ( iWait.IsStarted())
- {
- __VTPRINT(DEBUG_GEN, "CVtEngCmdExec::~CVtEngCmdExec AsyncStop")
- iWait.AsyncStop();
- }
- iCommandManager.RemoveObserver( *this );
- __VTPRINTEXIT("CVtEngCmdExec::~CVtEngCmdExec")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCmdExec::HandleVTCommandPerformedL
-// -----------------------------------------------------------------------------
-//
-void CVtEngCmdExec::HandleVTCommandPerformedL( TVtEngCommandId aCommand,
- const TInt aError )
- {
- __VTPRINTENTER("CVtEngCmdExec::HandleVTCommandPerformedL")
- if ( iCommandId == aCommand )
- {
- if ( iWait.IsStarted())
- {
- __VTPRINT(DEBUG_GEN, "CVtEngCmdExec::HandleVTCommandPerformedL AsyncStop")
- iWait.AsyncStop();
- }
- else
- {
- // request already completed
- }
- }
- else
- {
- // wrong command ID
- }
- __VTPRINTEXIT("CVtEngCmdExec::HandleVTCommandPerformedL")
- }
-
-// -----------------------------------------------------------------------------
-// CVtEngCmdExec::CVtEngCmdExec
-// -----------------------------------------------------------------------------
-//
-CVtEngCmdExec::CVtEngCmdExec( MVtEngCommandHandler& aCommandHandler,
- MVtUiEngineCommandManager& aCommandManager, CEikButtonGroupContainer& aCBA )
- : iCommandHandler( aCommandHandler ),
- iCommandManager( aCommandManager ), iCBA( aCBA )
- {
- }
-
-/**
-* Encapsulates all instances related to user interface.
-* @since Series 60 2.6
-*/
-class CVtUiAppUi::CInstance
- : public CBase
- {
- public: // Constructors and destructors
-
- /**
- * Two-phased constructor.
- * @param aAppUi reference to application UI.
- */
- static CInstance* NewL( CVtUiAppUi& aAppUi );
-
- /**
- * Destructor.
- */
- ~CInstance();
-
- /**
- * Called when side volume key is pressed.
- */
- void VolumeKeyPressedL();
-
- /**
- * Create remote video control.
- */
- void CreateRemoteVideoControl();
-
- private:
-
- /**
- * Constructor.
- */
- CInstance( CVtUiAppUi& aAppUi );
-
- /**
- * Symbian OS constructor.
- */
- void ConstructL();
-
- /**
- * Relayout controls.
- */
- void LayoutChanged();
-
- private:
-
- // Parent can access members.
- friend class CVtUiAppUi;
-
- // Ref to application UI.
- CVtUiAppUi& iAppUi;
-
- // Owned bitmap manager.
- CVtUiBitmapManager* iBitmapManager;
-
- // ETrue if iMainControl has been added to stack.
- TBool iMainControlInStack;
-
- // Owned main pane control.
- CVtUiMainControl* iMainControl;
-
- // ETrue if iContextControl has been added to stack.
- TBool iContextControlInStack;
-
- // Owned context pane control.
- CVtUiContextControl* iContextControl;
-
- // Owned remote video control.
- CVtUiRemoteVideoControl* iRemoteVideoControl;
-
- //ETrue if iRemoteVideoControl has been added to stack.
- TBool iRemoteVideoControlInStack;
-
- // Owned navi pane controller.
- CVtUiNaviPane* iNaviPane;
-
- // ETrue if number entry has been added to stack.
- TBool iNumberEntryInStack;
-
- // Owned number entry activation control.
- CVtUiNumberEntryActivationControl* iNumberEntryActivation;
-
- };
-
-/**
-* Encapsulates event handling.
-* @since Series 60 2.6
-*/
-class CVtUiAppUi::CEventObserver
- : public CBase,
- public MVtUiEngineCommandManager,
- public MVtEngEventObserver,
- public MVtEngCommandObserver,
- public MVtEngFrameObserver,
- private MBeating,
- private MRemConCoreApiTargetObserver
- {
- public: // Constructors and destructors
-
- /**
- * Two-phased constructor.
- * @param aAppUi application UI.
- */
- static CEventObserver* NewL( CVtUiAppUi& aAppUi );
-
- /**
- * Destructor.
- */
- ~CEventObserver();
-
- public: // New functions
-
- /**
- * Returns engine model.
- * @return model instance.
- */
- inline CVtEngModel& Model();
-
- /**
- * Creates remote control framework session.
- */
- void CreateRemConSessionL();
-
- /**
- * Deletes remote control framework session.
- */
- void DeleteRemConSession();
-
- /**
- * Checks if command is supported by engine.
- * @param aCommandId command.
- * @return ETrue if supported, EFalse otherwise.
- */
- TBool CommandSupported( const TInt aCommandId ) const;
-
- /**
- * Checks if command is supported and synchronous.
- * @param aCommandId command.
- * @return ETrue if synchronous & supported, EFalse otherwise.
- */
- TBool CommandSupportedAndSynchronous(
- const TInt aCommandId ) const;
-
- /**
- * Starts heartbeat timer.
- */
- void StartBeatL();
-
- /**
- * Stops heartbeat timer.
- */
- void StopBeat();
-
- /**
- * Stops volume repeat handling timer.
- */
- void StopVolumeRepeatTimer();
-
- /**
- * Sends response to prepare.
- * @param aResult result code.
- */
- void SendPrepareResponse( const TInt aResult );
-
- public: // Functions from base classes
-
- /**
- * @see MVtUiCommandManager::AddObserverL.
- */
- virtual void AddObserverL( MVtEngCommandObserver& aObserver );
-
- /**
- * @see MVtUiCommandManager::RemoveObserver.
- */
- virtual void RemoveObserver( MVtEngCommandObserver& aObserver );
-
- /**
- * @see MVtEngEventObserver::HandleVtEventL.
- */
- virtual void HandleVtEventL( TInt aEvent );
-
- /**
- * @see MVtEngCommandObserver::HandleVTCommandPerformedL.
- */
- virtual void HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError );
-
- /**
- * @see MVtEngFrameObserver::vtHandleFrameL.
- */
- virtual void vtHandleFrameL( TFrameType aType, CFbsBitmap* aBitmap );
-
- /**
- * @see MVtEngFrameObserver::vtSetFrame
- */
- virtual void vtSetFrame( TFrameType aType, CFbsBitmap* aBitmap );
-
- /**
- * @see MBeating::Beat.
- */
- virtual void Beat();
-
- /**
- * @see MBeating::Synchronize.
- */
- virtual void Synchronize();
-
-
- private:
-
- /**
- * Constructor.
- * @param aAppUi application UI.
- */
- CEventObserver( CVtUiAppUi& aAppUi );
-
- /**
- * Symbian OS constructor.
- */
- void ConstructL();
-
- /**
- * Executes CVtUiAppUi methods.
- * @param aBits sum of subset of TVtUiHandleEvents.
- */
- void DoExecuteL( TInt aBits );
- /**
- * Handles volume change.
- * @param aButtonAct button action.
- */
- void HandleVolumeChange(
- TRemConCoreApiButtonAction aButtonAct );
- /**
- * Handles mute change.
- * @param aButtonAct button action.
- */
- void HandleRemMuteChange(
- TRemConCoreApiButtonAction aButtonAct );
- /**
- * @see MRemConCoreApiTargetObserver::MrccatoCommand.
- */
- virtual void MrccatoCommand(
- TRemConCoreApiOperationId aOperationId,
- TRemConCoreApiButtonAction aButtonAct );
-
- /**
- * Callback function to handle volume repeat.
- * @param aAny pointer to an instance of this class.
- * @return KErrNone.
- */
- static TInt DoHandleVolumeRepeat( TAny* aAny );
-
- private:
-
- // Type definition for CVtUiAppUi member functions.
- typedef void (CVtUiAppUi::*TMethodL)();
-
- // Ref to application ui.
- CVtUiAppUi& iAppUi;
-
- // Engine model.
- CVtEngModel* iModel;
-
- // ETrue when command events are being sent.
- TBool iInCommandPerformed;
-
- // Owned array of observers.
- RPointerArray< MVtEngCommandObserver > iCommandObservers;
-
- // Owned heart beat timer to update call duration.
- CHeartbeat* iBeat;
-
-
- // Owned interface selector instance.
- CRemConInterfaceSelector* iRemConInterfaceSelector;
-
- // Pointer to target instance. Owned by iRemConInterfaceSelector.
- CRemConCoreApiTarget* iRemConCoreApiTarget;
-
- // Owned timer for volume repeat handling.
- CPeriodic* iRemConVolumeRepeatTimer;
-
- // Rencon operation id
- TRemConCoreApiOperationId iRCCAOperationId;
-
- };
-
-/**
-* Verifies objects fetched using media gallery. Only non DRM protected
-* objects are allowed.
-* @since Series 60 3.1
-*/
-class CVtUiAppUi::CVtUiAppUiMGVerifier :
- public CBase,
- public MMGFetchVerifier
- {
- public:
-
- /**
- * Static constructor, pushes created instance into cleanup stack.
- */
- static CVtUiAppUiMGVerifier* NewLC(
- CVtUiAppUi& aAppUi, CCoeEnv& aCoeEnv );
-
- /**
- * Destructor.
- */
- ~CVtUiAppUiMGVerifier();
-
- public: // from MMGFetchVerifier
-
- /**
- * @see MMGFetchVerifier::VerifySelectionL
- */
- TBool VerifySelectionL( const MDesCArray* aSelectedFiles );
-
- private:
-
- /**
- * 2nd constructor in two phase construction.
- */
- void ConstructL();
-
- /**
- * Constructor.
- */
- CVtUiAppUiMGVerifier( CVtUiAppUi& aAppUi, CCoeEnv& aCoeEnv );
-
- private:
-
- // Reference to Application UI
- CVtUiAppUi& iAppUi;
-
- // Pointer to COE
- CCoeEnv* iCoeEnv;
-
- // Pointer to CManager which manages files and content access agents
- CManager* iManager;
- };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CVtUiAppUi
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CVtUiAppUi()
- : iRenderingMode( ERenderingModeDefault ),
- iLoudspeakerVolume( KVolumeResetValue ),
- iHandsetVolume( KVolumeResetValue ),
- iActiveCommands( 1 ),
- iLayoutChg( EFalse ),
- iDelayedCmd( 0 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ConstructL()
- {
- VTLOGINIT
- __VTPRINTENTER( "VtUi.ConstructL" )
-
- FeatureManager::InitializeLibL();
- BaseConstructL( EAknEnableSkin | EAknEnableMSK );
-
- iCba = Cba();
- // Must be done before creating features
- iVTVariation.ReadL();
-
- iEventObserver = CEventObserver::NewL( *this );
- iUiStates = new ( ELeave ) TVtUiStates( iEventObserver->Model() );
- iUiStates->Update();
- iUiStates->SetViewFindersInitialPlaceContextPane( ETrue );
-
- TVtUiAppStateBase::SetInitialStateL( *this, *iUiStates );
-
- iCommandManager = CVtUiCommandManager::NewL( *iUiStates, *this );
-
- iComponentManager = CVtUiComponentManager::NewL();
-
- iFeatureManager = CVtUiFeatureManager::NewL( *this, *iUiStates,
- *iCommandManager, *iComponentManager );
-
- iInstance = CInstance::NewL( *this );
-
- CEikMenuBar* menu = iEikonEnv->AppUiFactory()->MenuBar();
- menu->SetContextMenuTitleResourceId( R_VIDEOTELUI_OK_MENUBAR );
-
-
-
- CEikonEnv& eikEnv = *( iEikonEnv );
- eikEnv.SetSystem( ETrue );
- eikEnv.WsSession().ComputeMode( RWsSession::EPriorityControlDisabled );
-
- iThisApplicationWgId = eikEnv.RootWin().Identifier();
- iEikonServerWgId =
- eikEnv.WsSession().FindWindowGroupIdentifier( 0, KVtUiEikonServer );
- iAknCapServerWgId =
- eikEnv.WsSession().FindWindowGroupIdentifier( 0, KVtUiAknCapServer );
- iAknNfyServerWgId =
- eikEnv.WsSession().FindWindowGroupIdentifier( 0,
- KVtUiAknNotifierServer );
-
- __ASSERT_ALWAYS(
- iEikonServerWgId != KErrNotFound,
- VtUiPanic::Panic( EVtUiPanicEikonServerNotFound ) );
- (void)eikEnv.RootWin().EnableFocusChangeEvents();
-
-
- iUplinkWindow = iInstance->iContextControl;
- iDownlinkWindow = iInstance->iMainControl;
-
-
- if ( iCba )
- {
- CCoeControl* control = iCba->ButtonGroup()->AsControl();
- static_cast< CEikCba* >( control )->
- SetSkinBackgroundId( KAknsIIDQsnBgAreaControlIdle );
- }
-
- iBlankControl = new ( ELeave ) CVtUiBlankControl;
- iBlankControl->ConstructL( ClientRect() );
- AddToStackL(
- iBlankControl,
- KVtUiBlankControlPriority,
- ECoeStackFlagRefusesFocus );
-
- iUiStates->SetBlankControlAdded( ETrue );
-
- iActiveExec =
- new ( ELeave ) CVtUiActiveExec( CActive::EPriorityHigh );
- SetCallIdL( KVtUiDefaultCallId );
-
- iExitTimer = CPeriodic::NewL( CActive::EPriorityHigh );
- CheckEngineFunctionality();
-
- iAsyncCallback =
- new ( ELeave ) CAsyncCallBack (
- TCallBack( &AsyncViewFinderToMainPaneAndShare, this ),
- CActive::EPriorityStandard );
-
- iLayoutChangeCallback =
- new ( ELeave ) CAsyncCallBack(
- TCallBack( &DelayedHandleLayoutChanged, this ),
- CActive::EPriorityStandard );
-
- iCurrentCameraOrientation = MVtEngMedia::EOrientationObeyLayoutSwitch;
-
- GetCameraOrientations();
-
- SetInitialCameraOrientationL();
-
- iVolCtrl= new ( ELeave )CVtUiVolumeControl(
- Model().CommandHandler(),
- Model().Audio(),
- *iEventObserver,
- *iFeatureManager);
- iVolCtrl->ConstructL();
-
- iIncallBubble = CAknIncallBubble::NewL();
-
- iIsWaitingCallState = EFalse;
-
- __VTPRINTEXIT( "VtUi.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::~CVtUiAppUi
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::~CVtUiAppUi()
- {
- __VTPRINTENTER( "VtUi.~" )
-
- iActiveCommands.Close();
-
- delete iLayoutChangeCallback;
- delete iAsyncCallback;
-
- if ( iUiStates && iUiStates->IsBlankControlAdded() )
- {
- RemoveFromStack( iBlankControl );
- }
- TInt lightsValue = 0;
- if ( RProperty::Get( KPSUidCoreApplicationUIs,
- KLightsVTForcedLightsOn, lightsValue ) == KErrNone )
- {
- if ( lightsValue == EForcedLightsOn )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.~ Good night!" )
- (void) RProperty::Set(
- KPSUidCoreApplicationUIs,
- KLightsVTForcedLightsOn,
- EForcedLightsOff );
- }
- }
- delete iActiveExec;
- delete iInstance;
- delete iBlankControl;
- // Delete volume control before its dependencies are deleted.
- delete iVolCtrl;
- delete iEventObserver;
- delete iExitTimer;
- // Featuremanager must be destructed
- // before componentmanager and commandmanager
- delete iFeatureManager;
- delete iComponentManager;
- delete iCommandManager;
- delete iUiStates;
-
- if ( iTbPeriodic )
- {
- iTbPeriodic->Cancel();
- }
- delete iTbPeriodic;
-
- if ( iIncallBubble )
- {
- TRAP_IGNORE( iIncallBubble->SetIncallBubbleAllowedInUsualL( ETrue ) )
- }
- delete iIncallBubble;
-
- // Close all RComm sessions to prevent memory leaks.
- REComSession::FinalClose();
-
- FeatureManager::UnInitializeLib();
- __VTPRINTEXIT( "VtUi.~" )
- VTLOGUNINIT
- }
-
-// -----------------------------------------------------------
-// CVtUiAppUi::SwitchLayoutToFlatStatusPaneL
-// -----------------------------------------------------------
-//
-void CVtUiAppUi::SwitchLayoutToFlatStatusPaneL( TBool aSwitch )
- {
- __VTPRINTENTER( "VtUi.SwitchLayoutToFlatStatusPaneL" )
- CEikStatusPane* statusPane = StatusPane();
-
- const TInt idleResId(
- VtUiLayout::IsLandscapeOrientation() ?
- R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL :
- R_AVKON_STATUS_PANE_LAYOUT_USUAL );
-
- const TBool isStatusPaneFlat(
- ( statusPane->CurrentLayoutResId() ==
- R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT ) ||
- ( statusPane->CurrentLayoutResId() ==
- R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ) );
-
- if ( aSwitch )
- {
- if ( isStatusPaneFlat && VtUiLayout::IsLandscapeOrientation() )
- {
- __VTPRINT( DEBUG_GEN,
- "VtUi.SwitchLayoutToFlatStatusPaneL LAYOUT USUAL" );
- NaviPaneL()->Pop();
- statusPane->SwitchLayoutL( idleResId );
- }
- else if ( !isStatusPaneFlat && !VtUiLayout::IsLandscapeOrientation() )
- {
- __VTPRINT( DEBUG_GEN,
- "VtUi.SwitchLayoutToFlatStatusPaneL USUAL FLAT" );
- NaviPaneL()->PushDefaultL();
- statusPane->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT );
- }
- }
- else
- {
- if ( isStatusPaneFlat )
- {
- __VTPRINT( DEBUG_GEN,
- "VtUi.SwitchLayoutToFlatStatusPaneL LAYOUT IDLE" );
- NaviPaneL()->Pop();
- statusPane->SwitchLayoutL( idleResId );
- }
- }
- // ApplyCurrentSettingsL is called whenever statuspane
- // visibility status or pane layout changes.
- statusPane->ApplyCurrentSettingsL();
- statusPane->DrawNow();
- // Make sure whole control is fully updated
- iInstance->iMainControl->DrawNow();
- __VTPRINTEXIT( "VtUi.SwitchLayoutToFlatStatusPaneL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshL()
- {
- __VTPRINTENTER( "VtUi.Refresh" )
- RefreshBlind();
- RefreshNaviPaneL();
- __VTPRINTEXIT( "VtUi.Refresh" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshNaviPaneL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshNaviPaneL()
- {
- // Update only if navi pane exists
- if ( iInstance )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.RefreshNavi" )
- CVtUiNaviPane* navi = iInstance->iNaviPane;
-
- // Refresh muted state
- MVtEngMedia& media = Model().Media();
- TInt mediaAvail;
- VtUiUtility::GetOutgoingMediaState( media, mediaAvail );
- mediaAvail = ~mediaAvail;
- navi->SetMuted( mediaAvail & MVtEngMedia::EMediaAudio );
-
- // Refresh call duration
- MVtEngSessionInfo& session = Model().Session();
- MVtEngSessionInfo::TDuration duration;
- TBool enabled;
- if ( session.GetDuration( duration, enabled ) != KErrNone )
- {
- enabled = EFalse;
- }
- navi->SetCallDuration( duration, enabled );
-
- // Update all changes
- navi->CommitL();
-
- CheckBeatL( enabled );
- }
- }
-
-void CVtUiAppUi::StopBrightnessOrContrast()
- {
-
- MVtUiFeature* br = iFeatureManager->GetFeatureById( EVtUiFeatureIdBrightness );
- if ( br )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.StopBrightness" )
- if ( br->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.StopBrightnessOrContrast br->STOP" )
- br->Stop();
- }
- }
-
- MVtUiFeature* cr = iFeatureManager->GetFeatureById( EVtUiFeatureIdContrast );
- if ( cr )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.StopContrast" )
- if ( cr->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.StopBrightnessOrContrast cr->STOP" )
- cr->Stop();
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshZoomPopupL()
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshZoomPopupL()
- {
- CVtUiZoom* zm = static_cast< CVtUiZoom* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdZoom ) );
- if( zm && iUiStates->IsZoomModeOn())
- zm->RefreshL();
- }
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshMenuL()
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshMenuL()
- {
-
- CVtUiMenus* menus = static_cast< CVtUiMenus* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdMenu ) );
- if ( menus )
- {
- iUiStates->Update();
- __VTPRINT( DEBUG_GEN, "VtUi.RefreshMenuL" )
- menus->RefreshL();
- CAknAppUi::ProcessCommandL( EEikCmdCanceled ); // does not leave
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshSoftkeysL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshSoftkeysL()
- {
- if ( iUiStates->IsThisApplicationForeground() )
- {
- CVtUiSoftkeys* sk = static_cast< CVtUiSoftkeys* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdSoftkey ) );
- if ( sk )
- {
- sk->RefreshL();
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshBlind
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshBlind()
- {
- if ( iInstance && !iUiStates->IsDisableBlindSetting() )
- {
- __VTPRINTENTER( "VtUi.RefreshBlind" )
- TInt avail;
- MVtEngMedia& media = Model().Media();
-
- // Update blind flags.for outgoing media:
- VtUiUtility::GetOutgoingMediaState( media, avail );
- avail = ~avail;
- TBool noVideo( avail & MVtEngMedia::EMediaVideo );
- const TBool isFrozen( VtUiUtility::GetFreezeState ( media ) );
- MVtEngMedia::TMediaSource source( MVtEngMedia::EMediaNone );
- media.GetSource( source );
- if ( noVideo && !isFrozen &&
- ( source != MVtEngMedia::EMediaStillImage ) )
- {
- iUplinkWindow->SetStreamBitmap( NULL );
- }
-
- iUplinkWindow->SetBlind( noVideo );
- iUplinkWindow->SetWaiting( EFalse );
-
- if ( iUiStates->IsThisApplicationForeground() )
- {
- // Update blind flags for incoming media:
- VtUiUtility::GetIncomingMediaState( media, avail );
- avail = ~avail;
- noVideo = ( avail & MVtEngMedia::EMediaVideo );
- if ( noVideo )
- {
- iDownlinkWindow->SetStreamBitmap( NULL );
- }
- iDownlinkWindow->SetBlind( noVideo );
- }
- iDownlinkWindow->SetWaiting( iUiStates->IsWaitingForFirstFrame() );
- __VTPRINTEXIT( "VtUi.RefreshBlind" )
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::OpenNumberEntryL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::OpenNumberEntryL()
- {
- __VTPRINTENTER( "VtUi.OpenNumberEntryL" )
-
- CEikMenuBar* menuBar = iEikonEnv->AppUiFactory()->MenuBar();
- if ( IsDisplayingDialog() || ( menuBar && menuBar->IsDisplayed() ) )
- {
- __VTPRINTEXIT( "VtUi.OpenNumberEntryL" )
- return EFalse;
- }
-
- TInt error( KErrNotFound );
-
- MVtUiFeature* numberEntry =
- iFeatureManager->GetFeatureById( EVtUiFeatureIdNumberEntry );
-
- MVtUiFeature* dialer =
- iFeatureManager->GetFeatureById( EVtUiFeatureIdDialer );
-
- const TBool dialerActive( dialer &&
- ( dialer->State() == MVtUiFeature::EActive ) );
-
- if ( numberEntry && !dialerActive )
- {
- TRAP( error, numberEntry->StartL() );
- }
-
- const TBool result( !error );
-
- if ( result )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.NumberEntry.StopZ" )
- RefreshSoftkeysL();
- }
-
- __VTPRINTEXITR( "VtUi.OpenNumberEntryL %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandlePhoneSendKeyL
-// Handles EKeyPhoneSend key events.
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVtUiAppUi::HandlePhoneSendKeyL( const TKeyEvent& /*aKeyEvent*/,
- TEventCode aType )
- {
- __VTPRINTENTER( "VtUi.HandlePhoneSendKeyL" )
- CEikMenuBar* menuBar = iEikonEnv->AppUiFactory()->MenuBar();
- if ( !( IsDisplayingDialog() || ( menuBar && menuBar->IsDisplayed() ) ) )
- {
- const TBool isNumberSource( iUiStates->IsNumberEntryOpen() ||
- iUiStates->IsDialerOpen() );
- if ( ( aType == EEventKey ) && isNumberSource )
- {
- ProcessCommandL( EVtUiCmdDialEmergency );
- }
- }
- __VTPRINTEXIT( "VtUi.HandlePhoneSendKeyL" )
- return EKeyWasConsumed;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::StartDtmfTone
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::StartDtmfTone( const TChar& aTone )
- {
- // should be called only through current application state
- iDtmfTone = aTone;
- __VTPRINT2( DEBUG_GEN, "VtUi.DTMF.Start.%d", iDtmfTone() )
- if ( Execute( KVtEngStartDtmfTone, &iDtmfTone ) != KErrNone )
- {
- iDtmfTone = 0;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::StopDtmfTone
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::StopDtmfTone()
- {
- // should be called only through current application state
- if ( iDtmfTone() )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.DTMF.STOP" )
- (void) Execute( KVtEngStopDtmfTone, NULL );
- iDtmfTone = 0;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleWsEventL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleWsEventL(
- const TWsEvent& aEvent,
- CCoeControl* aDestination )
- {
- __VTPRINTENTER( "VtUi.HandleWsEventL" )
- const TInt type = aEvent.Type();
- __VTPRINT2( DEBUG_GEN, "VtUi.HandleWsEventL type = %d", type );
-
- // Zoom-in and Zoom-out keys need specific handling because keyup and
- // keydown events cannot be checked from iCode field of TKeyEvent
- if ( PreHandleKeyEventL( aEvent ) )
- {
- __VTPRINTEXIT( "VtUi.HandleWsEventL (PreHandleKeyEventL)" )
- return;
- }
-
- // Zoom mode is dismissed if some interrupting event happens prior timeout.
- // Zoom mode can be interrupted with a keypress i.e. any keypress, except
- // keys that are reserved for adjusting zoom dismiss zoom mode. Also any
- // system event e.g. note or waiting call dismiss zoom mode.
- if ( iUiStates->IsZoomModeOn() )
- {
- if ( ProcessWsEventIfZoomModeIsActiveL( aEvent ) )
- {
- __VTPRINTEXIT( "VtUi.HandleWsEventL (IsZoomModeOn)" )
- return;
- }
- }
- // Zoom mode can be also activated with up and down arrow keys.
- switch ( type )
- {
- case EEventKey:
- case EEventKeyUp:
- case EEventKeyDown:
- {
- const TKeyEvent* keyEvent = aEvent.Key();
- const TBool isHwZoomKey(
- keyEvent->iCode == EKeyZoomIn ||
- keyEvent->iCode == EKeyZoomOut );
- const TBool isZoomKey(
- keyEvent->iScanCode == EStdKeyUpArrow ||
- keyEvent->iScanCode == EStdKeyDownArrow ||
- isHwZoomKey );
-
- // Zoom mode can be also activated with up and down arrow keys.
- if ( isZoomKey )
- {
- const TBool isZoomAllowed(
- !iEikonEnv->AppUiFactory()->MenuBar()->IsDisplayed() &&
- !iUiStates->MediaState().IsSharing() &&
- !iUiStates->MediaState().IsFrozen() &&
- !iUiStates->IsSelectingShare() &&
- VtUiUtility::IsZoomAllowed( Model().Media() ) &&
- !( iUiStates->IsNumberEntryOpen() && ShowNumberEntry() ) &&
- //there must not be the command which may switch provider to None
- !IsActiveCommand( EVtUiCmdDisableVideo )&&
- !IsActiveCommand( EVtUiCmdDisableBoth )&&
- !IsActiveCommand( EVtUiCmdUsePrimaryCamera )&&
- !IsActiveCommand( EVtUiCmdUseSecondaryCamera) );
-
- if ( isZoomAllowed )
- {
- // If menu is open, toolbar is available, video is frozen,
- // sharing is on or user is selecting a file to be shared
- // do not set zoom mode on. If HW zoom key was pressed,
- // then zoom mode is activated even if toolbar is present.
- if ( isHwZoomKey || !iUiStates->IsToolbarAvailable() )
- {
- SetZoomModeL( ETrue );
- }
- }
- }
- }
- break;
- default:
- break;
- }
-
- TBool partialForeGroundlost( EFalse );
- switch ( type )
- {
- // Enter new rendering mode
- case EVtUiWsEventBeginRenderingMode:
- {
- const TVtUiWsEvent< TRenderingMode >& event(
- static_cast< const TVtUiWsEvent< TRenderingMode >& >
- ( aEvent ) );
- MVtUiDialer* dialer = static_cast< CVtUiDialer* > (
- iFeatureManager->GetFeatureById( EVtUiFeatureIdDialer ) );
- __ASSERT_ALWAYS( dialer,
- VtUiPanic::Panic( EVtUiPanicRendererNotFound ) );
- iInstance->iContextControl->MakeVisible( EFalse );
- SetRenderingModeL( *event.Data(), &dialer->VideoWindow() );
- }
- break;
-
- // End rendering mode -> revert to previous
- case EVtUiWsEventEndRenderingMode:
- {
- SetRenderingModeL( ERenderingModeDefault, iStoredDownlinkWindow );
- iInstance->iContextControl->MakeVisible( ETrue );
- iStoredDownlinkWindow = NULL;
- }
- break;
-
- // New number source have been activated
- case EVtUiWsEventNumberSourceActivate:
- {
- const TVtUiWsEvent< MVtUiNumberSource >& event(
- static_cast< const TVtUiWsEvent< MVtUiNumberSource >& >
- ( aEvent ) );
- iNumberSource = event.Data();
- }
- break;
-
- case EVtUiWsEventNumberSourceDeactivate:
- {
- const TVtUiWsEvent< MVtUiNumberSource >& event(
- static_cast< const TVtUiWsEvent< MVtUiNumberSource >& >
- ( aEvent ) );
- if ( iNumberSource == event.Data() )
- {
- iNumberSource = NULL;
- }
- }
- break;
-
-
- // VT goes background e.g. selected application from fastswap
- case KAknFullOrPartialForegroundLost:
- {
- // If capture mode is on stop it
- if ( iUiStates->IsCaptureModeOn() )
- {
- CmdCancelCaptureL();
- }
- SetIncallBubbleAllowedInUsualL( ETrue );
- const TInt windowGroupId =
- iCoeEnv->WsSession().GetFocusWindowGroup();
-
- // In S60 5.0 we get PartialFocusLost also for some notes and
- // overally items that are somehow overlapping screen instead of
- // FocusLost. In those cases we should not put app to background.
- if( ( windowGroupId != iThisApplicationWgId ) &&
- ( windowGroupId != iEikonServerWgId ) &&
- ( windowGroupId != iAknCapServerWgId ) &&
- ( windowGroupId != iAknNfyServerWgId ) )
- {
- partialForeGroundlost = ETrue;
- }
-
- // Fall through to EEventFocusLost event
- }
- case EEventFocusLost:
- {
- // If focus window group is not this application nor window server,
- // then this application can not be in focus.
- const TInt windowGroupId =
- iCoeEnv->WsSession().GetFocusWindowGroup();
-
- if ( ( windowGroupId != iThisApplicationWgId ) &&
- ( windowGroupId != iEikonServerWgId ) &&
- ( windowGroupId != iAknCapServerWgId ) &&
- ( windowGroupId != iAknNfyServerWgId ) || partialForeGroundlost )
- {
- iCoeEnv->RootWin().DisableFocusChangeEvents();
-
- TBool old = iUiStates->IsThisApplicationForeground();
- if ( old )
- {
- TRAP_IGNORE( HandleForegroundChangedL( EFalse ) );
- }
- }
- }
- break;
-
- case KAknFullOrPartialForegroundGained:
- {
- SetIncallBubbleAllowedInUsualL( EFalse );
- // Now this application is focused.
- (void)iCoeEnv->RootWin().EnableFocusChangeEvents();
- TBool old = iUiStates->IsThisApplicationForeground();
-
- if ( !old )
- {
- (void) HandleLayoutChanged();
- TRAP_IGNORE( HandleForegroundChangedL( ETrue ) );
- }
- }
- break;
-
- case EEventKey:
- case EEventKeyUp:
- case EEventKeyDown:
- {
- // Key events with EModifierSpecial are received via FEP.
- const TKeyEvent* keyEvent = aEvent.Key();
- if ( keyEvent->iModifiers & EModifierSpecial )
- {
- TChar dtmfTone;
- if ( VtUiUtility::IsDTMFEvent( *keyEvent, dtmfTone ) )
- {
- if ( type == EEventKey )
- {
- StartDtmfTone( dtmfTone );
- }
- else if ( type == EEventKeyUp )
- {
- StopDtmfTone();
- }
- }
- }
- }
- break;
-
- default:
- break;
- }
- // Offer event to component manager
- iComponentManager->HandleWsEventL( aEvent, aDestination );
-
- // All events are sent to base class.
- CAknAppUi::HandleWsEventL( aEvent, aDestination );
- __VTPRINTEXIT( "VtUi.HandleWsEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::PreHandleKeyEventL
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::PreHandleKeyEventL( const TWsEvent& aEvent )
- {
- __VTPRINTENTER( "VtUi.PreHandleKeyEventL" )
- TBool consumed( EFalse );
- switch( aEvent.Type() )
- {
-
- case EEventKey:
- {
- // when both these are set, then it's our simulated key press
- const TInt
- modifiers( EModifierKeypad | EModifierSpecial );
-
- const TKeyEvent* ptrKeyEventC =
- aEvent.Key();
-
- const TBool isHwZoomKey(
- ptrKeyEventC->iCode == EKeyZoomIn ||
- ptrKeyEventC->iCode == EKeyZoomOut );
-
- if ( isHwZoomKey &&
- ( ptrKeyEventC->iModifiers & modifiers ) != modifiers )
- {
- __VTPRINT3( DEBUG_GEN, "VtUi.PreHandleKeyEventL keyc=%d scanc=%d",
- ptrKeyEventC->iCode, ptrKeyEventC->iScanCode )
- consumed = ETrue;
-
- // Send EEventKeyDown only when iRepeats is 0
- if ( !ptrKeyEventC->iRepeats )
- {
- TKeyEvent keyDownEvent( *ptrKeyEventC );
- keyDownEvent.iRepeats = 0;
- iCoeEnv->SimulateKeyEventL( keyDownEvent, EEventKeyDown );
- }
-
- // Send EEventKey always
- TKeyEvent keyEvent( *ptrKeyEventC );
- keyEvent.iModifiers |= modifiers;
- iCoeEnv->SimulateKeyEventL( keyEvent, EEventKey );
-
- // Que EEventKeyUp
- TKeyEvent keyUpEvent( *ptrKeyEventC );
- keyUpEvent.iRepeats = 0;
- StoreKeyEventL( keyUpEvent );
- }
- else if ( ( ptrKeyEventC->iModifiers & modifiers ) == modifiers )
- {
- __VTPRINT( DEBUG_GEN,
- "VtUi.PreHandleKeyEventL own event spotted, removing mods" )
- // event is generated by us, remove modifiers
- TKeyEvent* ptrKeyEvent = const_cast< TKeyEvent* >( ptrKeyEventC );
- ptrKeyEvent->iModifiers &= ~modifiers;
- }
- }
- break;
-
- case EEventKeyUp:
- if ( iIsStoredKeyEvent )
- {
- if ( iStoredKeyEvent.iScanCode == aEvent.Key()->iScanCode )
- {
- consumed = ETrue;
- SimulateStoredKeyEventL( EEventKeyUp );
- }
- }
- break;
-
- default:
- break;
-
- }
-
- __VTPRINTEXITR( "VtUi.PreHandleKeyEventL %d", consumed )
- return consumed;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SimulateStoredKeyEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SimulateStoredKeyEventL( const TEventCode aEventCode )
- {
- __VTPRINTENTER( "VtUi.SimulateStoredKeyEventL" )
- if ( iIsStoredKeyEvent )
- {
- // Reset flag first because SimulateKeyEventL() is synchronous
- iIsStoredKeyEvent = EFalse;
- iCoeEnv->SimulateKeyEventL( iStoredKeyEvent, aEventCode );
- }
- __VTPRINTEXITR( "VtUi.SimulateStoredKeyEventL %d", iIsStoredKeyEvent )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::StoreKeyEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::StoreKeyEventL( const TKeyEvent& aKeyEvent )
- {
- __VTPRINTENTER( "VtUi.StoreKeyEventL" )
- if ( iIsStoredKeyEvent && ( iStoredKeyEvent.iCode != aKeyEvent.iCode ) )
- {
- SimulateStoredKeyEventL( EEventKeyUp );
- }
-
- if ( !iIsStoredKeyEvent )
- {
- iIsStoredKeyEvent = ETrue;
- iStoredKeyEvent = aKeyEvent;
- }
- __VTPRINTEXITR( "VtUi.StoreKeyEventL %d", iIsStoredKeyEvent )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoTryToStartTb
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::DoTryToStartTbL( TAny* aAny )
- {
- CVtUiAppUi* self = static_cast< CVtUiAppUi* >( aAny );
- self->TryToStartTbL();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::UpdateVBSettingL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::UpdateVBSettingL()
- {
- // If white balance or color tone setting
- // feauture exists update setting
- CVtUiWhiteBalance* wb = static_cast< CVtUiWhiteBalance* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdWhiteBalance ) );
-
- CVtUiColorTone* ct = static_cast< CVtUiColorTone* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdColourTone ) );
-
- // If brightness or contrast slider
- // feauture exists update them
- CVtUiBrightness* br = static_cast< CVtUiBrightness* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdBrightness ) );
-
- CVtUiContrast* contr = static_cast< CVtUiContrast* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdContrast ) );
-
-
-
- if ( wb && iUiStates->IsWhiteBalanceSettingAvailable() )
- {
- __VTPRINT( DEBUG_GEN,"VtUi.UpdateVBSettingL WB update" )
- wb->UpdateSettingL();
- }
-
- if ( ct && iUiStates->IsColorToneSettingAvailable() )
- {
- __VTPRINT( DEBUG_GEN,"VtUi.UpdateVBSettingL CT update" )
- ct->UpdateSettingL();
- }
-
- if ( br && iUiStates->IsBrightnessSettingAvailable() )
- {
- __VTPRINT( DEBUG_GEN,"VtUi.UpdateVBSettingL br update" )
- br->UpdateSlider();
- }
-
- if ( contr && iUiStates->IsContrastSettingAvailable() )
- {
- __VTPRINT( DEBUG_GEN,"VtUi.UpdateVBSettingL contract update" )
- contr->UpdateSlider();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::TryToStartTb
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::TryToStartTbL()
- {
- __VTPRINTENTER( "VtUi.TryToStartTbL" )
- CVtUiToolbarBase* tb = static_cast< CVtUiToolbarBase* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar ) );
- if ( tb )
- {
- // If menu, dialog or dialer is displayed do not start the toolbar,
- // but let the timer run another round
- CEikMenuBar* menuBar = iEikonEnv->AppUiFactory()->MenuBar();
- if ( !( menuBar && menuBar->IsDisplayed() ) &&
- !IsDisplayingDialog() &&
- !(
- iUiStates->IsDialerActivating() ||
- iUiStates->IsDialerOpen() ||
- iUiStates->IsWhiteBalanceModeOn() ||
- iUiStates->IsColorToneModeOn() ||
- iUiStates->IsBrightnessModeOn() ||
- iUiStates->IsContrastModeOn() ||
- iUiStates->IsZoomModeOn() ||
- iUiStates->IsVolumeModeOn() ||
- iUiStates->IsCaptureModeOn() )
- )
- {
- if ( iTbPeriodic )
- {
- iTbPeriodic->Cancel();
- }
- tb->StartL();
- }
- }
- __VTPRINTEXIT( "VtUi.TryToStartTbL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetRenderingModeL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetRenderingModeL( const TRenderingMode aMode,
- MVtUiVideoWindow* aNewDownlink )
- {
- __VTPRINTENTER( "VtUi.SetRenderingModeL" )
- __VTPRINT2( DEBUG_GEN, "VtUi.SetRenderingModeL=%d", aMode );
- iRenderingMode = aMode;
- if ( aNewDownlink )
- {
- if ( iDownlinkWindow != aNewDownlink )
- {
- iStoredDownlinkWindow = iDownlinkWindow;
- iDownlinkWindow = aNewDownlink;
- iStoredDownlinkWindow->SetRemoteVideoControl(NULL);
- iDownlinkWindow->SetRemoteVideoControl(iInstance->iRemoteVideoControl);
- iDownlinkWindow->LayoutRemoteVideo();
- }
- }
- RefreshBlind();
- UpdateRenderingParametersL();
- __VTPRINTEXIT( "VtUi.SetRenderingModeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::UpdateRenderingParametersL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::UpdateRenderingParametersL()
- {
- __VTPRINTENTER( "VtUi.UpdateRenderingParametersL" )
-
- MVtEngMedia& media = Model().Media();
- const TBool viewFinderStarted =
- media.RenderingStarted( MVtEngMedia::EMediaOutgoing );
- const TBool remoteRenderStarted =
- media.RenderingStarted( MVtEngMedia::EMediaIncoming );
-
- // Clear bitmaps
- iInstance->iContextControl->SetStreamBitmap( NULL );
- iInstance->iMainControl->SetStreamBitmap( NULL );
-
- // Stop viewfinder & remote render.
- if( viewFinderStarted )
- {
- ExecuteCmdL( KVtEngStopViewFinder );
- }
- ExecuteCmdL( KVtEngStopRenderRemote );
-
- // Re-layout the remote video
- iDownlinkWindow->LayoutRemoteVideo();
-
- const TBool uplinkWindowEqualsContextControl =
- ( iUplinkWindow == iInstance->iContextControl );
-
- // Prepare viewfinder.
- TVtEngRenderingOptions configViewfinder(
- uplinkWindowEqualsContextControl ?
- DetermineContextControlOptions() :
- DetermineMainControlOptions( EFalse ) );
- ExecuteCmdL( KVtEngPrepareViewFinder, configViewfinder );
-
- // Prepare remote render.
- TRAPD ( err, {
- TVtEngRenderingOptionsNGA configRemoteRenderNGA(
- DetermineRemoteVideoControlOptionsNGA() );
- ExecuteCmdL(
- KVtEngPrepareRemoteRenderNGA,
- configRemoteRenderNGA );
- } );
- if ( err != KErrNone )
- {
- if ( viewFinderStarted )
- {
- // Start viewfinder.
- ExecuteCmdL( KVtEngStartViewFinder );
- }
- User::Leave ( err );
- }
-
- // Start remote render.
- TRAP_IGNORE( ExecuteCmdL( KVtEngStartRenderRemote ) );
-
- if ( viewFinderStarted )
- {
- // Start viewfinder.
- ExecuteCmdL( KVtEngStartViewFinder );
- }
-
- // Redraw remote video last frame to make sure that in layout change
- // situation we still have something on screen.
- iDownlinkWindow->Redraw();
- __VTPRINTEXIT( "VtUi.UpdateRenderingParametersL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::MediaStateChangedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::MediaStateChangedL()
- {
- CEikMenuBar* menuBar = iEikonEnv->AppUiFactory()->MenuBar();
- // close menu if it is shown
- if ( menuBar && menuBar->IsDisplayed() )
- {
- TKeyEvent keyEvent;
- keyEvent.iCode = EKeyEscape;
- menuBar->OfferKeyEventL( keyEvent, EEventKey );
- }
- // Refresh toolbar
- CVtUiToolbarBase* tb = static_cast< CVtUiToolbarBase* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar ) );
- if ( tb )
- {
- tb->RefreshL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ProcessCommandL
-// Processes commands.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ProcessCommandL(
- TInt aCommand )
- {
- __VTPRINTENTER( "VtUi.ProcessCommandL" )
-
- // delay mute cmd received during layout change
- if ( aCommand == EAknSoftkeyOptions )
- {
- if ( iLayoutChg )
- {
- iDelayedCmd = EAknSoftkeyOptions;
- __VTPRINTEXIT( "VtUi.ProcessCommandL mute delayed due to LayoutChange" )
- return;
- }
- }
-
- MVtEngCommandHandler& command = Model().CommandHandler();
- command.ExecuteL( KVtEngRequestLastRemoteFrame, NULL );
-
- // only with fixed toolbar
- if ( AknLayoutUtils::PenEnabled() )
- {
- if ( iUiStates->IsFixedToolbarVisible())
- {
- // When option menu is opened fixed toolbar should
- // be set hidden
- iUiStates->SetIsFixedToolbarVisible( EFalse );
- // Stop toolbar
- MVtUiFeature* tb =
- iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar );
- if ( tb )
- {
- // timer could be active
- if ( iTbPeriodic )
- {
- iTbPeriodic->Cancel();
- }
- tb->Stop();
- }
- if ( !iTbPeriodic )
- {
- iTbPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
- }
- // Toolbar doesn't come visible until options menu is closed.
- iTbPeriodic->Start( KStartTime, KPeriodTime, TCallBack( DoTryToStartTbL, this ) );
- }
- }
- else
- {
- StopSliders();
- }
-
- iInstance->iMainControl->SetSize( iInstance->iMainControl->Size() );
- iInstance->iMainControl->DrawNow();
-
- // Handle OK options menu.
- const TInt menuResource =
- iUiStates->IsLaunchOkOptionsMenu() ?
- R_VIDEOTELUI_OK_MENUBAR :
- R_VIDEOTELUI_MENUBAR;
-
- iUiStates->SetLaunchOkOptionsMenu( EFalse );
-
- CEikMenuBar* menu = iEikonEnv->AppUiFactory()->MenuBar();
- if ( menu )
- {
- menu->SetMenuTitleResourceId( menuResource );
- //Here we again set back the type of menu to "Options" when pressed LSK
- menu->SetMenuType( CEikMenuBar::EMenuOptions );
- }
- CAknAppUi::ProcessCommandL( aCommand );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::IsActiveCommand
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::IsActiveCommand( TInt aCommand ) const
- {
- return ( iActiveCommands.FindInOrder( aCommand ) != KErrNotFound );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::State
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase& CVtUiAppUi::State()
- {
- return *iState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::BitmapManager
-// -----------------------------------------------------------------------------
-//
-CVtUiBitmapManager& CVtUiAppUi::BitmapManager()
- {
- return *iInstance->iBitmapManager;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::TActiveCommand::TActiveCommand
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::TActiveCommand::TActiveCommand( RArray< TInt >& aActiveCommands,
- TInt aCommandId )
- : iActiveCommands( aActiveCommands ), iCommandId( aCommandId )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::TActiveCommand::~TActiveCommand
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::TActiveCommand::~TActiveCommand()
- {
- Close();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::TActiveCommand::OpenL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::TActiveCommand::OpenL()
- {
- iActiveCommands.InsertInOrderL( iCommandId );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::TActiveCommand::Close
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::TActiveCommand::Close()
- {
- TInt index( iActiveCommands.FindInOrder( iCommandId ) );
- if ( index != KErrNotFound )
- {
- iActiveCommands.Remove( index );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleCommandL
-// Handles commands.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleCommandL(
- TInt aCommand )
- {
- __VTPRINTENTER( "VtUi.HandleCommand" )
-
- // Check if same command is already being performed.
- if ( IsActiveCommand( aCommand ) || ( iState &&
- iState->HandleCommandL( aCommand ) ==
- TVtUiAppStateBase::EEventHandled ) )
- {
- __VTPRINTEXIT( "VtUi.HandleCommand <silently ignoring> 0" )
- return;
- }
-
- // Check if command is allowed to be performed.
- if ( !IsCommandAllowedL( aCommand ) )
- {
- ShowNotAllowedNoteL();
- __VTPRINTEXITR( "VtUi.HandleCommand %d", KErrAccessDenied )
- return;
- }
-
- // delay mute cmd received during layout change (EGWG-7QQ3GZ)
- if ( (aCommand == EVtUiCmdDisableAudio) || (aCommand == EVtUiCmdUsePrimaryCamera)
- ||(aCommand == EVtUiCmdUseSecondaryCamera)
- ||(aCommand == EVtUiCmdDisableVideo) )
- {
- if ( iLayoutChg )
- {
- iDelayedCmd = aCommand;
- __VTPRINTEXIT( "VtUi.HandleCommand mute delayed due to LayoutChange" )
- return;
- }
- }
-
- TActiveCommand activeCommand( iActiveCommands, aCommand );
- // Close() will be called by the destructor, when instance goes out of
- // scope
- activeCommand.OpenL();
-
- TBool refresh = EFalse;
- CleanupPushRefreshL();
-
- // Execute command
- switch ( aCommand )
- {
- case EAknCmdHelp:
- CmdHelpL();
- break;
-
- case EVtUiCmdOkOptions:
- iUiStates->SetLaunchOkOptionsMenu( ETrue );
- ProcessCommandL( EAknSoftkeyOptions );
- break;
-
- case EVtUiCmdEnableMain:
- case EVtUiCmdDisableMain:
- // Submenu is opened automatically.
- break;
-
- case EVtUiCmdEnableVideo:
- {
- MVtEngMedia::TShareObjectState shareObjectState;
- VtUiUtility::GetObjectSharingState( Model().Media(),
- shareObjectState );
- if( shareObjectState != MVtEngMedia::ESharingImage )
- {
- refresh = ETrue;
- EnableCommandActivatingAndCleanupPushL();
- CmdEnableVideoL();
- CleanupStack::PopAndDestroy();
- }
- else
- {
- CmdStopShareImageL( refresh );
- EnableCommandActivatingAndCleanupPushL();
- CmdEnableVideoL();
- CleanupStack::PopAndDestroy();
- }
- }
- break;
-
- case EVtUiCmdEnableAudio:
- refresh = ETrue;
- CmdEnableAudioL();
- break;
-
- case EVtUiCmdEnableBoth:
- EnableCommandActivatingAndCleanupPushL();
- CmdEnableAudioL();
- MVtEngMedia::TShareObjectState shareObjectState;
- VtUiUtility::GetObjectSharingState( Model().Media(),
- shareObjectState );
- if( shareObjectState != MVtEngMedia::ESharingImage )
- {
- refresh = ETrue;
- CmdEnableVideoL();
- }
- else
- {
- CmdStopShareImageL( refresh );
- CmdEnableVideoL();
- }
- // EnableCommandActivatingAndCleanupPushL
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdDisableVideo:
- refresh = ETrue;
- EnableCommandActivatingAndCleanupPushL();
- CmdDisableVideoL();
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdDisableAudio:
- refresh = ETrue;
- EnableCommandActivatingAndCleanupPushL();
- CmdDisableAudioL();
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdDisableBoth:
- HandleCommandL( EVtUiCmdDisableAudio );
- HandleCommandL( EVtUiCmdDisableVideo );
- break;
-
- case EVtUiCmdActivateBT:
- refresh = ETrue;
- EnableCommandActivatingAndCleanupPushL();
- CmdActivateBtL();
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdDeactivateBT:
- refresh = ETrue;
- EnableCommandActivatingAndCleanupPushL();
- CmdDeactivateBtL();
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdActivateLoudspeaker:
- case EVtUiCmdSwitchFromBTToIHF:
- refresh = ETrue;
- EnableCommandActivatingAndCleanupPushL();
- CmdActivateLoudspeakerL();
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdDeactivateLoudspeaker:
- refresh = ETrue;
- EnableCommandActivatingAndCleanupPushL();
- CmdDeactivateLoudspeakerL();
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdUsePrimaryCamera:
- refresh = ETrue;
- CmdUseCameraL( ETrue );
- break;
-
- case EVtUiCmdUseSecondaryCamera:
- refresh = ETrue;
- CmdUseCameraL( EFalse );
- break;
-
- case EVtUiCmdSwapImagesPlaces:
- refresh = ETrue;
- CleanupPushEnableBlindL();
- iUiStates->SetDisableBlindSetting( ETrue );
- CmdSwapImagesPlacesL();
-
- MVtEngMedia& media = Model().Media();
- if ( VtUiUtility::GetFreezeState( media ) )
- {
- TBool isViewFinderInContextPane = IsViewFinderInContextPane();
- iUiStates->SetViewFindersInitialPlaceContextPane( isViewFinderInContextPane );
- }
-
- CleanupStack::PopAndDestroy(); // CleanupPushEnableBlindL
- break;
-
- case EVtUiCmdZoom:
- refresh = ETrue;
- // Toolbar uses this same command to set zoom on and off
- // therefore this works as a toggle button
- SetZoomModeL( !iUiStates->IsZoomModeOn() );
-
- break;
-
- case EAknSoftkeyBack:
- {
- refresh = ETrue;
- MVtUiFeature* numberEntry =
- iFeatureManager->GetFeatureById( EVtUiFeatureIdNumberEntry );
- if ( numberEntry )
- {
- numberEntry->Stop();
- }
- }
- break;
-
- case EVtUiCmdSnapshot:
- EnableCommandActivatingAndCleanupPushL();
- CmdSnapshotL();
- // EnableCommandActivatingAndCleanupPushL
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdCapture:
- CmdCaptureL();
- break;
-
- case EVtUiCmdCancelCapture:
- CmdCancelCaptureL();
- break;
-
- case EVtUiCmdGoToIdle:
- CmdGoToIdleL();
- break;
-
- // Object sharing related
-
- case EVtUiCmdShareObjectImage:
- CmdInitializeShareImageL( refresh );
- break;
-
- case EVtUiCmdStopSharingObjectImage:
- EnableCommandActivatingAndCleanupPushL();
- CmdStopShareImageL( refresh );
- // EnableCommandActivatingAndCleanupPushL
- CleanupStack::PopAndDestroy();
- break;
-
- case EVtUiCmdAdjustVideoVideoQuality:
- case EVtUiCmdAdjustVideoWhiteBalance:
- case EVtUiCmdAdjustVideoBrightness:
- case EVtUiCmdAdjustVideoContrast:
- case EVtUiCmdAdjustVideoColourTone:
- __VTPRINT( DEBUG_GEN, "VtUiHandleCommand.CmdAdjustVideoL" );
- CmdAdjustVideoL( aCommand );
- break;
-
- case EAknSoftkeyExit:
- case EAknCmdExit:
- case EEikCmdExit:
- // handled by state
- break;
-
- default:
- iCommandManager->HandleCommandL( aCommand );
- break;
- }
-
- if ( refresh )
- {
- CleanupStack::PopAndDestroy(); // CleanupPushRefreshL
- }
- else
- {
- CleanupStack::Pop(); // CleanupPushRefreshL
- }
- __VTPRINTEXITR( "VtUi.HandleCommand %d", KErrNone )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DynInitMenuPaneL
-// Initialises menu pane dynamically.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::DynInitMenuPaneL(
- TInt,
- CEikMenuPane* aMenuPane )
- {
- __VTPRINTENTER( "VtUi.DynInitMenuPaneL" )
-
- CVtUiMenus* menus = static_cast< CVtUiMenus* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdMenu ) );
- if ( menus )
- {
- iUiStates->Update();
- menus->SetMenuPane( aMenuPane );
- menus->RefreshL();
- }
- __VTPRINTEXIT( "VtUi.DynInitMenuPaneL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleKeyEventL
-// Handles key events.
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVtUiAppUi::HandleKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- __VTPRINTENTER( "VtUi.HandleKeyEventL" )
-
- TKeyResponse resp( EKeyWasNotConsumed );
-
- if ( !iUiStates->IsNumberEntryOpen() ||
- ( iUiStates->IsNumberEntryOpen() && !ShowNumberEntry() ) )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.ToZoom" )
-
- const TBool isHwZoomKey( aKeyEvent.iCode == EKeyZoomIn ||
- aKeyEvent.iCode == EKeyZoomOut );
-
- // if outgoing video is frozen disable zoom
- MVtEngMedia& media = Model().Media();
- if ( VtUiUtility::GetFreezeState ( media ) )
- {
- if ( aKeyEvent.iScanCode == EStdKeyUpArrow ||
- aKeyEvent.iScanCode == EStdKeyDownArrow ||
- isHwZoomKey )
- {
- __VTPRINTEXITR( "VtUi.HandleKeyEventL %d", EKeyWasConsumed )
- return EKeyWasConsumed;
- }
- }
-
- // Handle volume up & down
-
- }
-
- // If key event it not yet consumed, offer it to component manager
- if ( resp == EKeyWasNotConsumed )
- {
- resp = iComponentManager->OfferKeyEventL( aKeyEvent, aType );
- }
-
- __VTPRINTEXITR( "VtUi.HandleKeyEventL %d", resp )
- return resp;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleResourceChangeL
-// Handles change of a resource.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleResourceChangeL(
- TInt aType )
- {
- __VTPRINTENTER( "VtUi.HandleResourceChangeL" )
- const TBool layoutChange =
- aType == KEikDynamicLayoutVariantSwitch ||
- aType == KAknsMessageSkinChange;
- if ( iInstance && layoutChange )
- {
- iInstance->iBitmapManager->InvalidateBitmaps();
- }
-
- CAknAppUi::HandleResourceChangeL( aType );
-
- if ( iInstance )
- {
- if ( layoutChange )
- {
- CVtUiToolbarBase* tb = static_cast< CVtUiToolbarBase* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar ) );
- if( tb )
- {
- tb->HandleLayoutChangeL();
- }
- // Relayout controls
- iBlankControl->SetRect( ClientRect() );
- iInstance->LayoutChanged();
- }
- if ( iInstance->iNaviPane )
- {
- iInstance->iNaviPane->HandleResourceChange( aType );
- }
- if ( layoutChange )
- {
- (void) HandleLayoutChanged();
- }
- }
-
- iComponentManager->HandleResourceChangeL( aType );
-
- __VTPRINTEXIT( "VtUi.HandleResourceChangeL");
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleForegroundEventL
-// Handles foreground status change.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleForegroundEventL( TBool aForeground )
- {
- CAknAppUi::HandleForegroundEventL( aForeground );
-
- if ( !aForeground )
- {
- StopDtmfTone();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::GetEikonEnv
-// -----------------------------------------------------------------------------
-//
-CEikonEnv* CVtUiAppUi::GetEikonEnv()
- {
- return iEikonEnv;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::GetCba
-// -----------------------------------------------------------------------------
-//
-CEikButtonGroupContainer* CVtUiAppUi::GetCba()
- {
- return iCba;
- }
-
-//
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetZoomModeL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetZoomModeL( const TBool aEnableZoomMode,
- const TBool aIsPermanent )
- {
- __VTPRINTENTER( "VtUi.SetZoomModeL" )
- __VTPRINT2( DEBUG_GEN, "VtUi.SetZoomMo=%d", aEnableZoomMode );
- // If capture mode is on zoom mode cannot be changed
- if ( iUiStates->IsCaptureModeOn() )
- {
- __VTPRINTEXIT( "VtUi.SetZoomModeL.CaptureOn" )
- return;
- }
- CVtUiZoom* zoom = static_cast< CVtUiZoom* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdZoom ) );
- if ( zoom )
- {
- if ( aEnableZoomMode )
- {
- if( aIsPermanent )
- {
- zoom->SetPermanenVisibility( aEnableZoomMode );
- }
- zoom->StartL();
- }
- else
- {
- if( aIsPermanent )
- {
- zoom->SetPermanenVisibility( aEnableZoomMode );
- }
- zoom->Stop();
- }
- }
- iUiStates->SetZoomModeOn( aEnableZoomMode );
- CVtUiToolbarBase* tb = static_cast< CVtUiToolbarBase* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar ) );
- if ( tb )
- {
- tb->RefreshL();
- }
-
- __VTPRINTEXIT( "VtUi.SetZoomModeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HelpContextL
-// Returns help context array.
-// -----------------------------------------------------------------------------
-//
-CArrayFix<TCoeHelpContext>* CVtUiAppUi::HelpContextL() const
- {
- CArrayFix<TCoeHelpContext>* array =
- new ( ELeave ) CArrayFixFlat<TCoeHelpContext>( KVtUiHelpContextAmount );
- CleanupStack::PushL( array );
-
- array->AppendL(
- TCoeHelpContext(
- KVtUiTelephoneUid,
- KINCAL_HLP_VIDEO_CALL ) );
-
- CleanupStack::Pop( array );
- return array;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecExecuteL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::ActiveExecExecuteL(
- CVtUiActiveExec& /*aActiveExec*/,
- const TInt aState,
- TInt& aNextState,
- TRequestStatus& aRequest )
- {
- return ActiveExecInitExecuteL(
- aState,
- aNextState,
- aRequest );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecContinue
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::ActiveExecContinue(
- CVtUiActiveExec& /*aActiveExec*/,
- TInt& aState,
- const TInt aError )
- {
- return ActiveExecInitContinue( aState, aError );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecCancel
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecCancel(
- CVtUiActiveExec& /*aActiveExec*/,
- TInt aState )
- {
- ActiveExecInitCancel( aState );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecDone
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecDone(
- CVtUiActiveExec& /*aActiveExec*/,
- const TInt aInitialState )
- {
- ActiveExecInitDone( aInitialState );
- }
-
-// state object service handlers
-
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShutdownL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShutdownL()
- {
- __VTPRINTENTER( "VtUi.ShutdownL" )
-
- CVtUiWhiteBalance* wb = static_cast< CVtUiWhiteBalance* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdWhiteBalance ) );
- CVtUiColorTone* ct = static_cast< CVtUiColorTone* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdColourTone ) );
-
- if ( wb && wb->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiWhiteBalance::DoDeactivateL" );
- wb->DoDeactivateL ();
- }
- if ( ct && ct->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiColorTone::DoDeactivateL" );
- ct->DoDeactivateL( );
- }
-
- // close volume slider
- CVtUiVolume* volume = static_cast< CVtUiVolume* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdVolume ) );
- if ( volume )
- {
- volume->Stop();
- }
- // if capture mode is on stop the zoom
- if ( iUiStates->IsCaptureModeOn() )
- {
- CVtUiZoom* zoom = static_cast< CVtUiZoom* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdZoom ) );
- if ( zoom )
- {
- zoom->Stop();
- }
- }
-
- iActiveExec->Start( EVtUiAppUiShutdown, *this );
- __VTPRINTEXIT( "VtUi.ShutdownL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::StartupPhase1L
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::StartupPhase1L()
- {
- __VTPRINTENTER( "VtUi.StartupPhase1L" )
- iActiveExec->Start( EVtUiAppUiStartup, *this );
- __VTPRINTEXIT( "VtUi.StartupPhase1L" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::StartupPhase2L
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::StartupPhase2L()
- {
- __VTPRINTENTER( "VtUi.StartupPhase2L" )
- iActiveExec->Start( EVtUiAppUiAnswered, *this );
- __VTPRINTEXIT( "VtUi.StartupPhase2L" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ChangeState
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ChangeState( TVtUiAppStateBase* aState )
- {
- __VTPRINTENTER( "VtUi.ChangeState" )
- iState = aState;
- __VTPRINTEXIT( "VtUi.ChangeState" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::IsCommandAllowedL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::IsCommandAllowedL( const TInt aCommand )
- {
- return iCommandManager->IsCommandAllowedL( aCommand );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshDisabledFlagsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshDisabledFlagsL()
- {
- // Refresh iDisabledFlags according to the current state.
- TInt avail;
- MVtEngMedia& media = Model().Media();
- VtUiUtility::GetOutgoingMediaState( media, avail );
- avail = ~avail;
-
- iDisabledFlags = 0;
- if ( avail & MVtEngMedia::EMediaAudio )
- {
- iDisabledFlags |= EDisabledAudio;
- }
- if ( avail & MVtEngMedia::EMediaVideo )
- {
- iDisabledFlags |= EDisabledVideo;
- }
-
- // If there are not cameras, then video options should be disabled.
- if ( !VtUiUtility::HasCameras( media ) )
- {
- iDisabledFlags |= EVideoOptionsDisabled;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshCameraOptionAvailability
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshCameraOptionAvailability(
- TBool& aUsePrimaryCameraNotAllowed,
- TBool& aUseSecondaryCameraNotAllowed )
- {
- aUsePrimaryCameraNotAllowed = ETrue;
- aUseSecondaryCameraNotAllowed = ETrue;
-
- // Check sources caps and current camera to see which
- // items should be included to the menu.
-
- TInt sourcesCaps = 0;
- MVtEngMedia& media = Model().Media();
- (void) media.GetSourcesCaps( sourcesCaps );
-
- MVtEngMedia::TCameraId cameraId;
- const TBool hasCameraId =
- ( media.GetCurrentCameraId( cameraId ) == KErrNone );
-
- if ( hasCameraId )
- {
- // Camera is in use. Now selected camera is not included
- // to the menu.
- switch ( cameraId )
- {
- case MVtEngMedia::EPrimaryCamera:
- sourcesCaps &=
- ~MVtEngMedia::ESourceCapsPrimaryCamera;
- break;
-
- case MVtEngMedia::ESecondaryCamera:
- sourcesCaps &=
- ~MVtEngMedia::ESourceCapsSecondaryCamera;
- break;
-
- default:
- sourcesCaps = 0;
- break;
- }
- }
- else
- {
- // If camera is not in use, then the "enable video" option
- // will automatically use one of the existing cameras.
- // However, if there are two cameras, then we need
- // to include secondary to the menu.
-
- const TInt bothCameras =
- ( MVtEngMedia::ESourceCapsPrimaryCamera |
- MVtEngMedia::ESourceCapsSecondaryCamera );
- sourcesCaps &= ~bothCameras;
- if ( sourcesCaps == bothCameras )
- {
- sourcesCaps &=
- ~MVtEngMedia::ESourceCapsPrimaryCamera;
- }
- else
- {
- sourcesCaps = 0;
- }
- }
-
- sourcesCaps = ~sourcesCaps;
- aUsePrimaryCameraNotAllowed =
- ( sourcesCaps & MVtEngMedia::ESourceCapsPrimaryCamera );
- aUseSecondaryCameraNotAllowed =
- ( sourcesCaps & MVtEngMedia::ESourceCapsSecondaryCamera );
- }
-
-// -----------------------------------------------------------------------------
-// VtUiAppUi::CmdCaptureL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdCaptureL()
- {
- //firstly need to know if underlying provider supports KVtEngFreeze
- MVtEngCommandHandler& command = Model().CommandHandler();
- const TInt caps = command.GetCommandCaps( KVtEngFreeze );
- if ( (caps & MVtEngCommandHandler::EAttribEnabled) == 0)
- {
- return;
- }
- // end capture mode, image captured
- iUiStates->SetCaptureModeOn( EFalse );
- // end zoom mode
- SetZoomModeL( EFalse, ETrue );
- // freeze outgoing video
- ExecuteCmdL( KVtEngFreeze );
- RefreshBlind();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiAppUi::CmdSnapshotL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdSnapshotL()
- {
- __VTPRINTENTER( "VtUi.CmdSnapshotL" )
-
- // zoom mode must be set on before capture mode is set on
- SetZoomModeL( ETrue, ETrue );
-
- // if outgoing video is already frozen
- MVtEngMedia& media = Model().Media();
- const TBool isFrozen( VtUiUtility::GetFreezeState( media ) );
- if ( isFrozen )
- {
- ExecuteCmdL( KVtEngUnfreeze );
- }
- if ( !IsViewFinderInMainPane() )
- {
- SwitchViewFinderToMainPaneL( !isFrozen );
- }
- else if ( !isFrozen )
- {
- iUiStates->SetViewFindersInitialPlaceContextPane( EFalse );
- }
-
- // set capture mode on
-
- iUiStates->SetCaptureModeOn( ETrue );
- RefreshStatesL();
- RefreshBlind();
- __VTPRINTEXIT( "VtUi.CmdSnapshotL" )
- }
-
-// -----------------------------------------------------------------------------
-// VtUiAppUi::CmdCancelCaptureL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdCancelCaptureL()
- {
- __VTPRINTENTER( "VtUi.CmdCancelCaptureL" )
- // end capture mode, image capture canceled
- iUiStates->SetCaptureModeOn( EFalse );
- SetZoomModeL( EFalse, ETrue );
- RefreshStatesL();
- RestoreViewFinderL();
- RefreshBlind();
- __VTPRINTEXIT( "VtUi.CmdCancelCaptureL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdEnableVideoL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdEnableVideoL()
- {
- // if outgoing video is frozen
- MVtEngMedia& media = Model().Media();
- if ( VtUiUtility::GetFreezeState( media ) )
- {
- ExecuteCmdL( KVtEngUnfreeze );
- // swap images if needed
- RestoreViewFinderL();
- }
- else
- {
- ExecuteCmdL( KVtEngStopViewFinder );
- iUplinkWindow->SetStreamBitmap( NULL );
- MVtEngMedia::TMediaSource source = MVtEngMedia::EMediaCamera;
- ExecuteCmdL( KVtEngSetSource, source );
- MVtEngMedia::TCameraId id;
- if ( Model().Media().GetCurrentCameraId( id ) == KErrInUse )
- {
- ShowCameraInUseNoteL();
- }
- ExecuteCmdL( KVtEngStartViewFinder );
- }
- // update VB settings
- UpdateVBSettingL();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdEnableAudioL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdEnableAudioL()
- {
- ExecuteCmdL( KVtEngUnmuteOutgoingAudio );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdDisableVideoL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdDisableVideoL()
- {
-
- if( iUiStates->IsZoomModeOn() )
- {
- // if zoom feature is active, stop that
- MVtUiFeature* zm = iFeatureManager->GetFeatureById( EVtUiFeatureIdZoom );
- if ( zm )
- {
- if ( zm->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.CmdDisableVideoL zm->STOP" )
- zm->Stop();
- }
- }
- }
-
- ExecuteCmdL( KVtEngStopViewFinder );
-
- iUplinkWindow->SetStreamBitmap( NULL );
-
- TInt err = KErrNotFound;
- if ( VtUiUtility::HasStillImage( Model().Media() ) )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.:CmdDisableVideoL.HasStill" )
- MVtEngMedia::TMediaSource source = MVtEngMedia::EMediaStillImage;
- TRAP( err, ExecuteCmdL( KVtEngSetSource, source ) );
- }
- if ( ( err != KErrNone ) )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.:CmdDisableVideoL.MediaNone" )
- MVtEngMedia::TMediaSource source = MVtEngMedia::EMediaNone;
- ExecuteCmdL( KVtEngSetSource, source );
- }
-
- ExecuteCmdL( KVtEngStartViewFinder );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdDisableAudioL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdDisableAudioL()
- {
- ExecuteCmdL( KVtEngMuteOutgoingAudio );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdActivateBtL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdActivateBtL()
- {
- TInt error = KErrNone;
- CVtUiActivateBtHfDialog* dialog =
- new ( ELeave ) CVtUiActivateBtHfDialog(
- NULL,
- &error,
- Model().CommandHandler(),
- *iEventObserver );
- dialog->ExecuteDialogLD();
-
- if ( error != KErrCancel )
- {
- switch ( error )
- {
- case KErrNone:
- break;
-
- case KErrNoMemory:
- case KErrNotSupported:
- // Clear failure - to be handled in active scheduler.
- User::Leave( error );
- break;
-
- default:
- // Failed - still show local information note in error situation.
- {
- HBufC* prompt =
- StringLoader::LoadLC(
- R_VIDEOTELUI_QTN_BT_DEVICE_NOT_AVAIL );
- CAknInformationNote* note =
- new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *prompt );
- CleanupStack::PopAndDestroy( prompt );
- }
- break;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdDeactivateBtL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdDeactivateBtL()
- {
- // Command to Video tel engine
- MVtEngAudio::TVtEngRoutingSetting audioSetting =
- MVtEngAudio::EDeactivateBT;
-
- ExecuteCmdL( KVtEngSetAudioRouting, audioSetting );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdActivateLoudspeakerL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdActivateLoudspeakerL()
- {
- MVtEngAudio::TVtEngRoutingSetting audioSetting =
- MVtEngAudio::EActivateHandsfree;
- ExecuteCmdL( KVtEngSetAudioRouting, audioSetting );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdDeactivateLoudspeakerL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdDeactivateLoudspeakerL()
- {
- MVtEngAudio::TVtEngRoutingSetting audioSetting =
- MVtEngAudio::EDeactivateHansfree;
- ExecuteCmdL( KVtEngSetAudioRouting, audioSetting );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdSwapImagesPlacesL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdSwapImagesPlacesL()
- {
- __VTPRINTENTER( "VtUi.Swap" )
-
- MVtEngMedia& media = Model().Media();
- const TBool viewFinderStarted =
- media.RenderingStarted( MVtEngMedia::EMediaOutgoing );
- const TBool remoteRenderStarted =
- media.RenderingStarted( MVtEngMedia::EMediaIncoming );
-
- if ( viewFinderStarted )
- {
- // Stop viewfinder.
- __VTPRINT( DEBUG_GEN, "VtUi.Swap.VF.down" )
- ExecuteCmdL( KVtEngStopViewFinder );
- }
- // Stop remote render.
- __VTPRINT( DEBUG_GEN, "VtUi.Swap.RR.down" )
- ExecuteCmdL( KVtEngStopRenderRemote );
-
- // Clear windows.
- iUplinkWindow->Reset();
- iDownlinkWindow->Reset();
-
- const TBool uplinkWindowEqualsContextControl =
- ( iUplinkWindow == iInstance->iContextControl );
-
- // Prepare viewfinder.
- __VTPRINT( DEBUG_GEN, "VtUi.Swap.VF.upd" )
- TVtEngRenderingOptions configViewfinder(
- uplinkWindowEqualsContextControl ?
- DetermineMainControlOptions( EFalse ) :
- DetermineContextControlOptions() );
- ExecuteCmdL( KVtEngPrepareViewFinder, configViewfinder );
-
- // Swap windows.
- if ( ERenderingModeDialer == iRenderingMode )
- {
- MVtUiVideoWindow* tmpWindow = iUplinkWindow;
- iUplinkWindow = iStoredDownlinkWindow;
- iStoredDownlinkWindow = tmpWindow;
- }
- else
- {
- MVtUiVideoWindow* tmpWindow = iUplinkWindow;
- iUplinkWindow = iDownlinkWindow;
- iDownlinkWindow = tmpWindow;
- }
- iUplinkWindow->SetRemoteVideoControl(NULL);
- iDownlinkWindow->SetRemoteVideoControl(iInstance->iRemoteVideoControl);
- iDownlinkWindow->LayoutRemoteVideo();
-
- // Prepare remote render.
- __VTPRINT( DEBUG_GEN, "VtUi.Swap.RR.upd" )
- TRAPD ( err, {
- TVtEngRenderingOptionsNGA configRemoteRenderNGA(
- DetermineRemoteVideoControlOptionsNGA() );
- ExecuteCmdL(
- KVtEngPrepareRemoteRenderNGA,
- configRemoteRenderNGA );
- } );
-
- if ( err != KErrNone )
- {
- if ( viewFinderStarted )
- {
- // Start viewfinder.
- ExecuteCmdL( KVtEngStartViewFinder );
- }
- User::Leave ( err );
- }
- // Start remote render.
- __VTPRINT( DEBUG_GEN, "VtUi.Swap.RR.up" )
- if ( remoteRenderStarted )
- {
- ExecuteCmdL( KVtEngStartRenderRemote );
- }
-
- __VTPRINT( DEBUG_GEN, "VtUi.Swap.VF.up" )
- if ( viewFinderStarted )
- {
- // Start viewfinder.
- ExecuteCmdL( KVtEngStartViewFinder );
- }
-
- iDownlinkWindow->Redraw();
-
- // Refresh blind & waiting will be handled in HandleCommandL.
- __VTPRINTEXIT( "VtUi.Swap" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdUseCameraL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdUseCameraL( const TBool aPrimaryCamera )
- {
- EnableCommandActivatingAndCleanupPushL();
- MVtEngMedia& media = Model().Media();
-
- MVtEngMedia::TMediaSource selectedSource =
- ( aPrimaryCamera ) ?
- MVtEngMedia::EMediaCameraPri : MVtEngMedia::EMediaCameraSec;
-
- TInt available = 0;
- VtUiUtility::GetOutgoingMediaState( media, available );
- if ( available & MVtEngMedia::EMediaVideo )
- {
- ExecuteCmdL( KVtEngStopViewFinder );
-
- iUplinkWindow->SetStreamBitmap( NULL );
- TRAPD( err, ExecuteCmdL( KVtEngSetSource, selectedSource ) );
-
- if ( err == KErrNone )
- {
- ExecuteCmdL( KVtEngStartViewFinder );
- }
- else
- {
- ShowOtherCameraNotUsableNoteL();
- }
- }
- else
- {
- MVtEngMedia::TPrepareCameraParams params;
- params.iMediaSource = selectedSource;
- params.iInitialize = EFalse;
- TRAPD( err, ExecuteCmdL( KVtEngPrepareCamera, params ) );
- if ( err != KErrNone )
- {
- ShowOtherCameraNotUsableNoteL();
- }
- }
- CleanupStack::PopAndDestroy(); // EnableCommandActivatingAndCleanupPushL
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdHelpL
-// Launches help application.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdHelpL()
- {
- HlpLauncher::LaunchHelpApplicationL(
- iEikonEnv->WsSession(),
- AppHelpContextL() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::PrepareExitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::PrepareExitL()
- {
- __VTPRINTENTER( "VtUi.PrepareExitL" )
- // Cancel progress dialog
- HideProgressDialogL();
- // Cancel menu.
- CAknAppUi::ProcessCommandL( EEikCmdCanceled ); // does not leave
-
- if ( !iExitTimer->IsActive() )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.Exit.Timer.Go" )
- iExitTimer->Start(
- KVtUiExitTimeout,
- KVtUiExitTimeout,
- TCallBack( DoHandleExitTimeout, this ) );
- }
-
- // Asynchronous shutdown - execute command.
- iBlankControl->SetActive( ETrue );
- __VTPRINTEXIT( "VtUi.PrepareExitL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdUpdateZoomL
-// This method is called to update zoom step to the Video Telephone engine
-// side from the HandleKeyEventL method.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdUpdateZoomL()
- {
- __VTPRINTENTER( "VtUi.UpdZm" )
-
- __VTPRINTEXIT( "VtUi.UpdZm" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetZoomFactorL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetZoomFactorL( TInt aZoomStep )
- {
- __VTPRINTENTER( "VtUi.SetZoomFactorL" )
- MVtEngMedia& media = Model().Media();
- if ( VtUiUtility::IsZoomAllowed( media ) )
- {
- ExecuteCmdL( KVtEngSetZoomStep, aZoomStep );
- }
- __VTPRINTEXIT( "VtUi.SetZoomFactorL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdUpdateVolumeL
-// This method is called to update volume to the Video Telephone engine
-// side
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdUpdateVolumeL( MVtEngAudio::TVtEngOutputVolume aVolume )
- {
- __VTPRINTENTER( "VtUi.CmdUpdateVolumeL" )
- iVolCtrl->AdjustVolumeL( aVolume );
- __VTPRINTEXIT( "VtUi.CmdUpdateVolumeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdGoToIdleL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdGoToIdleL()
- {
- __VTPRINTENTER( "VtUi.CmdGoToIdleL" )
- TInt idleUid = 0;
- if ( RProperty::Get(
- KPSUidAiInformation,
- KActiveIdleUid,
- idleUid ) == KErrNone )
- {
- __VTPRINT2( DEBUG_GEN, "Idle UID: %d", idleUid )
- TApaTaskList taskList( iEikonEnv->WsSession() );
- TApaTask task = taskList.FindApp( TUid::Uid( idleUid ) );
- if ( task.Exists() )
- {
- __VTPRINT( DEBUG_GEN, "Idle task found")
- RProperty::Set( KPSUidUikon, KUikVideoCallTopApp, KVtUiAppUid.iUid );
- task.BringToForeground();
- }
- }
- __VTPRINTEXIT( "VtUi.CmdGoToIdleL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdInitializeShareImageL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdInitializeShareImageL( TBool& aNeedRefresh )
- {
- __VTPRINTENTER( "VtUi.CmdInitializeShareImageL" )
- EnableCommandActivatingAndCleanupPushL();
-
- MVtUiFeature* tb =
- iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar );
- if ( tb )
- {
- // timer could be active
- if ( iTbPeriodic )
- {
- iTbPeriodic->Cancel();
- }
- tb->Stop();
- }
- CDesCArray* selectedFiles = new ( ELeave ) CDesCArrayFlat( 1 );
- CleanupStack::PushL( selectedFiles );
- CVtUiAppUi::CVtUiAppUiMGVerifier* verifier =
- CVtUiAppUi::CVtUiAppUiMGVerifier::NewLC( *this, *iCoeEnv );
-
- // number erntry is not availabe while media gallery is open
- iInstance->iNumberEntryActivation->SetActive( EFalse );
- iUiStates->SetSelectingShare( ETrue );
-
- TBool result( EFalse );
- TRAPD( err, result =
- MGFetch::RunL( *selectedFiles, EImageFile, EFalse, verifier ) );
-
- // leave occured
- if ( err != KErrNone )
- {
- if ( iUiStates->ExecState() == TVtUiStates::EExecStateRunning )
- {
- ShowUnableToOpenNoteL();
- }
- else
- {
- __VTPRINTEXIT( "VtUi.CmdInitializeShareImageL 1" )
- Exit();
- }
- }
-
- if ( result && ( selectedFiles->Count() > 0 ) )
- {
- MVtEngMedia::TShareObjectState shareObjectState;
- VtUiUtility::GetObjectSharingState( Model().Media(), shareObjectState );
- iUiStates->SetViewFinderToMainPane(
- shareObjectState == MVtEngMedia::ENotSharing );
- MVtEngMedia::TShareObjectImageParameters
- parameters( selectedFiles->operator[]( 0 ) );
- ExecuteCmdL( KVtEngInitializeShareImage, parameters );
- aNeedRefresh = ETrue;
- }
- else // selection canceled start toolbar timer
- {
- if ( !iTbPeriodic )
- {
- iTbPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
- }
- iTbPeriodic->Cancel();
- iTbPeriodic->Start( KStartTime, KPeriodTime, TCallBack( DoTryToStartTbL, this ) );
- }
- CleanupStack::PopAndDestroy( 2 ); // selectedFiles, verifier
- // number entry is availabe again
- iInstance->iNumberEntryActivation->SetActive( ETrue );
- iUiStates->SetSelectingShare( EFalse );
- CleanupStack::PopAndDestroy(); // EnableCommandActivatingAndCleanupPushL();
-
- __VTPRINTEXIT( "VtUi.CmdInitializeShareImageL 0" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdShareImageL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdShareImageL()
- {
- ExecuteCmdL( KVtEngStartShareImage );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdStopShareImageL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CmdStopShareImageL( TBool& aNeedRefresh )
- {
- ExecuteCmdL( KVtEngStopShareImage );
- RestoreViewFinderL();
- aNeedRefresh = ETrue;
- // update VB settings
- UpdateVBSettingL();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleWaitingStateChange
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleWaitingStateChange( TBool aIsWaiting )
- {
- // Dialer must be closed in case of waiting call
- MVtUiFeature* dialer =
- iFeatureManager->GetFeatureById( EVtUiFeatureIdDialer );
- if ( dialer )
- {
- dialer->Stop();
- }
- iUiStates->SetWaitingCall( aIsWaiting );
- if (aIsWaiting == EFalse &&
- iIsWaitingCallState != EFalse &&
- !iUiStates->IsThisApplicationForeground() )
- {
- iIsWaitingCallState = EFalse;
- ChangeApplicationFocus( ETrue );
- TRAP_IGNORE ( SetHiddenL( EFalse ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitExecuteL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::ActiveExecInitExecuteL(
- const TInt aState,
- TInt& aNextState,
- TRequestStatus& aRequest )
- {
- __VTPRINTENTER( "VtUi.InitExec" )
- __VTPRINT2( DEBUG_GEN, "VtUi.InitExec.st=%d", aState )
-
- TBool synch = EFalse;
-
- switch ( aState )
- {
- // Startup chain:
- case EVtUiAppUiStartupCloseDialogs:
- // Close all dialogs.
- iBlankControl->SetActive( EFalse );
- AknDialogShutter::ShutDialogsL( *iEikonEnv );
- iBlankControl->SetActive( ETrue );
-
- synch = ETrue;
- aNextState = EVtUiAppUiStartupInitEngine;
- break;
-
- case EVtUiAppUiStartupInitEngine:
- iUplinkWindow = iInstance->iContextControl;
- iDownlinkWindow = iInstance->iMainControl;
- ActiveExecInitExecuteCommandL( KVtEngInitializeEngine, aRequest );
- aNextState = EVtUiAppUiStartupPrepareViewfinder;
- break;
-
- case EVtUiAppUiStartupPrepareViewfinder:
- ActiveExecInitPrepareViewFinderL( aRequest );
- iUplinkWindow->SetStreamBitmap( NULL );
- aNextState = EVtUiAppUiStartupPrepareRemoteRender;
- break;
-
- case EVtUiAppUiStartupPrepareRemoteRender:
-
- iInstance->CreateRemoteVideoControl();
- ActiveExecInitPrepareRemoteRenderL( aRequest );
- iDownlinkWindow->SetStreamBitmap( NULL );
- aNextState = EVtUiAppUiStartupRemoveBlank;
- break;
-
- case EVtUiAppUiStartupRemoveBlank:
- // Finally remove blank control.
- iBlankControl->SetActive( EFalse );
- aNextState = EVtUiAppUiNone;
- synch = ETrue;
- break;
-
- // Shutdown chain:
- case EVtUiAppUiShutdownCloseDialogs:
- {
- // Close all dialogs.
- iBlankControl->SetActive( EFalse );
- AknDialogShutter::ShutDialogsL( *iEikonEnv );
- iBlankControl->SetActive( ETrue );
-
- MVtUiFeature* numberEntry = iFeatureManager->GetFeatureById(
- EVtUiFeatureIdNumberEntry );
- // Number entry may be active if its deactivation timer is still
- // pending. Stop performs some cleanup which is needed before AppUi
- // cleanup.
- if ( numberEntry )
- {
- numberEntry->Stop();
- }
-
- synch = ETrue;
- aNextState = EVtUiAppUiShutdownHideApplication;
- }
- break;
-
- case EVtUiAppUiShutdownHideApplication:
- if ( iUiStates->IsThisApplicationForeground() )
- {
- BringTelephoneToForeground();
- }
- else
- {
- ChangeApplicationFocus( EFalse );
- }
- iDownlinkWindow->SetStreamBitmap( NULL );
- iUplinkWindow->SetStreamBitmap( NULL );
- SetHiddenL( ETrue );
- iEventObserver->DeleteRemConSession();
-
- synch = ETrue;
- aNextState = EVtUiAppUiShutdownResetEngine;
- break;
-
- case EVtUiAppUiShutdownResetEngine:
- {
- aRequest = KRequestPending;
-
- MVtEngCommandHandler& command = Model().CommandHandler();
- // There should not be any commands ongoing because
- // we have canceled all dialogs (and this should
- // be the only command without dialog).
- command.CancelCommand( command.PendingCommand() ); // ignore error
- command.ExecuteL( KVtEngResetEngine, NULL );
- iShutdownRequest = &aRequest;
-
- aNextState = EVtUiAppUiShutdownRemoveBlank;
- }
- break;
-
- case EVtUiAppUiShutdownRemoveBlank:
- // Finally remove blank control.
- iBlankControl->SetActive( EFalse );
-
- synch = ETrue;
- aNextState = EVtUiAppUiNone;
- break;
-
- // Answered chain:
- case EVtUiAppUiAnsweredStart:
- {
- CVtUiBlankDialog* dialog =
- new ( ELeave ) CVtUiBlankDialog( &iExecBlankDialog );
- dialog->ExecuteDialogNoWaitLD();
- iExecBlankDialog = dialog;
-
- synch = ETrue;
- if ( iUiStates->IsLayoutChangeNeeded() )
- {
- (void) HandleLayoutChanged();
- }
- aNextState = EVtUiAppUiAnsweredRefreshNavi;
- }
- break;
-
- case EVtUiAppUiAnsweredRefreshNavi:
- RefreshNaviPaneL();
- iEventObserver->CreateRemConSessionL();
-
- synch = ETrue;
- aNextState = EVtUiAppUiAnsweredRefreshSoftkeys;
- break;
-
- case EVtUiAppUiAnsweredRefreshSoftkeys:
- RefreshSoftkeysL();
-
- synch = ETrue;
- aNextState = EVtUiAppUiAnsweredStartRemoteRender;
- break;
-
- case EVtUiAppUiAnsweredStartRemoteRender:
- {
- // Set waiting text to main control and start remote rendering.
- // Video Telephone application should get KVtEngRemoteVideoStarted
- // event when the first frame is received.
- iDownlinkWindow->SetWaiting( ETrue );
- iUiStates->SetWaitingForFirstFrame( ETrue );
- //Must check if orientation changed between prepare remote render and start remote render
- //If changed, update render parameter firstly
- if ( iIsLandScapeOrientation != VtUiLayout::IsLandscapeOrientation() )
- {
- __VTPRINT( DEBUG_GEN, "layout has been changed before start RemoteRender" )
- UpdateRenderingParametersL();
- }
-
- ActiveExecInitExecuteCommandL( KVtEngStartRenderRemote,
- aRequest );
-
- aNextState = EVtUiAppUiAnsweredCheckCamera;
- }
- break;
-
- case EVtUiAppUiAnsweredCheckCamera:
- {
- MVtEngMedia& media = Model().Media();
- if ( VtUiUtility::HasCameras( media ) )
- {
- aNextState = EVtUiAppUiAnsweredChoose;
- synch = ETrue;
- }
- else
- {
- if ( VtUiUtility::HasStillImage( media ) )
- {
- aNextState = EVtUiAppUiAnsweredSelectStill;
- }
- else
- {
- aNextState = EVtUiAppUiAnsweredSelectNone;
- }
-
- synch = ETrue;
- }
- }
- break;
-
- case EVtUiAppUiAnsweredChoose:
- {
- // If camera is in use, then show note,
- // select still image, stop.
- //
- // If call is mobile terminated, then show query.
- // If user answers 'yes' to the query,
- // then activate camera.
- // If user answers 'no' to the query,
- // then choose still image.
- //
- // If call is mobile originated, then select camera.
- //
- // If selecting a camera fails, then select still image.
- // If selecting still image fails, then select none.
- //
- CVtEngModel& model = Model();
- MVtEngSessionInfo& session = model.Session();
- MVtEngMedia& media = model.Media();
-
- MVtEngMedia::TCameraId id;
- TInt cameraErr = model.Media().GetCurrentCameraId( id );
- if ( cameraErr == KErrInUse )
- {
- // Camera is in use.
- iUiStates->SetExecShowCameraInUse( ETrue );
-
- if ( VtUiUtility::HasStillImage( media ) )
- {
- aNextState = EVtUiAppUiAnsweredSelectStill;
- }
- else
- {
- aNextState = EVtUiAppUiAnsweredSelectNone;
- }
- }
- else
- {
- // Check the direction of the call.
- iUiStates->SetExecShowCameraInUse( EFalse );
- MVtEngSessionInfo::TDirection direction;
- if ( session.GetDirection( direction ) != KErrNone )
- {
- direction = MVtEngSessionInfo::EDirectionMT;
- }
-
- if ( direction == MVtEngSessionInfo::EDirectionMT )
- {
- // Start steps towards the "Allow video" query.
- if ( VtUiUtility::HasStillImage( media ) )
- {
- aNextState = EVtUiAppUiAnsweredQuerySetupStill;
- }
- else
- {
- aNextState = EVtUiAppUiAnsweredQuerySetupNone;
- }
- }
- else
- {
- aNextState = EVtUiAppUiAnsweredDoPrepareCamera;
- }
- }
- synch = ETrue;
- }
- break;
-
- case EVtUiAppUiAnsweredQuerySetupStill:
- ActiveExecInitSetSourceL( MVtEngMedia::EMediaStillImage, aRequest );
- aNextState = EVtUiAppUiAnsweredQuerySetupStart;
- break;
-
- case EVtUiAppUiAnsweredQuerySetupNone:
- ActiveExecInitSetSourceL( MVtEngMedia::EMediaNone, aRequest );
- aNextState = EVtUiAppUiAnsweredQuerySetupStart;
- break;
-
- case EVtUiAppUiAnsweredQuerySetupStart:
- ActiveExecInitExecuteCommandL( KVtEngStartViewFinder, aRequest );
- aNextState = EVtUiAppUiAnsweredQueryShow;
- break;
-
- case EVtUiAppUiAnsweredQueryShow:
- {
- RefreshL();
- TInt state = EPSCTsyCallStateUninitialized;
- TInt err = RProperty::Get(
- KPSUidCtsyCallInformation,
- KCTsyCallState,
- state );
- __VTPRINT3( DEBUG_GEN, "VtUi.InitExec WaitingCall State=%d, err=%d",
- state, err )
- if ( EPSCTsyCallStateRinging != state )
- {
- ChangeApplicationFocus( ETrue );
- SetHiddenL( EFalse );
- }
- else
- {
- iIsWaitingCallState = ETrue;
- }
-
- // User selectable call answer mute.
- // In GS one can set call ansewer status
- // eighter to query user, allways show, allways mute.
- // GS values are checked from CR key ( KSettingsVTVideoSending )
- // (default value is 0 = allways query).
- TVtUiGsMuteVariation camute;
- __VTPRINT2( DEBUG_GEN, "VtUi.InitExe GS CR key KSettingsVTVideoSending querystate=%d", camute.GsMuteState() )
- if ( camute.GsMuteState() == KAllwaysQuery && !iUiStates->IsDeviceLockOn() && EPSCTsyCallStateRinging != state)
- {
- CVtUiAllowVideoDialog* dialog =
- new ( ELeave ) CVtUiAllowVideoDialog(
- &iExecDialog,
- CAknQueryDialog::ENoTone );
- dialog->ExecuteDialogLD( aRequest );
- iExecDialog = dialog;
- aNextState = EVtUiAppUiAnsweredQueryDecide;
- }
- else if ( camute.GsMuteState() == KAllwaysAllow )
- {
- aNextState = EVtUiAppUiAnsweredDoPrepareCamera;
- synch = ETrue;
- }
- else
- {
- aNextState = EVtUiAppUiNone;
- synch = ETrue;
- }
-
- }
- break;
-
- case EVtUiAppUiAnsweredQueryDecide:
- {
- delete iExecDialog;
- iExecDialog = NULL;
-
- if ( iActiveExec->RequestStatus() ==
- CVtUiAllowVideoDialog::EUserAllowed )
- {
- aNextState = EVtUiAppUiAnsweredDoPrepareCamera;
- }
- else
- {
- aNextState = EVtUiAppUiNone;
- }
-
- synch = ETrue;
- }
- break;
-
- case EVtUiAppUiAnsweredDoPrepareCamera:
- {
- MVtEngMedia& media = Model().Media();
- MVtEngMedia::TMediaSource source = MVtEngMedia::EMediaCamera;
- ActiveExecInitPrepareCameraL( source, aRequest );
- aNextState = EVtUiAppUiAnsweredSelectCamera;
- }
- break;
-
- case EVtUiAppUiAnsweredQuerySelectCamera:
- case EVtUiAppUiAnsweredSelectCamera:
- ActiveExecInitSetSourceL( MVtEngMedia::EMediaCamera, aRequest );
- if ( aState == EVtUiAppUiAnsweredSelectCamera )
- {
- aNextState = EVtUiAppUiAnsweredStartViewfinder;
- }
- else
- {
- aNextState = EVtUiAppUiAnsweredQueryStartViewfinder;
- }
- break;
-
- case EVtUiAppUiAnsweredQuerySelectStill:
- case EVtUiAppUiAnsweredSelectStill:
- ActiveExecInitSetSourceL( MVtEngMedia::EMediaStillImage, aRequest );
-
- if ( aState == EVtUiAppUiAnsweredSelectStill )
- {
- aNextState = EVtUiAppUiAnsweredStartViewfinder;
- }
- else
- {
- aNextState = EVtUiAppUiAnsweredQueryStartViewfinder;
- }
- break;
-
- case EVtUiAppUiAnsweredQuerySelectNone:
- case EVtUiAppUiAnsweredSelectNone:
- ActiveExecInitSetSourceL( MVtEngMedia::EMediaNone, aRequest );
-
- if ( aState == EVtUiAppUiAnsweredSelectNone )
- {
- aNextState = EVtUiAppUiAnsweredStartViewfinder;
- }
- else
- {
- aNextState = EVtUiAppUiAnsweredQueryStartViewfinder;
- }
- break;
-
- case EVtUiAppUiAnsweredQueryStartViewfinder:
- case EVtUiAppUiAnsweredStartViewfinder:
- ActiveExecInitExecuteCommandL( KVtEngStartViewFinder, aRequest );
-
- if ( aState == EVtUiAppUiAnsweredStartViewfinder )
- {
- aNextState = EVtUiAppUiAnsweredFinish;
- }
- else
- {
- aNextState = EVtUiAppUiAnsweredQueryFinish;
- }
- break;
-
- case EVtUiAppUiAnsweredQueryFinish:
- case EVtUiAppUiAnsweredFinish:
- RefreshL();
- if ( iUiStates->IsExecShowCameraInUse() )
- {
- ShowCameraInUseNoteL();
- }
-
- if ( aState != EVtUiAppUiAnsweredQueryFinish )
- {
- ChangeApplicationFocus( ETrue );
- }
- SetHiddenL( EFalse );
-
- synch = ETrue;
- aNextState = EVtUiAppUiNone;
- break;
-
- default:
- User::Leave( KErrNotSupported );
- break;
- }
-
- __VTPRINT2( DEBUG_GEN, "VtUi.InitExec.sync=%d", synch )
- __VTPRINT2( DEBUG_GEN, "VtUi.InitExec.next=%d", aNextState )
- __VTPRINTEXITR( "VtUi.InitExec %d", synch )
- return synch;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitContinue
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::ActiveExecInitContinue(
- TInt& aState,
- const TInt aError )
- {
- __VTPRINTENTER( "VtUi.InitExecCont" )
- __VTPRINT2( DEBUG_GEN, "VtUi.InitExecCont.st=%d", aState )
- //__VTPRINT2( DEBUG_GEN, "VtUi.InitExecCont.err=%d", aError )
-
- const TInt state = aState;
- switch ( state )
- {
- case EVtUiAppUiStartupCloseDialogs:
- case EVtUiAppUiStartupInitEngine:
- case EVtUiAppUiStartupPrepareViewfinder:
- case EVtUiAppUiStartupPrepareRemoteRender:
- case EVtUiAppUiStartupRemoveBlank:
- // Prepare failed.
- break;
-
- case EVtUiAppUiShutdownCloseDialogs:
- if( KErrNotReady == aError )
- {
- aState = EVtUiAppUiShutdownHideApplication;
- break;
- }
- case EVtUiAppUiShutdownResetEngine:
- case EVtUiAppUiShutdownRemoveBlank:
- // shutdown failed
- break;
-
- case EVtUiAppUiShutdownHideApplication:
- aState = EVtUiAppUiShutdownResetEngine;
- break;
-
-
- case EVtUiAppUiAnsweredStart:
- aState = EVtUiAppUiAnsweredRefreshNavi;
- break;
-
- case EVtUiAppUiAnsweredRefreshNavi:
- aState = EVtUiAppUiAnsweredRefreshSoftkeys;
- break;
-
- case EVtUiAppUiAnsweredRefreshSoftkeys:
- aState = EVtUiAppUiAnsweredStartRemoteRender;
- break;
-
- case EVtUiAppUiAnsweredStartRemoteRender:
- case EVtUiAppUiAnsweredStartViewfinder:
- case EVtUiAppUiAnsweredSelectNone:
- case EVtUiAppUiAnsweredFinish:
- case EVtUiAppUiAnsweredQueryStartViewfinder:
- case EVtUiAppUiAnsweredQuerySelectNone:
- case EVtUiAppUiAnsweredQueryFinish:
- // Answered failed.
- break;
-
- case EVtUiAppUiAnsweredCheckCamera:
- aState = EVtUiAppUiAnsweredChoose;
- break;
-
- case EVtUiAppUiAnsweredChoose:
- aState = EVtUiAppUiAnsweredQuerySetupStill;
- break;
-
- case EVtUiAppUiAnsweredQuerySetupStill:
- aState = EVtUiAppUiAnsweredQuerySetupNone;
- break;
-
- case EVtUiAppUiAnsweredQuerySetupStart:
- case EVtUiAppUiAnsweredQuerySetupNone:
- aState = EVtUiAppUiAnsweredQueryShow;
- break;
-
- case EVtUiAppUiAnsweredQueryShow:
- case EVtUiAppUiAnsweredQueryDecide:
- case EVtUiAppUiAnsweredSelectCamera:
- aState = EVtUiAppUiAnsweredSelectStill;
- break;
-
- case EVtUiAppUiAnsweredQuerySelectCamera:
- aState = EVtUiAppUiAnsweredQuerySelectStill;
- break;
-
- case EVtUiAppUiAnsweredQuerySelectStill:
- aState = EVtUiAppUiAnsweredQuerySelectNone;
- break;
-
- case EVtUiAppUiAnsweredSelectStill:
- aState = EVtUiAppUiAnsweredSelectNone;
- break;
-
- default:
- break;
- }
-
- const TBool cont = ( aState != state );
- __VTPRINT2( DEBUG_GEN, "VtUi.InitExecCont.cont=%d", cont )
-
- if ( !cont )
- {
- delete iExecBlankDialog;
- iExecBlankDialog = NULL;
- // Operation failed.
- if ( iState )
- {
- TRAP_IGNORE( iState->AppUiStartupFailedL() );
- }
- }
- __VTPRINTEXITR( "VtUi.InitExecCont %d", cont )
- return cont;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitCancel
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecInitCancel(
- const TInt /*aState*/ )
- {
- __VTPRINTENTER( "VtUi.InitExecCancel" )
-
- iBlankControl->SetActive( EFalse );
- delete iExecDialog;
- delete iExecBlankDialog;
-
- if ( iShutdownRequest )
- {
- User::RequestComplete( iShutdownRequest, KErrCancel );
- iShutdownRequest = NULL;
- }
- __VTPRINTEXIT( "VtUi.InitExecCancel" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitDone
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecInitDone(
- const TInt aInitialState )
- {
- __VTPRINTENTER( "VtUi.ExecInitDone" )
- __VTPRINT2( DEBUG_GEN, "VtUi.InitExecDone.ini=%d", aInitialState )
- delete iExecBlankDialog;
- iExecBlankDialog = NULL;
- // Operation succeeded
-
- // Now we have finished.
- if ( iState )
- {
- if ( aInitialState == EVtUiAppUiAnswered )
- {
- TRAP_IGNORE( iState->AppUiStartupPhase2DoneL() );
- TRAP_IGNORE( AppUiInitDoneDoPostInitL() );
- }
- else if ( aInitialState == EVtUiAppUiShutdown )
- {
- TRAP_IGNORE( iState->ShutdownDoneL() );
- }
- else // EVtUiAppUiStartup
- {
- TRAP_IGNORE( iState->AppUiStartupPhase1DoneL() );
- }
- }
- __VTPRINTEXIT( "VtUi.ExecInitDone" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitExecuteCommandL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecInitExecuteCommandL(
- const TVtEngCommandId aCommand,
- TRequestStatus& aRequest )
- {
- iExecDialog =
- ExecuteCmdAsyncL(
- &iExecDialog,
- aCommand,
- aRequest );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitExecuteCommandL
-// -----------------------------------------------------------------------------
-//
-template < class T >
-void CVtUiAppUi::ActiveExecInitExecuteCommandL(
- const TVtEngCommandId aCommand,
- T& aParam,
- TRequestStatus& aRequest )
- {
- iExecDialog =
- ExecuteCmdAsyncL(
- &iExecDialog,
- aCommand,
- aParam,
- aRequest );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitPrepareCameraL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecInitPrepareCameraL(
- const MVtEngMedia::TMediaSource aSource,
- TRequestStatus& aRequest )
- {
- MVtEngMedia::TPrepareCameraParams params;
- params.iMediaSource = aSource;
- params.iInitialize = ETrue;
- iExecDialog =
- ExecuteCmdAsyncL(
- &iExecDialog,
- KVtEngPrepareCamera,
- params,
- aRequest );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitSetSourceL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecInitSetSourceL(
- const MVtEngMedia::TMediaSource aSource,
- TRequestStatus& aRequest )
- {
- MVtEngMedia::TMediaSource source =
- aSource;
- iExecDialog =
- ExecuteCmdAsyncL(
- &iExecDialog,
- KVtEngSetSource,
- source,
- aRequest );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitPrepareViewFinderL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecInitPrepareViewFinderL(
- TRequestStatus& aRequest )
- {
- // Configure view finder to context pane.
- if ( iEventObserver->CommandSupported( KVtEngPrepareViewFinder ) )
- {
- TVtEngRenderingOptions configViewfinder(
- DetermineContextControlOptions() );
-
- iExecDialog =
- ExecuteCmdAsyncL(
- &iExecDialog,
- KVtEngPrepareViewFinder,
- configViewfinder,
- aRequest );
- }
- else
- {
- // Viewfinder does not support DSA - panic.
- VtUiPanic::Panic( EVtUiPanicPrepareViewFinderNotSupported );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecInitPrepareRemoteRenderL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecInitPrepareRemoteRenderL(
- TRequestStatus& aRequest )
- {
- if ( iEventObserver->CommandSupported( KVtEngPrepareRemoteRenderNGA ) )
- {
- // Cropping is performed when we draw the picture.
- TVtEngRenderingOptionsNGA configRemoteRenderNGA(
- DetermineRemoteVideoControlOptionsNGA() );
-
- iExecDialog =
- ExecuteCmdAsyncL(
- &iExecDialog,
- KVtEngPrepareRemoteRenderNGA,
- configRemoteRenderNGA,
- aRequest );
- }
- else
- {
- // Neither supported - panic.
- VtUiPanic::Panic( EVtUiPanicPrepareRemoteRenderNotSupported );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecCmdExecuteCommandL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecCmdExecuteCommandL(
- const TVtEngCommandId aCommand,
- TRequestStatus& aRequest )
- {
- iCmdExecDialog =
- ExecuteCmdAsyncL(
- &iCmdExecDialog,
- aCommand,
- aRequest );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecCmdSetSourceL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecCmdSetSourceL(
- const MVtEngMedia::TMediaSource aSource,
- TRequestStatus& aRequest )
- {
- MVtEngMedia::TMediaSource source = aSource;
- iCmdExecDialog =
- ExecuteCmdAsyncL(
- &iCmdExecDialog,
- KVtEngSetSource,
- source,
- aRequest );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ActiveExecCmdPrepareCameraL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ActiveExecCmdPrepareCameraL(
- const MVtEngMedia::TMediaSource aSource,
- TRequestStatus& aRequest )
- {
- MVtEngMedia::TPrepareCameraParams params;
- params.iMediaSource = aSource;
- params.iInitialize = ETrue;
- iCmdExecDialog =
- ExecuteCmdAsyncL(
- &iCmdExecDialog,
- KVtEngPrepareCamera,
- params,
- aRequest );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineMainControlOptions
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptions
- CVtUiAppUi::DetermineMainControlOptions( TBool aRemoteVideo )
- {
- // Determine main pane options.
- TRect screen;
- TAknWindowLineLayout stream;
- TAknLayoutRect rect;
-
- screen = iInstance->iMainControl->Rect();
- VtUiLayout::GetSecondWindowStreamWholeLayout(
- stream, aRemoteVideo && iUiStates->IsUseSQCif() );
-
- rect.LayoutRect( screen, stream );
- screen = rect.Rect();
-
- return TVtEngRenderingOptions( *iEventObserver, screen.Size() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineContextControlOptions
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptions CVtUiAppUi::DetermineContextControlOptions()
- {
- // Determine context pane options.
- TRect screen;
- TRect clip;
- TAknWindowLineLayout stream;
- TAknLayoutRect rect;
-
- VtUiLayout::GetApplicationParentRect( screen );
- VtUiLayout::GetFirstWindowBackgroundLayout( stream );
- rect.LayoutRect( screen, stream );
- TRect background = rect.Rect();
-
- VtUiLayout::GetFirstWindowStreamLayout( stream );
- rect.LayoutRect( screen, stream );
-
- // No cropping is performed, thus clip == screen.
- clip = rect.Rect();
- clip.iTl -= background.iTl;
- clip.iBr -= background.iTl;
-
- screen = clip;
-
- return
- TVtEngRenderingOptions(
- *iEventObserver,
- screen.Size() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineDialerControlOptions
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptions CVtUiAppUi::DetermineDialerControlOptions()
- {
- MVtUiDialer* dialer = static_cast< CVtUiDialer* > (
- iFeatureManager->GetFeatureById( EVtUiFeatureIdDialer ) );
-
- __ASSERT_ALWAYS( dialer, VtUiPanic::Panic( EVtUiPanicRendererNotFound ) );
-
- return
- TVtEngRenderingOptions(
- *iEventObserver,
- dialer->VideoControl().Size() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineMainControlOptions
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptionsDSA
- CVtUiAppUi::DetermineMainControlOptionsDSA( TBool aRemoteVideo )
- {
- // Determine main pane options.
- TRect screen;
- TRect clip;
- TAknWindowLineLayout stream;
- TAknLayoutRect rect;
- const TBool usesSQCif( aRemoteVideo && iUiStates->IsUseSQCif() );
- screen = iInstance->iMainControl->Rect();
- VtUiLayout::GetSecondWindowStreamLayout( stream,
- iUiStates->IsToolbarAvailable(), usesSQCif );
- rect.LayoutRect( screen, stream );
- clip = rect.Rect();
-
- VtUiLayout::GetSecondWindowStreamWholeLayout( stream,
- iUiStates->IsToolbarAvailable(), usesSQCif );
- rect.LayoutRect( screen, stream );
- screen = rect.Rect();
-
- return
- TVtEngRenderingOptionsDSA(
- *iEventObserver,
- iEikonEnv->WsSession(),
- *( iEikonEnv->ScreenDevice() ),
- *( iInstance->iMainControl->DrawableWindow() ),
- clip,
- screen );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineContextControlOptionsDSA
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptionsDSA CVtUiAppUi::DetermineContextControlOptionsDSA()
- {
- // Determine context pane options.
- TRect screen;
- TRect clip;
- TAknWindowLineLayout stream;
- TAknLayoutRect rect;
-
- VtUiLayout::GetApplicationParentRect( screen );
- VtUiLayout::GetFirstWindowBackgroundLayout( stream );
- rect.LayoutRect( screen, stream );
- TRect background = rect.Rect();
-
- VtUiLayout::GetFirstWindowStreamLayout( stream );
- rect.LayoutRect( screen, stream );
-
- // No cropping is performed, thus clip == screen.
- clip = rect.Rect();
- clip.iTl -= background.iTl;
- clip.iBr -= background.iTl;
-
- screen = clip;
-
- return
- TVtEngRenderingOptionsDSA(
- *iEventObserver,
- iEikonEnv->WsSession(),
- *( iEikonEnv->ScreenDevice() ),
- *( iInstance->iContextControl->DrawableWindow() ),
- screen,
- clip );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineDialerControlOptionsDSA
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptionsDSA CVtUiAppUi::DetermineDialerControlOptionsDSA()
- {
- MVtUiDialer* dialer = static_cast< CVtUiDialer* > (
- iFeatureManager->GetFeatureById( EVtUiFeatureIdDialer ) );
-
- __ASSERT_ALWAYS( dialer, VtUiPanic::Panic( EVtUiPanicRendererNotFound ) );
-
- CCoeControl& videoWindow( dialer->VideoControl() );
-
- return
- TVtEngRenderingOptionsDSA(
- *iEventObserver,
- iEikonEnv->WsSession(),
- *( iEikonEnv->ScreenDevice() ),
- *( videoWindow.DrawableWindow() ),
- videoWindow.Rect(),
- videoWindow.Rect() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineMainControlOptionsDP
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptionsDP
- CVtUiAppUi::DetermineMainControlOptionsDP( TBool aRemoteVideo )
- {
- // Determine main pane options.
- const TRect screen( iInstance->iMainControl->Rect() );
- TAknWindowLineLayout stream;
- const TBool usesSQCif( aRemoteVideo && iUiStates->IsUseSQCif() );
-
- // Even if the name is whole layout, this layout is (due to problem
- // in layouts) video stream layout
- TAknLayoutRect whole;
- VtUiLayout::GetSecondWindowStreamWholeLayout( stream,
- iUiStates->IsToolbarAvailable(), usesSQCif );
- whole.LayoutRect( screen, stream );
-
- // Even if the name is actual layout, this layout is (due to problem
- // in layouts) whole == clipping layout
- TAknLayoutRect actual;
- VtUiLayout::GetSecondWindowStreamLayout( stream,
- iUiStates->IsToolbarAvailable(), usesSQCif );
- actual.LayoutRect( screen, stream );
-
- return
- TVtEngRenderingOptionsDP(
- *iEventObserver,
- iEikonEnv->WsSession(),
- *( iEikonEnv->ScreenDevice() ),
- *( iInstance->iMainControl->DrawableWindow() ),
- actual.Rect(),
- whole.Rect(),
- iInstance->iMainControl->PositionRelativeToScreen() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineContextControlOptionsDP
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptionsDP CVtUiAppUi::DetermineContextControlOptionsDP()
- {
- // Determine context pane options.
- TAknWindowLineLayout stream;
- TAknLayoutRect rect;
-
- TRect screen;
- VtUiLayout::GetApplicationParentRect( screen );
- VtUiLayout::GetFirstWindowBackgroundLayout( stream );
- rect.LayoutRect( screen, stream );
- const TRect background( rect.Rect() );
-
- VtUiLayout::GetFirstWindowStreamLayout( stream );
- rect.LayoutRect( screen, stream );
-
- // No cropping is performed, thus clip == screen.
- TRect clip( rect.Rect() );
- clip.iTl -= background.iTl;
- clip.iBr -= background.iTl;
-
- return
- TVtEngRenderingOptionsDP(
- *iEventObserver,
- iEikonEnv->WsSession(),
- *( iEikonEnv->ScreenDevice() ),
- *( iInstance->iContextControl->DrawableWindow() ),
- clip,
- clip,
- iInstance->iContextControl->PositionRelativeToScreen() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineDialerControlOptionsDP
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptionsDP CVtUiAppUi::DetermineDialerControlOptionsDP()
- {
- MVtUiDialer* dialer = static_cast< CVtUiDialer* > (
- iFeatureManager->GetFeatureById( EVtUiFeatureIdDialer ) );
-
- __ASSERT_ALWAYS( dialer, VtUiPanic::Panic( EVtUiPanicRendererNotFound ) );
-
- CCoeControl& videoWindow( dialer->VideoControl() );
-
- TPoint offs( videoWindow.DrawableWindow()->AbsPosition() );
- TRect rect( videoWindow.Rect() );
- return
- TVtEngRenderingOptionsDP(
- *iEventObserver,
- iEikonEnv->WsSession(),
- *( iEikonEnv->ScreenDevice() ),
- *( videoWindow.DrawableWindow() ),
- rect,
- rect,
- offs );
- }
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DetermineRemoteVideoControlOptionsNGA
-// -----------------------------------------------------------------------------
-//
-TVtEngRenderingOptionsNGA
- CVtUiAppUi::DetermineRemoteVideoControlOptionsNGA()
- {
- return TVtEngRenderingOptionsNGA( *iEventObserver,
- iInstance->iRemoteVideoControl ->GetRWindow() , iEikonEnv->WsSession());
- }
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ExecuteCmdL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ExecuteCmdL( const TVtEngCommandId aCommand )
- {
- DoExecuteCmdL( aCommand, NULL );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ExecuteCmdL
-// -----------------------------------------------------------------------------
-//
-template< class T >
-void CVtUiAppUi::ExecuteCmdL(
- const TVtEngCommandId aCommand,
- T& aParam )
- {
- TPtrC8 params( reinterpret_cast< TUint8* >( &aParam ), sizeof( T ) );
- DoExecuteCmdL( aCommand, ¶ms );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoExecuteCmdL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::DoExecuteCmdL(
- const TVtEngCommandId aCommand,
- TDesC8* aParams )
- {
- __VTPRINT2( DEBUG_GEN, "VtUi.DoExec.cmd=%d", aCommand )
- MVtEngCommandHandler& command = Model().CommandHandler();
- const TInt caps = command.GetCommandCaps( aCommand );
-
- if ( caps >= KErrNone )
- {
- const TBool asynchronous =
- ( caps & MVtEngCommandHandler::EAttribAsync );
-
- if ( asynchronous )
- {
- if ( aCommand == KVtEngHandleLayoutChange )
- {
- CVtEngCmdExec* cmdExec = CVtEngCmdExec::NewL(
- Model().CommandHandler(), *iEventObserver, *GetCba() );
- cmdExec->ExecuteCmdLD( aCommand );
- }
- else
- {
- CVtUiExecuteCmdDialog* dlg =
- new ( ELeave ) CVtUiExecuteCmdDialog(
- NULL,
- Model().CommandHandler(),
- *iEventObserver );
- dlg->ExecuteCmdLD( aCommand, aParams, NULL );
- }
- }
- else
- {
- command.ExecuteL( aCommand, aParams );
- RefreshStatesL();
- }
- }
- else
- {
- // Failed.
- User::Leave( caps );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleShutdownReady
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleShutdownReady()
- {
- __VTPRINTENTER( "VtUi.HandleShutdownReady" )
-
- if(iAsyncCallback->IsActive())
- {
- iAsyncCallback->Cancel();
- }
-
- iAsyncCallback->Set(
- TCallBack( &DoExit, this ) );
- iAsyncCallback->CallBack();
- __VTPRINTEXIT( "VtUi.HandleShutdownReady" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ContextControl
-// -----------------------------------------------------------------------------
-//
-CVtUiContextControl& CVtUiAppUi::ContextControl()
- {
- __VTPRINTENTER( "VtUi.ContextControl" )
- __VTPRINTEXIT( "VtUi.ContextControl" )
- return *iInstance->iContextControl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::MainControl
-// -----------------------------------------------------------------------------
-//
-CVtUiMainControl& CVtUiAppUi::MainControl()
- {
- __VTPRINTENTER( "VtUi.MainControl" )
- __VTPRINTEXIT( "VtUi.MainControl" )
- return *iInstance->iMainControl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RemoteVideoControl
-// -----------------------------------------------------------------------------
-//
-CVtUiRemoteVideoControl& CVtUiAppUi::RemoteVideoControl()
- {
- __VTPRINTENTER( "VtUi.RemoteVideoControl" )
- __VTPRINTEXIT( "VtUi.RemoteVideoControl" )
- return *iInstance->iRemoteVideoControl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoExit
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::DoExit( TAny* aAppUi )
- {
- __VTPRINTENTER( "VtUi.DoExit" )
- CVtUiAppUi* self = static_cast< CVtUiAppUi* >( aAppUi );
- self->iAsyncCallback->Cancel();
- // Before exiting ensure there are no pending actions.
- self->ActiveExecInitCancel( 0 );
- self->Exit();
- __VTPRINTEXIT( "VtUi.DoExit" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ExecuteCmdAsyncL
-// -----------------------------------------------------------------------------
-//
-CEikDialog* CVtUiAppUi::ExecuteCmdAsyncL(
- CEikDialog** aDialogPtr,
- const TVtEngCommandId aCommand,
- TRequestStatus& aStatus )
- {
- return DoExecuteCmdAsyncL( aDialogPtr, aCommand, NULL, aStatus );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ExecuteCmdAsyncL
-// -----------------------------------------------------------------------------
-//
-template< class T >
-CEikDialog* CVtUiAppUi::ExecuteCmdAsyncL(
- CEikDialog** aDialogPtr,
- const TVtEngCommandId aCommand,
- T& aParam,
- TRequestStatus& aStatus )
- {
- TPtrC8 params( reinterpret_cast< TUint8* >( &aParam ), sizeof( T ) );
- return DoExecuteCmdAsyncL( aDialogPtr, aCommand, ¶ms, aStatus );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoExecuteCmdAsyncL
-// -----------------------------------------------------------------------------
-//
-CEikDialog* CVtUiAppUi::DoExecuteCmdAsyncL(
- CEikDialog** aDialogPtr,
- const TVtEngCommandId aCommand,
- TDesC8* aParams,
- TRequestStatus& aStatus )
- {
- __VTPRINT2( DEBUG_GEN, "VtUi.DoExecAsync.cmd=%d", aCommand )
- MVtEngCommandHandler& command = Model().CommandHandler();
- const TInt caps = command.GetCommandCaps( aCommand );
-
- if ( caps >= KErrNone )
- {
- const TBool asynchronous =
- ( caps & MVtEngCommandHandler::EAttribAsync );
-
- if ( asynchronous )
- {
- CVtUiExecuteCmdDialog* dlg =
- new ( ELeave ) CVtUiExecuteCmdDialog(
- aDialogPtr,
- Model().CommandHandler(),
- *iEventObserver );
- dlg->ExecuteCmdLD( aCommand, aParams, &aStatus );
- return dlg;
- }
- else
- {
- command.ExecuteL( aCommand, aParams );
- RefreshStatesL();
- TRequestStatus* status = &aStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
- else
- {
- // Failed.
- User::Leave( caps );
- }
-
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::Execute
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::Execute( const TVtEngCommandId aCommand, TDesC8* aParam )
- {
- MVtEngCommandHandler& command = Model().CommandHandler();
- TRAPD( err, command.ExecuteL( aCommand, aParam ) );
-#ifdef VTDEBUG
- if ( err != KErrNone )
- {
- __VTPRINT3( DEBUG_GEN, "VtUi.Execute.Nok.cmd=%d,err=%d", aCommand, err )
- }
-#endif // VTDEBUG
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleForegroundChangedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleForegroundChangedL(
- TBool aIsForeground )
- {
- __VTPRINTENTER( "VtUi.HandleForegroundChangedL" )
- __VTPRINT2( DEBUG_GEN, "VtUi.foreground=%d", (TInt) aIsForeground )
-
-
- // Let the Engine know that Application's foregorund
- // has changed. Then Engine can do some initalize/uninitalize
- // before rendering due to the foreground state.
- iState->PreHandleForegroundChangedL(aIsForeground);
-
- // These operations must be done before
- // sending KVtEngSetUIForeground command to engine i.e. calling
- // iState->HandleForegroundChangedL( aIsForeground )
- if ( !aIsForeground )
- {
- // if capture mode is on stop it
- if ( iUiStates->IsCaptureModeOn() )
- {
- CmdCancelCaptureL();
- }
- // if brightness or contrast feature is active stop those
- MVtUiFeature* br = iFeatureManager->GetFeatureById( EVtUiFeatureIdBrightness );
- if ( br )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.HandleForegroundChangedL br" )
- if ( br->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.HandleForegroundChangedL br->STOP" )
- br->Stop();
- }
- }
-
- MVtUiFeature* cr = iFeatureManager->GetFeatureById( EVtUiFeatureIdContrast );
- if ( cr )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.HandleForegroundChangedL cr" )
- if ( cr->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.HandleForegroundChangedL cr->STOP" )
- cr->Stop();
- }
- }
-
- }
-
- TBool foregroundAndReady = EFalse;
- if ( iState )
- {
- foregroundAndReady = iState->HandleForegroundChangedL( aIsForeground );
- iUiStates->SetThisApplicationForeground( aIsForeground );
- }
- if ( foregroundAndReady )
- {
- // Refresh navi pane. This will start call duration updating
- // if necessary.
- RefreshNaviPaneL();
- }
- else if ( !aIsForeground )
- {
-
-
- iEventObserver->StopBeat();
- }
- SetIncallBubbleAllowedInUsualL( !foregroundAndReady );
- __VTPRINTEXIT( "VtUi.HandleForegroundChangedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshL( const TInt aRefreshFlags )
- {
- if ( aRefreshFlags & EUiStates )
- {
- RefreshNaviPaneL();
- }
- if ( aRefreshFlags & EBlind )
- {
- RefreshBlind();
- }
- if ( aRefreshFlags & ENaviPane )
- {
- RefreshNaviPaneL();
- }
- if ( aRefreshFlags & ESoftkeys )
- {
- RefreshSoftkeysL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleEngineResetL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleEngineResetL()
- {
- __VTPRINTENTER( "VtUi.HandleEngineResetL" )
- if ( iShutdownRequest )
- {
- __VTPRINT( DEBUG_GEN, " VtUi.HandleEngineResetL shutdown" )
- User::RequestComplete( iShutdownRequest, KErrNone );
- iShutdownRequest = NULL;
- }
- __VTPRINTEXIT( "VtUi.HandleEngineResetL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::StopWaitingImage
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::StopWaitingImage()
- {
- if ( iInstance )
- {
- iDownlinkWindow->SetWaiting( EFalse );
- iUiStates->SetWaitingForFirstFrame( EFalse );
- RemoteVideoControl().MakeVisible(ETrue);
- }
- }
-
-void CVtUiAppUi::StopWhiteBalanceOrColortone()
- {
- if( iEventObserver )
- {
- MVtEngMedia::TCameraId currentCamId;
- //CVtEngMediaHandler& mediaHandler = iEventObserver->Model().Media();
- ///mediaHandler.GetCurrentCameraId( currentCamId );
- iEventObserver->Model().Media().GetCurrentCameraId( currentCamId );
- __VTPRINT2( DEBUG_GEN, " CVtUiAppUi::StopWhiteBalance currentCamId is %d", currentCamId);
-
- CVtUiWhiteBalance* wb = static_cast< CVtUiWhiteBalance* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdWhiteBalance ) );
- CVtUiColorTone* ct = static_cast< CVtUiColorTone* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdColourTone ) );
-
- // only when the current camera switch to the Primary to stop the wb
- if( currentCamId == MVtEngMedia::EPrimaryCamera )
- {
-
- if( wb && ( wb->State() == MVtUiFeature::EActive ) )
- {
-
- wb->Stop();
- }
-
- if( ct && ( ct->State() == MVtUiFeature::EActive ) )
- {
- ct->Stop();
- }
-
- return;
- }
- if( currentCamId == MVtEngMedia::ESecondaryCamera )
- {
- if( wb && wb->IsPendingCmd() )
- wb->HandlePendingCmdL();
- if( ct && ct->IsPendingCmd() )
- ct->HandlePendingCmdL();
- }
- }
- }
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleLayoutChanged
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::HandleLayoutChanged()
- {
- iLayoutChangeCallback->CallBack();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DelayedHandleLayoutChanged
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::DelayedHandleLayoutChanged( TAny* aPtr )
- {
- CVtUiAppUi* self = reinterpret_cast< CVtUiAppUi* > ( aPtr );
- self->iUiStates->SetDisableBlindSetting( ETrue );
- TRAPD( err, self->HandleLayoutChangedL() );
- self->iUiStates->SetDisableBlindSetting( EFalse );
- self->RefreshBlind();
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleLayoutChangedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleLayoutChangedL()
- {
- __VTPRINTENTER( "VtUi.LayoutChg" )
- if ( iState )
- {
- iState->HandleLayoutChangedL();
- }
- __VTPRINTEXIT( "VtUi.LayoutChg" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoHandleLayoutChangedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::DoHandleLayoutChangedL()
- {
- __VTPRINTENTER( "VtUi.DoLayoutChg" )
- // Fully update rendering parameters
- UpdateRenderingParametersL();
- // Notify engine about layout change
- iLayoutChg = ETrue;
- TRAPD( error, ExecuteCmdL( KVtEngHandleLayoutChange ) );
- iLayoutChg = EFalse;
-
- // Not ready error is allowed to happen (e.g. when sharing)
- if ( error && ( error != KErrNotReady ) )
- {
- User::Leave( error );
- }
- else
- {
- __VTPRINT( DEBUG_GEN,
- "VtUi.DoLayoutChg KVtEngHandleLayoutChange == KErrNotReady (ok)" )
- TVtEngCommandId pendingCommand = Model().CommandHandler().PendingCommand();
- if ( pendingCommand == KVtEngMuteOutgoingAudio ||
- pendingCommand == KVtEngUnmuteOutgoingAudio ||
- pendingCommand == KVtEngSetAudioRouting ||
- pendingCommand == KVtEngSetAudioVolume ||
- pendingCommand == KVtEngSetSource ||
- pendingCommand == KVtEngPrepareCamera ||
- pendingCommand == KVtEngUnfreeze )
- {
- iUiStates->SetLayoutChangeNeeded( ETrue );
- }
- }
- // Notify component manager
- iComponentManager->HandleLayoutChangeL();
- MVtUiFeature* dialer =
- iFeatureManager->GetFeatureById( EVtUiFeatureIdDialer );
- const TBool dialerActive( dialer &&
- ( dialer->State() == MVtUiFeature::EActive ) );
- SwitchLayoutToFlatStatusPaneL( dialerActive );
-
- // Update the cam's whiteBalance and colorTone cause layoutchange will renew the camera,so
- // restore the last user setting
- UpdateVBSettingL();
-
-
- if ( iDelayedCmd != 0 )
- {
- __VTPRINT2( DEBUG_GEN, "VtUi.DoLayoutChg reexecute the delayed cmd=%d", iDelayedCmd);
- if( iDelayedCmd == EAknSoftkeyOptions )
- {
- ProcessCommandL( iDelayedCmd );
- }
- else
- {
- HandleCommandL( iDelayedCmd );
- }
- iDelayedCmd = 0;
- }
- __VTPRINTEXIT( "VtUi.DoLayoutChg" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleVideoFrameL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleVideoFrameL(
- const TBool aLocal,
- CFbsBitmap* aBitmap )
- {
- if ( aLocal )
- {
- iUplinkWindow->SetStreamBitmap( aBitmap );
-
- if ( aBitmap )
- {
- // If white balance or color tone setting feauture is
- // active update feature's setting page's background.
- CVtUiWhiteBalance* wb = static_cast< CVtUiWhiteBalance* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdWhiteBalance ) );
-
- CVtUiColorTone* ct = static_cast< CVtUiColorTone* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdColourTone ) );
-
- if ( wb )
- {
- __VTPRINT( DEBUG_GEN,"VtUi.HandleVideoFrameL WB" )
- if ( wb->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN,"VtUi.HandleVideoFrameL WB update" )
- wb->UpdateBackground( aBitmap );
- }
- }
- if ( ct )
- {
- __VTPRINT( DEBUG_GEN,"VtUi.HandleVideoFrameL CT" )
- if (ct->State() == MVtUiFeature::EActive)
- {
- __VTPRINT( DEBUG_GEN,"VtUi.HandleVideoFrameL CT update" )
- ct->UpdateBackground( aBitmap );
- }
- }
- }
- }
- else
- {
- iDownlinkWindow->SetStreamBitmap( aBitmap );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetVideoFrame
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetVideoFrame(
- const TBool aLocal,
- CFbsBitmap* aBitmap )
- {
- if ( aLocal )
- {
- }
- else
- {
- iDownlinkWindow->SetStreamBitmapReserve( aBitmap );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleVideoFrameRemoteProblemL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleVideoFrameRemoteProblemL()
- {
- __VTPRINTENTER( "VtUi.HandleRemote" )
- HandleVideoFrameL( EFalse, NULL );
- __VTPRINTEXIT( "VtUi.HandleRemote" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleVideoFrameLocalProblemL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleVideoFrameLocalProblemL()
- {
- __VTPRINTENTER( "VtUi.HandleLocal" )
- // Camera might have changed - better to stop zoom.
- HandleVideoFrameL( ETrue, NULL );
- __VTPRINTEXIT( "VtUi.HandleLocal" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RemoteVideoIsSQCif
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RemoteVideoIsSQCif( TBool aIsSQCif )
- {
- iUiStates->SetUseSQCif( aIsSQCif );
- if ( iDownlinkWindow == iInstance->iMainControl )
- {
- ControlUsesSQCif( aIsSQCif );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ControlUsesSQCif
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ControlUsesSQCif( TBool aIsSQCif )
- {
- iInstance->iMainControl->SupportSQCif( aIsSQCif );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ChangeRemoteVideoLayoutL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ChangeRemoteVideoLayoutL()
- {
- HandleLayoutChanged();
- if ( iDownlinkWindow == iInstance->iMainControl )
- {
- iDownlinkWindow->SetBlind( EFalse );
- StopWaitingImage();
- iInstance->iMainControl->DrawNow();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowImageInitializeProgressL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowImageInitializeProgressL()
- {
- __VTPRINTENTER( "VtUi.ShowImageInitializeProgressL" )
- ShowProgressDialogL( R_PROGRESS_DECODING_IMAGE_WAIT_NOTE, this );
- __VTPRINTEXIT( "VtUi.ShowImageInitializeProgressL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HideImageInitializeProgressL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HideImageInitializeProgressL()
- {
- __VTPRINTENTER( "VtUi.HideImageInitializeProgressL" )
- // if volume slider is visible hide it
- CVtUiVolume* volume = static_cast< CVtUiVolume* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdVolume ) );
- if ( volume )
- {
- volume->Stop();
- }
- HideProgressDialogL();
- __VTPRINTEXIT( "VtUi.HideImageInitializeProgressL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CheckBeatL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CheckBeatL( const TBool aCallDurationEnabled )
- {
- // Update call duration periodically if necessary.
- const MVtEngSessionInfo::TSessionState state = Model().Session().State( EFalse );
- const TBool timerEnable =
- ( aCallDurationEnabled ) &&
- ( ( state == MVtEngSessionInfo::EConnected ) ||
- ( state == MVtEngSessionInfo::ENegotiating ) ||
- ( state == MVtEngSessionInfo::EOpen ) );
-
- if ( timerEnable && iUiStates->IsThisApplicationForeground() )
- {
- iEventObserver->StartBeatL();
- }
- else
- {
- iEventObserver->StopBeat();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleBeat
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleBeat()
- {
- TRAP_IGNORE( RefreshNaviPaneL(); );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowCameraInUseNoteL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowCameraInUseNoteL() const
- {
- // The note must not be blocking.
-
- CAknNoteDialog* dlg = new ( ELeave ) CAknNoteDialog( NULL );
-
- dlg->PrepareLC( R_VIDEOTELUI_INFORMATION_NOTE );
- dlg->ButtonGroupContainer().SetCommandSetL( R_AVKON_SOFTKEYS_OK_EMPTY );
-
- HBufC* buf = StringLoader::LoadLC( R_VIDEOTELUI_QTN_INCAL_CLOSE_CAMCORDER );
- dlg->SetTextL( *buf );
- CleanupStack::PopAndDestroy( buf );
-
- dlg->SetTone( CAknNoteDialog::EConfirmationTone );
- dlg->SetTimeout( CAknNoteDialog::EUndefinedTimeout );
- dlg->RunLD();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowNotAllowedNoteL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowNotAllowedNoteL() const
- {
- HBufC* prompt =
- StringLoader::LoadLC(
- R_VIDEOTELUI_TEXT_NOT_ALLOWED );
-
- CAknInformationNote* note =
- new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *prompt );
- CleanupStack::PopAndDestroy( prompt );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowCallNotAllowedNoteL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowCallNotAllowedNoteL() const
- {
- HBufC* prompt =
- StringLoader::LoadLC(
- R_VIDEOTELUI_TEXT_CALL_NOT_ALLOWED );
-
- CAknInformationNote* note =
- new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *prompt );
- CleanupStack::PopAndDestroy( prompt );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowOtherCameraNotUsableNoteL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowOtherCameraNotUsableNoteL() const
- {
- HBufC* prompt =
- StringLoader::LoadLC(
- R_VIDEOTELUI_QTN_ERR_CAM_SWAP );
-
- CAknInformationNote* note =
- new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *prompt );
- CleanupStack::PopAndDestroy( prompt );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowUnableToOpenNoteL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowUnableToOpenNoteL() const
- {
- HBufC* prompt =
- StringLoader::LoadLC(
- R_VIDEOTELUI_QTN_ERR_UNABLE_TO_OPEN_IMAGE );
- CAknInformationNote* note =
- new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *prompt );
- CleanupStack::PopAndDestroy( prompt );
- }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowImageDecodingErrorNoteL()
- {
- HBufC* prompt =
- StringLoader::LoadLC(
- R_VIDEOTELUI_QTN_INCAL_NOTE_DECODING_FAILED );
- CAknInformationNote* note =
- new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *prompt );
- CleanupStack::PopAndDestroy( prompt );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowDRMNotAllowedNoteL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowDRMNotAllowedNoteL() const
- {
- HBufC* prompt =
- StringLoader::LoadLC(
- R_VIDEOTELUI_QTN_ERR_DRM_NOT_ALLOWED );
- CAknInformationNote* note =
- new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *prompt );
- CleanupStack::PopAndDestroy( prompt );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetSoftkeysL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetSoftkeysL( const TInt aSoftkeyResourceId )
- {
- if ( iCurrentSoftkeys != aSoftkeyResourceId )
- {
- if ( iCba )
- {
- iCba->SetCommandSetL( aSoftkeyResourceId );
- iCba->DrawNow();
- }
- iCurrentSoftkeys = aSoftkeyResourceId;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetHiddenL
-// Makes application visible / invisible in fast swap window.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetHiddenL(
- const TBool aHidden )
- {
- CEikonEnv* eikonEnv = iEikonEnv;
- CApaWindowGroupName* windowGroupName =
- CApaWindowGroupName::NewLC(
- eikonEnv->WsSession(),
- iThisApplicationWgId );
- windowGroupName->SetHidden( aHidden );
- User::LeaveIfError(
- windowGroupName->SetWindowGroupName(
- eikonEnv->RootWin() ) );
- CleanupStack::PopAndDestroy( windowGroupName );
-
- // Update application UID.
- TUid applicationUid = KVtUiAppUid;
- if ( aHidden )
- {
- applicationUid.iUid = KVtUiTelephoneUid.iUid;
- }
- __VTPRINT2( DEBUG_GEN, "VtUi.SetHiddenL applicationUid.iUid=%x",
- applicationUid.iUid )
- // Set application that is "default top application"
- TInt originalTopAppUid = 0;
- TInt err = RProperty::Get(
- KPSUidUikon,
- KUikVideoCallTopApp,
- originalTopAppUid );
- __VTPRINT3( DEBUG_GEN, "VtUi.SetHiddenL orig. topApp=%x, err=%d",
- originalTopAppUid, err )
- if ( originalTopAppUid != applicationUid.iUid &&
- iUiStates->IsDetailsReceived() )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.SetHiddenL Do write KUikVideoCallTopApp" )
- // Update key only if differs from original value and call
- // has been answered
- RProperty::Set(
- KPSUidUikon,
- KUikVideoCallTopApp,
- applicationUid.iUid );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetCallIdL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetCallIdL( const TInt aCallId )
- {
- HBufC* titlePane =
- StringLoader::LoadLC( R_VIDEOTELUI_QTN_CALL_NUMBER_VIDEO, aCallId );
- TPtr ptr = titlePane->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr );
- TitlePaneL()->SetText( titlePane );
- CleanupStack::Pop( titlePane );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetCallNameL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::SetCallNameL( const TDesC& aName )
- {
- HBufC* nameBuf = aName.Alloc();
- if ( nameBuf )
- {
- TPtr ptr = nameBuf->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr );
- TitlePaneL()->SetText( nameBuf );
- }
-
- return ( nameBuf != NULL );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::BringTelephoneForeground
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::BringTelephoneToForeground()
- {
- __VTPRINTENTER( "VtUi.BringTelephoneToForeground" )
- // If Telephone application is running, then
- // bring it to the foreground.
- const TInt windowGroupId = TelephoneApplicationWgId();
- if ( windowGroupId )
- {
- CEikonEnv* eikonEnv = iEikonEnv;
- TApaTask task( eikonEnv->WsSession() );
- task.SetWgId( windowGroupId );
- task.BringToForeground();
- }
-
- // In any case, send this application to the background.
- ChangeApplicationFocus( EFalse );
- __VTPRINTEXIT( "VtUi.BringTelephoneToForeground" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ChangeApplicationFocus
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ChangeApplicationFocus( const TBool aForeground )
- {
- __VTPRINTENTER( "VtUi.ChangeApplicationFocus" )
- CEikonEnv* eikonEnv = iEikonEnv;
- TApaTask task( eikonEnv->WsSession() );
- task.SetWgId( iThisApplicationWgId );
- if ( !aForeground )
- {
- task.SendToBackground();
- }
- else if ( !iUiStates->IsDeviceLockOn() )
- {
- task.BringToForeground();
- }
- __VTPRINTEXIT( "VtUi.ChangeApplicationFocus" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::TelephoneApplicationWgId
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::TelephoneApplicationWgId()
- {
- TInt resultWgId = 0;
-
- TApaTaskList taskList( iEikonEnv->WsSession() );
- TInt appUid = 0;
-
- // Try first Telephone application.
- if ( RProperty::Get(
- KPSUidTelInformation,
- KTelPhoneUid,
- appUid ) == KErrNone )
- {
- TApaTask task = taskList.FindApp( TUid::Uid( appUid ) );
- if ( task.Exists() )
- {
- resultWgId = task.WgId();
- }
- }
-
- // Then Idle application.
- if ( !resultWgId &&
- ( RProperty::Get(
- KPSUidAiInformation,
- KActiveIdleUid,
- appUid ) == KErrNone ) )
- {
- TApaTask task = taskList.FindApp( TUid::Uid( appUid ) );
- if ( task.Exists() )
- {
- resultWgId = task.WgId();
- }
- }
-
- return resultWgId;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowNumberEntry
-// -----------------------------------------------------------------------------
-//
-inline TBool CVtUiAppUi::ShowNumberEntry() const
- {
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::IsActiveIdleEnabledL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::IsActiveIdleEnabledL() const
- {
- TVtUiActiveIdleVariation activeIdleVariation;
- return activeIdleVariation.IsActiveIdleEnabled();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CheckEngineFunctionality
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CheckEngineFunctionality()
- {
- const TBool prepareViewFinder =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngPrepareViewFinder );
- const TBool prepareRemoteRender =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngPrepareRemoteRender );
- const TBool prepareRemoteRenderDSA =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngPrepareRemoteRenderDSA );
- const TBool prepareRemoteRenderDP =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngPrepareRemoteRenderDP );
- const TBool stopViewFinder =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngStopViewFinder );
- const TBool startViewFinder =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngStartViewFinder );
- const TBool stopRemoteRender =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngStopRenderRemote );
- const TBool startRemoteRender =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngStartRenderRemote );
- const TBool setUIForeground =
- iEventObserver->CommandSupportedAndSynchronous(
- KVtEngSetUIForeground );
-
- TVtUiDPVariation dpvariation;
- TBool dpSupported( dpvariation.IsDPSupported() );
-
- if ( !prepareViewFinder ||
- ( !prepareRemoteRender && !prepareRemoteRenderDSA && !dpSupported ) ||
- ( !prepareRemoteRender && !prepareRemoteRenderDP && dpSupported ) ||
- !stopViewFinder ||
- !startViewFinder ||
- !stopRemoteRender ||
- !startRemoteRender ||
- !setUIForeground )
- {
- // Not supported - should never occur.
- __VTPRINT( DEBUG_GEN, "VtUi.EngineFunc.ASSERT" )
- VtUiPanic::Panic( EVtUiPanicEngineFunctionalityAssert );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::Model
-// -----------------------------------------------------------------------------
-//
-CVtEngModel& CVtUiAppUi::Model()
- {
- return iEventObserver->Model();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::VideoTelephonyVariation
-// -----------------------------------------------------------------------------
-//
-const TVtUiVideoTelephonyVariation& CVtUiAppUi::VideoTelephonyVariation() const
- {
- return iVTVariation;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::NumberSource
-// -----------------------------------------------------------------------------
-//
-MVtUiNumberSource* CVtUiAppUi::NumberSource() const
- {
- return iNumberSource;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::NaviPaneL
-// -----------------------------------------------------------------------------
-//
-inline CAknNavigationControlContainer* CVtUiAppUi::NaviPaneL()
- {
- return
- static_cast< CAknNavigationControlContainer* >
- ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::TitlePaneL
-// -----------------------------------------------------------------------------
-//
-inline CAknTitlePane* CVtUiAppUi::TitlePaneL()
- {
- return
- static_cast< CAknTitlePane* >
- ( StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CleanupPushRefreshL
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiAppUi::CleanupPushRefreshL()
- {
- CleanupStack::PushL(
- TCleanupItem( DoRefresh, this ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CleanupPushEnableBlindL
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiAppUi::CleanupPushEnableBlindL()
- {
- CleanupStack::PushL(
- TCleanupItem( DoEnableBlindSetting, this ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::EnableCommandActivatingAndCleanupPushL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::EnableCommandActivatingAndCleanupPushL()
- {
- __VTPRINTENTER( "VtUi.EnableCommandActivatingAndCleanupPushL" )
- // add anyway to cleanup stack to avoid caring about stack balance
- CleanupStack::PushL(
- TCleanupItem( DoDisableCommandActivating, this ) );
- // but in case of consecutive calls on this don't refresh (avoid flicker)
- const TBool alreadyActivating( iUiStates->IsCommandActivating() );
- // increases ref.count if alread set as activating
- iUiStates->SetIsCommandActivating( ETrue );
- if ( !alreadyActivating )
- {
- // refresh only when ref.count incremented from zero.
- iCommandManager->RefreshL();
- }
- __VTPRINTEXIT( "VtUi.EnableCommandActivatingAndCleanupPushL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoDisableCommandActivating
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::DoDisableCommandActivating( TAny* aAny )
- {
- CVtUiAppUi* self =
- reinterpret_cast< CVtUiAppUi* >( aAny );
- TRAP_IGNORE( self->HandleCommandDeactivationL() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HandleCommandDeactivationL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HandleCommandDeactivationL()
- {
- __VTPRINTENTER( "VtUi.HandleCommandDeactivationL" )
- iUiStates->SetIsCommandActivating( EFalse );
- if ( !iUiStates->IsCommandActivating() )
- {
- RefreshStatesL();
- }
- __VTPRINTEXIT( "VtUi.HandleCommandDeactivationL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoEnableBlindSetting
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::DoEnableBlindSetting( TAny* aAny )
- {
- CVtUiAppUi* self =
- reinterpret_cast< CVtUiAppUi* >( aAny );
- self->iUiStates->SetDisableBlindSetting( EFalse );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoRefresh
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::DoRefresh( TAny* aAny )
- {
- CVtUiAppUi* self =
- reinterpret_cast< CVtUiAppUi* >( aAny );
- TRAP_IGNORE( self->RefreshL() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DoHandleExitTimeout
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::DoHandleExitTimeout( TAny* /*aAny*/ )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.Exit.Timer.EXPIRED!" )
- VtUiPanic::Panic( EVtUiPanicApplicationShutdownTimeout );
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// VtUiAppUi::IsViewFinderInMainPane
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::IsViewFinderInMainPane() const
- {
- return !( IsViewFinderInContextPane() );
- }
-
-// -----------------------------------------------------------------------------
-// VtUiAppUi::IsViewFinderInContextPane
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::IsViewFinderInContextPane() const
- {
- return ( iUplinkWindow == iInstance->iContextControl );
- }
-
-// -----------------------------------------------------------------------------
-// VtUiAppUi::SwitchViewFinderToMainPaneL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SwitchViewFinderToMainPaneL( TBool aUpdateState )
- {
- __VTPRINTENTER( "VtUi.SwitchViewFinderToMainPaneL" )
- //change local video in to main pane
- if( IsViewFinderInContextPane() )
- {
- //flag indicates the initial position of uplink window before freeze
- if ( aUpdateState )
- {
- iUiStates->SetViewFindersInitialPlaceContextPane( ETrue );
- }
- HandleCommandL( EVtUiCmdSwapImagesPlaces );
- }
- else
- {
- if ( aUpdateState )
- {
- iUiStates->SetViewFindersInitialPlaceContextPane( EFalse );
- }
- }
- __VTPRINTEXIT( "VtUi.SwitchViewFinderToMainPaneL" )
- }
-
-// -----------------------------------------------------------------------------
-// VtUiAppUi::SwitchViewFinderToContextPaneL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SwitchViewFinderToContextPaneL( TBool aUpdateState )
- {
- __VTPRINTENTER( "VtUi.SwitchViewFinderToContextPaneL" )
- //change local video in to context pane
- if( !IsViewFinderInContextPane() )
- {
- //flag indicates the initial position of uplink window before freeze
- if ( aUpdateState )
- {
- iUiStates->SetViewFindersInitialPlaceContextPane( EFalse );
- }
- HandleCommandL( EVtUiCmdSwapImagesPlaces );
- }
- else
- {
- if ( aUpdateState )
- {
- iUiStates->SetViewFindersInitialPlaceContextPane( ETrue );
- }
- }
- __VTPRINTEXIT( "VtUi.SwitchViewFinderToContextPaneL" )
- }
-
-// -----------------------------------------------------------------------------
-// VtUiAppUi::RestoreViewFinderL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RestoreViewFinderL()
- {
- __VTPRINTENTER( "VtUi.RestoreViewFinderL" )
- if( IsViewFinderInContextPane() )
- {
- if( !iUiStates->IsViewFindersInitialPlaceContextPane() )
- {
- SwitchViewFinderToMainPaneL( EFalse );
- }
- }
- else
- {
- if( iUiStates->IsViewFindersInitialPlaceContextPane() )
- {
- SwitchViewFinderToContextPaneL( EFalse );
- }
- }
- __VTPRINTEXIT( "VtUi.RestoreViewFinderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::DialogDismissedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::DialogDismissedL( TInt )
- {
- __VTPRINTENTER( "VtUi.DialogDismissedL" )
- MVtUiFeature* tb =
- iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar );
- if ( tb )
- {
- if ( !iTbPeriodic )
- {
- iTbPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
- }
- iTbPeriodic->Cancel();
- // try to strat toolbar feature immediately
- iTbPeriodic->Start( 0, KPeriodTime, TCallBack( DoTryToStartTbL, this ) );
- }
- __VTPRINTEXIT( "VtUi.DialogDismissedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::UpdateContextPaneIconL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::UpdateContextPaneIconL()
- {
- CEikStatusPane* statusPane = StatusPane();
-
- if ( statusPane )
- {
- if ( statusPane->PaneCapabilities(
- TUid::Uid( EEikStatusPaneUidContext ) ).IsPresent() )
- {
- CAknContextPane* contextPane = NULL;
- TRAPD ( err, contextPane = static_cast<CAknContextPane*> (
- statusPane->ControlL( TUid::Uid( EEikStatusPaneUidContext ) ) ) );
- if ( err != KErrNone || ! contextPane )
- {
- return;
- }
-
- // Set a new context pane icon
- CFbsBitmap* newBitmap = new(ELeave) CFbsBitmap;
- CleanupStack::PushL( newBitmap );
- User::LeaveIfError( newBitmap->Create( TSize( 1, 1 ), EGray2 ) );
-
- CFbsBitmap* newMask = new(ELeave) CFbsBitmap;
- CleanupStack::PushL( newMask );
- User::LeaveIfError( newMask->Create( TSize( 1, 1 ), EGray2 ) );
-
- // create an off-screen device and context
- CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL( newMask );
- CleanupStack::PushL( bitmapDevice );
- CFbsBitGc* maskGc = NULL;
- User::LeaveIfError( bitmapDevice->CreateContext( maskGc ) );
- User::LeaveIfNull( maskGc );
- CleanupStack::PushL( maskGc );
- maskGc->SetPenStyle( CGraphicsContext::ENullPen );
- maskGc->SetBrushColor( TRgb::Gray2( 1 ) ); // transparency
- maskGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
- maskGc->Clear();
- CleanupStack::PopAndDestroy( 2 ); // maskGc, bitmapDevice
-
- // newBitmap, new Mask ownership transfer
- contextPane->SetPicture( newBitmap, newMask );
- CleanupStack::Pop( 2 ); // newBitmap, newMask
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetIncallBubbleAllowedInUsualL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetIncallBubbleAllowedInUsualL( TBool aAllowed )
- {
- __VTPRINT2( DEBUG_GEN, "Ui.SetIncallBubbleAllowedInUsualL: %d", aAllowed )
-
- // If call is being disconnected, we do not want to show in-call bubble
- // anymore but dismiss it.
- if( iUiStates->ExecState() == TVtUiStates::EExecStateResetting ||
- iUiStates->ExecState() == TVtUiStates:: EExecStateFinalized )
- {
- __VTPRINT2( DEBUG_GEN, "Ui.SetIncallBubbleAllowedInUsualL forced to false: %d", aAllowed )
- aAllowed = EFalse;
- }
-
- if ( iIncallBubble )
- {
- iIncallBubble->SetIncallBubbleAllowedInUsualL( aAllowed );
- }
- __VTPRINT( DEBUG_GEN, "Ui.SetIncallBubbleAllowedInUsualL>" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ShowProgressDialogL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::ShowProgressDialogL( TInt aResourceId,
- MProgressDialogCallback* aCallback )
- {
- __VTPRINTENTER( "VtUi.ShowProgressDialogL" )
- if( iProgressDlg )
- {
- User::Leave( KErrNotReady );
- }
- iProgressDlg = new ( ELeave ) CAknProgressDialog(
- reinterpret_cast< CEikDialog** >( &iProgressDlg ), ETrue );
- iProgressDlg->SetCallback( aCallback );
- iProgressDlg->ExecuteLD( aResourceId );
- __VTPRINTEXIT( "VtUi.ShowProgressDialogL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::HideProgressDialogL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::HideProgressDialogL()
- {
- __VTPRINTENTER( "VtUi.HideProgressDialogL" )
- if( iProgressDlg )
- {
- iProgressDlg->ProcessFinishedL();
- }
- __VTPRINTEXIT( "VtUi.HideProgressDialogL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::AsyncViewFinderToMainPaneAndShare
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::AsyncViewFinderToMainPaneAndShare( TAny* aPtr )
- {
- __VTPRINTENTER( "VtUi.AsyncViewFinderToMainPaneAndShare" )
- CVtUiAppUi* self = reinterpret_cast< CVtUiAppUi* >( aPtr );
-
- TRAPD( result, { self->SwitchViewFinderToMainPaneL();
- self->CmdShareImageL();} );
- __VTPRINTEXITR( "VtUi.AsyncViewFinderToMainPaneAndShare %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::AsyncShare
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::AsyncShare( TAny* aPtr )
- {
- __VTPRINTENTER( "VtUi.AsyncShare" )
- CVtUiAppUi* self = reinterpret_cast< CVtUiAppUi* >( aPtr );
- TRAPD( result, self->CmdShareImageL() );
- __VTPRINTEXITR( "VtUi.AsyncShare %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::AsyncShowErrorAndRestartShare
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::AsyncShowErrorAndRestartShare( TAny* aPtr )
- {
- __VTPRINTENTER( "VtUi.AsyncShowErrorAndRestartShare" )
- CVtUiAppUi* self = reinterpret_cast< CVtUiAppUi* >( aPtr );
- TRAPD( result, { self->ShowUnableToOpenNoteL();
- self->HandleCommandL( EVtUiCmdShareObjectImage ); } );
- __VTPRINTEXITR( "VtUi.AsyncShowErrorAndRestartShare %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::GetCameraOrientations
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::GetCameraOrientations()
- {
- __VTPRINTENTER( "VtUi.GetCameraOrientations" )
- MVtEngMedia& media = Model().Media();
- media.GetCameraOrientations( iPrimaryCameraOrientation,
- iSecondaryCameraOrientation );
- __VTPRINTEXIT( "VtUi.GetCameraOrientations" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetInitialCameraOrientationL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetInitialCameraOrientationL()
- {
- __VTPRINTENTER( "VtUi.SetInitialCameraOrientationL" )
- MVtEngMedia::TCameraId cameraId;
- MVtEngMedia& media( Model().Media() );
- media.GetCurrentCameraId( cameraId );
- MVtEngMedia::TCameraOrientation targetOrientation(
- cameraId == MVtEngMedia::EPrimaryCamera ?
- iPrimaryCameraOrientation :
- ( cameraId == MVtEngMedia::ESecondaryCamera ?
- iSecondaryCameraOrientation :
- iCurrentCameraOrientation ) );
- if ( iCurrentCameraOrientation != targetOrientation )
- {
- __VTPRINT3( DEBUG_GEN,
- "VtUi.SetInitialCameraOrientationL Old=%d New=%d",
- iCurrentCameraOrientation,
- targetOrientation )
- SetOrientationL( engToAppOrientation[ targetOrientation ] );
- iCurrentCameraOrientation = targetOrientation;
- }
- __VTPRINTEXIT( "VtUi.SetInitialCameraOrientationL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::SetCameraOrientationL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::SetCameraOrientationL()
- {
- __VTPRINTENTER( "VtUi.SetCameraOrientationL" )
- MVtEngMedia::TCameraOrientation newOrientation = iCurrentCameraOrientation;
- MVtEngMedia::TCameraId cameraId;
- MVtEngMedia& media = Model().Media();
- if ( media.GetCurrentCameraId( cameraId ) == KErrNone )
- {
- switch ( cameraId )
- {
- case MVtEngMedia::EPrimaryCamera:
- __VTPRINT( DEBUG_GEN, "VtUi.SetCameraOrient.Primary")
- if( iCurrentCameraOrientation != iPrimaryCameraOrientation )
- {
- newOrientation = iPrimaryCameraOrientation;
- }
- break;
-
- case MVtEngMedia::ESecondaryCamera:
- __VTPRINT( DEBUG_GEN, "VtUi.SetCameraOrient.Secondary")
- if ( iCurrentCameraOrientation != iSecondaryCameraOrientation )
- {
- newOrientation = iSecondaryCameraOrientation;
- }
- break;
-
- default:
- break;
- }
- }
-
- __VTPRINT2( DEBUG_GEN, "VtUi.SetCameraOrient.Cur=%d",
- iCurrentCameraOrientation )
- __VTPRINT2( DEBUG_GEN, "VtUi.SetCameraOrient.New=%d",
- newOrientation )
-
- if ( iCurrentCameraOrientation != newOrientation )
- {
- // map camera orientation to appui layout orientation
- TAppUiOrientation newAppUiOrientation;
- if ( newOrientation == MVtEngMedia::EOrientationLandscape )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.SetCameraOrient=LS")
- newAppUiOrientation = EAppUiOrientationLandscape;
- }
- else if ( newOrientation == MVtEngMedia::EOrientationPortrait )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.SetCameraOrient=PR")
- newAppUiOrientation = EAppUiOrientationPortrait;
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "VtUi.SetCameraOrient=OL")
- newAppUiOrientation = EAppUiOrientationUnspecified;
- }
- SetOrientationL( newAppUiOrientation );
- }
- __VTPRINTEXIT( "VtUi.SetCameraOrientationL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshStatesL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshStatesL()
- {
- __VTPRINTENTER( "VtUi.RefreshStatesL" )
- // If transaction (set of commands) is pending refresh in delayed until
- // all of them are processed.
- if ( !iUiStates->IsCommandActivating() )
- {
- iUiStates->Update();
- if ( iUiStates->IsThisApplicationForeground() )
- {
- iCommandManager->RefreshL();
- }
- }
- __VTPRINTEXIT( "VtUi.RefreshStatesL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CmdAdjustVideoL
-// -----------------------------------------------------------------------------
-//
- void CVtUiAppUi::CmdAdjustVideoL( TInt aCommand )
- {
- __VTPRINTENTER( "VtUi.CmdAdjustVideoL" )
- TInt featureId( -1 );
- switch ( aCommand )
- {
- case EVtUiCmdAdjustVideoVideoQuality:
- featureId = EVtUiFeatureIdVideoQuality;
- break;
- case EVtUiCmdAdjustVideoWhiteBalance:
- featureId = EVtUiFeatureIdWhiteBalance;
- break;
- case EVtUiCmdAdjustVideoBrightness:
- featureId = EVtUiFeatureIdBrightness;
- break;
- case EVtUiCmdAdjustVideoContrast:
- featureId = EVtUiFeatureIdContrast;
- break;
- case EVtUiCmdAdjustVideoColourTone:
- featureId = EVtUiFeatureIdColourTone;
- break;
- default:
- break;
- }
- MVtUiFeature* vb = iFeatureManager->GetFeatureById( featureId );
- if ( vb )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.CmdAdjustVideoL.StartL" );
- vb->StartL();
- }
- __VTPRINTEXIT( "VtUi.CmdAdjustVideoL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::AppUiInitDoneDoPostInitL
-// -----------------------------------------------------------------------------
-//
- void CVtUiAppUi::AppUiInitDoneDoPostInitL()
- {
- MVtUiFeature* tb = iFeatureManager->GetFeatureById( EVtUiFeatureIdToolbar );
- if ( tb )
- {
- if ( !iTbPeriodic )
- {
- iTbPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
- }
- iTbPeriodic->Cancel();
- // try to strat toolbar feature immediately
- iTbPeriodic->Start( 0, KPeriodTime, TCallBack( DoTryToStartTbL, this ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::ProcessWsEventIfZoomModeIsActiveL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::ProcessWsEventIfZoomModeIsActiveL( const TWsEvent& aEvent )
- {
- __VTPRINTENTER( "VtUi.ProWsEvtIfZoomActivedL" )
- const TInt type = aEvent.Type();
- switch( type )
- {
- case EEventKey:
- case EEventKeyUp:
- case EEventKeyDown:
- {
- const TKeyEvent* keyEvent = aEvent.Key();
-
-
- // Up and down arrow key events does the zooming,
- // and should be forwarded to appui's key event handler.
- // Also ETrue must be returned, so that other controls
- // would not get these key events.
- TEventCode eventCode = (TEventCode)aEvent.Type();
- if ( keyEvent->iScanCode == EStdKeyUpArrow ||
- keyEvent->iScanCode == EStdKeyDownArrow ||
- keyEvent->iCode == EKeyZoomIn ||
- keyEvent->iCode == EKeyZoomOut )
- {
- HandleKeyEventL( *keyEvent, eventCode );
- __VTPRINTEXIT( "VtUi.ProWsEvtIfZoomActivedL" )
- return ETrue;
- }
- __VTPRINT( DEBUG_GEN, "VtUi.HandleWsEventL zoom mode set" );
- // If user selects zoom mode from options menu EEventKeyUp
- // will be generated after that. Therefore this event must be
- // ignored. Also EEventKeyDown are ignored. This means that
- // only EEventKey events can dismiss the zoom mode.
- if ( type != EEventKeyUp && type != EEventKeyDown )
- {
- // If zoom mode is on only zoom mode button is available in
- // toolbar. Pressing the zoom mode button in toolbar
- // should not dismiss the zoom mode, that is why this events
- // are ignored. If toolbar is not available and
- // also EKeyDevice3 (selection key) event should dismiss
- // the zoom mode.
- if ( keyEvent->iCode != EKeyDevice3 ||
- ( keyEvent->iCode == EKeyDevice3 &&
- !iUiStates->IsToolbarAvailable() ) )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.ProWsEvtIfZoomActivedL.EKeyDevice3" );
- SetZoomModeL( EFalse );
- }
- }
- }
- break;
-
- case EEventPointer:
- __VTPRINT( DEBUG_GEN, "VtUi.ProWsEvtIfZoomActivedL.EEventPointer" );
- break;
-
- case KAknHardwareLayoutSwitch:
- // Window server event used when layout changes
- __VTPRINT( DEBUG_GEN, "VtUi.ProcessWsEventIfZoomModeIsActiveL.LayoutSwitch" );
- break;
-
- case EEventScreenDeviceChanged:
- // The screen size mode has changed, for instance when the cover on a phone
- // that supports screen flipping is opened or closed.
- __VTPRINT( DEBUG_GEN, "VtUi.ProcessWsEventIfZoomModeIsActiveL.ScreenChanged" );
- break;
-
- case EVtUiWsEventNumberSourceDeactivate:
- // Number source deactivated
- __VTPRINT( DEBUG_GEN, "VtUi.ProWsEvtIfZoomActivedL.NumberDeactivate" );
- break;
-
- default:
- __VTPRINT( DEBUG_GEN, "VtUi.ProWsEvtIfZoomActivedL.default" );
- // EVtUiWsEventNumberSourceActivate could be generated through number buttons
- // and execution runs to default statement
- SetZoomModeL( EFalse );
- break;
- }
- __VTPRINTEXIT( "VtUi.ProWsEvtIfZoomActivedL2" )
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::StopSliders()
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::StopSliders()
- {
- __VTPRINTENTER( "VtUi.StopSliders" )
- if( iUiStates->IsBrightnessModeOn() )
- {
- // if brightness feature is active, stop that
- MVtUiFeature* br = iFeatureManager->GetFeatureById( EVtUiFeatureIdBrightness );
- if ( br )
- {
- if ( br->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.StopSliders br->STOP" )
- br->Stop();
- }
- }
- }
- // if contrast feature is active, stop that
- if( iUiStates->IsContrastModeOn() )
- {
- // if contrast feature is active, stop that
- MVtUiFeature* cr = iFeatureManager->GetFeatureById( EVtUiFeatureIdContrast );
- if ( cr )
- {
- if ( cr->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.StopSliders cr->STOP" )
- cr->Stop();
- }
- }
- }
- // if volume feature is active, stop that
- if( iUiStates->IsVolumeModeOn() )
- {
- // if volume feature is active, stop that
- MVtUiFeature* vl = iFeatureManager->GetFeatureById( EVtUiFeatureIdVolume );
- if ( vl )
- {
- if ( vl->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.StopSliders vl->STOP" )
- vl->Stop();
- }
- }
- }
- // if zoom feature is active, stop that
- if( iUiStates->IsZoomModeOn() )
- {
- // if zoom feature is active, stop that
- MVtUiFeature* zm = iFeatureManager->GetFeatureById( EVtUiFeatureIdZoom );
- if ( zm )
- {
- if ( zm->State() == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.StopSliders zm->STOP" )
- zm->Stop();
- }
- }
- }
- __VTPRINTEXIT( "VtUi.StopSliders" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CanSwapImagePlaces()
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::CanSwapImagePlaces()
- {
- __VTPRINTENTER( "VtUi.CanSwapImagePlaces" )
- TTime now;
- now.HomeTime();
- // User can swap image places if the frequency is lower than maximum frequency.
- if ( now.MicroSecondsFrom( iLastSwapTime ).Int64() >= KVtUiMaxSwapImagesFreq )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.Swap can swap image" )
- iLastSwapTime = now;
- return ETrue;
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "VtUi.Swap can not swap image" )
- return EFalse;
- }
- __VTPRINTEXIT( "VtUi.CanSwapImagePlaces" )
- }
-
-// Implementation of CVtUiAppUi::CInstance
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CInstance::CInstance
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CInstance::CInstance( CVtUiAppUi& aAppUi )
- : iAppUi( aAppUi )
- {
- }
-
-void CVtUiAppUi::CInstance::CreateRemoteVideoControl()
- {
- iRemoteVideoControl = CVtUiRemoteVideoControl::NewL( iAppUi );
- iRemoteVideoControl->MakeVisible(EFalse);
- iMainControl->SetRemoteVideoControl( iRemoteVideoControl );
- iMainControl->LayoutRemoteVideo();
-
- iAppUi.AddToStackL( iRemoteVideoControl );
-
- iRemoteVideoControlInStack = ETrue;
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CInstance::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CInstance::ConstructL()
- {
- iBitmapManager = new ( ELeave ) CVtUiBitmapManager;
-
- TRect parent;
- TAknWindowLineLayout control;
-
- VtUiLayout::GetApplicationParentRect( parent );
- iMainControl = CVtUiMainControl::NewL( *iBitmapManager,
- *iAppUi.iUiStates );
-
- VtUiLayout::GetMainPaneLayout( control );
- AknLayoutUtils::LayoutControl( iMainControl, parent, control );
-
- iAppUi.AddToStackL( iMainControl );
- iMainControlInStack = ETrue;
-
- TAknLayoutRect layout;
- layout.LayoutRect( parent, control );
- iNumberEntryActivation =
- new ( ELeave ) CVtUiNumberEntryActivationControl( iAppUi );
- iNumberEntryActivation->ConstructL( layout.Rect() );
-
- iContextControl = CVtUiContextControl::NewL(
- *iBitmapManager,
- iAppUi,
- *iAppUi.iUiStates );
-
- VtUiLayout::GetFirstWindowBackgroundLayout(
- control );
- AknLayoutUtils::LayoutControl( iContextControl, parent, control );
- iAppUi.AddToStackL( iContextControl );
- iContextControlInStack = ETrue;
-
- iNaviPane =
- CVtUiNaviPane::NewL(
- *( iAppUi.NaviPaneL() ),
- iAppUi );
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CInstance::LayoutChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CInstance::LayoutChanged()
- {
- // Layout controls.
- TRect parent;
- TAknWindowLineLayout control;
- VtUiLayout::GetApplicationParentRect( parent );
- VtUiLayout::GetMainPaneLayout( control );
- AknLayoutUtils::LayoutControl( iMainControl, parent, control );
- if(iMainControl)
- iMainControl->LayoutRemoteVideo();
- AknLayoutUtils::LayoutControl( iNumberEntryActivation, parent, control );
- VtUiLayout::GetFirstWindowBackgroundLayout( control );
- AknLayoutUtils::LayoutControl( iContextControl, parent, control );
- if(iContextControl)
- iContextControl->LayoutRemoteVideo();
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CInstance::VolumeKeyPressedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CInstance::VolumeKeyPressedL()
- {
- __VTPRINTENTER( "CVtUiAppUi.VolumeKeyPressedL" )
- // if the application is in foreground show volume sliders
- if ( iAppUi.IsForeground() )
- {
- // If application is shutting down, no need to show volume popup
- if ( iAppUi.iState == NULL ||
- iAppUi.iState ==
- TVtUiStateResetting::InstanceL( iAppUi, *iAppUi.iUiStates ) )
- {
- return;
- }
-
- CVtUiVolume* volume = static_cast< CVtUiVolume* >(
- iAppUi.iFeatureManager->GetFeatureById( EVtUiFeatureIdVolume ) );
- if ( volume )
- {
- // If the capture mode is on we should
- // end the capture mode
- if( iAppUi.iUiStates->IsCaptureModeOn() )
- {
- iAppUi.CmdCancelCaptureL();
- }
- volume->StartL();
- }
- }
- __VTPRINTEXIT( "CVtUiAppUi.VolumeKeyPressedL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CInstance::NewL
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CInstance* CVtUiAppUi::CInstance::NewL( CVtUiAppUi& aAppUi )
- {
- CInstance* self = new ( ELeave ) CInstance( aAppUi );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CInstance::~CInstance
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CInstance::~CInstance()
- {
- if ( iMainControl && iMainControlInStack )
- {
- iAppUi.RemoveFromStack( iMainControl );
- }
- if ( iContextControl && iContextControlInStack )
- {
- iAppUi.RemoveFromStack( iContextControl );
- }
- if(iRemoteVideoControl &&iRemoteVideoControlInStack)
- {
- iAppUi.RemoveFromStack( iRemoteVideoControl );
- }
- delete iMainControl;
- delete iContextControl;
- delete iRemoteVideoControl;
- delete iNumberEntryActivation;
- delete iNaviPane;
- delete iBitmapManager;
- }
-
-// Implementation of CVtUiAppUi::CEventObserver
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::CEventObserver
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CEventObserver::CEventObserver( CVtUiAppUi& aAppUi )
- : iAppUi( aAppUi ),
- iCommandObservers( KVtUiCommandObserverArrayGranularity )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::ConstructL()
- {
- iModel = CVtEngModel::NewL( *this, *this );
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::NewL
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CEventObserver* CVtUiAppUi::CEventObserver::NewL(
- CVtUiAppUi& aAppUi )
- {
- CEventObserver* self = new ( ELeave ) CEventObserver( aAppUi );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::~CEventObserver
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CEventObserver::~CEventObserver()
- {
- iCommandObservers.Close();
-
- delete iModel;
- delete iBeat;
-
- delete iRemConInterfaceSelector;
- iRemConCoreApiTarget = NULL; // not owned.
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::Model
-// -----------------------------------------------------------------------------
-//
-inline CVtEngModel& CVtUiAppUi::CEventObserver::Model()
- {
- return *iModel;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::CreateRemConSessionL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::CreateRemConSessionL()
- {
- __VTPRINTENTER( "VtUiComms.CreateRemCon" )
- // If one of the iRemCon* pointers equals to NULL, then all of them are
- // NULL.
- if ( !iRemConInterfaceSelector )
- {
- CRemConInterfaceSelector* interfaceSelector =
- CRemConInterfaceSelector::NewL();
- CleanupStack::PushL( interfaceSelector );
-
- CRemConCoreApiTarget* coreApiTarget =
- CRemConCoreApiTarget::NewL( *interfaceSelector, *this );
- // The coreApiTarget instance is owned by interfaceSelector instance.
- // This instance must implement MRemConCoreApiTargetObserver interface.
- CleanupStack::PushL( coreApiTarget );
- interfaceSelector->OpenTargetL();
-
- iRemConVolumeRepeatTimer = CPeriodic::NewL( CActive::EPriorityHigh );
-
- CleanupStack::Pop( coreApiTarget );
- CleanupStack::Pop( interfaceSelector );
-
- iRemConInterfaceSelector = interfaceSelector;
- iRemConCoreApiTarget = coreApiTarget;
- }
- __VTPRINTEXIT( "VtUiComms.CreateRemCon" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::DeleteRemConSession
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::DeleteRemConSession()
- {
- delete iRemConVolumeRepeatTimer;
- iRemConVolumeRepeatTimer = NULL;
-
- delete iRemConInterfaceSelector;
- iRemConInterfaceSelector = NULL;
-
- iRemConCoreApiTarget = NULL; // not owned.
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::CommandSupported
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::CEventObserver::CommandSupported(
- const TInt aCommandId ) const
- {
- const TInt caps = iModel->CommandHandler().GetCommandCaps( aCommandId );
- return
- ( caps >= KErrNone ) &&
- ( caps & MVtEngCommandHandler::EAttribSupported );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::CommandSupportedAndSynchronous
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::CEventObserver::CommandSupportedAndSynchronous(
- const TInt aCommandId ) const
- {
- const TInt caps = iModel->CommandHandler().GetCommandCaps( aCommandId );
- return
- ( caps >= KErrNone ) &&
- ( caps & MVtEngCommandHandler::EAttribSupported ) &&
- ( ~caps & MVtEngCommandHandler::EAttribAsync );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::AddObserverL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::AddObserverL(
- MVtEngCommandObserver& aObserver )
- {
- User::LeaveIfError(
- iCommandObservers.Append( &aObserver ) );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::RemoveObserver
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::RemoveObserver(
- MVtEngCommandObserver& aObserver )
- {
- const TInt pos = iCommandObservers.Find( &aObserver );
- if ( pos != KErrNotFound )
- {
- if ( !iInCommandPerformed )
- {
- iCommandObservers.Remove( pos );
- }
- else
- {
- iCommandObservers[ pos ] = NULL;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::StartBeatL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::StartBeatL()
- {
- if ( !iBeat )
- {
- iBeat = CHeartbeat::NewL( CActive::EPriorityStandard );
- }
-
- if ( !iBeat->IsActive() )
- {
- iBeat->Start( ETwelveOClock, this );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::StopBeat
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::StopBeat()
- {
- delete iBeat;
- iBeat = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::StopVolumeRepeatTimer
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::StopVolumeRepeatTimer()
- {
- iRemConVolumeRepeatTimer->Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::HandleVtEventL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::HandleVtEventL(
- TInt aEvent )
- {
- __VTPRINTENTER( "VtUiComms.HandleVtEventL" )
- __VTPRINT2( DEBUG_GEN, "VtUi.HandleEvt=%d", aEvent )
-
- /** Allow application state to handle event first. It may also deny further
- * handling by indicating the event was handled */
- if ( iAppUi.iState &&
- iAppUi.iState->HandleVtEventL( aEvent )
- == TVtUiAppStateBase::EEventHandled )
- {
- __VTPRINTEXITR( "VtUiComms.HandleVtEventL %d", 0 )
- return;
- }
-
- TInt callBits = EVtUiRefreshStates;
-
- // New camera orientation
- switch( aEvent )
- {
- case KVtEngSourceChanged:
- callBits |= EVtUiSetOrientation;
- break;
- default:
- break;
- }
-
- switch( aEvent )
- {
- case KVtEngSourceChanged:
- callBits |= EVtUiStopWBOrColortone;
- break;
- default:
- break;
- }
-
- switch( aEvent )
- {
- case KVtEngSessionWaitingCallActive:
- case KVtEngSessionWaitingCallInactive:
- iAppUi.HandleWaitingStateChange(
- aEvent == KVtEngSessionWaitingCallActive );
- break;
- default:
- break;
- }
- switch( aEvent )
- {
- case KVtEngShareImageInitializeBegin:
- callBits |= EVtUiShowImageInitializingProgress;
- break;
-
- case KVtEngShareImageInitializeEnd:
- callBits |= EVtUiHideImageInitializingProgress;
- break;
-
- case KVtEngShareImageDecodingError:
- callBits |= EVtUiShowDecodingError;
- break;
-
- default:
- break;
- }
-
- // Handle rendering problems.
- switch ( aEvent )
- {
- case KVtEngRemoteRenderingProblem:
- callBits |= EVtUiHandleVideoFrameRemoteProblem;
- break;
-
- case KVtEngViewFinderStopped:
- case KVtEngLocalRenderingProblem:
- callBits |= EVtUiHandleVideoFrameLocalProblem;
- break;
-
- default:
- break;
- }
-
- // Refresh navipane.
- switch ( aEvent )
- {
- case KVtEngSourceChanged:
- case KVtEngCameraChanged:
- case KVtEngSessionStateChanged:
- case KVtEngDurationSettingChanged:
- case KVtEngAudioOutputVolumeChanged:
- case KVtEngAudioRoutingChanged:
- case KVtEngAudioMuted:
- case KVtEngAudioUnmuted:
- callBits |= EVtUiRefreshNaviPane;
- break;
-
- default:
- break;
- }
-
- // Refresh softkeys.
- switch ( aEvent )
- {
- case KVtEngSourceChanged:
- case KVtEngSourceCapsChanged:
- case KVtEngSessionAnswerPossible:
- case KVtEngSessionStateChanged:
- case KVtEngAudioRoutingChanged:
- case KVtEngAudioRoutingAvailabilityChanged:
- case KVtEngAudioMuted:
- case KVtEngAudioUnmuted:
- case KVtEngLCHProviderSwitchDone:
- callBits |= EVtUiRefreshSoftkeys;
- break;
-
- default:
- break;
- }
-
- // Refresh blind status
- switch ( aEvent )
- {
- case KVtEngSourceChanged:
- case KVtEngRemoteVideoPaused:
- case KVtEngRemoteVideoResumed:
- case KVtEngRemoteVideoStarted:
- case KVtEngRemoteVideoStopped:
- case KVtEngLCHProviderSwitchDone:
- callBits |= EVtUiRefreshBlind;
- break;
-
- default:
- break;
- }
-
- // Check if it's required to stop "waiting image" display.
- switch ( aEvent )
- {
- case KVtEngRemoteVideoResumed:
- case KVtEngRemoteVideoStarted:
- callBits |= EVtUiStopWaitingImage;
- break;
-
- default:
- break;
- }
-
- // Check if it is needed to set a new layout for remote renderer.
- switch ( aEvent )
- {
- case KVtEngResolutionToQCIF:
- callBits |= EVtUiChangeRemoteVideoLayout;
- iAppUi.RemoteVideoIsSQCif( EFalse );
- break;
- case KVtEngResolutionToSQCIF:
- callBits |= EVtUiChangeRemoteVideoLayout;
- iAppUi.RemoteVideoIsSQCif( ETrue );
- break;
- default:
- break;
- }
-
- switch ( aEvent )
- {
- case KVtEngAudioRoutingChanged:
- case KVtEngAudioRoutingAvailabilityChanged:
- case KVtEngMediaOutgoingVideoChannelStatusChanged:
- case KVtEngMediaOutgoingAudioChannelStatusChanged:
- callBits |= EVtUiMediaStateChanged;
- break;
-
- case KVtEngAudioVolumeMin:
- iAppUi.KeySounds()->PlaySound( EAvkonSIDVolumeMinTone );
- break;
-
- case KVtEngAudioVolumeMax:
- iAppUi.KeySounds()->PlaySound( EAvkonSIDVolumeMaxTone );
- break;
-
- default:
- break;
- }
-
- // Refresh Menu.
- switch ( aEvent )
- {
- case KVtEngSourceChanged:
- callBits |= EVtUiRefreshMenu;
- callBits |= EVtUiStopBrightnessOrContrast;
- callBits |= EVtUiRefreshZoomPopup;
- break;
- default:
- break;
- }
-
- TRAP_IGNORE ( DoExecuteL( callBits ) );
- __VTPRINTEXITR( "VtUiComms.HandleVtEventL %d", 1 )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::HandleVTCommandPerformedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError )
- {
- __VTPRINTENTER( "VtUiComms.HandleVTCommandPerformedL" )
-
- if ( iAppUi.iState &&
- iAppUi.iState->HandleVTCommandPerformedL( aCommand, aError ) ==
- TVtUiAppStateBase::EEventHandled )
- {
- // state didn't allow further processing of command completion
- __VTPRINTEXITR( "VtUiComms.HandleVTCommandPerformedL %d", 0 )
- return;
- }
- iAppUi.RefreshStatesL();
-
- if ( aCommand == KVtEngMuteOutgoingAudio ||
- aCommand == KVtEngUnmuteOutgoingAudio )
- {
- iAppUi.RefreshL();
- }
-
- const TInt count = iCommandObservers.Count();
- TInt nullPosition = KErrNotFound;
-
- iInCommandPerformed = ETrue;
-
- // iInCommandPerformed equals ETrue while inside the following loop;
- // Exceptions must not be raised.
- for ( TInt index = 0; index < count; index++ )
- {
- MVtEngCommandObserver* obs = iCommandObservers[ index ];
- if ( obs )
- {
- TRAP_IGNORE( obs->HandleVTCommandPerformedL( aCommand, aError ) );
- }
- else
- {
- // We store only one position; eventually all NULL elements of the
- // array will be removed.
- nullPosition = index;
- }
- }
- iInCommandPerformed = EFalse;
-
- if ( nullPosition != KErrNotFound )
- {
- iCommandObservers.Remove( nullPosition );
- }
-
- // Specific handling of some commands:
- if ( aCommand == KVtEngResetEngine ) // Engine has been reset
- {
- __ASSERT_ALWAYS( !aError, VtUiPanic::Panic( EVtUiPanicResetFailed ) );
- iAppUi.HandleEngineResetL();
- }
- else if ( ( aCommand == KVtEngInitializeShareImage ) ||
- ( aCommand == KVtEngStartShareImage ) )
- {
- __VTPRINT3( DEBUG_GEN,
- "VtUi.HandleVTCommandPerformedL cmd=%d err=%d", aCommand, aError );
- if( aError != KErrNone )
- {
- // stop toolbar feature to prevent drawing over error dialog
- MVtUiFeature* tb = iAppUi.iFeatureManager->
- GetFeatureById( EVtUiFeatureIdToolbar );
- if ( tb )
- {
- tb->Stop();
- }
- iAppUi.iAsyncCallback->Set(
- TCallBack( &AsyncShowErrorAndRestartShare, &iAppUi ) );
- iAppUi.iAsyncCallback->CallBack();
- }
- else if( aCommand == KVtEngInitializeShareImage )
- {
- if ( iAppUi.iUiStates->IsViewFinderToMainPane() )
- {
- iAppUi.iAsyncCallback->Set(
- TCallBack( &AsyncViewFinderToMainPaneAndShare, &iAppUi ) );
- }
- else
- {
- iAppUi.iAsyncCallback->Set(
- TCallBack( &AsyncShare, &iAppUi ) );
- }
- iAppUi.iAsyncCallback->CallBack();
- }
- }
- else if ( iAppUi.iUiStates->IsLayoutChangeNeeded() &&
- ( aCommand == KVtEngMuteOutgoingAudio ||
- aCommand == KVtEngUnmuteOutgoingAudio ||
- aCommand == KVtEngSetAudioRouting ||
- aCommand == KVtEngSetAudioVolume ||
- aCommand == KVtEngSetSource ||
- aCommand == KVtEngPrepareCamera ||
- aCommand == KVtEngUnfreeze ) )
- {
- iAppUi.iUiStates->SetLayoutChangeNeeded( EFalse );
- iAppUi.DoHandleLayoutChangedL();
- }
- __VTPRINTEXITR( "VtUiComms.HandleVTCommandPerformedL %d", 1 )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::vtHandleFrameL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::vtHandleFrameL(
- TFrameType aType,
- CFbsBitmap* aBitmap )
- {
- static TUint32 lastTick = 0;
- static TBool flag = EFalse;
-
-
- CEikMenuBar* menuBar = (STATIC_CAST(CEikonEnv*, this->iAppUi.iCoeEnv))->AppUiFactory()->MenuBar();
- if ( menuBar && menuBar->IsDisplayed() )
- {
- if ( !flag )
- {
- flag = ETrue;
- lastTick = User::NTickCount();
- }
- else
- {
- TUint32 newTick = User::NTickCount();
-
- //don't consider time wrap
- //one frame per 200ms
- if ( newTick - lastTick < 400 )
- {
- __VTPRINTEXITR( "CVtUiAppUi::CEventObserver::vtSetFrame %d", 0 )
- return;
- }
- else
- {
- lastTick = newTick;
- }
- }
- }
- else
- {
- flag = EFalse;
- }
-
- TBool local = EFalse;
- switch ( aType )
- {
- case ELocalVideoFrame:
- local = ETrue;
- break;
-
- case ERemoteVideoFrame:
- default:
- break;
- }
-
- iAppUi.HandleVideoFrameL( local, aBitmap );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::vtSetFrame
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::vtSetFrame(
- TFrameType aType,
- CFbsBitmap* aBitmap )
- {
- TBool local = EFalse;
- switch ( aType )
- {
- case ELocalVideoFrame:
- local = ETrue;
- break;
-
- case ERemoteVideoFrame:
- default:
- break;
- }
-
- iAppUi.SetVideoFrame( local, aBitmap );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::Beat
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::Beat()
- {
- iAppUi.HandleBeat();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::Synchronize
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::Synchronize()
- {
- iAppUi.HandleBeat();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::DoExecuteL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::DoExecuteL( TInt aBits )
- {
- __VTPRINT2( DEBUG_GEN, "VtUi.DoExec.bits=%d", aBits )
-
- // Array of methods - leaving methods are allowed.
- const TMethodL methodArray[] =
- {
- &CVtUiAppUi::RefreshStatesL,
- &CVtUiAppUi::HandleVideoFrameRemoteProblemL,
- &CVtUiAppUi::HandleVideoFrameLocalProblemL,
- &CVtUiAppUi::RefreshNaviPaneL,
- &CVtUiAppUi::RefreshSoftkeysL,
- &CVtUiAppUi::RefreshBlind,
- &CVtUiAppUi::StopWaitingImage,
- &CVtUiAppUi::ChangeRemoteVideoLayoutL,
- &CVtUiAppUi::ShowImageInitializeProgressL,
- &CVtUiAppUi::HideImageInitializeProgressL,
- &CVtUiAppUi::SetCameraOrientationL,
- &CVtUiAppUi::MediaStateChangedL,
- &CVtUiAppUi::ShowImageDecodingErrorNoteL,
- &CVtUiAppUi::StopWhiteBalanceOrColortone,
- &CVtUiAppUi::RefreshMenuL,
- &CVtUiAppUi::StopBrightnessOrContrast,
- &CVtUiAppUi::RefreshZoomPopupL
- };
- const TInt count = ( sizeof( methodArray ) / sizeof ( TMethodL ) );
-
- // Execute selected methods.
- while ( aBits )
- {
- for ( TInt index = 0; ( index < count ) && aBits; index++ )
- {
- const TInt mask = ( 1 << index );
- if ( aBits & mask )
- {
- // Bit is set if corresponding method
- // is wanted to be executed.
-
- aBits &= ~mask;
- TMethodL method = methodArray[ index ];
- ( iAppUi.*method )(); // may leave
- }
- }
- aBits = 0; // for loop executed successfully.
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::HandleVolumeChange
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::HandleVolumeChange(
- TRemConCoreApiButtonAction aButtonAct )
- {
- __VTPRINTENTER( "VtUi.HandleVolumeChange" )
- // Order of the events is as follows:
- // Click - Immediately when key is pressed down
- // Press - After 0.6 seconds
- // Release - When key is released after 0.6 seconds
- //
- // Thus, the following sequences are possible from single keypress:
- // <Click>
- // <Click> <0.6 sec pause> <Press> <indefinite pause> <Release>
-
- switch ( aButtonAct )
- {
- case ERemConCoreApiButtonPress:
- __VTPRINT( DEBUG_GEN, "VtUi.HandleVolumeChange.ButtonPress" )
- TRAP_IGNORE( iAppUi.AdjustVolumeL( iRCCAOperationId ) );
- TRAP_IGNORE( iAppUi.RefreshVolumeL() );
- TRAP_IGNORE( iAppUi.iInstance->VolumeKeyPressedL() );
-
- iRemConVolumeRepeatTimer->Start(
- KVtUiVolumeRepeatLongDelay,
- KVtUiVolumeRepeatDelay,
- TCallBack( DoHandleVolumeRepeat, this ) );
-
- break;
-
- case ERemConCoreApiButtonRelease:
- __VTPRINT( DEBUG_GEN, "VtUi.HandleVolumeChange.ButtonRelease" )
- iRCCAOperationId = ENop;
- TRAP_IGNORE( iAppUi.iInstance->VolumeKeyPressedL() );
- break;
-
- case ERemConCoreApiButtonClick:
- __VTPRINT( DEBUG_GEN, "VtUi.HandleVolumeChange.ButtonClick" )
- TRAP_IGNORE( iAppUi.AdjustVolumeL( iRCCAOperationId ) );
- TRAP_IGNORE( iAppUi.RefreshVolumeL() );
- TRAP_IGNORE( iAppUi.iInstance->VolumeKeyPressedL() );
- break;
-
- default:
- break;
- }
- __VTPRINTEXIT( "VtUi.HandleVolumeChange" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::HandleRemMuteChange
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::HandleRemMuteChange(
- TRemConCoreApiButtonAction aButtonAct )
- {
- __VTPRINTENTER( "VtUi.EventObserver.HandleRemMuteChange" )
- TBool AudioEn (EFalse );
- AudioEn = iAppUi.iUiStates->AudioState().IsAudio();
- if( AudioEn )
- iAppUi.HandleCommandL( EVtUiCmdDisableAudio );
- else
- iAppUi.HandleCommandL( EVtUiCmdEnableAudio );
- __VTPRINTEXIT( "VtUi.EventObserver.HandleRemMuteChange" )
- }
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::DoHandleVolumeRepeat
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppUi::CEventObserver::DoHandleVolumeRepeat( TAny* aAny )
- {
- __VTPRINTENTER( "VtUi.SvkRpt" )
- CEventObserver* self = reinterpret_cast< CEventObserver* >( aAny );
- TRAP_IGNORE( self->iAppUi.AdjustVolumeL( self->iRCCAOperationId ) );
- TRAP_IGNORE( self->iAppUi.RefreshVolumeL() );
- __VTPRINTEXIT( "VtUi.SvkRpt" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::RefreshVolumeL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::RefreshVolumeL()
- {
- __VTPRINTENTER( "VtUi.RefreshVolumeL" )
- // Refresh volume
- CVtUiVolume* volume = static_cast< CVtUiVolume* >(
- iFeatureManager->GetFeatureById( EVtUiFeatureIdVolume ) );
- if ( volume )
- {
- volume->RefreshL();
- }
- __VTPRINTEXIT( "VtUi.RefreshVolumeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::AdjustVolumeL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::AdjustVolumeL( TRemConCoreApiOperationId aOperationId )
- {
- __VTPRINTENTER( "VtUi.AdjustVolumeL" )
- __VTPRINT2( DEBUG_GEN,
- "VtUi.AdjustVolumeL aOperationId = %d", aOperationId )
- TInt command( KVtEngCommandNone );
- switch ( aOperationId )
- {
- case ERemConCoreApiVolumeDown:
- command = KVtEngDecreaseAudioVolume;
- break;
-
- case ERemConCoreApiVolumeUp:
- command = KVtEngIncreaseAudioVolume;
- break;
-
- default:
- break;
- }
-
- if ( command != KVtEngCommandNone )
- {
- ExecuteCmdL( command );
- }
- __VTPRINTEXIT( "VtUi.AdjustVolumeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CEventObserver::MrccatoCommand
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CEventObserver::MrccatoCommand(
- TRemConCoreApiOperationId aOperationId,
- TRemConCoreApiButtonAction aButtonAct )
- {
- __VTPRINTENTER( "VtUi.MrccatoCommand" )
- // Side volume keys will also dismiss zoom mode if zoom mode is active
- if ( iAppUi.iUiStates->IsZoomModeOn() )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.MrccatoCommand1" )
- TRAP_IGNORE( iAppUi.SetZoomModeL( EFalse ));
- }
-
- iRemConVolumeRepeatTimer->Cancel();
- iRCCAOperationId = aOperationId;
- switch ( aOperationId )
- {
- case ERemConCoreApiVolumeUp:
- // if volume in maximum value and volume up is pressed
- // volume indicator must still be shown for a while if
- // muted or call duration is shown in navipane
- __VTPRINT( DEBUG_GEN, "VtUi.MrccatoCommand ERemConCoreApiVolumeUp" )
- HandleVolumeChange( aButtonAct );
- break;
-
- case ERemConCoreApiVolumeDown:
- // if volume in minimun value and volume down is pressed
- // volume indicator must still be shown for a while if
- // muted or call duration is shown in navipane
- __VTPRINT( DEBUG_GEN, "VtUi.MrccatoCommand ERemConCoreApiVolumeDown" )
- HandleVolumeChange( aButtonAct );
- break;
- case ERemConCoreApiMute:
- __VTPRINT( DEBUG_GEN, "VtUi.MrccatoCommand ERemConCoreApiMute" )
- HandleRemMuteChange( aButtonAct );
- default:
- // Other commands ignored.
- break;
- }
- __VTPRINTEXIT( "VtUi.MrccatoCommand" )
- }
-
-// Implementation of CVtUiAppUi::CVtUiAppUiMGVerifier
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CVtUiAppUiMGVerifier::NewLC
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CVtUiAppUiMGVerifier* CVtUiAppUi::CVtUiAppUiMGVerifier::NewLC(
- CVtUiAppUi& aAppUi, CCoeEnv& aCoeEnv )
- {
- CVtUiAppUiMGVerifier* self = new ( ELeave )
- CVtUiAppUiMGVerifier( aAppUi, aCoeEnv );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CVtUiAppUiMGVerifier::~CVtUiAppUiMGVerifier
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CVtUiAppUiMGVerifier::~CVtUiAppUiMGVerifier()
- {
- delete iManager;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CVtUiAppUiMGVerifier::VerifySelectionL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiAppUi::CVtUiAppUiMGVerifier::VerifySelectionL(
- const MDesCArray* aSelectedFiles )
- {
- TBool isOk( EFalse );
- if ( aSelectedFiles->MdcaCount() > 0 )
- {
- TVirtualPathPtr virtualPath(
- aSelectedFiles->MdcaPoint( 0 ), KDefaultContentObject );
-
- // not ptotected by default
- TInt isProtected = 0;
-
- TInt err = iManager->GetAttribute( EIsProtected,
- isProtected, virtualPath );
- if ( isProtected )
- {
- iAppUi.ShowDRMNotAllowedNoteL();
- }
- if ( err == KErrNone )
- {
- isOk = !isProtected;
- }
- }
- return isOk;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CVtUiAppUiMGVerifier::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppUi::CVtUiAppUiMGVerifier::ConstructL()
- {
- iManager = CManager::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppUi::CVtUiAppUiMGVerifier::CVtUiAppUiMGVerifier
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi::CVtUiAppUiMGVerifier::CVtUiAppUiMGVerifier(
- CVtUiAppUi& aAppUi, CCoeEnv& aCoeEnv )
- : iAppUi( aAppUi ), iCoeEnv( &aCoeEnv )
- {
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiBitmapManager.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,662 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiBitmapManager class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiBitmapManager.h"
-#include "VtUiLayout.h"
-#include "VtUiPanic.h"
-
-#include <aknsutils.h>
-#include <akniconutils.h>
-#include <fbs.h>
-
-// CONSTANTS
-
-// Granularity of bitmap manager array.
-const TInt KVtUiBitmapManagerGranularity = 16;
-
-// MODULE DATA STRUCTURES
-
-/**
-* CBitmapInfo instances hold information of a bitmap and its mask.
-* @since Series 60 2.8
-*/
-class CVtUiBitmapManager::CBitmapInfo
- : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- */
- inline CBitmapInfo(
- TVtUiBitmapPoolId aId );
-
- /**
- * Destructor.
- */
- ~CBitmapInfo();
-
- /**
- * Sets bitmap identifiers.
- * @param aBitmapId bitmap identifier.
- * @param aBitmapMaskId bitmap mask identifier.
- */
- inline void SetBitmaps(
- TVtUiBitmapId aBitmapId,
- TVtUiBitmapId aBitmapMaskId );
-
- /**
- * Sets bitmap identifier.
- * @param aBitmapId bitmap identifier.
- */
- inline void SetBitmap(
- TVtUiBitmapId aBitmapId );
-
- /**
- * Sets size.
- * @param aSize size of the bitmaps.
- */
- inline void SetSize( const TSize& aSize );
-
- /**
- * Sets aspect ratio preservation.
- * @param aPreserve ETrue if aspect ratio preserved.
- */
- inline void SetAspectRatio( TBool aPreserve );
-
- /**
- * Sets default color required / not required for this bitmap.
- * By default, default color is not required.
- * @param aRequireDefaultColor ETrue if default color is required,
- * EFalse otherwise.
- */
- inline void SetDefaultColorRequired(
- TBool aRequireDefaultColor );
-
- /**
- * Sets default color.
- * @param aDefaultColor default color.
- */
- inline void SetDefaultColor( const TRgb& aDefaultColor );
-
- /**
- * Returns bitmap pool identifier.
- * @return bitmap pool identifier.
- */
- inline TVtUiBitmapPoolId BitmapPoolId() const;
-
- /**
- * Gets a bitmap and its mask.
- * @param aBitmap bitmap.
- * @param aBitmapMask bitmap mask.
- */
- inline void GetBitmap(
- CFbsBitmap*& aBitmap,
- CFbsBitmap*& aBitmapMask );
-
- /**
- * Resets bitmap information.
- */
- void Reset();
-
- /**
- * Constructs bitmap as far as possible.
- * @param aTmpFileName temporary file name,
- */
- void Require( TFileName& aTmpFileName );
-
- private:
-
- /**
- * Creates bitmaps using AVKON methods.
- * @param aTmpFileName temporary file name,
- */
- void DoCreateBitmapsL( TFileName& aTmpFileName );
-
- /**
- * Sets size to the bitmap using AVKON method.
- */
- void DoSetSize();
-
- private:
-
- // Bitmap pool identifier.
- TVtUiBitmapPoolId iBitmapPoolId;
-
- // Size has been defined.
- TBool iHasSize;
-
- // Size of the bitmap has been changed.
- TBool iSizeChanged;
-
- // Size of the bitmaps.
- TSize iSize;
-
- // ETrue if default color required.
- TBool iRequireDefaultColor;
-
- // Default color has been defined.
- TBool iHasDefaultColor;
-
- // Default color.
- TRgb iDefaultColor;
-
- // Bitmap identifier.
- TVtUiBitmapId iBitmapId;
-
- // Owned bitmap instance.
- CFbsBitmap* iBitmap;
-
- // Bitmap mask identifier.
- TVtUiBitmapId iBitmapMaskId;
-
- // Owned bitmap mask instance.
- CFbsBitmap* iBitmapMask;
-
- // ETrue if bitmaps have been created.
- TBool iDoCreateBitmaps;
-
- // ETrue if size has been set.
- TBool iDoSetSize;
-
- // ETrue if aspect ratio preservation has been updated.
- TBool iHasAspectRatioPreserve;
-
- // ETrue if aspect ratio should be preserved.
- TBool iAspectRatioPreserve;
-
- };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CVtUiBitmapManager
-// -----------------------------------------------------------------------------
-//
-CVtUiBitmapManager::CVtUiBitmapManager()
- : iBitmapArray( KVtUiBitmapManagerGranularity )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::~CVtUiBitmapManager
-// -----------------------------------------------------------------------------
-//
-CVtUiBitmapManager::~CVtUiBitmapManager()
- {
- iBitmapArray.ResetAndDestroy();
- iBitmapArray.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::AddBitmapsL
-// -----------------------------------------------------------------------------
-//
-TVtUiBitmapPoolId CVtUiBitmapManager::AddBitmapsL(
- TVtUiBitmapId aBitmapId,
- TVtUiBitmapId aBitmapMaskId,
- TBool aExpectDefaultColor )
- {
- iBitmapId++;
- CBitmapInfo* bitmapInfo = new ( ELeave ) CBitmapInfo( iBitmapId );
- CleanupStack::PushL( bitmapInfo );
- bitmapInfo->SetBitmaps( aBitmapId, aBitmapMaskId );
- bitmapInfo->SetDefaultColorRequired( aExpectDefaultColor );
- bitmapInfo->Require( iTmpFileName );
-
- User::LeaveIfError( iBitmapArray.Append( bitmapInfo ) );
- CleanupStack::Pop( bitmapInfo );
- return iBitmapId;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::AddBitmapL
-// -----------------------------------------------------------------------------
-//
-TVtUiBitmapPoolId CVtUiBitmapManager::AddBitmapL(
- TVtUiBitmapId aBitmapId,
- TBool aExpectDefaultColor )
- {
- iBitmapId++;
- CBitmapInfo* bitmapInfo = new ( ELeave ) CBitmapInfo( iBitmapId );
- CleanupStack::PushL( bitmapInfo );
- bitmapInfo->SetBitmap( aBitmapId );
- bitmapInfo->SetDefaultColorRequired( aExpectDefaultColor );
- bitmapInfo->Require( iTmpFileName );
-
- User::LeaveIfError( iBitmapArray.Append( bitmapInfo ) );
- CleanupStack::Pop( bitmapInfo );
- return iBitmapId;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::RemoveBitmap
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::RemoveBitmap(
- TVtUiBitmapPoolId aId )
- {
- const TInt pos = Find( aId );
- if ( pos != KErrNotFound )
- {
- CBitmapInfo* bitmapInfo = iBitmapArray[ pos ];
- iBitmapArray.Remove( pos );
- delete bitmapInfo;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::SetSize
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::SetSize(
- TVtUiBitmapPoolId aId,
- const TSize& aSize )
- {
- const TInt pos = Find( aId );
- if ( pos != KErrNotFound )
- {
- CBitmapInfo* bitmapInfo = iBitmapArray[ pos ];
- bitmapInfo->SetSize( aSize );
- bitmapInfo->Require( iTmpFileName );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::SetAspectRatio
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::SetAspectRatio(
- TVtUiBitmapPoolId aId,
- TBool aPreserve )
- {
- const TInt pos = Find( aId );
- if ( pos != KErrNotFound )
- {
- CBitmapInfo* bitmapInfo = iBitmapArray[ pos ];
- bitmapInfo->SetAspectRatio( aPreserve );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::SetSizeAndColor
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::SetSizeAndColor(
- TVtUiBitmapPoolId aId,
- const TSize& aSize,
- const TRgb& aDefaultColor )
- {
- const TInt pos = Find( aId );
- if ( pos != KErrNotFound )
- {
- CBitmapInfo* bitmapInfo = iBitmapArray[ pos ];
- bitmapInfo->SetSize( aSize );
- bitmapInfo->SetDefaultColor( aDefaultColor );
- bitmapInfo->Require( iTmpFileName );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::RequireBitmap
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::RequireBitmap( TVtUiBitmapPoolId aId )
- {
- const TInt pos = Find( aId );
- if ( pos != KErrNotFound )
- {
- CBitmapInfo* bitmapInfo = iBitmapArray[ pos ];
- bitmapInfo->Require( iTmpFileName );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::GetBitmaps
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::GetBitmaps(
- TVtUiBitmapPoolId aId,
- CFbsBitmap*& aBitmap,
- CFbsBitmap*& aBitmapMask )
- {
- aBitmap = NULL;
- aBitmapMask = NULL;
-
- const TInt pos = Find( aId );
- if ( pos != KErrNotFound )
- {
- CBitmapInfo* bitmapInfo = iBitmapArray[ pos ];
- bitmapInfo->GetBitmap( aBitmap, aBitmapMask );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::GetBitmap
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::GetBitmap(
- TVtUiBitmapPoolId aId,
- CFbsBitmap*& aBitmap )
- {
- CFbsBitmap* dummy = NULL;
- GetBitmaps( aId, aBitmap, dummy );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::InvalidateBitmaps
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::InvalidateBitmaps()
- {
- const TInt count = iBitmapArray.Count();
- for ( TInt index = 0; index < count; index++ )
- {
- CBitmapInfo* bitmapInfo = iBitmapArray[ index ];
- bitmapInfo->Reset();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::Find
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiBitmapManager::Find( TVtUiBitmapPoolId aId ) const
- {
- TInt result = KErrNotFound;
- const TInt count = iBitmapArray.Count();
- for ( TInt index = 0; index < count; index++ )
- {
- CBitmapInfo* bitmapInfo = iBitmapArray[ index ];
- if ( bitmapInfo->BitmapPoolId() == aId )
- {
- result = index;
- index = count; // out of the loop
- }
- }
-
- return result;
- }
-
-// Implementation of CBitmapInfo:
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::CBitmapInfo
-// -----------------------------------------------------------------------------
-//
-inline CVtUiBitmapManager::CBitmapInfo::CBitmapInfo(
- TVtUiBitmapPoolId aId )
- : iBitmapPoolId( aId ),
- iBitmapId( EVtUiBitmapNone ),
- iBitmapMaskId( EVtUiBitmapNone )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::~CBitmapInfo
-// -----------------------------------------------------------------------------
-//
-CVtUiBitmapManager::CBitmapInfo::~CBitmapInfo()
- {
- delete iBitmap;
- delete iBitmapMask;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::SetBitmaps
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiBitmapManager::CBitmapInfo::SetBitmaps(
- TVtUiBitmapId aBitmapId,
- TVtUiBitmapId aBitmapMaskId )
- {
- iBitmapId = aBitmapId;
- iBitmapMaskId = aBitmapMaskId;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::SetBitmap
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiBitmapManager::CBitmapInfo::SetBitmap(
- TVtUiBitmapId aBitmapId )
- {
- iBitmapId = aBitmapId;
- iBitmapMaskId = EVtUiBitmapNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::SetSize
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiBitmapManager::CBitmapInfo::SetSize(
- const TSize& aSize )
- {
- if ( iHasSize )
- {
- iSizeChanged = ( iSize != aSize );
- }
-
- iHasSize = ETrue;
- iSize = aSize;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::SetAspectRatio
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiBitmapManager::CBitmapInfo::SetAspectRatio( TBool aPreserve )
- {
- iHasAspectRatioPreserve = ETrue;
- iAspectRatioPreserve = aPreserve;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::SetDefaultColorRequired
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiBitmapManager::CBitmapInfo::SetDefaultColorRequired(
- TBool aRequireDefaultColor )
- {
- iRequireDefaultColor = aRequireDefaultColor;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::SetDefaultColor
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiBitmapManager::CBitmapInfo::SetDefaultColor(
- const TRgb& aDefaultColor )
- {
- __ASSERT_DEBUG( iRequireDefaultColor,
- VtUiPanic::Panic( EVtUiPanicDefaultColorRequireMismatch ) );
- iHasDefaultColor = ETrue;
- iDefaultColor = aDefaultColor;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::BitmapPoolId
-// -----------------------------------------------------------------------------
-//
-inline TVtUiBitmapPoolId CVtUiBitmapManager::CBitmapInfo::BitmapPoolId() const
- {
- return iBitmapPoolId;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::GetBitmap
-// -----------------------------------------------------------------------------
-//
-inline void CVtUiBitmapManager::CBitmapInfo::GetBitmap(
- CFbsBitmap*& aBitmap,
- CFbsBitmap*& aBitmapMask )
- {
- if ( iDoCreateBitmaps && iDoSetSize )
- {
- aBitmap = iBitmap;
- aBitmapMask = iBitmapMask;
- }
- else
- {
- aBitmap = NULL;
- aBitmapMask = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::Reset
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::CBitmapInfo::Reset()
- {
- delete iBitmap;
- iBitmap = NULL;
-
- delete iBitmapMask;
- iBitmapMask = NULL;
-
- iSize = TSize();
- iHasSize = EFalse;
- iSizeChanged = EFalse;
- iHasDefaultColor = EFalse;
- iDefaultColor = TRgb();
- iDoCreateBitmaps = EFalse;
- iDoSetSize = EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::Require
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::CBitmapInfo::Require( TFileName& aTmpFileName )
- {
- // Bitmap can be created when the following has been satisfied
- // a) It has not been created yet and default color is not required,
- // b) It has not been created yet and default color is required and
- // default color is available.
- if ( !iDoCreateBitmaps && !( iRequireDefaultColor && !iHasDefaultColor ) )
- {
- TRAP_IGNORE( DoCreateBitmapsL( aTmpFileName ) );
- }
-
- DoSetSize();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::DoCreateBitmapsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::CBitmapInfo::DoCreateBitmapsL(
- TFileName& aTmpFileName )
- {
- if ( !iDoCreateBitmaps )
- {
- TInt bitmapIndex = KErrNotFound;
-
- VtUiLayout::Resolve( iBitmapId, aTmpFileName, bitmapIndex );
-
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- TAknsItemID skinId = VtUiLayout::MapBitmapToSkinId( iBitmapId );
-
- TAknsItemID colorId = KAknsIIDNone;
- TInt colorIndex = KErrNotFound;
- TBool colorAvailable = EFalse;
- if ( iHasDefaultColor )
- {
- colorAvailable =
- VtUiLayout::MapBitmapToColorId(
- iBitmapId, colorId, colorIndex );
- }
-
- if ( iBitmapMaskId != EVtUiBitmapNone )
- {
- TInt bitmapMaskIndex = KErrNotFound;
-#ifdef _DEBUG
- TFileName fileName;
- VtUiLayout::Resolve( iBitmapMaskId, fileName, bitmapMaskIndex );
- __ASSERT_ALWAYS( aTmpFileName == fileName,
- VtUiPanic::Panic( EVtUiPanicMismatchInBitmapFileNames ) );
-#else
- VtUiLayout::Resolve( iBitmapMaskId, aTmpFileName, bitmapMaskIndex );
-#endif
- if ( colorAvailable )
- {
- AknsUtils::CreateColorIconL(
- skin, skinId,
- colorId, colorIndex,
- iBitmap, iBitmapMask,
- aTmpFileName,
- bitmapIndex,
- bitmapMaskIndex,
- iDefaultColor );
- }
- else
- {
- AknsUtils::CreateIconL(
- skin, skinId,
- iBitmap, iBitmapMask,
- aTmpFileName,
- bitmapIndex,
- bitmapMaskIndex );
- }
- }
- else
- {
- // Only normal skinning for these.
- AknsUtils::CreateIconL(
- skin,
- skinId,
- iBitmap,
- aTmpFileName,
- bitmapIndex );
- }
-
- iDoCreateBitmaps = ETrue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBitmapManager::CBitmapInfo::DoSetSize
-// -----------------------------------------------------------------------------
-//
-void CVtUiBitmapManager::CBitmapInfo::DoSetSize()
- {
- if ( iDoCreateBitmaps && iHasSize && ( !iDoSetSize || iSizeChanged ) )
- {
- iSizeChanged = EFalse;
- TInt retBitmap = KErrNone;
- if ( !iHasAspectRatioPreserve )
- {
- retBitmap = AknIconUtils::SetSize( iBitmap, iSize );
- }
- else
- {
- TScaleMode scaleMode =
- iAspectRatioPreserve ?
- EAspectRatioPreserved :
- EAspectRatioNotPreserved;
- retBitmap = AknIconUtils::SetSize( iBitmap, iSize, scaleMode );
- }
-
- iDoSetSize = ( retBitmap == KErrNone );
- }
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiBlankControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiBlankControl control class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiBlankControl.h"
-#include <AknsUtils.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankControl::CVtUiBlankControl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiBlankControl::CVtUiBlankControl()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankControl::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankControl::ConstructL( const TRect& aRect )
- {
- CreateWindowL();
- MakeVisible( EFalse );
- SetRect( aRect );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankControl::~CVtUiBlankControl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiBlankControl::~CVtUiBlankControl()
- {
- AknsUtils::DeregisterControlPosition( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankControl::SetActive
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankControl::SetActive( TBool aStatus )
- {
- iBlankerActive = aStatus;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankControl::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVtUiBlankControl::OfferKeyEventL(
- const TKeyEvent& /*aKeyEvent*/,
- TEventCode /*aType*/ )
- {
- return iBlankerActive ? EKeyWasConsumed : EKeyWasNotConsumed;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankControl::Draw
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankControl::Draw( const TRect& /*aRect*/ ) const
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankControl::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankControl::SizeChanged()
- {
- AknsUtils::RegisterControlPosition( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankControl::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankControl::PositionChanged()
- {
- AknsUtils::RegisterControlPosition( this );
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiBlankDialog.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiBlankDialog class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiBlankDialog.h"
-#include <videotelui.rsg>
-#include <avkon.hrh>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::CVtUiBlankDialog
-// -----------------------------------------------------------------------------
-//
-CVtUiBlankDialog::CVtUiBlankDialog(
- CEikDialog** aSelfPtr )
- : iSelfPtr( aSelfPtr )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::~CVtUiBlankDialog
-// -----------------------------------------------------------------------------
-//
-CVtUiBlankDialog::~CVtUiBlankDialog()
- {
- if ( iSelfPtr )
- {
- *iSelfPtr = NULL;
- iSelfPtr = NULL;
- }
-
- if ( iRequest )
- {
- User::RequestComplete( iRequest, KErrCancel );
- iRequest = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::ExecuteDialogNoWaitLD
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankDialog::ExecuteDialogNoWaitLD()
- {
- ExecuteLD( R_VIDEOTELUI_BLANK_NOWAIT_DLG );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::ExecuteDialogLD
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankDialog::ExecuteDialogLD(
- TRequestStatus* aRequest )
- {
- if ( !aRequest )
- {
- TInt error = KErrNone;
- iError = &error;
-
- ExecuteLD( R_VIDEOTELUI_BLANK_DLG );
- User::LeaveIfError( error );
- }
- else
- {
- // It's assumed that either ExecuteLD leaves or
- // then dialog is started (& dialog is not immediately deleted).
- *aRequest = KRequestPending;
- ExecuteLD( R_VIDEOTELUI_BLANK_NOWAIT_DLG );
- iRequest = aRequest;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::Complete
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankDialog::Complete( const TInt aError )
- {
- if ( iError )
- {
- *iError = aError;
- }
-
- if ( iRequest )
- {
- User::RequestComplete( iRequest, aError );
- iRequest = NULL;
- }
-
- delete this;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::PreLayoutDynInitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankDialog::PreLayoutDynInitL()
- {
- MakeVisible( EFalse );
- ButtonGroupContainer().MakeVisible( EFalse );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::PostLayoutDynInitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankDialog::PostLayoutDynInitL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiBlankDialog::OkToExitL( TInt aButtonId )
- {
- if ( aButtonId != EEikBidCancel )
- {
- return EFalse;
- }
- else
- {
- return CEikDialog::OkToExitL( aButtonId );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiBlankDialog::Draw
-// -----------------------------------------------------------------------------
-//
-void CVtUiBlankDialog::Draw( const TRect& /*aRect*/ ) const
- {
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiContextControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Implementation of the CVtUiContextControl control class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiContextControl.h"
-#include "VtUiLayout.h"
-#include <aknsutils.h>
-#include <aknsdrawutils.h>
-#include <cvtlogger.h>
-#include <featmgr.h>
-#include "CVtUiAppUi.h"
-#include "tvtuistates.h"
-#include <aknsutils.h>
-#include "tVtuifeaturevariation.h"
-
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::NewL
-// Constructor that may leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiContextControl* CVtUiContextControl::NewL(
- CVtUiBitmapManager& aBitmapManager, CVtUiAppUi& aAppUi,
- TVtUiStates& aUiStates)
- {
- __VTPRINTENTER( "CtxCtrl.NewL" )
- CVtUiContextControl* self = new ( ELeave ) CVtUiContextControl(
- aBitmapManager, aAppUi, aUiStates );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "CtxCtrl.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::~CVtUiContextControl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiContextControl::~CVtUiContextControl()
- {
- __VTPRINTENTER( "CtxCtrl.~" )
- BitmapManager().RemoveBitmap( iBackgroundId );
- BitmapManager().RemoveBitmap( iBlindId );
- BitmapManager().RemoveBitmap( iBlindMaskId );
- if ( iAppUi.EventMonitor() )
- {
- iAppUi.EventMonitor()->RemoveObserver( this );
- }
- __VTPRINTEXIT( "CtxCtrl.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CVtUiContextControl::HandlePointerEventL(
- const TPointerEvent& aPointerEvent)
- {
- __VTPRINTENTER( "CtxCtrl.HandlePointerEventL" )
- __VTPRINT2( DEBUG_GEN, "CtxCtrl.HandlePtr ok= %d", iOkToSwapOnButtonUp )
- if ( AknLayoutUtils::PenEnabled() )
- {
- if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
- {
- TRect window( Size() );
- if ( !window.Contains( aPointerEvent.iPosition ) )
- {
- iOkToSwapOnButtonUp = ETrue;
- SetGloballyCapturing( EFalse );
- SetPointerCapture( EFalse);
- }
- else if( iOkToSwapOnButtonUp )
- {
- if ( !iUiStates.IsWhiteBalanceModeOn() &&
- !iUiStates.IsColorToneModeOn() &&
- !iUiStates.IsZoomModeOn() &&
- !iUiStates.IsCaptureModeOn() &&
- !iUiStates.IsContrastModeOn() &&
- !iUiStates.IsBrightnessModeOn() &&
- !iUiStates.IsVolumeModeOn() )
- {
- if ( !( iAppUi.CanSwapImagePlaces() ) )
- {
- return;
- }
- iAppUi.HandleCommandL( EVtUiCmdSwapImagesPlaces );
- }
- }
- else
- {
- SetGloballyCapturing( EFalse );
- SetPointerCapture( EFalse);
- iOkToSwapOnButtonUp = ETrue;
- }
- }
- }
- __VTPRINTEXIT( "CtxCtrl.HandlePointerEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::HandleSizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiContextControl::HandleSizeChanged()
- {
- __VTPRINTENTER( "CtxCtrl.HandleSizeChanged" )
- TRect screen;
- VtUiLayout::GetApplicationParentRect( screen );
-
- TAknWindowLineLayout control;
- VtUiLayout::GetFirstWindowBackgroundLayout( control );
- TAknLayoutRect backLayout;
- backLayout.LayoutRect( screen, control );
- BitmapManager().SetSize( iBackgroundId, backLayout.Rect().Size() );
-
- const TPoint positionRelativeToScreen( -PositionRelativeToScreen() );
-
- VtUiLayout::GetFirstWindowStreamDisabledIconLayout( control );
- TAknLayoutRect blindLayout;
- blindLayout.LayoutRect( screen, control );
- iBlindRect = blindLayout.Rect();
- iBlindRect.Move( positionRelativeToScreen );
- BitmapManager().SetSize( iBlindId, iBlindRect.Size() );
- BitmapManager().SetSize( iBlindMaskId, iBlindRect.Size() );
-
- VtUiLayout::GetFirstWindowStreamLayout( control );
- TAknLayoutRect streamLayout;
- streamLayout.LayoutRect( screen, control );
- iStreamRect = streamLayout.Rect();
- iStreamRect.Move( positionRelativeToScreen ) ;
- __VTPRINTEXIT( "CtxCtrl.HandleSizeChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::StreamBlitPosition
-// -----------------------------------------------------------------------------
-//
-TPoint CVtUiContextControl::StreamBlitPosition() const
- {
- __VTPRINTENTER( "CtxCtrl.StreamBlitPosition" )
- __VTPRINTEXIT( "CtxCtrl.StreamBlitPosition" )
- return iStreamRect.iTl;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContextControl::StreamClippingRect
-// ---------------------------------------------------------------------------
-//
-TRect CVtUiContextControl::StreamClippingRect() const
- {
- __VTPRINTENTER( "CtxCtrl.StreamClippingRect" )
- __VTPRINTEXIT( "CtxCtrl.StreamClippingRect" )
- return iStreamRect;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::DrawColoredBackground
-// -----------------------------------------------------------------------------
-//
-void CVtUiContextControl::DrawColoredBackground( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "CtxCtrl.DrawColoredBackground" )
- CVtUiVideoControlBase::DrawColoredBackground( aGc );
- // Draw background image
- CFbsBitmap* bg = NULL;
- CFbsBitmap* bgMask = NULL;
- BitmapManager().GetBitmaps( iBackgroundId, bg, bgMask );
- if ( bg )
- {
- const TPoint origin;
- const TRect rect( origin, bg->SizeInPixels() );
- if ( bgMask )
- {
- aGc.BitBltMasked( origin, bg, rect, bgMask, ETrue );
- }
- else
- {
- aGc.BitBlt( origin, bg );
- }
- }
- __VTPRINTEXIT( "CtxCtrl.DrawColoredBackground" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContextControl::BlindImage
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CVtUiContextControl::BlindImage() const
- {
- __VTPRINTENTER( "CtxCtrl.BlindImage" )
- __VTPRINTEXIT( "CtxCtrl.BlindImage" )
- return Bitmap( iBlindId );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContextControl::BlindMask
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CVtUiContextControl::BlindMask() const
- {
- __VTPRINTENTER( "CtxCtrl.BlindImage" )
- __VTPRINTEXIT( "CtxCtrl.BlindImage" )
- return Bitmap( iBlindMaskId );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContextControl::BlindBlitPosition
-// ---------------------------------------------------------------------------
-//
-TPoint CVtUiContextControl::BlindBlitPosition() const
- {
- __VTPRINTENTER( "CtxCtrl.BlindBlitPosition" )
- __VTPRINTEXIT( "CtxCtrl.BlindBlitPosition" )
- return iBlindRect.iTl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::CVtUiContextControl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiContextControl::CVtUiContextControl(
- CVtUiBitmapManager& aBitmapManager,
- CVtUiAppUi& aAppUi,
- TVtUiStates& aUiStates )
- : CVtUiVideoControlBase( aBitmapManager ),
- iAppUi( aAppUi ),
- iUiStates( aUiStates )
- {
- __VTPRINTENTER( "CtxCtrl.ctor" )
- SetRenderingHint( ENoWaitingText );
- SetRenderingHint( EColoredBackground );
- __VTPRINTEXIT( "CtxCtrl.ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiContextControl::ConstructL()
- {
- __VTPRINTENTER( "CtxCtrl.ConstructL" )
- BaseConstructL();
- iBackgroundId =
- BitmapManager().AddBitmapsL(
- EVtUiBitmap_qgn_graf_call_video_out_bg,
- EVtUiBitmap_qgn_graf_call_video_out_bg_mask,
- EFalse );
- BitmapManager().SetAspectRatio( iBackgroundId, EFalse );
- iBlindId =
- BitmapManager().AddBitmapL(
- EVtUiBitmap_qgn_indi_call_video_blind_out,
- EFalse );
- BitmapManager().SetAspectRatio( iBlindId, EFalse );
- iBlindMaskId =
- BitmapManager().AddBitmapL(
- EVtUiBitmap_qgn_indi_call_video_blind_out_mask_icon,
- EFalse );
- BitmapManager().SetAspectRatio( iBlindMaskId, EFalse );
- SetNonFocusing();
- if ( iAppUi.EventMonitor() )
- {
- iAppUi.EventMonitor()->AddObserverL( this );
- }
-
- iOkToSwapOnButtonUp = ETrue;
- __VTPRINTEXIT( "CtxCtrl.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::HandleWsEventL
-// -----------------------------------------------------------------------------
-//
-void CVtUiContextControl::HandleWsEventL( const TWsEvent& aEvent,
- CCoeControl* aDestination )
- {
- __VTPRINTENTER( "CVtUiContextControl.HandleWsEventL" )
- if( aEvent.Type() == EEventPointer )
- {
- // Touch outside of volume popup, close volume popup
- if ( aEvent.Pointer()->iType == TPointerEvent::EButton1Down )
- {
- if ( aDestination == this )
- {
- iOkToSwapOnButtonUp = !iUiStates.IsZoomModeOn() &&
- !iUiStates.IsCaptureModeOn() &&
- !iUiStates.IsContrastModeOn() &&
- !iUiStates.IsBrightnessModeOn() &&
- !iUiStates.IsVolumeModeOn();
- SetGloballyCapturing( ETrue );
- SetPointerCapture( ETrue );
- }
- }
- }
- __VTPRINTEXIT( "CVtUiContextControl.HandleWsEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiContextControl::LayoutRemoteVideo
-// -----------------------------------------------------------------------------
-//
-void CVtUiContextControl::LayoutRemoteVideo()
- {
- __VTPRINTENTER( "CVtUiContextControl.LayoutRemoteVideo" )
- if ( NULL != iRemoteVideoControl )
- {
- TRect rectRemoteVideo(StreamClippingRect());
- rectRemoteVideo.Move(PositionRelativeToScreen());
- iRemoteVideoControl->SetExtent(rectRemoteVideo.iTl,rectRemoteVideo.Size());
- }
- __VTPRINTEXIT( "CVtUiContextControl.LayoutRemoteVideo" )
- }
-// End of File
--- a/vtuis/videotelui/src/CVtUiDoc.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiDoc document class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiDoc.h"
-#include "CVtUiAppUi.h"
-#include <apgwgnam.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiDoc::CVtUiDoc
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiDoc::CVtUiDoc( CEikApplication& aApp )
- : CAknDocument( aApp )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiDoc::CreateAppUiL
-// Creates application UI instance.
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CVtUiDoc::CreateAppUiL()
- {
- return new ( ELeave ) CVtUiAppUi;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiDoc::UpdateTaskNameL
-// Creates application UI instance.
-// -----------------------------------------------------------------------------
-//
-void CVtUiDoc::UpdateTaskNameL( CApaWindowGroupName* aWgName )
- {
- CAknDocument::UpdateTaskNameL( aWgName );
- aWgName->SetHidden( ETrue );
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiExecuteCmdDialog.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,312 +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: Implementation of the CVtUiExecuteCmdDialog class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiExecuteCmdDialog.h"
-#include "MVtUiEngineCommandManager.h"
-#include <mvtengcommandhandler.h>
-#include <cvtlogger.h>
-
-// MODULE DATA STRUCTURES
-
-/**
-* Active object to perform asynchronous commands.
-* @since Series 60 2.6
-*/
-class CVtUiExecuteCmdDialog::CActiveCmd
- : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Constructor.
- */
- CActiveCmd(
- CVtUiExecuteCmdDialog& aDialog,
- MVtEngCommandHandler& aCommandHandler,
- TVtEngCommandId aCommand,
- TDesC8* aParams );
-
- /**
- * Destructor.
- */
- ~CActiveCmd();
-
- public: // New functions
-
- /**
- * Starts active object. Command will be performed in RunL.
- */
- void Start();
-
- /**
- * Checks if command has been performed.
- * @return ETrue if command has been performed.
- */
- TBool CommandPerformed() const;
-
- private:
-
- /**
- * @see CActive::RunL
- */
- void RunL();
-
- /**
- * @see CActive::DoCancel.
- */
- void DoCancel();
-
- /**
- * @see CActive::RunError.
- */
- TInt RunError( TInt aResult );
-
- private:
-
- // Ref to dialog.
- CVtUiExecuteCmdDialog& iDialog;
-
- // Ref to command handler.
- MVtEngCommandHandler& iCommandHandler;
-
- // Command to be executed.
- TVtEngCommandId iCommand;
-
- // Owned parameters.
- TDesC8* iCommandParams;
-
- // ETrue if command has been performed.
- TBool iCommandPerformed;
-
- };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::CVtUiExecuteCmdDialog
-// -----------------------------------------------------------------------------
-//
-CVtUiExecuteCmdDialog::CVtUiExecuteCmdDialog(
- CEikDialog** aSelfPtr,
- MVtEngCommandHandler& aCommandHandler,
- MVtUiEngineCommandManager& aCommandManager )
- : CVtUiBlankDialog( aSelfPtr ),
- iCommandHandler( aCommandHandler ),
- iCommandManager( aCommandManager )
- {
- __VTPRINT2( DEBUG_GEN, "Ui.Dlg.Ctor this=%d", (TInt)this )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::~CVtUiExecuteCmdDialog
-// -----------------------------------------------------------------------------
-//
-CVtUiExecuteCmdDialog::~CVtUiExecuteCmdDialog()
- {
- __VTPRINTENTER( "VtUiExCmdDlg.~" )
- __VTPRINT2( DEBUG_GEN, "VtUiExCmdDlg.~ this=%d", (TInt)this )
- if ( iActiveCmd )
- {
- if ( !iCommandCompleted && iActiveCmd->CommandPerformed() )
- {
- iCommandHandler.CancelCommand( iCommand ); // ignore error
- }
- }
- delete iCommandParams;
- delete iActiveCmd;
-
- iCommandManager.RemoveObserver( *this );
- __VTPRINTEXIT( "VtUiExCmdDlg.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::ExecuteCmdLD
-// -----------------------------------------------------------------------------
-//
-void CVtUiExecuteCmdDialog::ExecuteCmdLD(
- const TVtEngCommandId aCommandId,
- TDesC8* aParams,
- TRequestStatus* aRequest )
- {
- __VTPRINTENTER( "VtUiExCmdDlg.ExecuteCmd" )
- __VTPRINT2( DEBUG_GEN, "Ui.Dlg.Exec this=%d", (TInt)this )
- iCommand = aCommandId;
- CleanupStack::PushL( this );
- if ( aParams )
- {
- iCommandParams = aParams->AllocL();
- }
-
- iCommandManager.AddObserverL( *this );
- CleanupStack::Pop( this );
-
- CVtUiBlankDialog::ExecuteDialogLD( aRequest );
- __VTPRINTEXIT( "VtUiExCmdDlg.ExecuteCmd" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::PostLayoutDynInitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiExecuteCmdDialog::PostLayoutDynInitL()
- {
- __VTPRINTENTER( "VtUiExCmdDlg.PostL" )
- iActiveCmd =
- new ( ELeave ) CActiveCmd(
- *this, iCommandHandler, iCommand, iCommandParams );
- iActiveCmd->Start();
- __VTPRINTEXITR( "VtUiExCmdDlg.PostL this=%d", (TInt)this )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::HandleVTCommandPerformedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiExecuteCmdDialog::HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError )
- {
- __VTPRINTENTER( "VtUiExCmdDlg.HandleVTCommandPerformed" )
- __VTPRINT2( DEBUG_GEN, "VtUiExCmdDlg.cmd.%d", aCommand )
- __VTPRINT2( DEBUG_GEN, "VtUiExCmdDlg.err.%d", aError )
- if ( iActiveCmd && ( aCommand == iCommand ) )
- {
- if ( iActiveCmd->CommandPerformed() && !iCommandCompleted )
- {
- __VTPRINT( DEBUG_GEN, "VtUiExCmdDlg.match" )
- iCommandCompleted = ETrue;
- // Corrupted images may leave during initialization, thus we have
- // to mask out errors when they happen during share initialize.
- // Error code is handled correctly in CVtUiAppUi::CEventObserver::
- // HandleVTCommandPerformedL() method, thus it will not be ignored.
- if ( aCommand == KVtEngInitializeShareImage )
- {
- Complete( KErrNone );
- }
- else
- {
- Complete( aError );
- }
- }
- }
- __VTPRINTEXIT( "VtUiExCmdDlg.HandleVTCommandPerformed" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::HandleExecuteFailed
-// -----------------------------------------------------------------------------
-//
-void CVtUiExecuteCmdDialog::HandleExecuteFailed( TInt aResult )
- {
- __VTPRINT3( DEBUG_GEN, "VtUiExCmdDlg.Fail this=%d res=%d",
- (TInt)this, aResult )
- Complete( aResult );
- }
-
-// Implementation of CVtUiExecuteCmdDialog::CActiveCmd:
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::CActiveCmd::CActiveCmd
-// -----------------------------------------------------------------------------
-//
-CVtUiExecuteCmdDialog::CActiveCmd::CActiveCmd(
- CVtUiExecuteCmdDialog& aDialog,
- MVtEngCommandHandler& aCommandHandler,
- TVtEngCommandId aCommand,
- TDesC8* aParams)
- : CActive( CActive::EPriorityHigh ),
- iDialog( aDialog ),
- iCommandHandler( aCommandHandler ),
- iCommand( aCommand ),
- iCommandParams( aParams )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::CActiveCmd::~CActiveCmd
-// -----------------------------------------------------------------------------
-//
-CVtUiExecuteCmdDialog::CActiveCmd::~CActiveCmd()
- {
- __VTPRINT2( DEBUG_GEN, "VtUiExCmdDlgCmd.Dtor this=%d", (TInt)this )
- Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::CActiveCmd::Start
-// -----------------------------------------------------------------------------
-//
-void CVtUiExecuteCmdDialog::CActiveCmd::Start()
- {
- __VTPRINTENTER( "VtUiExCmdDlgCmd.Start" )
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- SetActive();
- __VTPRINTEXITR( "VtUiExCmdDlgCmd.Start this=%d", (TInt)this )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::CActiveCmd::CommandPerformed
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiExecuteCmdDialog::CActiveCmd::CommandPerformed() const
- {
- __VTPRINT3( DEBUG_GEN, "VtUiExCmdDlgCmd.Perf this=%d,cmd=%d",
- (TInt)this, iCommandPerformed )
- return iCommandPerformed;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::CActiveCmd::RunL
-// -----------------------------------------------------------------------------
-//
-void CVtUiExecuteCmdDialog::CActiveCmd::RunL()
- {
- __VTPRINTENTER( "VtUiExCmdDlgCmd.RunL" )
- iCommandHandler.ExecuteL( iCommand, iCommandParams );
- iCommandPerformed = ETrue;
- __VTPRINTEXITR( "VtUiExCmdDlgCmd.RunL this=%d", (TInt)this )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::CActiveCmd::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVtUiExecuteCmdDialog::CActiveCmd::DoCancel()
- {
- __VTPRINT2( DEBUG_GEN, "VtUiExCmdDlgCmd.DoCnl this=%d", (TInt)this )
- // Request is completed immediately.
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiExecuteCmdDialog::CActiveCmd::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiExecuteCmdDialog::CActiveCmd::RunError( TInt aResult )
- {
- __VTPRINTENTER( "VtUiExCmdDlgCmd.RunError" )
- // Exception was raised in RunL. Inform the dialog to close itself.
- iDialog.HandleExecuteFailed( aResult );
- __VTPRINTEXITR( "VtUiExCmdDlgCmd.RunError this=%d", (TInt)this )
- return KErrNone;
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiMainControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +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: Implementation of the CVtUiMainControl control class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiMainControl.h"
-#include "VtUiLayout.h"
-#include <aknsutils.h>
-#include <aknsdrawutils.h>
-#include <cvtlogger.h>
-#include <featmgr.h>
-#include "CVtUiAppUi.h"
-#include "tvtuistates.h"
-#include <aknsutils.h>
-#include "tVtuifeaturevariation.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::NewL
-// -----------------------------------------------------------------------------
-CVtUiMainControl* CVtUiMainControl::NewL( CVtUiBitmapManager& aBitmapManager,
- TVtUiStates& aUiStates )
- {
- __VTPRINTENTER( "MainCtrl.NewL" )
- CVtUiMainControl* self =
- new ( ELeave ) CVtUiMainControl( aBitmapManager, aUiStates );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "MainCtrl.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::CVtUiMainControl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiMainControl::CVtUiMainControl( CVtUiBitmapManager& aBitmapManager,
- TVtUiStates& aUiStates ) : CVtUiVideoControlBase( aBitmapManager ),
- iUiStates ( aUiStates )
- {
- __VTPRINTENTER( "MainCtrl.Ctor" )
- SetRenderingHint( ESkinnedBackground );
- __VTPRINTEXIT( "MainCtrl.Ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiMainControl::ConstructL()
- {
- __VTPRINTENTER( "MainCtrl.ConstructL" )
- BaseConstructL();
- iBlindId =
- BitmapManager().AddBitmapL(
- EVtUiBitmap_qgn_indi_call_video_blind_in,
- EFalse );
- BitmapManager().SetAspectRatio( iBlindId, EFalse );
- iBlindMaskId =
- BitmapManager().AddBitmapL(
- EVtUiBitmap_qgn_indi_call_video_blind_in_mask_icon,
- EFalse );
- BitmapManager().SetAspectRatio( iBlindMaskId, EFalse );
- __VTPRINTEXIT( "MainCtrl.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::~CVtUiMainControl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiMainControl::~CVtUiMainControl()
- {
- __VTPRINTENTER( "MainCtrl.~" )
- BitmapManager().RemoveBitmap( iBlindId );
- BitmapManager().RemoveBitmap( iBlindMaskId );
- __VTPRINTEXIT( "MainCtrl.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::HandleSizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiMainControl::HandleSizeChanged()
- {
- __VTPRINTENTER( "MainCtrl.HandleSizeChanged" )
- const TRect mainPaneRect( Rect() );
-
- // blind icon and mask
- TAknWindowLineLayout blind;
- VtUiLayout::GetSecondWindowDisabledIconLayout( blind );
- iBlindLayout.LayoutRect( mainPaneRect, blind );
- const TSize blindSize( iBlindLayout.Rect().Size() );
- BitmapManager().SetSize( iBlindId, blindSize );
- BitmapManager().SetSize( iBlindMaskId, blindSize );
-
- // stream
- TAknWindowLineLayout stream;
- VtUiLayout::GetSecondWindowStreamWholeLayout( stream,
- iUiStates.IsToolbarAvailable(), iSQCifRemote );
-
- iStreamLayoutRect.LayoutRect( mainPaneRect, stream );
-
- __VTPRINTEXIT( "MainCtrl.HandleSizeChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::DrawWaitingText
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiMainControl::DrawWaitingText( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "MainCtrl.DrawWaitingText" )
- TBool wasDrawn( EFalse );
- if ( !iSQCifRemote)
- {
- wasDrawn = CVtUiVideoControlBase::DrawWaitingText( aGc );
- }
- __VTPRINTEXITR( "MainCtrl.DrawWaitingText %d", wasDrawn )
- return wasDrawn;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::StreamBlitPosition
-// -----------------------------------------------------------------------------
-//
-TPoint CVtUiMainControl::StreamBlitPosition() const
- {
- __VTPRINTENTER( "MainCtrl.StreamBlitPosition" )
- const TSize videoSize( iStreamBitmap->SizeInPixels() );
- const TSize streamSize( iStreamLayoutRect.Rect().Size() );
- __VTPRINTEXIT( "MainCtrl.StreamBlitPosition" )
- return AdjustPointForDP( iStreamLayoutRect.Rect().iTl );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::StreamClippingRect
-// -----------------------------------------------------------------------------
-//
-TRect CVtUiMainControl::StreamClippingRect() const
- {
- __VTPRINTENTER( "MainCtrl.StreamClippingRect" )
- __VTPRINTEXIT( "MainCtrl.StreamClippingRect" )
- return AdjustRectForDP( iStreamLayoutRect.Rect() );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::BlindImage
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap* CVtUiMainControl::BlindImage() const
- {
- __VTPRINTENTER( "MainCtrl.BlindImage" )
- __VTPRINTEXIT( "MainCtrl.BlindImage" )
- return Bitmap( iBlindId );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::BlindMask
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap* CVtUiMainControl::BlindMask() const
- {
- __VTPRINTENTER( "MainCtrl.BlindMask" )
- __VTPRINTEXIT( "MainCtrl.BlindMask" )
- return Bitmap( iBlindMaskId );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMainControl::BlindBlitPosition
-// ---------------------------------------------------------------------------
-//
-TPoint CVtUiMainControl::BlindBlitPosition() const
- {
- __VTPRINTENTER( "CVtUiMainControl.BlindBlitPosition" )
- __VTPRINTEXIT( "CVtUiMainControl.BlindBlitPosition" )
- return iBlindLayout.Rect().iTl;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMainControl::WaitingTextLayout
-// ---------------------------------------------------------------------------
-//
-TAknTextLineLayout CVtUiMainControl::WaitingTextLayout( TInt aLine )
- {
- __VTPRINTENTER( "MainCtrl.WaitingTextLayout" )
- TAknTextLineLayout textLayout;
- VtUiLayout::GetSecondWindowWaitingTextLayout( textLayout,
- aLine ? EFalse : ETrue );
- __VTPRINTEXIT( "MainCtrl.WaitingTextLayout" )
- return textLayout;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::SupportSQCif
-// -----------------------------------------------------------------------------
-//
-void CVtUiMainControl::SupportSQCif( TBool aIsSupported )
- {
- __VTPRINTENTER( "MainCtrl.SupportSQCif" )
- const TBool layoutUpdateRequired( aIsSupported != iSQCifRemote );
- iSQCifRemote = aIsSupported;
- if ( layoutUpdateRequired )
- {
- HandleSizeChanged();
- }
- __VTPRINTEXITR( "MainCtrl.SupportSQCif %d", iSQCifRemote )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::LayoutRemoteVideo
-// -----------------------------------------------------------------------------
-//
-void CVtUiMainControl::LayoutRemoteVideo( )
- {
- __VTPRINTENTER( "MainCtrl.LayoutRemoteVideo" )
- if ( NULL != iRemoteVideoControl )
- {
- TRect rectRemoteVideo(StreamClippingRect());
- rectRemoteVideo.Move(PositionRelativeToScreen());
- iRemoteVideoControl->SetExtent(rectRemoteVideo.iTl,rectRemoteVideo.Size());
- }
- __VTPRINTEXIT( "MainCtrl.LayoutRemoteVideo" )
- }
-// End of File
--- a/vtuis/videotelui/src/CVtUiMutedControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiMutedControl control class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiMutedControl.h"
-#include "VtUiLayout.h"
-#include <eiklabel.h>
-#include <aknsutils.h>
-#include <aknsdrawutils.h>
-#include <stringloader.h>
-#include <videotelui.rsg>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::CVtUiMutedControl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiMutedControl::CVtUiMutedControl()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiMutedControl::ConstructL()
- {
- HBufC* mutedText =
- StringLoader::LoadLC( R_VIDEOTELUI_QTN_INCAL_MUTED_PANE );
-
- iMutedLabel = new ( ELeave ) CEikLabel;
- iMutedLabel->SetContainerWindowL( *this );
- iMutedLabel->SetTextL( *mutedText );
-
- CleanupStack::PopAndDestroy( mutedText );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::~CVtUiMutedControl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiMutedControl::~CVtUiMutedControl()
- {
- AknsUtils::DeregisterControlPosition( this );
-
- delete iMutedLabel;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CVtUiMutedControl::HandleResourceChange(
- TInt aType )
- {
- CCoeControl::HandleResourceChange( aType );
-
- if ( aType == KAknsMessageSkinChange )
- {
- SizeChanged();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::Draw
-// -----------------------------------------------------------------------------
-//
-void CVtUiMutedControl::Draw( const TRect& /*aRect*/ ) const
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiMutedControl::SizeChanged()
- {
- AknsUtils::RegisterControlPosition( this );
-
- TRect naviPane( Rect() );
- if ( naviPane.IsEmpty() )
- {
- return;
- }
-
- TAknTextLineLayout label;
- VtUiLayout::GetMutedTextLayout( label );
-
- AknLayoutUtils::LayoutLabel( iMutedLabel, naviPane, label );
-
- // Update label color
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- TRgb skinColor;
-
- TInt error =
- AknsUtils::GetCachedColor(
- skin,
- skinColor,
- KAknsIIDQsnTextColors,
- EAknsCIQsnTextColorsCG2 );
-
- if ( ( error == KErrNone ) && iMutedLabel )
- {
- // Ignore error
- TRAP_IGNORE(
- iMutedLabel->OverrideColorL( EColorLabelText, skinColor ) );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiMutedControl::PositionChanged()
- {
- AknsUtils::RegisterControlPosition( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiMutedControl::CountComponentControls() const
- {
- return 1; // one label
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMutedControl::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CVtUiMutedControl::ComponentControl(
- TInt /*aIndex*/ ) const
- {
- return iMutedLabel;
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiNaviPane.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +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: Implementation of the CVtUiNaviPane class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiNaviPane.h"
-#include "CVtUiNaviPaneControl.h"
-#include "CVtUiMutedControl.h"
-#include "CVtUiAppUi.h"
-
-#include <cvtlogger.h>
-#include <avkon.rsg>
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <featmgr.h>
-#include "tVtuifeaturevariation.h"
-#include <stringloader.h>
-#include <videotelui.rsg>
-
-// CONSTANTS
-
-// Timeout after which voice volume bar is switched back to indicators.
-const TInt KVtUiVoiceVolumeTimeout = 2000000;
-
-// LOCAL FUNCTION PROTOTYPES
-
-/**
-* Creates navigation decorator.
-* @param aNaviPane reference to navi pane.
-* @param aControl control to be decorated, ownership passed.
-* @return new navigation decorator instance.
-*/
-CAknNavigationDecorator* CreateDecoratorL(
- CAknNavigationControlContainer& aNaviPane,
- CCoeControl* aControl );
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CreateDecoratorL Creates navigation decorator.
-// Returns: new navigation decorator instance.
-// -----------------------------------------------------------------------------
-//
-CAknNavigationDecorator* CreateDecoratorL(
- CAknNavigationControlContainer& aNaviPane,
- CCoeControl* aControl )
- {
- CAknNavigationDecorator* decoratedFolder =
- CAknNavigationDecorator::NewL(
- &aNaviPane,
- aControl,
- CAknNavigationDecorator::ENotSpecified );
-
- CleanupStack::PushL( decoratedFolder );
- decoratedFolder->SetContainerWindowL( aNaviPane );
- aControl->SetContainerWindowL( *decoratedFolder );
- CleanupStack::Pop( decoratedFolder );
-
- decoratedFolder->MakeScrollButtonVisible( EFalse );
-
- return decoratedFolder;
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::CVtUiNaviPane
-// -----------------------------------------------------------------------------
-//
-CVtUiNaviPane::CVtUiNaviPane(
- CAknNavigationControlContainer& aNaviPane,
- CVtUiAppUi& aAppUi )
- : CActive( CActive::EPriorityStandard ),
- iNaviPane( aNaviPane ),
- iAppUi ( aAppUi )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::ConstructL( )
- {
- // Create the navi pane indicator (call duration).
- {
- CVtUiNaviPaneControl* naviControl =
- new ( ELeave ) CVtUiNaviPaneControl( *this );
- CleanupStack::PushL( naviControl );
- naviControl->ConstructL();
- CleanupStack::Pop( naviControl );
-
- iMainIndicators =
- CreateDecoratorL( iNaviPane, naviControl );
-
- iNaviPaneControl = naviControl;
- }
-
- // Create muted indicator.
- {
- HBufC* mutedText =
- StringLoader::LoadLC( R_VIDEOTELUI_QTN_INCAL_MUTED_PANE );
-
- iMutedIndicator = iNaviPane.CreateNavigationLabelL( *mutedText );
-
- CleanupStack::PopAndDestroy( mutedText );
- }
-
- User::LeaveIfError( iTimer.CreateLocal() );
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::NewL
-// -----------------------------------------------------------------------------
-//
-CVtUiNaviPane* CVtUiNaviPane::NewL(
- CAknNavigationControlContainer& aNaviPane,
- CVtUiAppUi& aAppUi )
- {
- CVtUiNaviPane* self =
- new ( ELeave ) CVtUiNaviPane(
- aNaviPane, aAppUi );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::~CVtUiNaviPane
-// -----------------------------------------------------------------------------
-//
-CVtUiNaviPane::~CVtUiNaviPane()
- {
- Cancel();
-
- delete iMainIndicators;
- delete iMutedIndicator;
-
- iTimer.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::SetCurrentSpeaker
-// Parameter aLoudspeaker defines which speaker is used.
-// ETrue for loudspeaker, EFalse for handset.
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::SetCurrentSpeaker( const TBool aLoudspeaker )
- {
- if( iLoudspeaker != aLoudspeaker )
- {
- Cancel();
- if( iCallDurationEnabled || iMicrophoneMuted )
- {
- iSliderType = ENone;
- }
- }
- iLoudspeaker = aLoudspeaker;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::SetMuted
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::SetMuted(
- const TBool aStatus )
- {
- __VTPRINT2( DEBUG_GEN, "NaviPane.SetMuted.aStatus=%d", aStatus )
- if( iMicrophoneMuted != aStatus )
- {
- Cancel();
- // if volume indicator is shown when audio is umuted
- // volume indicator won't be dismissed and call duration
- // will not be shown
- if( iCallDurationEnabled || aStatus )
- {
- iSliderType = ENone;
- }
- }
- iMicrophoneMuted = aStatus;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::SetCallDuration
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::SetCallDuration(
- const TTimeIntervalSeconds& aDuration,
- const TBool aEnabled )
- {
- iCallDurationEnabled = aEnabled;
- iNaviPaneControl->SetCallDuration( aDuration, aEnabled );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::CommitL
-//
-// Priority order of different navi pane elements is the following:
-// 1. Muted indicator
-// 2. Main indicators (call duration)
-//
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::CommitL()
- {
- CAknNavigationDecorator* selected = DefaultIndicator();
-
- PushL( selected );
-
- // If current is main indicators, then update now.
- if ( iCurrent == iMainIndicators )
- {
- iNaviPaneControl->CommitL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::GetSpeakerVolume
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::GetSpeakerVolume(
- const TBool ,
- TInt& aValue ) const
- {
- aValue = 0;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::HandleResourceChange(
- TInt aType )
- {
- // iCurrent will get event through navi pane.
- if ( iMainIndicators != iCurrent )
- {
- iMainIndicators->HandleResourceChange( aType );
- iNaviPaneControl->HandleResourceChange( aType );
- }
- if ( iMutedIndicator != iCurrent )
- {
- iMutedIndicator->HandleResourceChange( aType );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::DoCancel()
- {
- iTimer.Cancel();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::RunL
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::RunL()
- {
- iSliderType = ENone;
- CAknNavigationDecorator* selected = DefaultIndicator();
- if ( selected )
- {
- PushL( selected );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::PushAfterTimeout
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::PushAfterTimeout()
- {
- Cancel();
- iTimer.After( iStatus, KVtUiVoiceVolumeTimeout );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::PushL
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPane::PushL( CAknNavigationDecorator* aNew )
- {
- if ( !aNew )
- {
- if ( iCurrent )
- {
- iNaviPane.Pop();
- iCurrent = NULL;
- }
- else
- {
- iNaviPane.PushDefaultL();
- }
- }
- else if ( iCurrent != aNew )
- {
- // If current not defined, then push to navi pane. This should be called
- // during construction.
- if ( !iCurrent )
- {
- iNaviPane.PushL( *aNew );
- iCurrent = aNew;
- }
- // Otherwise replace the old one.
- else
- {
- iNaviPane.ReplaceL( *iCurrent, *aNew );
- iCurrent = aNew;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::DefaultIndicator
-// Returns default indicator. Note that this does not include temporary
-// zoom indicator.
-// -----------------------------------------------------------------------------
-//
-CAknNavigationDecorator* CVtUiNaviPane::DefaultIndicator() const
- {
- CAknNavigationDecorator* selected = NULL;
-
- if ( IsActive() )
- {
- selected = iMainIndicators;
- }
- else if ( iMicrophoneMuted && iSliderType != EVolume && iSliderType != EZoom )
- {
- selected = iMutedIndicator;
- }
- else if ( iCallDurationEnabled && iSliderType != EVolume && iSliderType != EZoom )
- {
- selected = iMainIndicators;
- }
-
- return selected;
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiNaviPaneControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Implementation of the CVtUiNaviPaneControl control class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiNaviPaneControl.h"
-#include "CVtUiNaviPane.h"
-#include "VtUiLayout.h"
-#include <aknsutils.h>
-#include <aknsdrawutils.h>
-
-// CONSTANTS
-
-// There are sixty seconds in one minute.
-const TInt KVtUiOneMinuteInSeconds = 60;
-
-// There are sixty minutes in one hour.
-const TInt KVtUiOneHourInSeconds = 3600;
-
-// Maximum duration is 99:59:59.
-const TInt KVtUiMaxDurationInSeconds =
- 99*KVtUiOneHourInSeconds +
- 59*KVtUiOneMinuteInSeconds +
- 59;
-
-// Amount of digits.
-const TInt KVtUiDigits = 10;
-
-// Index of time separator.
-const TInt KVtUiSeparatorTime = 0;
-
-// Index of hour separator.
-const TInt KVtUiSeparatorHour = 1;
-
-// Index of minute separator.
-const TInt KVtUiSeparatorMinute = 2;
-
-// Index of second separator.
-const TInt KVtUiSeparatorSecond = 3;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::CVtUiNaviPaneControl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiNaviPaneControl::CVtUiNaviPaneControl( CVtUiNaviPane& aNaviPane )
- : iNaviPane ( aNaviPane )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPaneControl::ConstructL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::~CVtUiNaviPaneControl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiNaviPaneControl::~CVtUiNaviPaneControl()
- {
- AknsUtils::DeregisterControlPosition( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::SetCallDuration
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPaneControl::SetCallDuration(
- const TTimeIntervalSeconds& aDuration,
- const TBool aEnabled )
- {
- iCallDurationEnabled = aEnabled;
- iCallDuration = aDuration;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::CommitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPaneControl::CommitL()
- {
- ReportEventL( MCoeControlObserver::EEventStateChanged );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::Draw
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPaneControl::Draw( const TRect& /*aRect*/ ) const
- {
- CWindowGc& gc = SystemGc();
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
- const TDesC& callDurationText = GetCallDurationText();
- if ( callDurationText.Length() )
- {
- TRgb color = iCallDurationLayout.Color();
- // Color is not updated if it not found from the skin
- AknsUtils::GetCachedColor(
- skin,
- color,
- KAknsIIDQsnTextColors,
- EAknsCIQsnTextColorsCG2 );
- iCallDurationLayout.DrawText( gc, callDurationText, EFalse, color );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPaneControl::SizeChanged()
- {
- AknsUtils::RegisterControlPosition( this );
- TAknWindowLineLayout rect;
- TRect parent( Rect() );
- if ( parent.IsEmpty() )
- {
- return;
- }
-
- TAknTextLineLayout text;
- VtUiLayout::GetCallDurationTextLayout( text );
- iCallDurationLayout.LayoutText( parent, text );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPaneControl::PositionChanged()
- {
- AknsUtils::RegisterControlPosition( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::GetCallDurationText
-// -----------------------------------------------------------------------------
-//
-const TDesC& CVtUiNaviPaneControl::GetCallDurationText() const
- {
- iCallDurationBuffer.Zero();
-
- if ( iCallDurationEnabled )
- {
- TLocale locale;
-
- TInt durationInseconds = iCallDuration.Int();
- if ( durationInseconds > KVtUiMaxDurationInSeconds )
- {
- durationInseconds = KVtUiMaxDurationInSeconds;
- }
-
- const TInt hours = durationInseconds / KVtUiOneHourInSeconds;
- const TInt secondsLeft =
- durationInseconds - ( hours * KVtUiOneHourInSeconds );
-
- const TInt minutes = secondsLeft / KVtUiOneMinuteInSeconds;
- const TInt seconds =
- secondsLeft - ( minutes * KVtUiOneMinuteInSeconds );
-
- AppendChar(
- iCallDurationBuffer,
- locale.TimeSeparator( KVtUiSeparatorTime ) );
-
- AppendNum(
- iCallDurationBuffer,
- hours );
-
- AppendChar(
- iCallDurationBuffer,
- locale.TimeSeparator( KVtUiSeparatorHour ) );
-
- AppendNum(
- iCallDurationBuffer,
- minutes );
-
- AppendChar(
- iCallDurationBuffer,
- locale.TimeSeparator( KVtUiSeparatorMinute ) );
-
- AppendNum(
- iCallDurationBuffer,
- seconds );
-
- AppendChar(
- iCallDurationBuffer,
- locale.TimeSeparator( KVtUiSeparatorSecond ) );
-
- // Convert numbers to display language.
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion(
- iCallDurationBuffer );
- }
-
- return iCallDurationBuffer;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::AppendChar
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPaneControl::AppendChar(
- TDes& aBuffer,
- const TChar& aChar )
- {
- if ( aChar )
- {
- aBuffer.Append( aChar );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPaneControl::AppendNum
-// -----------------------------------------------------------------------------
-//
-void CVtUiNaviPaneControl::AppendNum(
- TDes& aBuffer,
- TInt aNumber )
- {
- if ( aNumber < 0 )
- {
- aNumber = 0;
- }
-
- const TInt firstDigit = ( aNumber / KVtUiDigits ) % KVtUiDigits;
- const TInt secondDigit = ( aNumber % KVtUiDigits );
-
- aBuffer.AppendNum( firstDigit );
- aBuffer.AppendNum( secondDigit );
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiNumberEntryActivationControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiNumberEntryActivationControl
-* control class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiNumberEntryActivationControl.h"
-#include "CVtUiAppUi.h"
-#include "VtUiUtility.h"
-
-#include <aknutils.h>
-#include <aknsutils.h>
-#include <eikenv.h>
-#include <cvtlogger.h>
-
-// CONSTANTS
-
-// Control priority for the forwarder control. Above all other controls.
-extern const TInt KVtUiNumberEntryActivationPriority =
- ECoeStackPriorityEnvironmentFilter + 100;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryActivationControl::CVtUiNumberEntryActivationControl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiNumberEntryActivationControl::CVtUiNumberEntryActivationControl(
- CVtUiAppUi& aAppUi )
- : iAppUi( aAppUi ), iIsActive ( ETrue )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryActivationControl::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryActivationControl::ConstructL( const TRect& aRect )
- {
- // Create invisible control.
- CreateWindowL();
- MakeVisible( EFalse );
- SetRect( aRect );
-
- iAppUi.AddToStackL(
- this,
- KVtUiNumberEntryActivationPriority,
- ECoeStackFlagRefusesFocus );
- iAddedToStack = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryActivationControl::~CVtUiNumberEntryActivationControl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiNumberEntryActivationControl::~CVtUiNumberEntryActivationControl()
- {
- AknsUtils::DeregisterControlPosition( this );
-
- if ( iAddedToStack )
- {
- iAppUi.RemoveFromStack( this );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryActivationControl::Draw
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryActivationControl::Draw( const TRect& /*aRect*/ ) const
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryActivationControl::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryActivationControl::SizeChanged()
- {
- AknsUtils::RegisterControlPosition( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryActivationControl::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryActivationControl::PositionChanged()
- {
- AknsUtils::RegisterControlPosition( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryActivationControl::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVtUiNumberEntryActivationControl::OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- __VTPRINTENTER( "VtUiNumberEntryAC.OfferKeyEvent" )
- TBool numberEntryOpen = EFalse;
- TChar dtmfTone;
- TBool playDtmfTone = EFalse;
- TKeyResponse keyResponse = EKeyWasNotConsumed;
- if ( aKeyEvent.iScanCode == EStdKeyYes )
- {
- // send key is always consumed to prevent event forwarding to telephony
- // EStdKeyYes is scan code for send key, iCode cannot be used because
- // it is valid only when event type is EEventKey (not in up/down events)
- keyResponse = EKeyWasConsumed;
- }
- if ( !iIsActive )
- {
- return keyResponse;
- }
-
- if ( !aKeyEvent.iRepeats )
- {
- if ( VtUiUtility::IsDTMFEvent( aKeyEvent, dtmfTone ) )
- {
- numberEntryOpen = iAppUi.OpenNumberEntryL();
- playDtmfTone = ( aType == EEventKey );
- }
- else if ( aKeyEvent.iCode == EKeyPhoneSend )
- {
- keyResponse = iAppUi.HandlePhoneSendKeyL( aKeyEvent, aType );
- }
- }
-
- if ( numberEntryOpen )
- {
- iEikonEnv->SyncNotifyFocusObserversOfChangeInFocus();
- }
-
- // Tone actions are delegated to current state for validation.
- if ( playDtmfTone )
- {
- iAppUi.State().StartDtmfTone( dtmfTone );
- }
- else if ( aType == EEventKeyUp )
- {
- iAppUi.State().StopDtmfTone();
- }
- __VTPRINTEXITR( "VtUiNumberEntryAC.OfferKeyEvent %d", keyResponse )
- return keyResponse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryActivationControl::SetActive
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryActivationControl::SetActive( TBool aIsActive )
- {
- iIsActive = aIsActive;
- }
-
-// End of File
--- a/vtuis/videotelui/src/CVtUiRemoteVideoControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the CVtUiRemoteVideoControl
-* control class.
-*
-*/
-
-
-// INCLUDE FILES
-#include <cvtlogger.h>
-#include <eikdef.h>
-#include <AknIncallBubbleNotify.h>
-#include <aknslayeredbackgroundcontrolcontext.h>
-#include <aknutils.h>
-#include <aknnavi.h>
-#include <akntitle.h>
-#include <akndlgshut.h>
-#include <aknnotedialog.h>
-#include <aknnotewrappers.h>
-#include <akncontext.h>
-#include <eikspane.h>
-#include <eikmenup.h>
-#include <eikmenub.h>
-#include <apgcli.h>
-#include <featmgr.h>
-#include <videotelui.rsg>
-#include <hlplch.h>
-#include <apgwgnam.h>
-#include <stringloader.h>
-#include <akndef.h>
-#include <aknconsts.h>
-#include "CVtUiRemoteVideoControl.h"
-#include "CVtUiAppUi.h"
-#include "CVtUiContextControl.h"
-
-
-// Implementation of CVtUiRemoteVideoControl
-
-// -----------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::NewL
-// -----------------------------------------------------------------------------
-
-CVtUiRemoteVideoControl* CVtUiRemoteVideoControl::NewL( CVtUiAppUi& aAppUi)
- {
- __VTPRINTENTER( "RemoteVideoControl.NewL" )
- CVtUiRemoteVideoControl* self = new ( ELeave ) CVtUiRemoteVideoControl(aAppUi);
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "RemoteVideoControl.NewL" )
- return self;
-
- }
-// ---------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::~CVtUiRemoteVideoControl
-// ---------------------------------------------------------------------------
-//
-CVtUiRemoteVideoControl::~CVtUiRemoteVideoControl()
- {
- __VTPRINTENTER( "RemoteVideoControl.~" )
- __VTPRINTEXIT( "RemoteVideoControl.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::CVtUiVideoControlBase
-// ---------------------------------------------------------------------------
-//
-CVtUiRemoteVideoControl::CVtUiRemoteVideoControl( CVtUiAppUi& aAppUi):
- iAppUi(aAppUi)
- {
- __VTPRINTENTER( "RemoteVideoControl.ctor" )
- __VTPRINTEXIT( "RemoteVideoControl.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiRemoteVideoControl::ConstructL()
- {
- __VTPRINTENTER( "RemoteVideoControl.ConstructL" )
- CreateWindowL();
- SetExtent( TPoint(), TSize() );
- ActivateL();
- //Window().SetNonFading( ETrue );
- __VTPRINTEXIT( "RemoteVideoControl.ConstructL" )
- }
-
-RWindow& CVtUiRemoteVideoControl::GetRWindow()
- {
- __VTPRINTENTER( "RemoteVideoControl.GetRWindow" )
- __VTPRINTEXIT( "RemoteVideoControl.GetRWindow" )
- return Window();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::HandleSizeChanged
-// ---------------------------------------------------------------------------
-//
-void CVtUiRemoteVideoControl::HandleSizeChanged()
- {
- __VTPRINTENTER( "RemoteVideoControl.HandleSizeChanged" )
- __VTPRINTEXIT( "RemoteVideoControl.HandleSizeChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiRemoteVideoControl::SizeChanged()
- {
- __VTPRINTENTER( "RemoteVideoControl.SizeChanged" )
- TPoint position = Position();
- TRect rect = Rect();
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl position x:%d", position.iX )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl position y:%d", position.iY )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl rect iTl.x:%d", rect.iTl.iX )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl rect iTl.y:%d", rect.iTl.iY )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl rect iBr.x:%d", rect.iBr.iX )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl rect iBr.y:%d", rect.iBr.iY )
-
- __VTPRINTEXIT( "RemoteVideoControl.SizeChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiRemoteVideoControl::PositionChanged()
- {
- __VTPRINTENTER( "RemoteVideoControl.PositionChanged" )
- __VTPRINTEXIT( "RemoteVideoControl.PositionChanged" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::Draw
-// ---------------------------------------------------------------------------
-//
-void CVtUiRemoteVideoControl::Draw( const TRect& ) const
- {
- __VTPRINTENTER( "RemoteVideoControl.Draw" )
- //DoDraw( SystemGc() );
- __VTPRINTEXIT( "RemoteVideoControl.Draw" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::DoDraw
-// ---------------------------------------------------------------------------
-//
-void CVtUiRemoteVideoControl::DoDraw( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "RemoteVideoControl.DoDraw(gc)" )
-
- aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
- aGc.SetPenStyle( CGraphicsContext::ENullPen );
- aGc.SetBrushColor( KRgbRed );
- aGc.DrawRect( Rect() );
- aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-
- TPoint position = Position();
- TRect rect = Rect();
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl position x:%d", position.iX )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl position y:%d", position.iY )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl rect iTl.x:%d", rect.iTl.iX )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl rect iTl.y:%d", rect.iTl.iY )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl rect iBr.x:%d", rect.iBr.iX )
- __VTPRINT2( DEBUG_GEN, "CVtUiRemoteVideoControl rect iBr.y:%d", rect.iBr.iY )
-
- __VTPRINTEXIT( "RemoteVideoControl.DoDraw(gc)" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CVtUiRemoteVideoControl::HandlePointerEventL(
- const TPointerEvent& aPointerEvent)
- {
- __VTPRINTENTER( "RemoteVideoControl.HandlePointerEventL" )
-
- if(iAppUi.ContextControl().RemoteVideoControl())
- {
- iAppUi.ContextControl().HandlePointerEventL(aPointerEvent);
- }
-
- __VTPRINTEXIT( "RemoteVideoControl.HandlePointerEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiRemoteVideoControl::HandleWsEventL
-// -----------------------------------------------------------------------------
-//
-void CVtUiRemoteVideoControl::HandleWsEventL( const TWsEvent& aEvent,
- CCoeControl* aDestination )
- {
- __VTPRINTENTER( "RemoteVideoControl.HandleWsEventL" )
-
- if(iAppUi.ContextControl().RemoteVideoControl())
- {
- iAppUi.ContextControl().HandleWsEventL( aEvent, aDestination );
- }
-
- __VTPRINTEXIT( "RemoteVideoControl.HandleWsEventL" )
- }
--- a/vtuis/videotelui/src/CVtUiZoomControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,856 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Implementation of the CVtUiZoomControl control class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "CVtUiZoomControl.h"
-#include "VtUiLayout.h"
-#include <aknsutils.h>
-#include <aknsdrawutils.h>
-#include "videotelui.hrh"
-
-#include <cvtlogger.h>
-// CONSTANTS
-
-// Maximum amount of steps.
-const TInt KVtUiZoomControlMaxSteps = 11;
-
-// Minimum amount of steps.
-const TInt KVtUiZoomControlMinSteps = 1;
-
-// Fixed point position.
-const TInt KVtUiZoomControlFixed = 16;
-
-// Fixed point number, corresponds to one.
-const TInt KVtUiZoomControlOne = ( 1 << KVtUiZoomControlFixed );
-
-// Amount of partial bits. It is expected that
-// KVtUiZoomControlFixed >= KVtUiZoomControlPartial.
-const TInt KVtUiZoomControlPartial = 8;
-
-// Maximum duration of zooming from minimum to maximum, in microseconds.
-const TInt KVtUiZoomDurationMax = 2000000;
-
-// Maximum duration to increase zoom step by one, in microseconds.
-const TInt KVtUiZoomStepDurationMax = 200000;
-
-// Index of transparent color.
-const TInt KVtUiZoomTransparent = 0;
-
-// MODULE DATA STRUCTURES
-
-/**
-* Inner class to hold everything related to one bitmap.
-* @since Series 60 2.6
-*/
-class CVtUiZoomControl::CBitmap
- : public CBase
- {
- public: // Constructors and destructors.
-
- /**
- * Constructor.
- */
- CBitmap();
-
- /**
- * Symbian OS constructor.
- * @param aSize size of the bitmap.
- * @param aMode display mode of the bitmap.
- */
- void ConstructL(
- const TSize& aSize,
- const TDisplayMode aMode );
-
- /**
- * Destructor.
- */
- ~CBitmap();
-
- public:
-
- /**
- * Returns bitmap.
- * @return bitmap, ownership not passed.
- */
- inline CFbsBitmap* Bitmap() const;
-
- /**
- * Returns bitmap context.
- * @return bitmap context, ownership not passed.
- */
- inline CFbsBitGc* Context() const;
-
- private:
-
- // Owned bitmap.
- CFbsBitmap* iBitmap;
-
- // Owned device.
- CFbsBitmapDevice* iDevice;
-
- // Owned context.
- CFbsBitGc* iContext;
-
- };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CVtUiZoomControl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiZoomControl::CVtUiZoomControl( CVtUiBitmapManager& aBitmapManager )
- : iBitmapManager( aBitmapManager )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::ConstructL()
- {
- iZoomDirId =
- iBitmapManager.AddBitmapsL(
- EVtUiBitmap_qgn_indi_zoom_dir,
- EVtUiBitmap_qgn_indi_zoom_dir_mask,
- ETrue );
- iZoomAreaId =
- iBitmapManager.AddBitmapL( EVtUiBitmap_qgn_graf_zoom_area, EFalse );
- iBitmapManager.SetAspectRatio( iZoomAreaId, EFalse );
-
- iZoomMinId =
- iBitmapManager.AddBitmapL( EVtUiBitmap_qgn_indi_zoom_min, EFalse );
- iBitmapManager.SetAspectRatio( iZoomMinId, EFalse );
-
- iZoomMaxId =
- iBitmapManager.AddBitmapL( EVtUiBitmap_qgn_indi_zoom_max, EFalse );
- iBitmapManager.SetAspectRatio( iZoomMaxId, EFalse );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::~CVtUiZoomControl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiZoomControl::~CVtUiZoomControl()
- {
- AknsUtils::DeregisterControlPosition( this );
-
- iBitmapManager.RemoveBitmap( iZoomDirId );
- iBitmapManager.RemoveBitmap( iZoomAreaId );
- iBitmapManager.RemoveBitmap( iZoomMinId );
- iBitmapManager.RemoveBitmap( iZoomMaxId );
-
- delete iZoomPartialMask;
- delete iZoomPartialShade;
- delete iZoomPartialShadeMask;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::SetZoomParams
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::SetZoomParams(
- const TInt aStepCount,
- const TInt aCurrentStep )
- {
- iCurrentZoomStep = aCurrentStep;
- iMaxZoomStep = aStepCount;
- if ( iMaxZoomStep < 0 )
- {
- iMaxZoomStep = 0;
- }
- iCurrentZoomStep = Max( Min( iCurrentZoomStep, iMaxZoomStep ), 0 );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CommitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::CommitL()
- {
- ReportEventL( MCoeControlObserver::EEventStateChanged );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::IsZoomEnabled
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiZoomControl::IsZoomEnabled() const
- {
- return ( iMaxZoomStep > 0 );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::GetZoomParams
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::GetZoomParams(
- TInt& aStepCount,
- TInt& aCurrentStep ) const
- {
- aStepCount = iMaxZoomStep;
- aCurrentStep = iCurrentZoomStep;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::UpdateZoomL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiZoomControl::UpdateZoomL()
- {
- const TInt oldZoomStep = iCurrentZoomStep;
- if ( iZoomDirection )
- {
- __VTPRINT( DEBUG_GEN, "VtUiZmCtl.UpdZoom" )
- TTime timeNow;
- timeNow.UniversalTime();
-
- const TTimeIntervalMicroSeconds duration =
- timeNow.MicroSecondsFrom( iZoomStartTime );
-
- if ( duration >= TInt64( KVtUiZoomDurationMax ) )
- {
- // Duration is over maximum, so we can stop zooming.
- if ( iZoomDirection > 0 )
- {
- iCurrentZoomStep = iMaxZoomStep;
- }
- else
- {
- iCurrentZoomStep = 0;
- }
-
- iZoomDirection = 0;
- }
- else if ( duration < TInt64( 0 ) )
- {
- // Clock has been changed. Stop zooming.
- iZoomDirection = 0;
- }
- else
- {
- // Zoom is increased at least by one step per 0.2 seconds.
- TInt64 minimum( duration.Int64() );
- minimum /= KVtUiZoomStepDurationMax;
-
- // Zoom is increased from minimum to maximum in 2 seconds.
- TInt64 maximum( duration.Int64() );
- maximum *= iMaxZoomStep;
- maximum /= KVtUiZoomDurationMax;
-
- // Select maximum.
- TInt zoomStepDelta =
- iZoomDirection * Max( I64INT( minimum ), I64INT( maximum ) );
- TInt zoomStep = iZoomStepStart + zoomStepDelta;
-
- // If minimum has been reached, zooming can be stopped.
- if ( zoomStep < 0 )
- {
- zoomStep = 0;
- iZoomDirection = 0;
- }
- // If maximum has been reached, zooming can be stopped.
- if ( zoomStep > iMaxZoomStep )
- {
- zoomStep = iMaxZoomStep;
- iZoomDirection = 0;
- }
-
- iCurrentZoomStep = zoomStep;
- }
- __VTPRINT( DEBUG_GEN, "VtUiZmCtl.chk" )
- }
-
- const TBool updateNeeded = ( oldZoomStep != iCurrentZoomStep );
- if ( updateNeeded )
- {
- __VTPRINT( DEBUG_GEN, "VtUiZmCtl.upd" )
- ReportEventL( MCoeControlObserver::EEventStateChanged );
- }
-
- return updateNeeded;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::StopZoom
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::StopZoom()
- {
- iZoomDirection = 0;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVtUiZoomControl::OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- TKeyResponse response = EKeyWasNotConsumed;
-
- if ( aKeyEvent.iScanCode == EStdKeyUpArrow ||
- aKeyEvent.iScanCode == EStdKeyDownArrow ||
- aKeyEvent.iCode == EKeyZoomIn ||
- aKeyEvent.iCode == EKeyZoomOut )
- {
- switch ( aType )
- {
- case EEventKey:
- {
- TInt direction = +1;
- if ( aKeyEvent.iScanCode == EStdKeyDownArrow ||
- aKeyEvent.iCode == EKeyZoomOut )
- {
- direction = -1;
- }
-
- if ( !aKeyEvent.iRepeats )
- {
- // Update start parameters.
- iZoomDirection = direction;
- iZoomStepStart = iCurrentZoomStep + direction;
- iZoomStepStart = Min( iZoomStepStart, iMaxZoomStep );
- iZoomStepStart = Max( iZoomStepStart, 0 );
- iZoomStartTime.UniversalTime();
- }
-
- (void)UpdateZoomL();
- }
- break;
-
- case EEventKeyUp:
- // Stop zooming.
- iZoomDirection = 0;
- break;
-
- default:
- // Do nothing.
- break;
- }
-
- response = EKeyWasConsumed;
- }
-
- return response;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::HandleResourceChange(
- TInt aType )
- {
- if ( aType == KAknsMessageSkinChange )
- {
- // We must refresh partial bitmap upon next redraw.
- iZoomMaskPartial = KErrNotFound;
- iZoomMaskRow = KErrNotFound;
- }
-
- CCoeControl::HandleResourceChange( aType );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::Draw
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::Draw( const TRect& /*aRect*/ ) const
- {
- __VTPRINT( DEBUG_GEN, "VtUiZmCtl.Draw" )
- iBitmapManager.SetSizeAndColor(
- iZoomDirId,
- iZoomDirLayout.Rect().Size(),
- iZoomDirLayout.Color() );
- iBitmapManager.SetSize(
- iZoomAreaId,
- iZoomAreaLayout.Rect().Size() );
- iBitmapManager.SetSize(
- iZoomMinId,
- iZoomAreaLayout.Rect().Size() );
- iBitmapManager.SetSize(
- iZoomMaxId,
- iZoomAreaLayout.Rect().Size() );
-
- CFbsBitmap* maxBitmap = NULL;
- CFbsBitmap* minBitmap = NULL;
- CFbsBitmap* areaBitmap = NULL;
- iBitmapManager.GetBitmap( iZoomMaxId, maxBitmap );
- iBitmapManager.GetBitmap( iZoomMinId, minBitmap );
- iBitmapManager.GetBitmap( iZoomAreaId, areaBitmap );
-
- TInt full;
- TInt partial;
- TRect drawRect;
- TPoint drawPos;
-
- DetermineSteps( full, partial );
- if ( areaBitmap && partial && ( full < KVtUiZoomControlMaxSteps ) )
- {
- // First generate bitmaps, so that drawing can be done
- // quickly in sequence.
- GetPositionAndRect(
- drawPos,
- drawRect,
- full + 1 );
-
- if ( !GenerateZoomMaskBitmap(
- areaBitmap,
- partial,
- drawRect.iTl.iY,
- drawRect.Size() ) )
- {
- // If zoom mask generation fails, then we have no choice
- // than not to draw.
- partial = 0;
- }
- }
-
- CWindowGc& gc = SystemGc();
- gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-
- // Draw zoom direction indicator:
-
- CFbsBitmap* zoomDirBitmap = NULL;
- CFbsBitmap* zoomDirMask = NULL;
- iBitmapManager.GetBitmaps( iZoomDirId, zoomDirBitmap, zoomDirMask );
- if ( zoomDirBitmap && zoomDirMask )
- {
- iZoomDirLayout.DrawImage( gc, zoomDirBitmap, zoomDirMask );
- }
-
- // Draw zoom indicator:
- if ( !areaBitmap )
- {
- // If area bitmap is invalid, then we have to return.
- return;
- }
-
- if ( maxBitmap )
- {
- // First, draw maximum area.
- for ( TInt index = KVtUiZoomControlMinSteps;
- index <= full;
- index++ )
- {
- GetPositionAndRect(
- drawPos,
- drawRect,
- index );
- gc.BitBltMasked(
- drawPos,
- maxBitmap,
- drawRect,
- areaBitmap,
- ETrue );
- }
- }
-
- if ( minBitmap && ( full < KVtUiZoomControlMaxSteps ) )
- {
- // Then draw minimum area.
- for ( TInt index = full + 1;
- index <= KVtUiZoomControlMaxSteps;
- index++ )
- {
- GetPositionAndRect(
- drawPos,
- drawRect,
- index );
- gc.BitBltMasked(
- drawPos,
- minBitmap,
- drawRect,
- areaBitmap,
- ETrue );
- }
-
- if ( maxBitmap && partial && iZoomPartialMask )
- {
- // Finally draw partial area.
- GetPositionAndRect(
- drawPos,
- drawRect,
- full + 1 );
- gc.BitBltMasked(
- drawPos,
- maxBitmap,
- drawRect,
- iZoomPartialMask->Bitmap(),
- ETrue );
- }
- }
-
- __VTPRINT( DEBUG_GEN, "VtUiZmCtl.Draw.ok" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::SizeChanged()
- {
- AknsUtils::RegisterControlPosition( this );
-
- TRect parent( Rect() );
- TAknWindowLineLayout rect;
- if ( parent.IsEmpty() )
- {
- return;
- }
-
- {
- TAknLayoutRect& tmpRect = iZoomDirLayout;
- VtUiLayout::GetZoomPaneLayout( rect );
- tmpRect.LayoutRect( parent, rect );
- parent = tmpRect.Rect();
- iZoomPaneRect = parent;
- }
-
- VtUiLayout::GetZoomDirLayout( rect );
- iZoomDirLayout.LayoutRect( parent, rect );
- iBitmapManager.SetSizeAndColor(
- iZoomDirId,
- iZoomDirLayout.Rect().Size(),
- iZoomDirLayout.Color() );
-
- VtUiLayout::GetZoomAreaLayout( rect );
- iZoomAreaLayout.LayoutRect( parent, rect );
- iBitmapManager.SetSize(
- iZoomAreaId,
- iZoomAreaLayout.Rect().Size() );
- iBitmapManager.SetSize(
- iZoomMinId,
- iZoomAreaLayout.Rect().Size() );
- iBitmapManager.SetSize(
- iZoomMaxId,
- iZoomAreaLayout.Rect().Size() );
- (void) CreateBitmaps();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::PositionChanged()
- {
- AknsUtils::RegisterControlPosition( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::DetermineSteps
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::DetermineSteps(
- TInt& aFullSteps,
- TInt& aPartialStep ) const
- {
- aFullSteps = 1;
- aPartialStep = 0;
-
- TInt currentZoomStep = Max( Min( iCurrentZoomStep, iMaxZoomStep ), 0 );
-
- if ( iMaxZoomStep > 0 )
- {
- TInt zoomDeltaSteps = 0;
- TInt zoomDeltaMaxSteps = 0;
-
- // Formula equals: x = ( N * ( y - 1 ) ) / 10.
-
- aFullSteps = KVtUiZoomControlMinSteps;
- const TInt divider =
- KVtUiZoomControlMaxSteps - KVtUiZoomControlMinSteps;
- for ( TInt row = KVtUiZoomControlMaxSteps - 1;
- row >= KVtUiZoomControlMinSteps - 1;
- row-- )
- {
- const TInt zoomStartSteps =
- ( iMaxZoomStep * row ) / divider;
- const TInt previousZoomStartSteps =
- ( iMaxZoomStep * ( row - 1 ) ) / divider;
-
- if ( ( currentZoomStep >= zoomStartSteps ) &&
- ( previousZoomStartSteps != zoomStartSteps ) )
- {
- aFullSteps = ( row + 1 );
- zoomDeltaSteps = currentZoomStep - zoomStartSteps;
- zoomDeltaMaxSteps = ( iMaxZoomStep * ( row + 1 ) ) / divider;
- zoomDeltaMaxSteps -= zoomStartSteps;
- break;
- }
- }
-
- aPartialStep = 0;
- if ( zoomDeltaSteps && zoomDeltaMaxSteps )
- {
- TInt64 partial( zoomDeltaSteps );
- partial *= KVtUiZoomControlOne;
- partial /= zoomDeltaMaxSteps;
-
- partial >>= ( KVtUiZoomControlFixed - KVtUiZoomControlPartial );
- aPartialStep = I64INT( partial );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::GenerateZoomMaskBitmap
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiZoomControl::GenerateZoomMaskBitmap(
- CFbsBitmap* aMaskBitmap,
- const TInt aPartial,
- const TInt aRow,
- const TSize& aRowSize ) const
- {
- if ( iZoomPartialMask &&
- ( ( iZoomMaskPartial != aPartial ) ||
- ( iZoomMaskRow != aRow ) ) )
- {
- DoGenerateZoomMaskBitmap(
- aMaskBitmap,
- aPartial,
- aRow,
- aRowSize );
- }
- return ( iZoomPartialMask != NULL );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::DoGenerateZoomMaskBitmap
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::DoGenerateZoomMaskBitmap(
- CFbsBitmap* aMaskBitmap,
- const TInt aPartial,
- const TInt aRow,
- const TSize& aRowSize ) const
- {
- CFbsBitGc* bitmapMaskGc = iZoomPartialMask->Context();
-
- CFbsBitmap* shade = iZoomPartialShade->Bitmap();
- CFbsBitGc* shadeGc = iZoomPartialShade->Context();
-
- // Fill shade with aPartial.
- shadeGc->SetPenStyle( CGraphicsContext::ENullPen );
- shadeGc->SetBrushColor( TRgb::Gray256( aPartial ) );
- shadeGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
- shadeGc->Clear();
-
- // Now grab one row from iZoomAreaBitmap.
- CFbsBitmap* mask = iZoomPartialShadeMask->Bitmap();
- CFbsBitGc* maskGc = iZoomPartialShadeMask->Context();
-
- // Clear with transparency.
- maskGc->SetPenStyle( CGraphicsContext::ENullPen );
- maskGc->SetBrushColor( TRgb::Gray2( 1 ) ); // transparency
- maskGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
- maskGc->Clear();
-
- maskGc->SetPenStyle( CGraphicsContext::ENullPen );
- // Blit appropriate region from aMaskBitmap to maskGc.
- maskGc->BitBlt(
- TPoint( 0, aRow ),
- aMaskBitmap,
- TRect( TPoint( 0, aRow ), aRowSize ) );
-
- // Now fill bitmapMask with black (= transparency).
- bitmapMaskGc->SetPenStyle( CGraphicsContext::ENullPen );
- bitmapMaskGc->SetBrushColor( TRgb::Gray256( KVtUiZoomTransparent ) );
- bitmapMaskGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
- bitmapMaskGc->Clear();
-
- // Then blit shade masked
- TPoint origin;
- TRect rect( origin, shade->SizeInPixels() );
-
- bitmapMaskGc->BitBltMasked( origin, shade, rect, mask, ETrue );
-
- iZoomMaskPartial = aPartial;
- iZoomMaskRow = aRow;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CreateBitmaps
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiZoomControl::CreateBitmaps()
- {
- TRAPD( err, CreateBitmapsL() );
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CreateBitmapsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::CreateBitmapsL()
- {
- TBool requiredToCreate = ETrue;
- TSize requiredSize = SizeOfBitmap();
- if ( iZoomPartialMask )
- {
- requiredToCreate =
- ( requiredSize != iZoomPartialMask->Bitmap()->SizeInPixels() );
- }
-
- if ( requiredToCreate )
- {
- iZoomMaskPartial = KErrNotFound;
- iZoomMaskRow = KErrNotFound;
-
- // Delete old ones away.
- delete iZoomPartialMask;
- iZoomPartialMask = NULL;
-
- delete iZoomPartialShade;
- iZoomPartialShade = NULL;
-
- delete iZoomPartialShadeMask;
- iZoomPartialShadeMask = NULL;
-
- CBitmap* zoomPartialMask = new ( ELeave ) CBitmap;
- CleanupStack::PushL( zoomPartialMask );
- zoomPartialMask->ConstructL( requiredSize, EGray256 );
-
- CBitmap* zoomPartialShade = new ( ELeave ) CBitmap;
- CleanupStack::PushL( zoomPartialShade );
- zoomPartialShade->ConstructL( requiredSize, EGray256 );
-
- CBitmap* zoomPartialShadeMask = new ( ELeave ) CBitmap;
- CleanupStack::PushL( zoomPartialShadeMask );
- zoomPartialShadeMask->ConstructL( requiredSize, EGray2 );
-
- // Pop zoomPartialShadeMask, zoomPartialShade & zoomPartialMask.
- CleanupStack::Pop( 3, zoomPartialMask );
- iZoomPartialMask = zoomPartialMask;
- iZoomPartialShade = zoomPartialShade;
- iZoomPartialShadeMask = zoomPartialShadeMask;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::SizeOfBitmap
-// -----------------------------------------------------------------------------
-//
-TSize CVtUiZoomControl::SizeOfBitmap() const
- {
- // Bitmaps fill the whole zoom area.
- return iZoomAreaLayout.Rect().Size();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::GetPositionAndRect
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::GetPositionAndRect(
- TPoint& aPosition,
- TRect& aSourceRect,
- const TInt aZoomStep ) const
- {
- TAknWindowLineLayout rect;
- TAknLayoutRect layout;
- const TRect zoomAreaRect = iZoomAreaLayout.Rect();
- const TRect& zoomParentRect = iZoomPaneRect;
-
- VtUiLayout::GetZoomStepLayout(
- rect,
- aZoomStep );
- layout.LayoutRect( zoomParentRect, rect );
- aSourceRect = layout.Rect();
- aPosition = aSourceRect.iTl;
-
- aSourceRect.iTl -= zoomAreaRect.iTl;
- aSourceRect.iBr -= zoomAreaRect.iTl;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CBitmap::CBitmap
-// -----------------------------------------------------------------------------
-//
-CVtUiZoomControl::CBitmap::CBitmap()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CBitmap::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiZoomControl::CBitmap::ConstructL(
- const TSize& aSize,
- const TDisplayMode aMode )
- {
- CFbsBitmap* bitmap = new ( ELeave ) CFbsBitmap;
- CleanupStack::PushL( bitmap );
-
- User::LeaveIfError(
- bitmap->Create( aSize, aMode ) );
-
- CFbsBitmapDevice* device = CFbsBitmapDevice::NewL( bitmap );
- CleanupStack::PushL( device );
-
- CFbsBitGc* context = NULL;
- User::LeaveIfError( device->CreateContext( context ) );
- User::LeaveIfNull( context );
-
- CleanupStack::Pop( device );
- CleanupStack::Pop( bitmap );
-
- iContext = context;
- iDevice = device;
- iBitmap = bitmap;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CBitmap::~CBitmap
-// -----------------------------------------------------------------------------
-//
-CVtUiZoomControl::CBitmap::~CBitmap()
- {
- delete iContext;
- delete iDevice;
- delete iBitmap;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CBitmap::Bitmap
-// -----------------------------------------------------------------------------
-//
-inline CFbsBitmap* CVtUiZoomControl::CBitmap::Bitmap() const
- {
- return iBitmap;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiZoomControl::CBitmap::Context
-// -----------------------------------------------------------------------------
-//
-inline CFbsBitGc* CVtUiZoomControl::CBitmap::Context() const
- {
- return iContext;
- }
-
-// End of File
--- a/vtuis/videotelui/src/TVtUiCallParameters.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the TVtUiCallParameters class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "TVtUiCallParameters.h"
-
-// CONSTANTS
-
-// Enumerates call parameter flags.
-enum TVtUiCallParameterFlags
- {
- // Audio status has been updated.
- EVtUiCallParameterFlagHasAudio = 1,
- // Audio status equals to ETrue.
- EVtUiCallParameterFlagAudioEnabled = 2,
- // Video status has been updated.
- EVtUiCallParameterFlagHasVideo = 4,
- // Video status equals to ETrue.
- EVtUiCallParameterFlagVideoEnabled = 8,
- // Selected camera has been updated.
- EVtUiCallParameterFlagHasSelectedCamera = 16,
- // Primary camera has been selected. Otherwise secondary has been selected.
- EVtUiCallParameterFlagHasSelectedPrimary = 32,
- };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TVtUiCallParameters::TVtUiCallParameters
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TVtUiCallParameters::TVtUiCallParameters()
- : iFlags( 0 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiCallParameters::Reset
-// -----------------------------------------------------------------------------
-//
-void TVtUiCallParameters::Reset()
- {
- iFlags = 0;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiCallParameters::SetAudioStatus
-// -----------------------------------------------------------------------------
-//
-void TVtUiCallParameters::SetAudioStatus( const TBool aEnabled )
- {
- iFlags |= ( EVtUiCallParameterFlagAudioEnabled +
- EVtUiCallParameterFlagHasAudio );
- if ( !aEnabled )
- {
- iFlags &= ~EVtUiCallParameterFlagAudioEnabled;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiCallParameters::GetAudioStatus
-// -----------------------------------------------------------------------------
-//
-TInt TVtUiCallParameters::GetAudioStatus( TBool& aEnabled ) const
- {
- TInt err = KErrNotFound;
- if ( iFlags & EVtUiCallParameterFlagHasAudio )
- {
- err = KErrNone;
- aEnabled = ( iFlags & EVtUiCallParameterFlagAudioEnabled );
- }
-
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiCallParameters::SetVideoStatus
-// -----------------------------------------------------------------------------
-//
-void TVtUiCallParameters::SetVideoStatus( const TBool aEnabled )
- {
- iFlags |= ( EVtUiCallParameterFlagVideoEnabled +
- EVtUiCallParameterFlagHasVideo );
- if ( !aEnabled )
- {
- iFlags &= ~EVtUiCallParameterFlagVideoEnabled;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiCallParameters::GetVideoStatus
-// -----------------------------------------------------------------------------
-//
-TInt TVtUiCallParameters::GetVideoStatus( TBool& aEnabled )
- {
- TInt err = KErrNotFound;
- if ( iFlags & EVtUiCallParameterFlagHasVideo )
- {
- err = KErrNone;
- aEnabled = ( iFlags & EVtUiCallParameterFlagVideoEnabled );
- }
-
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiCallParameters::SetSelectedCamera
-// -----------------------------------------------------------------------------
-//
-void TVtUiCallParameters::SetSelectedCamera( const TBool aPrimary )
- {
- iFlags |= EVtUiCallParameterFlagHasSelectedCamera;
-
- if ( aPrimary )
- {
- iFlags |= EVtUiCallParameterFlagHasSelectedPrimary;
- }
- else
- {
- iFlags &= ~EVtUiCallParameterFlagHasSelectedPrimary;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiCallParameters::GetSelectedCamera
-// -----------------------------------------------------------------------------
-//
-TInt TVtUiCallParameters::GetSelectedCamera( TBool& aPrimary )
- {
- TInt err = KErrNotFound;
- if ( iFlags & EVtUiCallParameterFlagHasSelectedCamera )
- {
- err = KErrNone;
- aPrimary = ( iFlags & EVtUiCallParameterFlagHasSelectedPrimary );
- }
-
- return err;
- }
-
-// End of File
--- a/vtuis/videotelui/src/VtUiLayout.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,700 +0,0 @@
-/*
-* Copyright (c) 2004, 2005 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: Implementation of the VtUiLayout class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "VtUiLayout.h"
-#include "VtUiPanic.h"
-#include <fbs.h>
-#include <avkon.mbg>
-#include <videotelui.mbg>
-#include <aknsconstants.h>
-#include <aknconsts.h>
-#include <akniconutils.h>
-#include <aknutils.h>
-
-#include <aknlayout.cdl.h>
-#include <applayout.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-
-// DATA TYPES
-
-// Enumerates files in which there can be bitmaps.
-enum TVtUiBitmapFiles
- {
- // Video Telephone bitmap file.
- EVtUiVideoBitmapFile,
- // AVKON bitmap file.
- EVtUiAvkonBitmapFile
- };
-
-// Video Telephone application bitmaps
-_LIT( KVtUiVideoBitmapFileName,
- "z:\\resource\\apps\\videotelui.mbm" );
-// Minimum step for zoom.
-const TInt KVtUiZoomMinStep = 1;
-
-// Maximum step for zoom.
-const TInt KVtUiZoomMaxStep = 11;
-
-// ============================ LOCAL FUNCTIONS ===============================
-
-inline TAknWindowComponentLayout DoCompose( TAknWindowComponentLayout aLine1,
- TAknWindowComponentLayout aLine2 )
- {
- return TAknWindowComponentLayout::Compose( aLine1, aLine2 );
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetApplicationParentRect
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetApplicationParentRect(
- TRect& aRect )
- {
- // Calculate screen rectangle.
- TSize screenSize = CCoeEnv::Static()->ScreenDevice()->SizeInPixels();
- TRect screenRect( screenSize );
-
- // Calculate application window.
- TAknLayoutRect appRect;
- appRect.LayoutRect(
- screenRect,
- AknLayout::application_window( screenRect ) );
- aRect = appRect.Rect();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetMainPaneLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetMainPaneLayout(
- TAknWindowLineLayout& aLayout )
- {
- TRect parent;
- GetApplicationParentRect( parent );
- // Calculate main pane layout.
- // First 1 = normal status pane, second 1 = control pane.
- aLayout = AknLayout::main_pane( parent, 0, 1, 1 );
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetFirstWindowBackgroundLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetFirstWindowBackgroundLayout(
- TAknWindowLineLayout& aLayout )
- {
- //aLayout = AppLayout::Uplink_video_image__large__Line_1();
- TInt main_pane_variety( 0 );
- TInt vid_upl_variety( 14 );
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- main_pane_variety = 4;
- vid_upl_variety = 0;
- }
-
- TAknWindowComponentLayout layout1 =
- AknLayoutScalable_Apps::main_pane( main_pane_variety );
- TAknWindowComponentLayout layout2 =
- AknLayoutScalable_Apps::main_video_tele_pane();
- TAknWindowComponentLayout layout3 =
- AknLayoutScalable_Apps::
- call_video_uplink_pane_cp1( vid_upl_variety );
- TAknWindowComponentLayout layout4 =
- AknLayoutScalable_Apps::call_video_uplink_pane_g1();
- aLayout =
- DoCompose(
- DoCompose( layout1, layout2 ),
- DoCompose( layout3, layout4 ) ).LayoutLine();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetFirstWindowStreamLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetFirstWindowStreamLayout(
- TAknWindowLineLayout& aLayout )
- {
- TInt main_pane_variety( 0 );
- TInt vid_upl_variety( 14 );
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- main_pane_variety = 4;
- vid_upl_variety = 0;
- }
-
- TAknWindowComponentLayout layout1 =
- AknLayoutScalable_Apps::main_pane( main_pane_variety );
- TAknWindowComponentLayout layout2 =
- AknLayoutScalable_Apps::main_video_tele_pane();
- TAknWindowComponentLayout layout3 =
- AknLayoutScalable_Apps::
- call_video_uplink_pane_cp1( vid_upl_variety );
- TAknWindowComponentLayout layout4 =
- AknLayoutScalable_Apps::video_uplink_pane();
- aLayout =
- DoCompose(
- DoCompose( layout1, layout2 ),
- DoCompose( layout3, layout4 ) ).LayoutLine();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetFirstWindowStreamDisabledIconLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetFirstWindowStreamDisabledIconLayout(
- TAknWindowLineLayout& aLayout )
- {
- //aLayout = AppLayout::Uplink_video_image__large__Line_3();
- TInt main_pane_variety( 0 );
- TInt vid_upl_variety( 14 );
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- main_pane_variety = 4;
- vid_upl_variety = 0;
- }
-
- TAknWindowComponentLayout layout1 =
- AknLayoutScalable_Apps::main_pane( main_pane_variety );
- TAknWindowComponentLayout layout2 =
- AknLayoutScalable_Apps::main_video_tele_pane();
- TAknWindowComponentLayout layout3 =
- AknLayoutScalable_Apps::
- call_video_uplink_pane_cp1( vid_upl_variety );
- TAknWindowComponentLayout layout4 =
- AknLayoutScalable_Apps::call_video_uplink_pane_g2();
- aLayout =
- DoCompose(
- DoCompose( layout1, layout2 ),
- DoCompose( layout3, layout4 ) ).LayoutLine();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetSecondWindowBackgroundLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetSecondWindowBackgroundLayout(
- TAknWindowLineLayout& aLayout )
- {
- aLayout = AppLayout::Downlink_video_image_Line_1();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetSecondWindowStreamLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetSecondWindowStreamLayout(
- TAknWindowLineLayout& aLayout, TBool aIsToolbar, TBool aIsSubQCIF )
- {
- if( aIsSubQCIF )
- {
- aLayout = AppLayout::video_down_subqcif_pane();
- }
- else
- {
- if ( aIsToolbar )
- {
- // non touch
- TInt varietyPr = 8; // portrait
- TInt varietyLs = 10; // landscape
- if ( AknLayoutUtils::PenEnabled() )
- {
- varietyPr = 11; // portrait
- varietyLs = 12; // landscape
- }
-
- TInt varietyIndex = Layout_Meta_Data::IsLandscapeOrientation()
- ? varietyLs : varietyPr ;
- TAknWindowComponentLayout layout1 = AknLayoutScalable_Apps::
- main_video_tele_pane();
- TAknWindowComponentLayout layout2 = AknLayoutScalable_Apps::
- video_down_crop_pane( varietyIndex );
- aLayout = TAknWindowComponentLayout::Compose( layout1, layout2 ).
- LayoutLine();
-
- }
- else
- {
- aLayout = AppLayout::downlink_stream();
- }
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetSecondWindowStreamWholeLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetSecondWindowStreamWholeLayout(
- TAknWindowLineLayout& aLayout, TBool aIsToolbar, TBool aIsSubQCIF )
- {
- if( aIsSubQCIF )
- {
- aLayout = AppLayout::video_down_subqcif_pane();
- }
- else
- {
- if ( aIsToolbar )
- {
- // non touch
- TInt varietyPr = 5; // portrait
- TInt varietyLs = 7; // landscape
- if ( AknLayoutUtils::PenEnabled() )
- {
- varietyPr = 8; // portrait
- varietyLs = 1; // landscape
- }
-
- TInt varietyIndex = Layout_Meta_Data::IsLandscapeOrientation()
- ? varietyLs : varietyPr;
- TAknWindowComponentLayout layout1 = AknLayoutScalable_Apps::
- main_video_tele_pane();
- TAknWindowComponentLayout layout2 = AknLayoutScalable_Apps::
- video_down_pane( varietyIndex );
- aLayout = TAknWindowComponentLayout::Compose( layout1, layout2 )
- .LayoutLine();
- }
- else
- {
- aLayout = AppLayout::downlink_stream_area();
- }
- }
- }
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetSecondWindowDisabledIconLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetSecondWindowDisabledIconLayout(
- TAknWindowLineLayout& aLayout )
- {
- aLayout = AppLayout::Downlink_video_image_Line_3();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetSecondWindowWaitingTextLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetSecondWindowWaitingTextLayout(
- TAknTextLineLayout& aLayout,
- const TBool aFirstLine )
- {
- TBool layoutFound = EFalse;
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- layoutFound = ETrue;
-
- TAknWindowComponentLayout layout1 =
- AknLayoutScalable_Apps::main_video_tele_pane();
-
- TAknTextComponentLayout layout2 =
- aFirstLine ?
- AknLayoutScalable_Apps::call_video_pane_t1() :
- AknLayoutScalable_Apps::call_video_pane_t2();
-
- aLayout =
- TAknWindowComponentLayout::ComposeText(
- layout1, layout2 ).LayoutLine();
- }
-
- if ( !layoutFound )
- {
- const TInt line( ( aFirstLine ) ? 0 : 1 );
- TAknWindowComponentLayout l1 = AknLayoutScalable_Apps::
- main_video_tele_pane();
- TAknTextComponentLayout l2;
- if ( !line )
- {
- l2 = AknLayoutScalable_Apps::call_video_pane_t1( 1 );
- }
- else
- {
- l2 = AknLayoutScalable_Apps::call_video_pane_t2( 1 );
- }
- aLayout = TAknWindowComponentLayout::ComposeText( l1, l2 );
- }
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetNumberEntryAreaLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetNumberEntryAreaLayout(
- TAknWindowLineLayout& aLayout )
- {
- TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 0;
-
- TAknWindowComponentLayout layout1 =
- AknLayoutScalable_Apps::main_call_pane();
- TAknWindowComponentLayout layout2 =
- AknLayoutScalable_Apps::popup_number_entry_window( variety );
-
- aLayout =
- TAknWindowComponentLayout::Compose( layout1, layout2 ).LayoutLine();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetAudioRoutingIconLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetAudioRoutingIconLayout(
- TAknWindowLineLayout& aLayout )
- {
- aLayout = AppLayout::Navipane_elements_and_descendant_panes_Line_1();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetCallDurationTextLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetCallDurationTextLayout(
- TAknTextLineLayout& aLayout )
- {
- aLayout = AppLayout::Navipanetexts_Line_1();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetMutedTextLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetMutedTextLayout(
- TAknTextLineLayout& aLayout )
- {
- aLayout = AppLayout::Navipanetexts_Line_2();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetZoomPaneLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetZoomPaneLayout(
- TAknWindowLineLayout& aLayout )
- {
- aLayout = AppLayout::zooming_pane();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetZoomDirLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetZoomDirLayout(
- TAknWindowLineLayout& aLayout )
- {
- aLayout = AppLayout::Zooming_pane_elements_Line_1();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetZoomAreaLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetZoomAreaLayout(
- TAknWindowLineLayout& aLayout )
- {
- aLayout = AppLayout::Zooming_pane_elements_Line_2();
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::GetZoomStepLayout
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::GetZoomStepLayout(
- TAknWindowLineLayout& aLayout,
- TInt aZoomStep )
- {
- aZoomStep = Max( Min( aZoomStep, KVtUiZoomMaxStep ), KVtUiZoomMinStep );
- aZoomStep--; // 1 .. 11 is mapped to 0 .. 10.
-
- // Function pointer table would be more efficient, but AppLayout methods
- // are inline.
-
- switch ( aZoomStep )
- {
- case 0:
- aLayout = AppLayout::Zooming_steps_sizes_Line_1();
- break;
-
- case 1:
- aLayout = AppLayout::Zooming_steps_sizes_Line_2();
- break;
-
- case 2:
- aLayout = AppLayout::Zooming_steps_sizes_Line_3();
- break;
-
- case 3:
- aLayout = AppLayout::Zooming_steps_sizes_Line_4();
- break;
-
- case 4:
- aLayout = AppLayout::Zooming_steps_sizes_Line_5();
- break;
-
- case 5:
- aLayout = AppLayout::Zooming_steps_sizes_Line_6();
- break;
-
- case 6:
- aLayout = AppLayout::Zooming_steps_sizes_Line_7();
- break;
-
- case 7:
- aLayout = AppLayout::Zooming_steps_sizes_Line_8();
- break;
-
- case 8:
- aLayout = AppLayout::Zooming_steps_sizes_Line_9();
- break;
-
- case 9:
- aLayout = AppLayout::Zooming_steps_sizes_Line_10();
- break;
-
- case 10:
- default:
- aLayout = AppLayout::Zooming_steps_sizes_Line_11();
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::MapBitmapToSkinId
-// -----------------------------------------------------------------------------
-//
-TAknsItemID VtUiLayout::MapBitmapToSkinId( TVtUiBitmapId aId )
- {
- TAknsItemID skinId = KAknsIIDNone;
-
- switch ( aId )
- {
- case EVtUiBitmap_qgn_graf_call_video_out_bg:
- skinId = KAknsIIDQgnGrafCallVideoOutBg;
- break;
-
- case EVtUiBitmap_qgn_indi_call_video_blind_in:
- skinId = KAknsIIDQgnIndiCallVideoBlindIn;
- break;
-
- case EVtUiBitmap_qgn_indi_call_video_blind_out:
- skinId = KAknsIIDQgnIndiCallVideoBlindOut;
- break;
-
- case EVtUiBitmap_qgn_indi_call_video_blind_in_mask_icon:
- skinId = KAknsIIDQgnIndiCallVideoBlindInMaskIcon;
- break;
-
- case EVtUiBitmap_qgn_indi_call_video_blind_out_mask_icon:
- skinId = KAknsIIDQgnIndiCallVideoBlindOutMaskIcon;
- break;
-
- case EVtUiBitmap_qgn_indi_earpiece:
- skinId = KAknsIIDQgnIndiEarpiece;
- break;
-
- case EVtUiBitmap_qgn_indi_speaker:
- skinId = KAknsIIDQgnIndiSpeaker;
- break;
-
- case EVtUiBitmap_qgn_indi_zoom_dir:
- skinId = KAknsIIDQgnIndiZoomDir;
- break;
-
- case EVtUiBitmap_qgn_graf_zoom_area:
- skinId = KAknsIIDQgnGrafZoomArea;
- break;
-
- case EVtUiBitmap_qgn_indi_zoom_min:
- skinId = KAknsIIDQgnIndiZoomMin;
- break;
-
- case EVtUiBitmap_qgn_indi_zoom_max:
- skinId = KAknsIIDQgnIndiZoomMax;
- break;
-
- case EVtUiBitmap_qgn_prop_sub_current:
- case EVtUiBitmap_qgn_prop_sub_current_mask:
- skinId = KAknsIIDQgnPropSubCurrent;
- break;
-
- default:
- // Default value is OK.
- break;
- }
-
- return skinId;
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::MapBitmapToColorId
-// -----------------------------------------------------------------------------
-//
-TBool VtUiLayout::MapBitmapToColorId(
- TVtUiBitmapId aId,
- TAknsItemID& aColorId,
- TInt& aColorIndex )
- {
- TBool result = EFalse;
-
- aColorId = KAknsIIDNone;
- aColorIndex = KErrNotFound;
-
- switch ( aId )
- {
- case EVtUiBitmap_qgn_indi_earpiece:
- case EVtUiBitmap_qgn_indi_earpiece_mask:
- case EVtUiBitmap_qgn_indi_speaker:
- case EVtUiBitmap_qgn_indi_speaker_mask:
- case EVtUiBitmap_qgn_indi_zoom_dir:
- case EVtUiBitmap_qgn_indi_zoom_dir_mask:
- result = ETrue;
- aColorId = KAknsIIDQsnIconColors;
- aColorIndex = EAknsCIQsnIconColorsCG7;
- break;
-
- default:
- // Default value is OK.
- break;
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::Resolve
-// -----------------------------------------------------------------------------
-//
-void VtUiLayout::Resolve(
- TVtUiBitmapId aId,
- TFileName& aFileName,
- TInt& aIndex )
- {
- TInt index = KErrNotFound;
- TVtUiBitmapFiles file = EVtUiVideoBitmapFile;
-
- switch ( aId )
- {
- case EVtUiBitmap_qgn_graf_call_video_out_bg:
- index = EMbmVideoteluiQgn_graf_call_video_out_bg;
- break;
-
- case EVtUiBitmap_qgn_graf_call_video_out_bg_mask:
- index = EMbmVideoteluiQgn_graf_call_video_out_bg_mask;
- break;
-
- case EVtUiBitmap_qgn_indi_call_video_blind_in:
- index = EMbmVideoteluiQgn_indi_call_video_blind_in;
- break;
-
- case EVtUiBitmap_qgn_indi_call_video_blind_out:
- index = EMbmVideoteluiQgn_indi_call_video_blind_out;
- break;
-
- case EVtUiBitmap_qgn_indi_earpiece:
- file = EVtUiAvkonBitmapFile;
- index = EMbmAvkonQgn_indi_earpiece;
- break;
-
- case EVtUiBitmap_qgn_indi_earpiece_mask:
- file = EVtUiAvkonBitmapFile;
- index = EMbmAvkonQgn_indi_earpiece_mask;
- break;
-
- case EVtUiBitmap_qgn_indi_speaker:
- file = EVtUiAvkonBitmapFile;
- index = EMbmAvkonQgn_indi_speaker;
- break;
-
- case EVtUiBitmap_qgn_indi_speaker_mask:
- file = EVtUiAvkonBitmapFile;
- index = EMbmAvkonQgn_indi_speaker_mask;
- break;
-
- case EVtUiBitmap_qgn_graf_zoom_area:
- index = EMbmVideoteluiQgn_graf_zoom_area;
- break;
-
- case EVtUiBitmap_qgn_indi_zoom_dir:
- index = EMbmVideoteluiQgn_indi_zoom_dir;
- break;
-
- case EVtUiBitmap_qgn_indi_zoom_dir_mask:
- index = EMbmVideoteluiQgn_indi_zoom_dir_mask;
- break;
-
- case EVtUiBitmap_qgn_indi_zoom_min:
- index = EMbmVideoteluiQgn_indi_zoom_min;
- break;
-
- case EVtUiBitmap_qgn_indi_zoom_max:
- index = EMbmVideoteluiQgn_indi_zoom_max;
- break;
-
- case EVtUiBitmap_qgn_indi_call_video_blind_in_mask_icon:
- index = EMbmVideoteluiQgn_indi_call_video_blind_in_mask_icon;
- break;
-
- case EVtUiBitmap_qgn_indi_call_video_blind_out_mask_icon:
- index = EMbmVideoteluiQgn_indi_call_video_blind_out_mask_icon;
- break;
-
- case EVtUiBitmap_qgn_prop_sub_current:
- file = EVtUiAvkonBitmapFile;
- index = EMbmAvkonQgn_prop_sub_current;
- break;
-
- case EVtUiBitmap_qgn_prop_sub_current_mask:
- file = EVtUiAvkonBitmapFile;
- index = EMbmAvkonQgn_prop_sub_current_mask;
- break;
-
- default:
- VtUiPanic::Panic( EVtUiPanicInvalidBitmapId );
- break;
- }
-
- aIndex = index;
- switch ( file )
- {
- case EVtUiVideoBitmapFile:
- aFileName = KVtUiVideoBitmapFileName;
- break;
-
- case EVtUiAvkonBitmapFile:
- aFileName = AknIconUtils::AvkonIconFileName();
- break;
-
- default:
- VtUiPanic::Panic( EVtUiPanicInvalidBitmapFile );
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// VtUiLayout::IsLandscapeOrientation
-// -----------------------------------------------------------------------------
-//
-TBool VtUiLayout::IsLandscapeOrientation()
- {
- return Layout_Meta_Data::IsLandscapeOrientation();
- }
-
-// End of File
--- a/vtuis/videotelui/src/VtUiPanic.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the VtUiPanic class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "VtUiPanic.h"
-
-// CONSTANTS
-
-// Panic category for Video Telephone application.
-_LIT( KVtUiPanicCategory, "Videotelui" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// VtUiPanic::Panic
-// -----------------------------------------------------------------------------
-//
-void VtUiPanic::Panic( TVtUiPanicReason aReason )
- {
- User::Panic( KVtUiPanicCategory, aReason );
- }
-
-// End of File
--- a/vtuis/videotelui/src/VtUiUtility.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,336 +0,0 @@
-/*
-* Copyright (c) 2004 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: Implementation of the VtUiUtility class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "VtUiUtility.h"
-#include "VtUiPanic.h"
-#include <featmgr.h>
-#include <mvtengmedia.h>
-#include <cvtlogger.h>
-#include <AknUtils.h>
-#include "tVtuifeaturevariation.h"
-
-// Characters to open number entry.
-_LIT( KVtUiDTMFCharacters, "0123456789*#" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::GetAudioRoutingAvailability
-// -----------------------------------------------------------------------------
-//
-void VtUiUtility::GetAudioRoutingAvailability(
- MVtEngAudio& aAudio,
- TInt& aAvailable )
- {
- aAvailable = 0;
- TVtUiBTVariation btvariation;
- const TBool bluetoothAudioSupported =
- btvariation.IsBTSupported();
-
- MVtEngAudio::TAudioRoutingState routingState;
- if ( aAudio.GetRoutingState( routingState ) == KErrNone )
- {
- // Deactivate BT handsfree.
- if ( bluetoothAudioSupported &&
- IsAudioRoutingAvailable(
- aAudio,
- routingState,
- MVtEngAudio::EAudioBT,
- MVtEngAudio::EAudioHandset ) )
- {
- aAvailable |= EDeactivateBtHandsfree;
- }
-
- // Activate BT handsfree.
- if ( bluetoothAudioSupported &&
- ( IsAudioRoutingAvailable(
- aAudio,
- routingState,
- MVtEngAudio::EAudioHandset,
- MVtEngAudio::EAudioBT ) ||
- IsAudioRoutingAvailable(
- aAudio,
- routingState,
- MVtEngAudio::EAudioLoudspeaker,
- MVtEngAudio::EAudioBT ) ) )
- {
- aAvailable |= EActivateBtHandsfree;
- }
-
- // Deactivate loudspeaker
- if ( IsAudioRoutingAvailable(
- aAudio,
- routingState,
- MVtEngAudio::EAudioLoudspeaker,
- MVtEngAudio::EAudioHandset ) )
- {
- aAvailable |= EDeactivateLoudspeaker;
- }
-
- // Activate loudspeaker
- if ( IsAudioRoutingAvailable(
- aAudio,
- routingState,
- MVtEngAudio::EAudioHandset,
- MVtEngAudio::EAudioLoudspeaker ) ||
- ( bluetoothAudioSupported &&
- IsAudioRoutingAvailable(
- aAudio,
- routingState,
- MVtEngAudio::EAudioBT,
- MVtEngAudio::EAudioLoudspeaker ) ) )
- {
- aAvailable |= EActivateLoudspeaker;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::GetOutgoingMediaState
-// -----------------------------------------------------------------------------
-//
-void VtUiUtility::GetOutgoingMediaState(
- MVtEngMedia& aMedia,
- TInt& aAvailable )
- {
- TInt outgoingMediaState;
- const TInt err =
- aMedia.GetMediaState(
- MVtEngMedia::EMediaOutgoing,
- outgoingMediaState );
- if ( err == KErrNone )
- {
- // If source is still image, then video sending is off.
- MVtEngMedia::TMediaSource source;
- if ( aMedia.GetSource( source ) == KErrNone )
- {
- if ( source == MVtEngMedia::EMediaStillImage )
- {
- outgoingMediaState &= ~MVtEngMedia::EMediaVideo;
- }
- }
- TBool freezeSupported;
- if( aMedia.GetFreezeSupported( freezeSupported ) == KErrNone )
- {
- TBool isFrozen;
- if( freezeSupported && aMedia.GetFreezeState( isFrozen ) == KErrNone )
- {
- if( isFrozen )
- {
- outgoingMediaState &= ~MVtEngMedia::EMediaVideo;
- }
- }
- }
- }
- else
- {
- outgoingMediaState =
- ( MVtEngMedia::EMediaAudio | MVtEngMedia::EMediaVideo );
- }
- aAvailable = outgoingMediaState;
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::GetIncomingMediaState
-// -----------------------------------------------------------------------------
-//
-void VtUiUtility::GetIncomingMediaState(
- MVtEngMedia& aMedia,
- TInt& aAvailable )
- {
- TInt mediaState;
- const TInt err =
- aMedia.GetMediaState(
- MVtEngMedia::EMediaIncoming,
- mediaState );
- if ( err != KErrNone )
- {
- mediaState =
- ( MVtEngMedia::EMediaAudio | MVtEngMedia::EMediaVideo );
- }
-
- aAvailable = mediaState;
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::HasStillImage
-// -----------------------------------------------------------------------------
-//
-TBool VtUiUtility::HasStillImage(
- MVtEngMedia& aMedia )
- {
- TInt caps;
- const TInt capsErr = aMedia.GetSourcesCaps( caps );
- return ( capsErr == KErrNone ) &&
- ( caps & MVtEngMedia::ESourceCapsStillImage );
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::GetFreezeState
-// -----------------------------------------------------------------------------
-//
-TBool VtUiUtility::GetFreezeState(
- MVtEngMedia& aMedia )
- {
- TBool isFrozen;
- const TInt err = aMedia.GetFreezeState( isFrozen );
- if ( err == KErrNone )
- {
- return isFrozen;
- }
- else //provider was not ready
- {
- return EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::IsFreezeSupported
-// -----------------------------------------------------------------------------
-//
-TBool VtUiUtility::IsFreezeSupported(
- MVtEngMedia& aMedia )
- {
- TBool isFreezeSupported;
- const TInt err = aMedia.GetFreezeSupported( isFreezeSupported );
- if ( err == KErrNone )
- {
- return isFreezeSupported;
- }
- else //provider was not ready
- {
- return EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::GetVideoQuality
-// -----------------------------------------------------------------------------
-//
-void VtUiUtility::GetVideoQuality(
- MVtEngMedia& aMedia,
- MVtEngMedia::TVideoQuality& aVideoQuality )
- {
- aMedia.GetVideoQuality( aVideoQuality );
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::GetObjectSharingState
-// -----------------------------------------------------------------------------
-//
-void VtUiUtility::GetObjectSharingState(
- MVtEngMedia& aMedia,
- MVtEngMedia::TShareObjectState& aShareObjectState )
- {
- aMedia.GetObjectSharingState( aShareObjectState );
- }
-
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::IsZoomAllowed
-// -----------------------------------------------------------------------------
-//
-TBool VtUiUtility::IsZoomAllowed(
- MVtEngMedia& aMedia )
- {
- TBool result = EFalse;
-
- TInt currentStep;
- if ( aMedia.GetCurrentZoomStep( currentStep ) == KErrNone )
- {
- TInt max;
- if ( aMedia.GetMaxZoomStep( max ) == KErrNone )
- {
- // Zooming is allowed if maximum zoom step is greater than
- // zero and camera is in use (and not still image / none).
- TInt avail;
- GetOutgoingMediaState( aMedia, avail );
-
- result = ( max > 0 ) && ( avail & MVtEngMedia::EMediaVideo );
- }
- }
-
- __VTPRINT2( DEBUG_GEN, "Ui.AllowZoom.%d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::HasCameras
-// -----------------------------------------------------------------------------
-//
-TBool VtUiUtility::HasCameras( MVtEngMedia& aMedia )
- {
- TInt sourceCaps;
- if ( aMedia.GetSourcesCaps( sourceCaps ) != KErrNone )
- {
- sourceCaps = 0;
- }
- return ( sourceCaps & MVtEngMedia::ESourceCapsPrimaryCamera ) ||
- ( sourceCaps & MVtEngMedia::ESourceCapsSecondaryCamera );
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::IsAudioRoutingAvailable
-// -----------------------------------------------------------------------------
-//
-TBool VtUiUtility::IsAudioRoutingAvailable(
- MVtEngAudio& aAudio,
- const MVtEngAudio::TAudioRoutingState aCurrent,
- const MVtEngAudio::TAudioRoutingState aSource,
- const MVtEngAudio::TAudioRoutingState aTarget )
- {
- TBool result = EFalse;
- if ( aCurrent == aSource )
- {
- TBool available = EFalse;
- TInt err = aAudio.GetRoutingAvailability( aTarget, available );
-
- result = ( ( err == KErrNone ) && ( available ) );
- }
-
- return result;
- }
-
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::IsDTMFEvent
-// -----------------------------------------------------------------------------
-//
-TBool VtUiUtility::IsDTMFEvent( const TKeyEvent& aKeyEvent, TChar& aDtmfTone )
- {
- TBuf<1> buffer; // one character
- buffer.Append( aKeyEvent.iCode );
- AknTextUtils::ConvertDigitsTo( buffer, EDigitTypeWestern );
- aDtmfTone = buffer[ 0 ];
- return
- ( KVtUiDTMFCharacters().Locate( buffer[ 0 ] ) != KErrNotFound );
- }
-
-// -----------------------------------------------------------------------------
-// VtUiUtility::IsDTMFCharacter
-// -----------------------------------------------------------------------------
-//
-TBool VtUiUtility::IsDTMFCharacter( const TChar aChar )
- {
- return
- ( KVtUiDTMFCharacters().Locate( aChar ) != KErrNotFound );
- }
-
-// End of File
--- a/vtuis/videotelui/src/commands/cvtuicmdbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* 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: UI command bases class implementation.
-*
-*/
-
-
-#include "cvtuicmdbase.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// FindCVtUiCmdBaseById
-// ---------------------------------------------------------------------------
-//
-TInt FindCVtUiCmdBaseById( const CVtUiCmdBase& aC1, const CVtUiCmdBase& aC2 )
- {
- return ( aC1.CommandId() - aC2.CommandId() );
- }
-
-// ---------------------------------------------------------------------------
-// FindCVtUiCmdBaseByKey
-// ---------------------------------------------------------------------------
-//
-TInt FindCVtUiCmdBaseByKey( const TInt* aKey, const CVtUiCmdBase& aC )
- {
- return ( *aKey - aC.CommandId() );
- }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdBase::CommandId
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCmdBase::CommandId() const
- {
- return iCommandId;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdBase::LinearOrder
-// ---------------------------------------------------------------------------
-//
-TLinearOrder< CVtUiCmdBase > CVtUiCmdBase::LinearOrder()
- {
- return TLinearOrder< CVtUiCmdBase >( ::FindCVtUiCmdBaseById );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdBase::LinearOrder
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdBase::TKeyOrder CVtUiCmdBase::KeyOrder()
- {
- return ::FindCVtUiCmdBaseByKey;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdBase::CVtUiCmdBase
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdBase::CVtUiCmdBase( TInt aCommandId ) : iCommandId( aCommandId )
- {
- }
--- a/vtuis/videotelui/src/commands/cvtuicmdcontext.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 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: Command context base class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicmdcontext.h"
-#include "cvtuicmdvalidatorbase.h"
-#include "cvtuicmdvalidationactionbase.h"
-#include "mvtuicommandmanager.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Compare routine used by InsertInOrder() and FindInOrder() to sort validator
-// instances by priority.
-// ---------------------------------------------------------------------------
-//
-TInt ValidatorPriCmpFunc( const CVtUiCmdValidatorBase& aV1,
- const CVtUiCmdValidatorBase& aV2 )
- {
- return aV1.Priority() - aV2.Priority();
- }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::~CVtUiCmdContext
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdContext::~CVtUiCmdContext()
- {
- __VTPRINTENTER( "CmdCtx.~" )
- iValidators.Reset();
- __VTPRINTEXIT( "CmdCtx.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::ReferencePriority
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCmdContext::ReferencePriority() const
- {
- __VTPRINTENTER( "CmdCtx.ReferencePriority" )
- __VTPRINTEXITR( "CmdCtx.ReferencePriority %d", iReferencePriority )
- return iReferencePriority;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::ContextType
-// ---------------------------------------------------------------------------
-//
-TVtUiCmdContextType CVtUiCmdContext::ContextType() const
- {
- __VTPRINTENTER( "CmdCtx.ContextType" )
- __VTPRINTEXITR( "CmdCtx.ContextType %d", iContextType )
- return iContextType;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::AddValidator
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCmdContext::AddValidator( CVtUiCmdValidatorBase& aValidator )
- {
- __VTPRINTENTER( "CmdCtx.AddValidator" )
- TInt result( KErrNone );
- if ( !aValidator.ValidatesContext( iContextType ) )
- {
- result = KErrNotSupported;
- }
- else
- {
- result = iValidators.InsertInOrderAllowRepeats( &aValidator,
- TLinearOrder< CVtUiCmdValidatorBase >( ::ValidatorPriCmpFunc ) );
- }
- __VTPRINTEXITR( "CmdCtx.AddValidator %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::RemoveValidator
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdContext::RemoveValidator( const CVtUiCmdValidatorBase& aValidator )
- {
- __VTPRINTENTER( "CmdCtx.RemoveValidator" )
- TInt idx( iValidators.FindInOrder( &aValidator,
- TLinearOrder< CVtUiCmdValidatorBase >( ::ValidatorPriCmpFunc ) ) );
-
- if ( idx != KErrNotFound )
- {
- iValidators.Remove( idx );
- }
- __VTPRINTEXIT( "CmdCtx.RemoveValidator" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::CVtUiCmdContext
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdContext::CVtUiCmdContext( MVtUiCommandManager& aCommandManager,
- TVtUiCmdContextType aCtxType, TInt aReferencePriority )
- : iCommandManager( aCommandManager ),
- iReferencePriority( aReferencePriority ), iContextType( aCtxType )
- {
- __VTPRINTENTER( "CmdCtx.ctor" )
- __VTPRINTEXIT( "CmdCtx.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::ValidateMenuItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdContext::ValidateMenuItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdCtx.ValidateMenuItemsL" )
- __VTPRINT2( DEBUG_GEN, " count = %d", iValidators.Count() )
- for ( TInt i = iValidators.Count() - 1; i >= 0; i-- )
- {
- iValidators[ i ]->ValidateMenuItemsL( aAction, iReferencePriority );
- }
- __VTPRINTEXIT( "CmdCtx.ValidateMenuItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::ValidateSoftkeyItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdContext::ValidateSoftkeyItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdCtx.ValidateSoftkeyItemsL" )
- __VTPRINT2( DEBUG_GEN, " count = %d", iValidators.Count() )
- for ( TInt i = iValidators.Count() - 1; i >= 0; i-- )
- {
- iValidators[ i ]->ValidateSoftkeyItemsL( aAction, iReferencePriority );
- }
- __VTPRINTEXIT( "CmdCtx.ValidateSoftkeyItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::ValidateToolbarItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdContext::ValidateToolbarItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdCtx.ValidateToolbarItemsL" )
- __VTPRINT2( DEBUG_GEN, " count = %d", iValidators.Count() )
- for ( TInt i = iValidators.Count() - 1; i >= 0; i-- )
- {
- iValidators[ i ]->ValidateToolbarItemsL( aAction, iReferencePriority );
- }
- __VTPRINTEXIT( "CmdCtx.ValidateToolbarItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::CustomValidationL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdContext::CustomValidationL(
- CVtUiCmdCustomValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdCtx.CustomValidationL" )
- __VTPRINT2( DEBUG_GEN, " count = %d", iValidators.Count() )
- for ( TInt i = iValidators.Count() - 1; i >= 0; i-- )
- {
- iValidators[ i ]->CustomValidationL( aAction, iReferencePriority );
- }
- __VTPRINTEXIT( "CmdCtx.CustomValidationL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::RegisterCommandContextL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdContext::RegisterCommandContextL()
- {
- __VTPRINTENTER( "CmdCtx.RegisterCommandContextL" )
- User::LeaveIfError( iCommandManager.RegisterCommandContext( *this ) );
- __VTPRINTEXIT( "CmdCtx.RegisterCommandContextL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdContext::UnregisterCommandContext
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdContext::UnregisterCommandContext()
- {
- __VTPRINTENTER( "CmdCtx.UnregisterCommandContext" )
- iCommandManager.UnregisterCommandContext( *this );
- __VTPRINTEXIT( "CmdCtx.UnregisterCommandContext" )
- }
--- a/vtuis/videotelui/src/commands/cvtuicmdcustomvalidationactionbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 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: Custom command validation action base class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicmdcustomvalidationactionbase.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdCustomValidationActionBase::CustomTypeId
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdCustomValidationActionBase::TCustomTypeId
-CVtUiCmdCustomValidationActionBase::CustomTypeId() const
- {
- return iCustomTypeId;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdCustomValidationActionBase::BeginProcess
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdCustomValidationActionBase::CVtUiCmdCustomValidationActionBase(
- TCustomTypeId aCustomTypeId )
- : iCustomTypeId( aCustomTypeId )
- {
- }
--- a/vtuis/videotelui/src/commands/cvtuicmdstatecheckaction.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 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: Menu item dimmer action class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicmdstatecheckaction.h"
-#include "tvtuicmdvalidatorcallback.h"
-#include "tvtuicmdcontexttype.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdStateCheckAction::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdStateCheckAction* CVtUiCmdStateCheckAction::NewL()
- {
- __VTPRINTENTER( "CmdStChkAct.NewL" )
- CVtUiCmdStateCheckAction* self =
- new ( ELeave ) CVtUiCmdStateCheckAction();
- __VTPRINTEXIT( "CmdStChkAct.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdStateCheckAction::SetCommand
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdStateCheckAction::SetCommand( TInt aCommandId )
- {
- __VTPRINTENTER( "CmdStChkAct.SetCommand" )
- iCommandId = aCommandId;
- iIsCommandAllowed = EFalse;
- __VTPRINTEXIT( "CmdStChkAct.SetCommand" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdStateCheckAction::IsCommandAllowed
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiCmdStateCheckAction::IsCommandAllowed() const
- {
- return iIsCommandAllowed;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdStateCheckAction::ProcessL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdStateCheckAction::ProcessL(
- const MVtUiCmdValidatorCallBack& aCallBack )
- {
- __VTPRINTENTER( "CmdStChkAct.ProcessL" )
- if ( !IsCommandHandled( iCommandId ) )
- {
- if ( aCallBack.Call( iCommandId ) )
- {
- CommandHandledL( iCommandId );
- iIsCommandAllowed = ETrue;
- }
- }
- __VTPRINTEXIT( "CmdStChkAct.ProcessL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdStateCheckAction::CVtUiCmdStateCheckAction
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdStateCheckAction::CVtUiCmdStateCheckAction()
- : CVtUiCmdCustomValidationActionBase( EVtUiCmdContextTypeExecution )
- {
- __VTPRINTENTER( "CmdStChkAct.ctor" )
- __VTPRINTEXIT( "CmdStChkAct.ctor" )
- }
--- a/vtuis/videotelui/src/commands/cvtuicmdvalidationactionbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 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: Command validation action base class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicmdvalidationactionbase.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdValidationActionBase::~CVtUiCmdValidationActionBase
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdValidationActionBase::~CVtUiCmdValidationActionBase()
- {
- __VTPRINTENTER( "ValActBase.~" )
- iHandledCommands.Reset();
- __VTPRINTEXIT( "ValActBase.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdValidationActionBase::BeginProcess
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdValidationActionBase::BeginProcess()
- {
- __VTPRINTENTER( "ValActBase.BeginProcess" )
- iHandledCommands.Reset();
- __VTPRINTEXIT( "ValActBase.BeginProcess" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdValidationActionBase::EndProcess
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdValidationActionBase::EndProcess()
- {
- __VTPRINTENTER( "ValActBase.EndProcess" )
- __VTPRINTEXIT( "ValActBase.EndProcess" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdValidationActionBase::CommandHandledL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdValidationActionBase::CommandHandledL( TInt aCommandId )
- {
- __VTPRINTENTER( "ValActBase.CommandHandledL" )
- __VTPRINT2( DEBUG_GEN, " cmdId = %d", aCommandId );
- User::LeaveIfError( iHandledCommands.InsertInOrder( aCommandId ) );
- __VTPRINTEXIT( "ValActBase.CommandHandledL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdValidationActionBase::IsCommandHandled
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiCmdValidationActionBase::IsCommandHandled( TInt aCommandId ) const
- {
- __VTPRINTENTER( "ValActBase.IsCommandHandled" )
- TBool result( iHandledCommands.FindInOrder( aCommandId ) != KErrNotFound );
- __VTPRINTEXITR( "ValActBase.IsCommandHandled %d", result )
- return result;
- }
--- a/vtuis/videotelui/src/commands/cvtuicmdvalidatorbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 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: Command validator base class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicmdvalidatorbase.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdValidatorBase::Priority
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCmdValidatorBase::Priority() const
- {
- __VTPRINTENTER( "ValidatorBase.Priority" )
- __VTPRINTEXITR( "ValidatorBase.Priority %d", iPriority )
- return iPriority;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdValidatorBase::CVtUiCmdValidatorBase
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdValidatorBase::CVtUiCmdValidatorBase( TInt aPriority )
- : iPriority( aPriority )
- {
- __VTPRINTENTER( "ValidatorBase.ctor" )
- __VTPRINTEXIT( "ValidatorBase.ctor" )
- }
--- a/vtuis/videotelui/src/commands/cvtuicommandmanager.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,421 +0,0 @@
-/*
-* Copyright (c) 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: Command manager class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicmdbase.h"
-#include "cvtuicommandmanager.h"
-#include "cvtuicommandpolicymanager.h"
-#include "cvtuiprimarycmdpolicy.h"
-#include "cvtuiexecutioncontext.h"
-#include "cvtuimenuitemdimmeraction.h"
-#include "tvtuistates.h"
-#include "mvtuicommandui.h"
-#include "cvtuicommandmodifybase.h"
-#include "cvtuicmdstatecheckaction.h"
-
-// Default array granularity.
-static const TInt KVtUiArrayGranularity = 1;
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::NewL
-// -----------------------------------------------------------------------------
-//
-CVtUiCommandManager* CVtUiCommandManager::NewL( const TVtUiStates& aUiStates,
- CVtUiAppUi& aAppUi )
- {
- __VTPRINTENTER( "CmdMgr.NewL" )
- CVtUiCommandManager* self = new ( ELeave ) CVtUiCommandManager( aUiStates,
- aAppUi );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "CmdMgr.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::~CVtUiCommandManager
-// -----------------------------------------------------------------------------
-//
-CVtUiCommandManager::~CVtUiCommandManager()
- {
- __VTPRINTENTER( "CmdMgr.~" )
- iCommands.Reset();
- iCommandUis.Reset();
- iCommandModifiers.Reset();
- delete iExecutionContext;
- delete iCmdStateCheckAction;
- delete iCmdPolicyMgr;
- __VTPRINTEXIT( "CmdMgr.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::UiStates
-// -----------------------------------------------------------------------------
-//
-const TVtUiStates& CVtUiCommandManager::UiStates() const
- {
- return iUiStates;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::AppUi
-// -----------------------------------------------------------------------------
-//
-const CVtUiAppUi& CVtUiCommandManager::AppUi() const
- {
- return iAppUi;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::VideoTelephonyVariation
-// -----------------------------------------------------------------------------
-//
-const TVtUiVideoTelephonyVariation&
-CVtUiCommandManager::VideoTelephonyVariation() const
- {
- return iVtVariation;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::HandleCommandL( TInt aCommandId )
- {
- TInt index( iCommands.FindInOrder( aCommandId, CVtUiCmdBase::KeyOrder() ) );
- if ( index != KErrNotFound )
- {
- iCommands[ index ]->HandleL();
- }
- /*
-
- This was commented out, because current CVtUiAppUi silently ignores
- commands that are not handled, changed this to emulate same kind of
- behaviour.
-
- else
- {
- User::Leave( KErrNotFound );
- }
- */
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::AddCommandUi
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiCommandManager::AddCommandUi( MVtUiCommandUi& aCommandUi )
- {
- __VTPRINTENTER( "CmdMgr.AddCommandUi" )
- TInt result( KErrAlreadyExists );
- TInt idx( iCommandUis.Find( &aCommandUi ) );
- if ( idx == KErrNotFound )
- {
- result = iCommandUis.Append( &aCommandUi );
- if ( result == KErrNone )
- {
- result = CommandUiAdded( aCommandUi );
- }
- }
- __VTPRINTEXITR( "CmdMgr.AddCommandUi %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::RemoveCommandUi
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::RemoveCommandUi( MVtUiCommandUi& aCommandUi )
- {
- __VTPRINTENTER( "CmdMgr.RemoveCommandUi" )
- TInt idx( iCommandUis.Find( &aCommandUi ) );
- if ( idx != KErrNotFound )
- {
- iCommandUis.Remove( idx );
- CommandUiRemoved( aCommandUi );
- }
- __VTPRINTEXIT( "CmdMgr.RemoveCommandUi" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::ValidateMenuItemsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::ValidateMenuItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdMgr.ValidateMenuItemsL" )
- iCmdPolicyMgr->ValidateMenuItemsL( aAction );
- __VTPRINTEXIT( "CmdMgr.ValidateMenuItemsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::ValidateSoftkeyItemsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::ValidateSoftkeyItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdMgr.ValidateSoftkeyItemsL" )
- iCmdPolicyMgr->ValidateSoftkeyItemsL( aAction );
- __VTPRINTEXIT( "CmdMgr.ValidateSoftkeyItemsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::ValidateToolbarItemsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::ValidateToolbarItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdMgr.ValidateToolbarItemsL" )
- iCmdPolicyMgr->ValidateToolbarItemsL( aAction );
- __VTPRINTEXIT( "CmdMgr.ValidateToolbarItemsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::IsCommandAllowedL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiCommandManager::IsCommandAllowedL( TInt aCommandId )
- {
- __VTPRINTENTER( "CmdMgr.IsCommandAllowedL" )
- TInt index( iCommands.FindInOrder( aCommandId, CVtUiCmdBase::KeyOrder() ) );
- if ( index == KErrNotFound )
- {
- iCmdStateCheckAction->SetCommand( aCommandId );
- iCmdPolicyMgr->CustomValidateL( *iCmdStateCheckAction );
- }
- else
- {
- return iCommands[ index ]->IsEnabled();
- }
- __VTPRINTEXIT( "CmdMgr.IsCommandAllowedL" )
- return iCmdStateCheckAction->IsCommandAllowed();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::RegisterCommandContext
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiCommandManager::RegisterCommandContext( CVtUiCmdContext& aContext )
- {
- __VTPRINTENTER( "CmdMgr.RegisterCommandContext" )
- TInt result( iCmdPolicyMgr->RegisterCommandContext( aContext ) );
- __VTPRINTEXITR( "CmdMgr.RegisterCommandContext %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::UnregisterCommandContext
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::UnregisterCommandContext( CVtUiCmdContext& aContext )
- {
- __VTPRINTENTER( "CmdMgr.UnregisterCommandContext" )
- iCmdPolicyMgr->UnregisterCommandContext( aContext );
- __VTPRINTEXIT( "CmdMgr.UnregisterCommandContext" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::AddValidator
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiCommandManager::AddValidator( CVtUiCmdValidatorBase& aValidator )
- {
- __VTPRINTENTER( "CmdMgr.AddValidator" )
- TInt result( iCmdPolicyMgr->AddValidator( aValidator ) );
- __VTPRINTEXITR( "CmdMgr.AddValidator %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::RemoveValidator
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::RemoveValidator(
- CVtUiCmdValidatorBase& aValidator )
- {
- __VTPRINTENTER( "CmdMgr.RemoveValidator" )
- iCmdPolicyMgr->RemoveValidator( aValidator );
- __VTPRINTEXIT( "CmdMgr.RemoveValidator" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::RefreshL
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::RefreshL()
- {
- __VTPRINTENTER( "CmdMgr.RefreshL" )
- for ( TInt i = iCommandUis.Count() - 1; i >= 0; i-- )
- {
- iCommandUis[ i ]->RefreshL();
- }
- __VTPRINTEXIT( "CmdMgr.RefreshL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::AddCommandModifier
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiCommandManager::AddCommandModifier(
- CVtUiCommandModifyBase& aModifier )
- {
- __VTPRINTENTER( "CmdMgr.AddCommandModifier" )
- TInt result(
- iCommandModifiers.InsertInOrder( &aModifier,
- CVtUiCommandModifyBase::PriorityOrder() ) );
- if ( result == KErrNone )
- {
- result = CommandModifierAdded( aModifier );
- }
- __VTPRINTEXITR( "CmdMgr.AddCommandModifier %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::RemoveCommandModifier
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::RemoveCommandModifier(
- CVtUiCommandModifyBase& aModifier )
- {
- __VTPRINTENTER( "CmdMgr.RemoveCommandModifier" )
- TInt idx( iCommandModifiers.FindInOrder( &aModifier,
- CVtUiCommandModifyBase::PriorityOrder() ) );
- if ( idx != KErrNotFound )
- {
- iCommandModifiers.Remove( idx );
- CommandModifierRemoved( aModifier );
- }
- __VTPRINTEXIT( "CmdMgr.RemoveCommandModifier" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::RegisterCommandL
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::RegisterCommandL( CVtUiCmdBase& aCommand )
- {
- __VTPRINTENTER( "CmdMgr.RegisterCommandL" )
- iCommands.InsertInOrderL( &aCommand, CVtUiCmdBase::LinearOrder() );
- __VTPRINTEXIT( "CmdMgr.RegisterCommandL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::UnregisterCommand
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::UnregisterCommand( const CVtUiCmdBase& aCommand )
- {
- __VTPRINTENTER( "CmdMgr.UnregisterCommand" )
- TInt index( iCommands.FindInOrder( &aCommand,
- CVtUiCmdBase::LinearOrder() ) );
- if ( index != KErrNotFound )
- {
- iCommands.Remove( index );
- }
- __VTPRINTEXIT( "CmdMgr.UnregisterCommand" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::CVtUiCommandManager
-// -----------------------------------------------------------------------------
-//
-CVtUiCommandManager::CVtUiCommandManager( const TVtUiStates& aUiStates,
- CVtUiAppUi& aAppUi )
-: iCommandUis( KVtUiArrayGranularity ),
- iCommandModifiers( KVtUiArrayGranularity ),
- iCommands( KVtUiArrayGranularity ),
- iUiStates( aUiStates ),
- iAppUi( aAppUi )
- {
- __VTPRINTENTER( "CmdMgr.ctor" )
- __VTPRINTEXIT( "CmdMgr.ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::ConstructL()
- {
- __VTPRINTENTER( "CmdMgr.ConstructL" )
- iVtVariation.ReadL();
- iCmdPolicyMgr = CVtUiCommandPolicyManager::NewL( *this );
- iCmdStateCheckAction = CVtUiCmdStateCheckAction::NewL();
- iExecutionContext = CVtUiExecutionContext::NewL( *this );
- __VTPRINTEXIT( "CmdMgr.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::CommandModifierAdded
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiCommandManager::CommandModifierAdded(
- CVtUiCommandModifyBase& aModifier )
- {
- TInt error( KErrNone );
- for ( TInt i = iCommandUis.Count() - 1; !error && i >= 0; i-- )
- {
- error = iCommandUis[ i ]->AddCommandModifier( aModifier );
- }
- return error;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::CommandModifierRemoved
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::CommandModifierRemoved(
- CVtUiCommandModifyBase& aModifier )
- {
- for ( TInt i = iCommandUis.Count() - 1; i >= 0; i-- )
- {
- iCommandUis[ i ]->RemoveCommandModifier( aModifier );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::CommandUiAdded
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiCommandManager::CommandUiAdded( MVtUiCommandUi& aCommandUi )
- {
- TInt error( KErrNone );
- for ( TInt i = iCommandModifiers.Count() - 1; !error && i >= 0; i-- )
- {
- error = aCommandUi.AddCommandModifier( *iCommandModifiers[ i ] );
- }
- return error;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiCommandManager::CommandUiRemoved
-// -----------------------------------------------------------------------------
-//
-void CVtUiCommandManager::CommandUiRemoved( MVtUiCommandUi& aCommandUi )
- {
- for ( TInt i = iCommandModifiers.Count() - 1; i >= 0; i-- )
- {
- aCommandUi.RemoveCommandModifier( *iCommandModifiers[ i ] );
- }
- }
--- a/vtuis/videotelui/src/commands/cvtuicommandmodifybase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 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: Command context base class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicommandmodifybase.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandModifyBase::CVtUiCommandModifyBase
-// ---------------------------------------------------------------------------
-//
-CVtUiCommandModifyBase::CVtUiCommandModifyBase( TInt aPriority )
- : iPriority( aPriority )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandModifyBase::PriorityOrder
-// ---------------------------------------------------------------------------
-//
-TLinearOrder< CVtUiCommandModifyBase > CVtUiCommandModifyBase::PriorityOrder()
- {
- return TLinearOrder< CVtUiCommandModifyBase >( PriorityOrderFunc );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandModifyBase::PriorityOrderFunc
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCommandModifyBase::PriorityOrderFunc(
- const CVtUiCommandModifyBase& aM1, const CVtUiCommandModifyBase& aM2 )
- {
- return aM1.iPriority - aM2.iPriority;
- }
-
--- a/vtuis/videotelui/src/commands/cvtuicommandpolicymanager.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,334 +0,0 @@
-/*
-* Copyright (c) 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: Command policy manager class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicommandpolicymanager.h"
-#include "cvtuicmdcontext.h"
-#include "cvtuicmdvalidatorbase.h"
-#include "cvtuicmdvalidationactionbase.h"
-#include "cvtuicmdcustomvalidationactionbase.h"
-#include "cvtuiprimarycmdpolicy.h"
-#include "cvtuicommandmanager.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Used in InsertInOrder() method to compare two instances of CVtUiCmdContext.
-// ---------------------------------------------------------------------------
-//
-TInt ContextTypeCmpFunc( const CVtUiCmdContext& aV1,
- const CVtUiCmdContext& aV2 )
- {
- return static_cast< TInt >( aV1.ContextType() ) -
- static_cast< TInt >( aV2.ContextType() );
- }
-
-// ---------------------------------------------------------------------------
-// Used in FindInOrder() method to compare instances of CVtUiCmdContext versus
-// given key value.
-// ---------------------------------------------------------------------------
-//
-TInt ContextTypeCmpFuncVsKey( const TVtUiCmdContextType* aKey,
- const CVtUiCmdContext& aValue )
- {
- return static_cast< TInt > ( *aKey ) -
- static_cast< TInt >( aValue.ContextType() );
- }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiCommandPolicyManager*
-CVtUiCommandPolicyManager::NewL( const CVtUiCommandManager& aCmdManager )
- {
- CVtUiCommandPolicyManager* self =
- new ( ELeave ) CVtUiCommandPolicyManager( aCmdManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::~CVtUiCommandPolicyManager
-// ---------------------------------------------------------------------------
-//
-CVtUiCommandPolicyManager::~CVtUiCommandPolicyManager()
- {
- __VTPRINTENTER( "CmdPolicyMgr.~" )
- iContexts.Reset();
- iValidators.Reset();
- delete iPrimaryCommandPolicy;
- __VTPRINTEXIT( "CmdPolicyMgr.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::RegisterCommandContext
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCommandPolicyManager::RegisterCommandContext(
- CVtUiCmdContext& aContext )
- {
- __VTPRINTENTER( "CmdPolicyMgr.RegisterCommandContext" )
- TLinearOrder< CVtUiCmdContext > cmpFunc( ::ContextTypeCmpFunc );
- TInt result( KErrNone );
- TInt index( iContexts.FindInOrder( &aContext, cmpFunc ) );
- if ( index == KErrNotFound )
- {
- TInt error( iContexts.InsertInOrder( &aContext, cmpFunc ) );
- if ( !error )
- {
- CommandContextRegistered( aContext );
- }
- result = error;
- }
- else
- {
- result = KErrAlreadyExists;
- }
- __VTPRINTEXITR( "CmdPolicyMgr.RegisterCommandContext %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::UnregisterCommandContext
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::UnregisterCommandContext(
- CVtUiCmdContext& aContext )
- {
- __VTPRINTENTER( "CmdPolicyMgr.UnregisterCommandContext" )
- TLinearOrder< CVtUiCmdContext > cmpFunc( ::ContextTypeCmpFunc );
- TInt index( iContexts.FindInOrder( &aContext, cmpFunc ) );
- if ( index != KErrNotFound )
- {
- iContexts.Remove( index );
- CommandContextUnregistered( aContext );
- }
- __VTPRINTEXIT( "CmdPolicyMgr.UnregisterCommandContext" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::AddValidator
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCommandPolicyManager::AddValidator(
- CVtUiCmdValidatorBase& aValidator )
- {
- __VTPRINTENTER( "CmdPolicyMgr.AddValidator" )
- TInt error( iValidators.Append( &aValidator ) );
- if ( !error )
- {
- ValidatorAdded( aValidator );
- }
- __VTPRINTEXITR( "CmdPolicyMgr.AddValidator %d", error )
- return error;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::RemoveValidator
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::RemoveValidator(
- CVtUiCmdValidatorBase& aValidator )
- {
- __VTPRINTENTER( "CmdPolicyMgr.RemoveValidator" )
- TInt index( iValidators.Find( &aValidator ) );
- if ( index != KErrNotFound )
- {
- iValidators.Remove( index );
- ValidatorRemoved( aValidator );
- }
- __VTPRINTEXIT( "CmdPolicyMgr.RemoveValidator" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidateMenuItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidateMenuItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdPolicyMgr.ValidateMenuItemsL" )
- ValidateL( EVtUiCmdContextTypeMenu, aAction );
- __VTPRINTEXIT( "CmdPolicyMgr.ValidateMenuItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidateSoftkeyItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidateSoftkeyItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdPolicyMgr.ValidateSoftkeyItemsL" )
- ValidateL( EVtUiCmdContextTypeSoftkey, aAction );
- __VTPRINTEXIT( "CmdPolicyMgr.ValidateSoftkeyItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidateToolbarItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidateToolbarItemsL(
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdPolicyMgr.ValidateToolbarItemsL" )
- ValidateL( EVtUiCmdContextTypeToolbar, aAction );
- __VTPRINTEXIT( "CmdPolicyMgr.ValidateToolbarItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::CustomValidateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::CustomValidateL(
- CVtUiCmdCustomValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdPolicyMgr.CustomValidateL" )
- ValidateL( EVtUiCmdContextTypeExecution, aAction );
- __VTPRINTEXIT( "CmdPolicyMgr.CustomValidateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::CVtUiCommandPolicyManager
-// ---------------------------------------------------------------------------
-//
-CVtUiCommandPolicyManager::CVtUiCommandPolicyManager(
- const CVtUiCommandManager& aCmdManager ) : iCommandManager( aCmdManager )
- {
- __VTPRINTENTER( "CmdPolicyMgr.ctor" )
- __VTPRINTEXIT( "CmdPolicyMgr.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ConstructL()
- {
- __VTPRINTENTER( "CmdPolicyMgr.ConstructL" )
- iPrimaryCommandPolicy =
- CVtUiPrimaryCmdPolicy::NewL( iCommandManager.UiStates(),
- iCommandManager.AppUi() );
- User::LeaveIfError( AddValidator( *iPrimaryCommandPolicy ) );
- __VTPRINTEXIT( "CmdPolicyMgr.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::CommandContextRegistered
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::CommandContextRegistered(
- CVtUiCmdContext& aContext )
- {
- __VTPRINTENTER( "CmdPolicyMgr.CommandContextRegistered" )
- for ( TInt i = iValidators.Count() - 1 ; i >= 0; i-- )
- {
- aContext.AddValidator( *iValidators[ i ] );
- }
- __VTPRINTEXIT( "CmdPolicyMgr.CommandContextRegistered" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::CommandContextUnregistered
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::CommandContextUnregistered(
- CVtUiCmdContext& aContext )
- {
- __VTPRINTENTER( "CmdPolicyMgr.CommandContextUnregistered" )
- for ( TInt i = iValidators.Count() - 1 ; i >= 0; i-- )
- {
- aContext.RemoveValidator( *iValidators[ i ] );
- }
- __VTPRINTEXIT( "CmdPolicyMgr.CommandContextUnregistered" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidatorAdded
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidatorAdded(
- CVtUiCmdValidatorBase& aValidator )
- {
- __VTPRINTENTER( "CmdPolicyMgr.ValidatorAdded" )
- for ( TInt i = iContexts.Count() - 1 ; i >= 0; i-- )
- {
- iContexts[ i ]->AddValidator( aValidator );
- }
- __VTPRINTEXIT( "CmdPolicyMgr.ValidatorAdded" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidatorRemoved
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidatorRemoved(
- CVtUiCmdValidatorBase& aValidator )
- {
- __VTPRINTENTER( "CmdPolicyMgr.ValidatorRemoved" )
- for ( TInt i = iContexts.Count() - 1 ; i >= 0; i-- )
- {
- iContexts[ i ]->RemoveValidator( aValidator );
- }
- __VTPRINTEXIT( "CmdPolicyMgr.ValidatorRemoved" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::FindCommandContextByType
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdContext* CVtUiCommandPolicyManager::FindCommandContextByType(
- TVtUiCmdContextType aContextType )
- {
- __VTPRINTENTER( "CmdPolicyMgr.FindCommandContextByType" )
- CVtUiCmdContext* result = NULL;
- TInt index( iContexts.FindInOrder( aContextType,
- ::ContextTypeCmpFuncVsKey ) );
- if ( index != KErrNotFound )
- {
- result = iContexts[ index ];
- }
- __VTPRINTEXIT( "CmdPolicyMgr.FindCommandContextByType" )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidateL( TVtUiCmdContextType aContextType,
- CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "CmdPolicyMgr.ValidateL" )
- CVtUiCmdContext* context =
- FindCommandContextByType( aContextType );
- if ( context )
- {
- aAction.BeginProcess();
- context->ValidateL( aAction );
- aAction.EndProcess();
- }
- __VTPRINTEXIT( "CmdPolicyMgr.ValidateL" )
- }
-
--- a/vtuis/videotelui/src/commands/cvtuiexecutioncontext.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 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: Execution context class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuiexecutioncontext.h"
-#include "cvtuicmdcustomvalidationactionbase.h"
-
-/** Execution context reference priority */
-static const TInt KVtUiExecutionContextPriority = 1000;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiExecutionContext::~CVtUiExecutionContext
-// ---------------------------------------------------------------------------
-//
-CVtUiExecutionContext::~CVtUiExecutionContext()
- {
- __VTPRINTENTER( "ExecCtx.~" )
- UnregisterCommandContext();
- __VTPRINTEXIT( "ExecCtx.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiExecutionContext::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiExecutionContext* CVtUiExecutionContext::NewL(
- MVtUiCommandManager& aCommandManager )
- {
- __VTPRINTENTER( "ExecCtx.NewL" )
- CVtUiExecutionContext* self =
- new ( ELeave ) CVtUiExecutionContext( aCommandManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "ExecCtx.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiExecutionContext::ValidateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiExecutionContext::ValidateL( CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "ExecCtx.ValidateL" )
- CustomValidationL(
- static_cast< CVtUiCmdCustomValidationActionBase& >( aAction ) );
- __VTPRINTEXIT( "ExecCtx.ValidateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiExecutionContext::CVtUiExecutionContext
-// ---------------------------------------------------------------------------
-//
-CVtUiExecutionContext::CVtUiExecutionContext(
- MVtUiCommandManager& aCommandManager )
- : CVtUiCmdContext( aCommandManager, EVtUiCmdContextTypeExecution,
- KVtUiExecutionContextPriority )
- {
- __VTPRINTENTER( "ExecCtx.ctor" )
- __VTPRINTEXIT( "ExecCtx.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiExecutionContext::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiExecutionContext::ConstructL()
- {
- __VTPRINTENTER( "ExecCtx.ConstructL" )
- RegisterCommandContextL();
- __VTPRINTEXIT( "ExecCtx.ConstructL" )
- }
--- a/vtuis/videotelui/src/commands/cvtuifeaturecmdbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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: Feature based UI command base class implementation.
-*
-*/
-
-
-#include "cvtuifeaturecmdbase.h"
-#include "mvtuifeature.h"
-
-// ---------------------------------------------------------------------------
-// CVtUiFeatureCmdBase::HandleL
-// ---------------------------------------------------------------------------
-//
-void CVtUiFeatureCmdBase::HandleL()
- {
- iFeature.StartL();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiFeatureCmdBase::IsEnabled
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiFeatureCmdBase::IsEnabled() const
- {
- return ( iFeature.State() == MVtUiFeature::EReady ) ||
- ( iFeature.State() == MVtUiFeature::EUnprepared );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiFeatureCmdBase::CVtUiFeatureCmdBase
-// ---------------------------------------------------------------------------
-//
-CVtUiFeatureCmdBase::CVtUiFeatureCmdBase( MVtUiFeature& aFeature,
- TInt aCommandId ) : CVtUiCmdBase( aCommandId ), iFeature( aFeature )
- {
- }
--- a/vtuis/videotelui/src/commands/cvtuiprimarycmdpolicy.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,532 +0,0 @@
-/*
-* Copyright (c) 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: Primary policy class.
-*
-*/
-
-
-#include <featmgr.h>
-#include <avkon.hrh>
-#include <cvtlogger.h>
-#include <videotelui.rsg>
-#include <avkon.rsg>
-
-#include "cvtuiprimarycmdpolicy.h"
-#include "cvtuicmdvalidationactionbase.h"
-#include "cvtuicmdcustomvalidationactionbase.h"
-#include "tvtuicmdvalidatorcallback.h"
-#include "tvtuistates.h"
-#include "videotelui.hrh"
-#include "tVtuifeaturevariation.h"
-#include "CVtUiAppUi.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiPrimaryCmdPolicy* CVtUiPrimaryCmdPolicy::NewL(
- const TVtUiStates& aUiStates, const CVtUiAppUi& aAppUi )
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.NewL" )
- CVtUiPrimaryCmdPolicy* self =
- new ( ELeave ) CVtUiPrimaryCmdPolicy( aUiStates, aAppUi );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "PrimaryCmdPolicy.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::~CVtUiPrimaryCmdPolicy
-// ---------------------------------------------------------------------------
-//
-CVtUiPrimaryCmdPolicy::~CVtUiPrimaryCmdPolicy()
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.~" )
- __VTPRINTEXIT( "PrimaryCmdPolicy.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidateMenuItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrimaryCmdPolicy::ValidateMenuItemsL(
- CVtUiCmdValidationActionBase& aAction, TInt )
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.ValidateMenuItemsL" )
- aAction.ProcessL(
- TVtUiCmdValidatorCallBack< CVtUiPrimaryCmdPolicy >( *this,
- ValidateMenuCommand ) );
- __VTPRINTEXIT( "PrimaryCmdPolicy.ValidateMenuItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidateSoftkeyItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrimaryCmdPolicy::ValidateSoftkeyItemsL(
- CVtUiCmdValidationActionBase& aAction, TInt )
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.ValidateSoftkeyItemsL" )
- aAction.ProcessL(
- TVtUiCmdValidatorCallBack< CVtUiPrimaryCmdPolicy >( *this,
- ValidateSoftkey ) );
- __VTPRINTEXIT( "PrimaryCmdPolicy.ValidateSoftkeyItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidateSoftkeyItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrimaryCmdPolicy::ValidateToolbarItemsL(
- CVtUiCmdValidationActionBase& aAction, TInt )
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.ValidateToolbarItemsL" )
- aAction.ProcessL(
- TVtUiCmdValidatorCallBack< CVtUiPrimaryCmdPolicy >( *this,
- ValidateToolbarCommand ) );
- __VTPRINTEXIT( "PrimaryCmdPolicy.ValidateToolbarItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::CustomValidationL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrimaryCmdPolicy::CustomValidationL(
- CVtUiCmdCustomValidationActionBase& aAction, TInt )
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.CustomValidationL" )
- switch ( aAction.CustomTypeId() )
- {
- // Command state validation
- case EVtUiCmdContextTypeExecution:
- aAction.ProcessL( TVtUiCmdValidatorCallBack< CVtUiPrimaryCmdPolicy >(
- *this, ValidateCommandState ) );
- break;
-
- default:
- __VTPRINT2( DEBUG_GEN,
- "PrimaryCmdPolicy.CustomValidationL unknown typeId = %d",
- aAction.CustomTypeId() );
- break;
- }
- __VTPRINTEXIT( "PrimaryCmdPolicy.CustomValidationL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidatesContext
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPrimaryCmdPolicy::ValidatesContext(
- const TVtUiCmdContextType& aCtxType ) const
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.ValidatesContext" )
-
- TBool result( EFalse );
-
- switch ( aCtxType )
- {
- case EVtUiCmdContextTypeMenu:
- case EVtUiCmdContextTypeSoftkey:
- case EVtUiCmdContextTypeToolbar:
- case EVtUiCmdContextTypeExecution:
- result = ETrue;
- break;
-
- default:
- break;
- }
-
- __VTPRINTEXITR( "PrimaryCmdPolicy.ValidatesContext %d", result )
-
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::CVtUiPrimaryCmdPolicy
-// ---------------------------------------------------------------------------
-//
-CVtUiPrimaryCmdPolicy::CVtUiPrimaryCmdPolicy( const TVtUiStates& aUiStates,
- const CVtUiAppUi& aAppUi )
- : CVtUiCmdValidatorBase( EVtUiCmdPolicyPriorityPrimary ),
- iUiStates( aUiStates ), iAppUi( aAppUi )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrimaryCmdPolicy::ConstructL()
- {
- TVtUiActiveIdleVariation activeIdleVariation;
- iAIEnabled = activeIdleVariation.IsActiveIdleEnabled();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidateMenuCommand
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPrimaryCmdPolicy::ValidateMenuCommand( TInt aCommandId ) const
- {
- TBool handled;
- return ValidateCommand( aCommandId, handled );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidateSoftkey
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPrimaryCmdPolicy::ValidateSoftkey( TInt aResourceId ) const
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.ValidateSoftkey" )
- TBool result( EFalse );
- switch ( aResourceId )
- {
- case R_VIDEOTELUI_SOFTKEYS_EMPTY_ACTIVE_COMMAND:
- result = iUiStates.IsCommandActivating();
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_EMPTY_DIALEREXIT:
- result = iUiStates.IsDialerActivating();
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_SHARE_OBJECT_IMAGE:
- result = iUiStates.MediaState().IsSharing();
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_CAPTURE_VIDEO:
- result = iUiStates.IsCaptureModeOn();
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_ENABLE_AUDIO:
- result = !iUiStates.AudioState().IsAudio();
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_ENABLE_VIDEO:
- result = !iUiStates.MediaState().IsVideo() &&
- iUiStates.MediaState().HasCamera() &&
- ( iUiStates.ExecState() == TVtUiStates::EExecStateRunning );
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_DIALER:
- case R_VIDEOTELUI_SOFTKEYS_BT_HANDSFREE:
- case R_VIDEOTELUI_SOFTKEYS_LOUDSPEAKER:
- case R_VIDEOTELUI_SOFTKEYS_HANDSET_B:
- {
- if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) &&
- ( iUiStates.ExecState() == TVtUiStates::EExecStateRunning ) )
- {
- switch ( aResourceId )
- {
- case R_VIDEOTELUI_SOFTKEYS_DIALER:
- result = ETrue;
- break;
- }
- }
- else
- {
- switch ( aResourceId )
- {
- case R_VIDEOTELUI_SOFTKEYS_BT_HANDSFREE:
- result = iUiStates.AudioState().CanActivateBtHf();
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_LOUDSPEAKER:
- result = iUiStates.AudioState().CanActivateLoudspeaker();
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_HANDSET_B:
- result = iUiStates.AudioState().CanDeactivateLoudspeaker();
- break;
- }
- }
- }
- break;
-
- case R_VIDEOTELUI_SOFTKEYS_END_CALL:
- result = ETrue;
- break;
- }
- __VTPRINTEXITR( "PrimaryCmdPolicy.ValidateSoftkey %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidateToolbarCommand
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPrimaryCmdPolicy::ValidateToolbarCommand( TInt aCommandId ) const
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.ValidateToolbarCommand" )
- __VTPRINT2( DEBUG_GEN, "cmdId = %d", aCommandId )
- TBool result( ETrue );
- switch( aCommandId )
- {
- case EVtUiCmdZoom:
- case EVtUiCmdShareObjectImage:
- case EVtUiCmdSwapImagesPlaces:
- //case EVtUiCmdSnapshot:
-
- result = EFalse;
- break;
-
- default:
- result = ValidateMenuCommand( aCommandId );
- break;
- }
- __VTPRINTEXITR( "PrimaryCmdPolicy.ValidateToolbarCommand %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidateCommandState
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPrimaryCmdPolicy::ValidateCommandState( TInt aCommandId ) const
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.ValidateCommandState" )
- TBool handled;
- TBool allowed( !ValidateCommand( aCommandId, handled ) );
- if ( !handled )
- {
- switch ( aCommandId )
- {
- case EVtUiCmdCapture:
- case EVtUiCmdCancelCapture:
- allowed = iUiStates.IsCaptureModeOn();
- break;
-
- case EVtUiCmdStopSharingObjectImage:
- allowed = iUiStates.MediaState().IsSharing() &&
- !iUiStates.MediaState().IsVideoPermanentlyStopped();
- break;
-
- default:
- allowed = ETrue;
- break;
- }
- }
- __VTPRINTEXITR( "PrimaryCmdPolicy.ValidateCommandState %d", allowed )
- return allowed;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrimaryCmdPolicy::ValidateCommand
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPrimaryCmdPolicy::ValidateCommand( TInt aCommandId,
- TBool& aHandled ) const
- {
- __VTPRINTENTER( "PrimaryCmdPolicy.ValidateCommand" )
-
- __VTPRINT2( DEBUG_GEN, " cmdId = %d", aCommandId )
-
- TBool result( ETrue );
-
- aHandled = ETrue;
-
- const TVtUiMediaState& mediaState( iUiStates.MediaState() );
- const TVtUiAudioState& audioState( iUiStates.AudioState() );
- const TBool disabledVideo( !mediaState.IsVideo() ||
- mediaState.IsSharing() );
- const TBool disabledAudio( !audioState.IsAudio() );
- const TBool disableVideoOptions( !mediaState.HasCamera() );
- const TBool freezeSupported( mediaState.IsFreezeSupported() );
- const TBool frozen( mediaState.IsFrozen() );
-
- const TBool videoPermStopped( mediaState.IsVideoPermanentlyStopped() );
- const TBool audioPermStopped( audioState.IsAudioPermanentlyStopped() );
-
- switch( aCommandId )
- {
- case EVtUiCmdSnapshot:
- result = ( disabledVideo && !frozen ) ||
- disableVideoOptions ||
- !freezeSupported;
- break;
-
- case EVtUiCmdUsePrimaryCamera:
- result = mediaState.IsPrimaryCameraInUse() || frozen ||
- !mediaState.HasPrimaryCamera() || mediaState.IsSharing() ||
- videoPermStopped;
- break;
-
- case EVtUiCmdUseSecondaryCamera:
- result = mediaState.IsSecondaryCameraInUse() || frozen ||
- !mediaState.HasSecondaryCamera() || mediaState.IsSharing() ||
- videoPermStopped;
- break;
-
- case EVtUiCmdDeactivateBT:
- result = !audioState.CanDeactivateBtHf();
- break;
-
- case EVtUiCmdSwitchFromBTToIHF:
- result = !audioState.CanDeactivateBtHf() ||
- !audioState.CanActivateLoudspeaker();
- break;
-
- case EVtUiCmdActivateBT:
- result = !audioState.CanActivateBtHf();
- break;
-
- case EVtUiCmdDeactivateLoudspeaker:
- result = !audioState.CanDeactivateLoudspeaker();
- break;
-
- case EVtUiCmdActivateLoudspeaker:
- result = !audioState.CanActivateLoudspeaker();
- break;
-
- case EVtUiCmdSwapImagesPlaces:
- // Swap image places is always shown in menu.
- result = EFalse;
- break;
-
- case EVtUiCmdAdjustVideo:
- // Adjust video is always shown in menu.
- result = EFalse;
- break;
-
- case EVtUiCmdAdjustVideoVideoQuality:
- result = EFalse;
- break;
-
- case EVtUiCmdAdjustVideoWhiteBalance:
- result = !iUiStates.IsWhiteBalanceSettingAvailable() || frozen;
- break;
-
- case EVtUiCmdAdjustVideoBrightness:
- result =!iUiStates.IsBrightnessSettingAvailable() || frozen;
- break;
-
- case EVtUiCmdAdjustVideoContrast:
- result =!iUiStates.IsContrastSettingAvailable() || frozen;
- break;
-
- case EVtUiCmdAdjustVideoColourTone:
- result = !iUiStates.IsColorToneSettingAvailable() || frozen;
-
- break;
- case EVtUiCmdZoom:
- result = frozen || disableVideoOptions || disabledVideo;
- break;
-
- case EVtUiCmdCreateVoice:
- // Downgrading to voice call is not possible if remote end MSISDN
- // is unavailable or there is waiting call.
- result = !iUiStates.IsCLIReceived() || iUiStates.IsWaitingCall();
- break;
-
- case EVtUiCmdGoToIdle:
-#ifndef RD_BOOT_CUSTOMIZABLE_AI
- result = !iAIEnabled;
-#else
- // When RD_BOOT_CUSTOMIZABLE_AI is defined, active idle is always
- // shown in menu
- result = EFalse;
-#endif //RD_BOOT_CUSTOMIZABLE_AI
- break;
-
- case EAknCmdHelp:
- {
- TVtUiHelpVariation hlpvariation;
- result = !hlpvariation.IsHelpSupported();
- }
- break;
-
- case EAknCmdExit:
- // Exit option is disabled by default. Change ETrue to EFalse
- // and it is in the menu.
- break;
-
- case EVtUiCmdEndActiveCall:
- // End active call always shown in menu.
- result = EFalse;
- break;
-
- case EVtUiCmdShareObjectImage:
- result = frozen || mediaState.IsNotAbleToShare() ||
- mediaState.IsInitializingShare() || videoPermStopped ||
- iAppUi.IsActiveCommand( EVtUiCmdShareObjectImage );
- break;
-
- case EVtUiCmdEnableMain:
- result = ( iAppUi.IsActiveCommand( EVtUiCmdEnableVideo ) ||
- iAppUi.IsActiveCommand( EVtUiCmdDisableVideo ) ||
- !disabledVideo || disableVideoOptions || videoPermStopped )
- && ( iAppUi.IsActiveCommand ( EVtUiCmdEnableAudio ) ||
- !disabledAudio || audioPermStopped );
- break;
-
- case EVtUiCmdEnableVideo:
- result = !disabledVideo || disableVideoOptions ||
- videoPermStopped;
- break;
-
- case EVtUiCmdEnableAudio:
- result = !disabledAudio || audioPermStopped;
- break;
-
- case EVtUiCmdEnableBoth:
- result = !disabledVideo || !disabledAudio || disableVideoOptions ||
- videoPermStopped || audioPermStopped;
- break;
-
- case EVtUiCmdDisableMain:
- result = ( iAppUi.IsActiveCommand( EVtUiCmdDisableVideo ) ||
- iAppUi.IsActiveCommand( EVtUiCmdEnableVideo ) ||
- disabledVideo || disableVideoOptions || videoPermStopped ) &&
- ( iAppUi.IsActiveCommand( EVtUiCmdDisableAudio ) ||
- disabledAudio || audioPermStopped );
- break;
-
- case EVtUiCmdDisableVideo:
- result = disabledVideo || disableVideoOptions || videoPermStopped;
- break;
-
- case EVtUiCmdDisableAudio:
- result = disabledAudio || audioPermStopped;
- break;
-
- case EVtUiCmdDisableBoth:
- result = disableVideoOptions || disabledVideo || disabledAudio ||
- videoPermStopped || audioPermStopped;
- break;
-
- case EVtUiCmdSendDTMF:
- if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) )
- {
- result = EFalse;
- }
- else
- {
- result = ETrue;
- }
- break;
-
- default:
- aHandled = EFalse;
- break;
- }
-
- __VTPRINTEXITR( "PrimaryCmdPolicy.ValidateCommand %d", result )
-
- return result;
- }
-
--- a/vtuis/videotelui/src/commands/tVtuifeaturevariation.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* 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: Video Telephone feature variation class definition.
-*
-*/
-
-
-#include "tVtuifeaturevariation.h"
-
-// TVtUiFeatureVariationBase
-
-// -----------------------------------------------------------------------------
-// TVtUiFeatureVariationBase::IsFeatureSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiFeatureVariationBase::IsFeatureSupported( const TUint32 aId ) const
- {
- return FeatureManager::FeatureSupported( aId );
- }
-
-//TVtUiHelpVariation
-// -----------------------------------------------------------------------------
-// TVtUiHelpVariation::FeatureId
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiHelpVariation::FeatureId() const
- {
- return KFeatureIdHelp;
- }
-// -----------------------------------------------------------------------------
-// TVtUiHelpVariation::IsHelpSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiHelpVariation::IsHelpSupported() const
- {
- return IsFeatureSupported( FeatureId() );
- }
-//TVtUiDPVariation
-// -----------------------------------------------------------------------------
-// TVtUiDPVariation::FeatureId
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiDPVariation::FeatureId() const
- {
- return KFeatureIdDisplayPost;
- }
-// -----------------------------------------------------------------------------
-// TVtUiDPVariation::IsDPSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiDPVariation::IsDPSupported() const
- {
- return IsFeatureSupported( FeatureId() );
- }
-//TVtUiBTVariation
-// -----------------------------------------------------------------------------
-// TVtUiBTVariation::FeatureId
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiBTVariation::FeatureId() const
- {
- return KFeatureIdBt;
- }
-// -----------------------------------------------------------------------------
-// TVtUiBTVariation::IsBTSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiBTVariation::IsBTSupported() const
- {
- return IsFeatureSupported( FeatureId() );
- }
-//TVtUiSideVolumeKeysVariation
-// -----------------------------------------------------------------------------
-// TVtUiSideVolumeKeysVariation::FeatureId
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiSideVolumeKeysVariation::FeatureId() const
- {
- return KFeatureIdSideVolumeKeys;
- }
-// -----------------------------------------------------------------------------
-// TVtUiSideVolumeKeysVariation::IsSideVolumeKeysSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiSideVolumeKeysVariation::IsSideVolumeKeysSupported() const
- {
- return IsFeatureSupported( FeatureId() );
- }
-//TVtUiActiveIdleFetManVariation
-// -----------------------------------------------------------------------------
-// TVtUiActiveIdleFetManVariation::FeatureId
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiActiveIdleFetManVariation::FeatureId() const
- {
- return KFeatureIdActiveIdle;
- }
-// -----------------------------------------------------------------------------
-// TVtUiActiveIdleFetManVariation::IsActiveIdleFetManSupported
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiActiveIdleFetManVariation::IsActiveIdleFetManSupported() const
- {
- return IsFeatureSupported( FeatureId() );
- }
-
--- a/vtuis/videotelui/src/commands/tvtuiaudiostate.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 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: Audio state class.
-*
-*/
-
-#include <cvtlogger.h>
-#include <cvtengmodel.h>
-
-#include "tvtuiaudiostate.h"
-#include "VtUiUtility.h"
-
-// -----------------------------------------------------------------------------
-// TVtUiAudioState::UpdateFlags
-// -----------------------------------------------------------------------------
-//
-void TVtUiAudioState::UpdateFlags()
- {
- __VTPRINTENTER( "AudioState.UpdateFlags" )
- TInt avail( 0 );
-
- VtUiUtility::GetAudioRoutingAvailability( iModel.Audio(), avail );
-
- const TBool videoCallConnected ( iModel.Media().VideoCallConnected());
- //Before update AudioRouting, video call state must to be checked.
- //AudioRouting can not be changed if call is not in EConnected state.
- if ( videoCallConnected )
- {
- __VTPRINT( DEBUG_GEN, " videoCallConnected " )
- if ( avail & VtUiUtility::EDeactivateBtHandsfree )
- {
- SetFlag( ECanDeactivateBtHf );
- }
- if ( avail & VtUiUtility::EActivateBtHandsfree )
- {
- SetFlag( ECanActivateBtHf );
- }
- if ( avail & VtUiUtility::EDeactivateLoudspeaker )
- {
- SetFlag( ECanDeactivateLoudspeaker );
- }
- if ( avail & VtUiUtility::EActivateLoudspeaker )
- {
- SetFlag( ECanActivateLoudspeaker );
- }
- }
-
- VtUiUtility::GetOutgoingMediaState( iModel.Media(), avail );
-
- if ( avail & MVtEngMedia::EMediaAudio )
- {
- SetFlag( EIsAudio );
- }
-
- TInt status ( 0 );
- iModel.Media().GetMediaState( MVtEngMedia::EMediaOutgoing, status );
- if ( !(status & MVtEngMedia::EMediaAudioChannelOpen ) )
- {
- SetFlag( EIsAudioPermanentlyStopped );
- }
-
- __VTPRINTEXITR( "AudioState.UpdateFlags bits = %b", Value() )
- }
--- a/vtuis/videotelui/src/commands/tvtuilocalvariation.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-/*
-* Copyright (c) 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 Telephone local variation class.
-*
-*/
-
-
-#include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
-#include <cvtlogger.h>
-
-#include "VideoTelephonyInternalCRKeys.h"
-#include "tvtuilocalvariation.h"
-#include "tVtuifeaturevariation.h"
-
-// TVtUiVariationBase
-
-// -----------------------------------------------------------------------------
-// TVtUiVariationBase::ReadL
-// -----------------------------------------------------------------------------
-//
-void TVtUiVariationBase::ReadL( const TInt adefault )
- {
- __VTPRINTENTER( "VtUi.LocalVariation.ReadL" )
- CRepository* repository = CRepository::NewL( Uid() );
- TInt value( 0 );
- if ( !repository->Get( Key(), value ) )
- {
- SetValue( value );
- }
- // incase of error
- else
- {
- // If default is set
- if ( adefault != -1 )
- {
- __VTPRINT2( DEBUG_GEN, "VtUi.LocalVariation.ReadL def=%d", adefault )
- SetValue( adefault );
- }
- }
- delete repository;
- __VTPRINTEXIT( "VtUi.LocalVariation.ReadL" )
- }
-// -----------------------------------------------------------------------------
-// TVtUiVariationBase::Value
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiVariationBase::ReceiveValue() const
- {
- __VTPRINTENTER( "VtUi.LocalVariation.ReceiveValue" )
- __VTPRINTEXIT( "VtUi.LocalVariation.ReceiveValue" )
- return Value();
- }
-
-// TVtUiVideoTelephonyVariation
-// -----------------------------------------------------------------------------
-// TVtUiVideoTelephonyVariation::Uid
-// -----------------------------------------------------------------------------
-//
-const TUid& TVtUiVideoTelephonyVariation::Uid() const
- {
- return KCRUidVTVariation;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiVideoTelephonyVariation::Key
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiVideoTelephonyVariation::Key() const
- {
- return KVTLocalVariationFlags;
- }
-
-// TVtUiActiveIdleVariation
-// -----------------------------------------------------------------------------
-// TVtUiActiveIdleVariation::IsActiveIdleEnabled
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiActiveIdleVariation::IsActiveIdleEnabled()
- {
- __VTPRINTENTER( "VtUi.LocalVariation.AI.IsActiveIdleEnabled" )
- #ifndef RD_BOOT_CUSTOMIZABLE_AI
- TVtUiActiveIdleFetManVariation featman;
- TRAP_IGNORE( ReadL() );
- __VTPRINTEXIT( "VtUi.LocalVariation.AI.IsActiveIdleEnabled" )
- return featman.IsActiveIdleFetManSupported() && Value();
- // AI 2 implementation always true
- #else
- __VTPRINTEXIT( "VtUi.LocalVariation.AI.IsActiveIdleEnabled" )
- return ETrue;
- #endif // RD_BOOT_CUSTOMIZABLE_AI
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiActiveIdleVariation::Uid
-// -----------------------------------------------------------------------------
-//
-const TUid& TVtUiActiveIdleVariation::Uid() const
- {
- return KCRUidPersonalizationSettings;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiActiveIdleVariation::Key
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiActiveIdleVariation::Key() const
- {
- return KSettingsActiveIdleState;
- }
-
-// TVtUiGsMuteVariation
-// -----------------------------------------------------------------------------
-// TVtUiGsMuteVariation::GsMuteState
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiGsMuteVariation::GsMuteState()
- {
- __VTPRINTENTER( "VtUi.LocalVariation.Gs.GsMuteState" )
- TRAP_IGNORE( ReadL( KAllwaysQuery ) );
- __VTPRINTEXIT( "VtUi.LocalVariation.Gs.GsMuteState" )
- return ReceiveValue();
- }
-// -----------------------------------------------------------------------------
-// TVtUiGsMuteVariation::Uid
-// -----------------------------------------------------------------------------
-//
-const TUid& TVtUiGsMuteVariation::Uid() const
- {
- return KCRUidTelephonySettings;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiActiveIdleVariation::Key
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiGsMuteVariation::Key() const
- {
- return KSettingsVTVideoSending;
- }
-// TVtUiToolbarVariation
-// -----------------------------------------------------------------------------
-// TVtUiToolbarVariation::NumberOfButtons
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiToolbarVariation::NumberOfButtons()
- {
- __VTPRINTENTER( "VtUi.LocalVariation.Tb.NumberOfButtons" )
- TRAP_IGNORE( ReadL( KNumberOfTbButtons ) );
- __VTPRINTEXIT( "VtUi.LocalVariation.Tb.NumberOfButtons" )
- return ReceiveValue();
- }
-// -----------------------------------------------------------------------------
-// TVtUiToolbarVariation::Uid
-// -----------------------------------------------------------------------------
-//
-const TUid& TVtUiToolbarVariation::Uid() const
- {
- return KCRUidVTConfiguration;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiActiveIdleVariation::Key
-// -----------------------------------------------------------------------------
-//
-TUint32 TVtUiToolbarVariation::Key() const
- {
- return KVTToolbarCommands;
- }
-
--- a/vtuis/videotelui/src/commands/tvtuimediastate.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* Copyright (c) 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: Media state class.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <mvtengmedia.h>
-#include <mvtengcommandhandler.h>
-
-#include "tvtuimediastate.h"
-#include "VtUiUtility.h"
-
-// -----------------------------------------------------------------------------
-// TVtUiMediaState::UpdateFlags
-// -----------------------------------------------------------------------------
-//
-void TVtUiMediaState::UpdateFlags()
- {
- __VTPRINTENTER( "MediaState.UpdateFlags" )
- TInt avail( 0 );
-
- VtUiUtility::GetOutgoingMediaState( iMedia, avail );
-
- if ( avail & MVtEngMedia::EMediaVideo )
- {
- SetFlag( EIsVideo );
- }
-
- if ( VtUiUtility::HasCameras( iMedia ) )
- {
- SetFlag( EHasCamera );
- }
-
- if ( VtUiUtility::IsFreezeSupported( iMedia ) )
- {
- SetFlag( EIsFreezeSupported );
- }
-
- if ( VtUiUtility::GetFreezeState( iMedia ) )
- {
- SetFlag( EIsFrozen );
- }
-
- MVtEngMedia::TShareObjectState shareObjectState;
- VtUiUtility::GetObjectSharingState( iMedia, shareObjectState );
-
- if ( shareObjectState == MVtEngMedia::ESharingImage )
- {
- SetFlag( EIsSharing );
- }
- else if ( ( shareObjectState == MVtEngMedia::EInitializingShareImage ) ||
- ( shareObjectState == MVtEngMedia::EInitializingShareVideoClip ) )
- {
- SetFlag( EIsInitializingShare );
- }
- else if ( shareObjectState == MVtEngMedia::ENotAbleToShare )
- {
- SetFlag( EIsNotAbleToShare );
- }
- // Camera configuration
-
- MVtEngMedia::TCameraId cameraId;
- TInt err = iMedia.GetCurrentCameraId( cameraId );
-
- // Don't care if camera is not ready, just what is selected camera
- if ( err == KErrNone || err == KErrNotReady )
- {
- SetFlag( ( cameraId == MVtEngMedia::EPrimaryCamera ) ?
- EIsPrimaryCameraInUse : EIsSecondaryCameraInUse );
- }
-
- TInt sourcesCaps( 0 );
- iMedia.GetSourcesCaps( sourcesCaps );
- if ( sourcesCaps & MVtEngMedia::ESourceCapsPrimaryCamera )
- {
- SetFlag( EHasPrimaryCamera );
- }
- if ( sourcesCaps & MVtEngMedia::ESourceCapsSecondaryCamera )
- {
- SetFlag( EHasSecondaryCamera );
- }
-
- TInt status ( 0 );
- iMedia.GetMediaState( MVtEngMedia::EMediaOutgoing, status );
- if ( !( status & MVtEngMedia::EMediaVideoChannelOpen ) )
- {
- SetFlag( EIsVideoPermanentlyStopped );
- }
-
- __VTPRINTEXITR( "MediaState.UpdateFlags bits = %b", Value() )
-
- // Video preferences
-/*
- TInt caps( iCommandHandler.GetCommandCaps( KVtEngSetContrast ) );
- if ( caps & MVtEngCommandHandler::EAttribEnabled )
- {
- SetFlag( EIsContrastSupported );
- }
-
- caps = iCommandHandler.GetCommandCaps( KVtEngSetBrightness );
- if ( caps & MVtEngCommandHandler::EAttribEnabled )
- {
- SetFlag( EIsBrightnessSupported );
- }
-
- caps = iCommandHandler.GetCommandCaps( KVtEngSetWhiteBalance );
- if ( caps & MVtEngCommandHandler::EAttribEnabled )
- {
- SetFlag( EIsWhiteBalanceSupported );
- }
-
- caps = iCommandHandler.GetCommandCaps( KVtEngSetColorTone );
- if ( caps & MVtEngCommandHandler::EAttribEnabled )
- {
- SetFlag( EIsColorToneSupported );
- }
-
-*/
- }
--- a/vtuis/videotelui/src/commands/tvtuistates.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-/*
-* Copyright (c) 2006 - 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: Video UI states class.
-*
-*/
-
-
-#include <cvtengmodel.h>
-#include <mvtengcamerapreferences.h>
-#include <cvtlogger.h>
-
-#include "tvtuistates.h"
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::TVtUiStates
-// -----------------------------------------------------------------------------
-//
-TVtUiStates::TVtUiStates( CVtEngModel& aModel )
- : iMediaState( aModel.Media(), aModel.CommandHandler() ), iAudioState( aModel ),
- iModel( aModel ), iExecState( EExecStateStarting),
- iCommandActivatingRefCount( 0 )
- {
- // get camera preferences
- iCameraPref = static_cast<MVtEngCameraPreferences*>
- ( iModel.Extension( KVtEngExtensionCameraPreferences ) );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::Update
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::Update()
- {
- iMediaState.Update();
- iAudioState.Update();
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsColorToneSettingAvailable
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsColorToneSettingAvailable() const
- {
- __VTPRINTENTER( "TVtUiStates.IsColorToneSettingAvailable" )
- TUint32 supportedModes;
- // Get supported whitebalance modes
- if ( iCameraPref )
- {
- if ( iCameraPref->GetSupportedColorTones( supportedModes ) )
- {
- // error occured
- __VTPRINTEXIT( "TVtUiStates.IsColorToneSettingAvailableErr" )
- return EFalse;
- }
- }
-
- // Clean the flag, flags that are possible are
- // A bitfield of suported colortones
- // ENormal = 0x00,
- // ESepia = 0x01,
- // EGrayscale = 0x02,
- // ENegative = 0x04
- supportedModes &= 0x07;
-
- // If supported modes is 0 automatic,then return EFalse
- return supportedModes;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsWhiteBalanceSettingAvailable
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsWhiteBalanceSettingAvailable() const
- {
- __VTPRINTENTER( "TVtUiStates.IsWhiteBalanceSettingAvailable" )
- TUint32 supportedModes;
- // Get supported whitebalance modes
- if ( iCameraPref )
- {
- if ( iCameraPref->GetSupportedWhiteBalanceModes( supportedModes ) )
- {
- // error occured
- __VTPRINTEXIT( "TVtUiStates.IsWhiteBalanceSettingAvailableErr" )
- return EFalse;
- }
- }
- __VTPRINT2( DEBUG_GEN, "IsWhiteBalanceSettingAvailable=%d", supportedModes )
- // If supported modes is 0 ,then return EFalse
- __VTPRINTEXIT( "TVtUiStates.IsWhiteBalanceSettingAvailable2" )
- return supportedModes;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsContrastSettingAvailable
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsContrastSettingAvailable() const
- {
- __VTPRINTENTER( "TVtUiStates.IsContrastSettingAvailable" )
- TBool ret( ETrue );
- if ( iCameraPref )
- {
- TInt temp;
- ret = !iCameraPref->GetBrightness( temp );
- }
- return ret;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::IsBrightnessSettingAvailable
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStates::IsBrightnessSettingAvailable() const
- {
- __VTPRINTENTER( "TVtUiStates.IsBrightnessSettingAvailable" )
- TBool ret( ETrue );
- if ( iCameraPref )
- {
- TInt temp;
- ret = !iCameraPref->GetBrightness( temp );
- }
- return ret;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetExecState
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetExecState( const TVtUiExecState aState )
- {
- iExecState = aState;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::SetIsCommandActivating
-// -----------------------------------------------------------------------------
-//
-void TVtUiStates::SetIsCommandActivating( TBool aSet )
- {
- if ( aSet )
- {
- iCommandActivatingRefCount++;
- }
- else if ( iCommandActivatingRefCount > 0 )
- {
- iCommandActivatingRefCount--;
- }
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStates::ExecState
-// -----------------------------------------------------------------------------
-//
-TVtUiStates::TVtUiExecState TVtUiStates::ExecState() const
- {
- return iExecState;
- }
--- a/vtuis/videotelui/src/compman/cvtuicomponentmanager.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,777 +0,0 @@
-/*
-* Copyright (c) 2009 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: Component manager implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicomponentmanager.h"
-#include "mvtuiwindowservereventobserver.h"
-#include "mvtuiresourcechangeobserver.h"
-#include "mvtuikeyeventobserver.h"
-#include "mvtuilayoutchangeobserver.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CmpByPtr
-// ---------------------------------------------------------------------------
-//
-template < class T >
-TInt CmpByPtr( const T& aObj1, const T& aObj2 )
- {
- return reinterpret_cast< TInt >( &aObj1 ) -
- reinterpret_cast< TInt >( &aObj2 );
- }
-
-// ---------------------------------------------------------------------------
-// FindByPtr
-// ---------------------------------------------------------------------------
-//
-template < class T >
-TInt FindByPtr( const TInt* aPtr, const T& aObj )
- {
- return *aPtr - reinterpret_cast< TInt >( &aObj );
- }
-
-// ---------------------------------------------------------------------------
-// CmpMVtUiComponent
-// ---------------------------------------------------------------------------
-//
-TInt CmpMVtUiComponent( const MVtUiComponent& aC1, const MVtUiComponent& aC2 )
- {
- return ( aC1.ComponentId() - aC2.ComponentId() );
- }
-
-// ---------------------------------------------------------------------------
-// CmpTVtUiComponentState
-// ---------------------------------------------------------------------------
-//
-TInt CmpTVtUiComponentState( const TVtUiComponentState& aC1,
- const TVtUiComponentState& aC2 )
- {
- return ( aC1.Component().ComponentId() - aC2.Component().ComponentId() );
- }
-
-// ---------------------------------------------------------------------------
-// CmpTVtUiComponentStateByKey
-// ---------------------------------------------------------------------------
-//
-TInt CmpTVtUiComponentStateByKey( const MVtUiComponent::TComponentId* aKey,
- const TVtUiComponentState& aC )
- {
- return ( *aKey - aC.Component().ComponentId() );
- }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiComponentManager* CVtUiComponentManager::NewL()
- {
- __VTPRINTENTER( "CompMgr.NewL" )
- CVtUiComponentManager* self = new ( ELeave ) CVtUiComponentManager();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "CompMgr.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::~CVtUiComponentManager
-// ---------------------------------------------------------------------------
-//
-CVtUiComponentManager::~CVtUiComponentManager()
- {
- __VTPRINTENTER( "CompMgr.~" )
- iWsEventObservers.Close();
- iResourceChangeObservers.Close();
- iKeyEventObservers.Close();
- iLayoutChangeObservers.Close();
- iComponents.Close();
- __VTPRINTEXIT( "CompMgr.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::HandleWsEventL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::HandleWsEventL( const TWsEvent& aEvent,
- CCoeControl* aDestination )
- {
- for ( TInt i = iWsEventObservers.Count() - 1; i >= 0; i-- )
- {
- iWsEventObservers[ i ]->HandleWsEventL( aEvent, aDestination );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::HandleResourceChangeL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::HandleResourceChangeL( TInt aType )
- {
- for ( TInt i = iResourceChangeObservers.Count() - 1; i >= 0; i-- )
- {
- iResourceChangeObservers[ i ]->HandleResourceChangeL( aType );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager:OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CVtUiComponentManager::OfferKeyEventL(
- const TKeyEvent& aEvent, TEventCode aCode )
- {
- TKeyResponse response( EKeyWasNotConsumed );
- for ( TInt i = iKeyEventObservers.Count() - 1; i >= 0; i-- )
- {
- response = iKeyEventObservers[ i ]->OfferKeyEventL( aEvent, aCode );
- if ( response == EKeyWasConsumed )
- {
- break;
- }
- }
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::HandleLayoutChangeL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::HandleLayoutChangeL()
- {
- for ( TInt i = iLayoutChangeObservers.Count() - 1; i >= 0; i-- )
- {
- iLayoutChangeObservers[ i ]->HandleLayoutChangeL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ChangeWsEventRegistration
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::ChangeWsEventRegistration(
- MVtUiWindowServerEventObserver& aObserver, TAction aAction )
- {
- return AddOrRemoveComponent( iWsEventObservers, &aObserver, aAction );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ChangeResourceChangeRegistration
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::ChangeResourceChangeRegistration(
- MVtUiResourceChangeObserver& aObserver, TAction aAction )
- {
- return AddOrRemoveComponent( iResourceChangeObservers, &aObserver,
- aAction );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ChangeKeyEventRegistration
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::ChangeKeyEventRegistration(
- MVtUiKeyEventObserver& aObserver, TAction aAction )
- {
- return AddOrRemoveComponent( iKeyEventObservers, &aObserver, aAction );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ChangeLayoutChangeRegistration
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::ChangeLayoutChangeRegistration(
- MVtUiLayoutChangeObserver& aObserver, TAction aAction )
- {
- return AddOrRemoveComponent( iLayoutChangeObservers, &aObserver, aAction );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ChangeComponentRegistration
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::ChangeComponentRegistration(
- TVtUiComponentState& aComponentState, TAction aAction )
- {
- __VTPRINTENTER( "CompMgr.ChangeComponentRegistrationL" )
- TInt result( KErrNone );
- if ( aAction == ERegister )
- {
- result =
- iComponents.InsertInOrder( &aComponentState,
- ComponentStateOrder() );
- }
- else
- {
- TInt index( iComponents.FindInOrder(
- &aComponentState, ComponentStateOrder() ) );
- if ( index != KErrNotFound )
- {
- iComponents.Remove( index );
- }
- }
- __VTPRINTEXITR( "CompMgr.ChangeComponentRegistrationL %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::RequestActivationL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::RequestActivationL(
- MVtUiComponent::TComponentId aId )
- {
- __VTPRINTENTER( "CompMgr.RequestActivationL" )
- TInt index( iComponents.FindInOrder( aId, ::CmpTVtUiComponentStateByKey ) );
- if ( index == KErrNotFound )
- {
- User::Leave( index );
- }
- else
- {
- TVtUiComponentState& state( *iComponents[ index ] );
- if ( state.State() == TVtUiComponentState::EActive )
- {
- User::Leave( KErrNotReady );
- }
- else
- {
- DoActivationL( state, TVtUiComponentState::EActive );
- }
- }
- __VTPRINTEXIT( "CompMgr.RequestActivationL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::DeActivateComponentL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::DeActivateComponentL(
- MVtUiComponent::TComponentId aId )
- {
- __VTPRINTENTER( "CompMgr.DeActivateComponentL" )
- TInt index( iComponents.FindInOrder( aId, ::CmpTVtUiComponentStateByKey ) );
- if ( index == KErrNotFound )
- {
- User::Leave( index );
- }
- else
- {
- TVtUiComponentState& state( *iComponents[ index ] );
- if ( state.State() == TVtUiComponentState::EInactive )
- {
- User::Leave( KErrNotReady );
- }
- else
- {
- DoDeactivationL( state, TVtUiComponentState::EInactive );
- }
- }
- __VTPRINTEXIT( "CompMgr.DeActivateComponentL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::DoActivationL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::DoActivationL(
- TVtUiComponentState& aComponentState,
- TVtUiComponentState::TState aNewState )
- {
- __VTPRINTENTER( "CompMgr.DoActivationL" )
- TStateList stateList;
- ConstructStateListL( stateList );
- TInt index( stateList.FindItem(
- aComponentState.Component().ComponentId() ) );
- if ( index != KErrNotFound )
- {
- TStateListItem& sli( stateList.At( index ) );
- TVtUiBlockListBitField exclList;
- for ( TInt i = stateList.ItemCount() - 1; i >= 0; i-- )
- {
- TStateListItem& sli2( stateList.At( i ) );
- if ( sli2.ComponentId() != sli.ComponentId() )
- {
- if ( sli2.State() == TVtUiComponentState::EActive &&
- !sli.BlockList().Contains( sli2.ComponentId() ) )
- {
- exclList.Union( sli2.BlockList() );
- }
- }
- }
- sli.SetRoot();
- sli.SetState( aNewState );
- CalculateActivationL( sli.BlockList(), exclList, stateList, EHide );
- }
- CommitStateListL( stateList );
- __VTPRINTEXIT( "CompMgr.DoActivationL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::DoDeactivationL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::DoDeactivationL(
- TVtUiComponentState& aComponentState,
- TVtUiComponentState::TState aNewState )
- {
- __VTPRINTENTER( "CompMgr.DoDeactivationL" )
- TStateList stateList;
- ConstructStateListL( stateList );
- TInt index( stateList.FindItem(
- aComponentState.Component().ComponentId() ) );
- if ( index != KErrNotFound )
- {
- TStateListItem& sli( stateList.At( index ) );
- TVtUiBlockListBitField exclList;
- if ( sli.State() == TVtUiComponentState::EActive )
- {
- for ( TInt i = stateList.ItemCount() - 1; i >= 0; i-- )
- {
- TStateListItem& sli2( stateList.At( i ) );
- if ( sli2.ComponentId() != sli.ComponentId() )
- {
- if ( sli2.State() == TVtUiComponentState::EActive )
- {
- exclList.Union( sli2.BlockList() );
- }
- }
- }
- }
- sli.SetRoot();
- sli.SetState( aNewState );
- CalculateActivationL( sli.BlockList(), exclList, stateList, EShow );
- }
- CommitStateListL( stateList );
- __VTPRINTEXIT( "CompMgr.DoDeactivationL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::CommitStateListL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::CommitStateListL( TStateList& aList )
- {
- __VTPRINTENTER( "CompMgr.CommitStateListL" )
- // Sort list by component state. Components will first deactivated, then
- // blocked and finally activated.
- aList.Sort( TStateListItem::StateOrder() );
- for ( TInt i = 0; i < aList.ItemCount(); i++ )
- {
- const TStateListItem& sli( aList.At( i ) );
- TInt index( iComponents.FindInOrder( sli.ComponentId(),
- ::CmpTVtUiComponentStateByKey ) );
- if ( index != KErrNotFound )
- {
- TVtUiComponentState& cs( *iComponents[ index ] );
- if ( cs.State() != sli.State() )
- {
- switch ( sli.State() )
- {
- case TVtUiComponentState::EInactive:
- cs.DeActivateComponentL();
- break;
-
- case TVtUiComponentState::EActive:
- cs.ActivateComponentL();
- break;
-
- case TVtUiComponentState::EWaiting:
- cs.BlockComponentL();
- break;
-
- default:
- User::Leave( KErrArgument );
- break;
- }
- }
- }
- }
- __VTPRINTEXIT( "CompMgr.CommitStateListL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::CalculateActivationL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::CalculateActivationL(
- const TVtUiBlockList& aBlockList,
- const TVtUiBlockList& aExclList,
- TStateList& aStateList, TActivationAction aAction )
- {
- __VTPRINTENTER( "CompMgr.CalculateActivationL" )
- __VTPRINT2( DEBUG_GEN, "aAction = %d", (TInt)aAction )
- TVtUiBlockListBitField blockList;
- CVtUiBlockListIterator* iterator = aBlockList.IteratorLC();
- while ( iterator->HasNext() )
- {
- MVtUiComponent::TComponentId cid( iterator->Next() );
- if ( aExclList.Contains( cid ) )
- {
- continue;
- }
- TInt index( aStateList.FindItem( cid ) );
- if ( index != KErrNotFound )
- {
- TStateListItem& sli( aStateList.At( index ) );
- __VTPRINT3( DEBUG_GEN, "@1, Id = %d, state = %d", (TInt)sli.ComponentId(), (TInt)sli.State() )
- if ( !sli.IsRoot() )
- {
- if ( aAction == EShow )
- {
- // if action == EShow and component is being blocked,
- // then activate component
- if ( sli.State() == TVtUiComponentState::EWaiting )
- {
- sli.SetState( TVtUiComponentState::EActive );
- if ( !sli.IsVisited() )
- {
- blockList.Union( sli.BlockList() );
- }
- sli.SetVisited();
- }
- }
- else // aAction == EHide
- {
- // if action == EHide and component is active, then
- // block component
- if ( sli.State() == TVtUiComponentState::EActive )
- {
- sli.SetState( TVtUiComponentState::EWaiting );
- if ( !sli.IsVisited() )
- {
- blockList.Union( sli.BlockList() );
- }
- sli.SetVisited();
- }
- }
- }
- __VTPRINT3( DEBUG_GEN, "@2, Id = %d, state = %d", (TInt)sli.ComponentId(), (TInt)sli.State() )
- }
- }
- CleanupStack::PopAndDestroy(); // iterator
- if ( !blockList.IsEmpty() )
- {
- CalculateActivationL( blockList, aExclList, aStateList,
- ( aAction == EShow ) ? EHide : EShow );
- }
- __VTPRINTEXIT( "CompMgr.CalculateActivationL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ConstructStateListL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::ConstructStateListL( TStateList& aList )
- {
- for ( TInt i = iComponents.Count() - 1; i >= 0; i-- )
- {
- TStateListItem sli( *iComponents[ i ] );
- aList.AddItemL( sli );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::CVtUiComponentManager
-// ---------------------------------------------------------------------------
-//
-CVtUiComponentManager::CVtUiComponentManager()
- : iWsEventObservers( 1 ), iResourceChangeObservers( 1 ),
- iKeyEventObservers( 1 ),iLayoutChangeObservers( 1 ), iComponents( 1 )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::ConstructL()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::AddOrRemoveComponent
-// ---------------------------------------------------------------------------
-//
-template < class T >
-TInt CVtUiComponentManager::AddOrRemoveComponent( RPointerArray< T >& aArray,
- T* aComponent, TAction aAction )
- {
- __VTPRINTENTER( "CompMgr.AddOrRemoveComponent" )
- TInt result( KErrNone );
- if ( aAction == ERegister )
- {
- result = aArray.InsertInOrder( aComponent, ::CmpByPtr );
- }
- else
- {
- TInt index( aArray.FindInOrder( aComponent, ::CmpByPtr ) );
- if ( index != KErrNotFound )
- {
- aArray.Remove( index );
- }
- }
- __VTPRINTEXITR( "CompMgr.AddOrRemoveComponent %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ComponentOrder
-// ---------------------------------------------------------------------------
-//
-TLinearOrder< MVtUiComponent > CVtUiComponentManager::ComponentOrder()
- {
- return TLinearOrder< MVtUiComponent >( ::CmpMVtUiComponent );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::ComponentStateOrder
-// ---------------------------------------------------------------------------
-//
-TLinearOrder< TVtUiComponentState > CVtUiComponentManager::ComponentStateOrder()
- {
- return TLinearOrder< TVtUiComponentState >( ::CmpTVtUiComponentState );
- }
-
-// Implementation of CVtUiComponentManager::TStateListItem
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::TStateListItem
-// ---------------------------------------------------------------------------
-//
-CVtUiComponentManager::TStateListItem::TStateListItem(
- const TVtUiComponentState& aState )
- : iComponentId( aState.Component().ComponentId() ),
- iState( aState.State() ), iIsRoot( EFalse ), iIsVisited( EFalse )
- {
- iBlockList.Union( aState.BlockList() );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::ComponentId
-// ---------------------------------------------------------------------------
-//
-MVtUiComponent::TComponentId
-CVtUiComponentManager::TStateListItem::ComponentId() const
- {
- return iComponentId;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::State
-// ---------------------------------------------------------------------------
-//
-TVtUiComponentState::TState CVtUiComponentManager::TStateListItem::State() const
- {
- return iState;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::SetState
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::TStateListItem::SetState(
- TVtUiComponentState::TState aState )
- {
- iState = aState;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::BlockList
-// ---------------------------------------------------------------------------
-//
-const TVtUiBlockList& CVtUiComponentManager::TStateListItem::BlockList() const
- {
- return iBlockList;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::SetRoot
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::TStateListItem::SetRoot()
- {
- iIsRoot = ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::IsRoot
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiComponentManager::TStateListItem::IsRoot() const
- {
- return iIsRoot;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::SetVisited
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::TStateListItem::SetVisited()
- {
- iIsVisited = ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::IsVisited
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiComponentManager::TStateListItem::IsVisited() const
- {
- return iIsVisited;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::KeyOrder
-// ---------------------------------------------------------------------------
-//
-CVtUiComponentManager::TStateListItem::TKeyCmpFunc
-CVtUiComponentManager::TStateListItem::KeyOrder()
- {
- return KeyCmpFunc;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::LinearOrder
-// ---------------------------------------------------------------------------
-//
-TLinearOrder< CVtUiComponentManager::TStateListItem >
-CVtUiComponentManager::TStateListItem::LinearOrder()
- {
- return TLinearOrder< TStateListItem >( ItemCmpFunc );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::StateOrder
-// ---------------------------------------------------------------------------
-//
-TLinearOrder< CVtUiComponentManager::TStateListItem >
-CVtUiComponentManager::TStateListItem::StateOrder()
- {
- return TLinearOrder< TStateListItem >( StateCmpFunc );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::ItemCmpFunc
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::TStateListItem::ItemCmpFunc(
- const TStateListItem& aItem1, const TStateListItem& aItem2 )
- {
- return ( aItem1.ComponentId() - aItem2.ComponentId() );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::KeyCmpFunc
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::TStateListItem::KeyCmpFunc(
- const MVtUiComponent::TComponentId* aKey, const TStateListItem& aItem )
- {
- return ( *aKey - aItem.ComponentId() );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateListItem::StateCmpFunc
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::TStateListItem::StateCmpFunc(
- const TStateListItem& aItem1, const TStateListItem& aItem2 )
- {
- return ( aItem1.State() - aItem2.State() );
- }
-// Implementation of CVtUiComponentManager::TStateList
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateList::TStateList
-// ---------------------------------------------------------------------------
-//
-CVtUiComponentManager::TStateList::TStateList() : iItems( 1 )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateList::~TStateList
-// ---------------------------------------------------------------------------
-//
-CVtUiComponentManager::TStateList::~TStateList()
- {
- iItems.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateList::AddItemL
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::TStateList::AddItemL( TStateListItem& aItem )
- {
- iItems.InsertInOrderL( aItem, TStateListItem::LinearOrder() );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateList::ItemCount
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::TStateList::ItemCount() const
- {
- return iItems.Count();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateList::FindItem
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiComponentManager::TStateList::FindItem(
- MVtUiComponent::TComponentId aComponentId ) const
- {
- return iItems.FindInOrder( aComponentId, TStateListItem::KeyOrder() );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateList::At
-// ---------------------------------------------------------------------------
-//
-CVtUiComponentManager::TStateListItem&
-CVtUiComponentManager::TStateList::At( TInt aIndex )
- {
- return iItems[ aIndex ];
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateList::At
-// ---------------------------------------------------------------------------
-//
-const CVtUiComponentManager::TStateListItem&
-CVtUiComponentManager::TStateList::At( TInt aIndex ) const
- {
- return iItems[ aIndex ];
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiComponentManager::TStateList::Sort
-// ---------------------------------------------------------------------------
-//
-void CVtUiComponentManager::TStateList::Sort(
- TLinearOrder< CVtUiComponentManager::TStateListItem > aOrder )
- {
- iItems.Sort( aOrder );
- }
--- a/vtuis/videotelui/src/compman/tvtuiblocklists.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 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: Component ID block lists implementation.
-*
-*/
-
-
-#include "tvtuiblocklists.h"
-
-const static TUint KNullBlockMask = 0;
-
-// Implementation for TVtUiBlockList
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockList::~TVtUiBlockList
-// -----------------------------------------------------------------------------
-//
-TVtUiBlockList::~TVtUiBlockList()
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockList::TVtUiBlockList
-// -----------------------------------------------------------------------------
-//
-TVtUiBlockList::TVtUiBlockList()
- {
- }
-
-// Implementation for TVtUiBlockListBitField
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::TVtUiBlockListBitField
-// -----------------------------------------------------------------------------
-//
-TVtUiBlockListBitField::TVtUiBlockListBitField() : iBlockMask( KNullBlockMask )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::TVtUiBlockListBitField
-// -----------------------------------------------------------------------------
-//
-TVtUiBlockListBitField::TVtUiBlockListBitField( TUint aBlockMask )
- : iBlockMask( aBlockMask )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::IsEmpty
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiBlockListBitField::IsEmpty() const
- {
- return !iBlockMask;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::Contains
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiBlockListBitField::Contains( MVtUiComponent::TComponentId aId ) const
- {
- return ( iBlockMask & aId ) && ( aId != MVtUiComponent::EComponentIdNull );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::Union
-// -----------------------------------------------------------------------------
-//
-void TVtUiBlockListBitField::Union( const TVtUiBlockList& aBlockList )
- {
- iBlockMask |=
- static_cast< const TVtUiBlockListBitField& >( aBlockList ).iBlockMask;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::IteratorLC
-// -----------------------------------------------------------------------------
-//
-CVtUiBlockListIterator* TVtUiBlockListBitField::IteratorLC() const
- {
- return TVtUiBlockListBitField::CVtUiBListIteratorBF::NewLC( iBlockMask );
- }
-
-// Implementation for TVtUiBlockListBitField::CVtUiBListIteratorBF
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::CVtUiBListIteratorBF::NewLC
-// -----------------------------------------------------------------------------
-//
-TVtUiBlockListBitField::CVtUiBListIteratorBF*
-TVtUiBlockListBitField::CVtUiBListIteratorBF::NewLC(
- const TUint& aBlockMask )
- {
- CVtUiBListIteratorBF* self = new ( ELeave )
- CVtUiBListIteratorBF( aBlockMask );
- CleanupStack::PushL( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::CVtUiBListIteratorBF::CVtUiBListIteratorBF
-// -----------------------------------------------------------------------------
-//
-TVtUiBlockListBitField::CVtUiBListIteratorBF::CVtUiBListIteratorBF(
- const TUint& aBlockMask ) : iBlockMask( aBlockMask ), iCurrent( 1 )
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::CVtUiBListIteratorBF::HasNext
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiBlockListBitField::CVtUiBListIteratorBF::HasNext() const
- {
- return ( iCurrent && ( iCurrent <= iBlockMask ) );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiBlockListBitField::CVtUiBListIteratorBF::Next
-// -----------------------------------------------------------------------------
-//
-MVtUiComponent::TComponentId
-TVtUiBlockListBitField::CVtUiBListIteratorBF::Next()
- {
- MVtUiComponent::TComponentId id( MVtUiComponent::EComponentIdNull );
-
- while ( HasNext() && !( iCurrent & iBlockMask ) )
- {
- iCurrent <<= 1;
- }
-
- if ( iCurrent )
- {
- id = static_cast< MVtUiComponent::TComponentId >( iCurrent );
- }
-
- iCurrent <<= 1;
-
- return id;
- }
--- a/vtuis/videotelui/src/compman/tvtuicomponentstate.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 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: Component state base class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "tvtuicomponentstate.h"
-
-// -----------------------------------------------------------------------------
-// TVtUiComponentState::ActivateComponentL
-// -----------------------------------------------------------------------------
-//
-void TVtUiComponentState::ActivateComponentL()
- {
- __VTPRINTENTER( "CompState.ActivateComponentL" )
- iComponent.DoActivateL();
- iState = EActive;
- __VTPRINTEXITR( "CompState.ActivateComponentL %d", iState )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiComponentState::BlockComponentL
-// -----------------------------------------------------------------------------
-//
-void TVtUiComponentState::BlockComponentL()
- {
- __VTPRINTENTER( "CompState.BlockComponentL" )
- iComponent.DoDeactivateL();
- iState = EWaiting;
- __VTPRINTEXITR( "CompState.BlockComponentL %d", iState )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiComponentState::DeActivateComponentL
-// -----------------------------------------------------------------------------
-//
-void TVtUiComponentState::DeActivateComponentL()
- {
- __VTPRINTENTER( "CompState.DeActivateComponentL" )
- iComponent.DoDeactivateL();
- iState = EInactive;
- __VTPRINTEXITR( "CompState.DeActivateComponentL %d", iState )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiComponentState::State
-// -----------------------------------------------------------------------------
-//
-TVtUiComponentState::TState TVtUiComponentState::State() const
- {
- return iState;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiComponentState::Component
-// -----------------------------------------------------------------------------
-//
-const MVtUiComponent& TVtUiComponentState::Component() const
- {
- return iComponent;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiComponentState::BlockMask
-// -----------------------------------------------------------------------------
-//
-const TVtUiBlockList& TVtUiComponentState::BlockList() const
- {
- return iBlockList;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiComponentState::BlockMask
-// -----------------------------------------------------------------------------
-//
-TVtUiBlockList& TVtUiComponentState::BlockList()
- {
- return iBlockList;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiComponentState::InformDeactivation
-// -----------------------------------------------------------------------------
-//
-TVtUiComponentState::TVtUiComponentState( MVtUiComponent& aComponent,
- const TVtUiBlockList& aBlockList )
- : iComponent( aComponent ), iState( EInactive )
- {
- __VTPRINTENTER( "CompState.ctor" )
-
- if( MVtUiComponent::EComponentIdToolbar == iComponent.ComponentId() )
- return;
-
- iBlockList.Union( aBlockList );
- __VTPRINTEXIT( "CompState.ctor" )
- }
--- a/vtuis/videotelui/src/cvtuiappshutter.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
-* 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: Class responsible for application exit.
-*
-*/
-
-
-#include "cvtuiappshutter.h"
-#include "mvtuishutterobserver.h"
-#include "mvtuistatecontext.h"
-#include "mvtuinumbersource.h"
-#include "tvtuilocalvariation.h"
-#include <cvtlogger.h>
-#include <eikenv.h>
-#include <aknutils.h>
-#include <aknnotewrappers.h>
-#include <stringloader.h>
-
-// singleton instance
-static CVtUiAppShutter* iAppShutter = NULL;
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::InstanceL
-// -----------------------------------------------------------------------------
-//
-CVtUiAppShutter* CVtUiAppShutter::InstanceL(
- MVtUiShutterObserver& aObserver )
- {
- __VTPRINTENTER( "CVtUiAppShutter.InstanceL" )
- if ( iAppShutter == NULL )
- {
- iAppShutter = new ( ELeave )
- CVtUiAppShutter( aObserver );
- }
- __VTPRINTEXIT( "CVtUiAppShutter.InstanceL" )
- return iAppShutter;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::CVtUiAppShutter
-// -----------------------------------------------------------------------------
-//
-CVtUiAppShutter::CVtUiAppShutter(
- MVtUiShutterObserver& aObserver ) :
- iPendingStateFlags( 0 ),
- iObserver( aObserver )
- {
- iPendingStateFlags.Set( EShutterWaitingStart );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::~CVtUiAppShutter
-// -----------------------------------------------------------------------------
-//
-CVtUiAppShutter::~CVtUiAppShutter()
- {
- __VTPRINTENTER( "CVtUiAppShutter.~" )
- // mark singleton null
- iAppShutter = NULL;
- delete iCallback;
- __VTPRINTEXIT( "CVtUiAppShutter.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::StartShutdown
-// Called when application may exit, i.e TVtUiStateResetting state receives
-// ShutdownDoneL message.
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppShutter::StartShutdown()
- {
- __VTPRINTENTER( "CVtUiAppShutter.StartShutdown" )
- iPendingStateFlags.Clear( EShutterWaitingStart );
- ShutdownIfReadyAndDestroy();
- __VTPRINTEXITR( "CVtUiAppShutter.StartShutdown flags %d",
- iPendingStateFlags.Value() )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::ShutdownWithEmergencyCallL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppShutter::ShutdownWithEmergencyCallL(
- MVtUiStateContext& aStateContext )
- {
- // Leaves if other than emergency number is supplied...
- CEmergencyCaller* emergency = CEmergencyCaller::DialEmergencyL( *this,
- aStateContext );
- // therefore the flag and member variable must not be set before above call.
- iPendingStateFlags.Set( EShutterWaitingEmergencyCallback );
- iEmergencyCaller = emergency;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::EmergencyCallDoneL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppShutter::EmergencyCallDoneL()
- {
- // Destruction of emergency handler is done asynchrounously to avoid
- // problems that might
- iPendingStateFlags.Clear( EShutterWaitingEmergencyCallback );
- TCallBack cb( EmergencyResponseCallback, this );
- EnqueCallbackL( cb );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::EmergencyResponseCallback
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiAppShutter::EmergencyResponseCallback( TAny* aAny )
- {
- CVtUiAppShutter* shutter =
- reinterpret_cast<CVtUiAppShutter*>( aAny );
- // delete callback
- delete shutter->iCallback;
- shutter->iCallback = NULL;
- // delete emergency caller
- delete shutter->iEmergencyCaller;
- shutter->iEmergencyCaller = NULL;
-
- shutter->ShutdownIfReadyAndDestroy();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::EnqueCallbackL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppShutter::EnqueCallbackL( TCallBack& aCallback )
- {
- __VTPRINTENTER( "CVtUiAppShutter.EnqueAsyncCommsCommandL" )
- if ( !iCallback )
- {
- iCallback = new ( ELeave ) CAsyncCallBack( aCallback, EPriorityHigh );
- }
- iCallback->Call();
- __VTPRINTEXIT( "CVtUiAppShutter.EnqueAsyncCommsCommandL" )
- __VTPRINTEXIT( "CVtUiAppShutter.EnqueCallbackL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::ShutdownIfReadyAndDestroy
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppShutter::ShutdownIfReadyAndDestroy()
- {
- __VTPRINTENTER( "CVtUiAppShutter.ShutdownIfReadyAndDestroy" )
- __VTPRINT2( DEBUG_GEN, " shutter flags %d",
- iPendingStateFlags.Value() );
- if ( !iPendingStateFlags.Value() )
- {
- iObserver.HandleShutdownReady();
- delete this;
- }
- __VTPRINTEXIT( "CVtUiAppShutter.ShutdownIfReadyAndDestroy" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::CEmergencyCaller::DialEmergencyL
-// -----------------------------------------------------------------------------
-//
-CVtUiAppShutter::CEmergencyCaller* CVtUiAppShutter::CEmergencyCaller::
- DialEmergencyL(
- CVtUiAppShutter& aObserver,
- MVtUiStateContext& aStateContext )
- {
- __VTPRINTENTER( "CEmergencyCaller.DialEmergencyL" )
- CVtUiAppShutter::CEmergencyCaller* self = new ( ELeave )
- CVtUiAppShutter::CEmergencyCaller( aObserver, aStateContext );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- __VTPRINTEXIT( "CEmergencyCaller.DialEmergencyL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::CEmergencyCaller::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppShutter::CEmergencyCaller::ConstructL()
- {
- __VTPRINTENTER( "CEmergencyCaller.ConstructL" )
- const MVtUiNumberSource* source = iStateContext.NumberSource();
- if ( source )
- {
- source->GetContents( iNumber );
- AknTextUtils::ConvertDigitsTo( iNumber, EDigitTypeWestern );
- User::LeaveIfError( iServer.Connect() );
- iEmergency = CPhCltEmergencyCall::NewL( this );
- TBool isEmergenyNumber = EFalse;
- const TInt err =
- iEmergency->FindEmergencyPhoneNumber( iNumber, isEmergenyNumber );
-
- if ( err == KErrNone && isEmergenyNumber )
- {
- __VTPRINT( DEBUG_GEN, "iEmergency->DialEmergencyCallL")
- iEmergency->DialEmergencyCallL( iNumber );
- }
- if ( !isEmergenyNumber || err )
- {
- __VTPRINT( DEBUG_GEN, " not EC number => leave" )
- // Not an emergency call number. Abort emergency call process.
- User::Leave( KErrArgument );
- }
- }
- __VTPRINTEXIT( "CEmergencyCaller.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::CEmergencyCaller::CEmergencyCaller
-// -----------------------------------------------------------------------------
-//
-CVtUiAppShutter::CEmergencyCaller::CEmergencyCaller(
- CVtUiAppShutter& aObserver,
- MVtUiStateContext& aStateContext ) :
- iObserver( aObserver ),
- iStateContext( aStateContext )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::CEmergencyCaller::~CEmergencyCaller
-// -----------------------------------------------------------------------------
-//
-CVtUiAppShutter::CEmergencyCaller::~CEmergencyCaller()
- {
- __VTPRINTENTER( "CEmergencyCaller.~" )
- delete iEmergency;
- iServer.Close();
- __VTPRINTEXIT( "CEmergencyCaller.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiAppShutter::CEmergencyCaller::HandleEmergencyDialL
-// -----------------------------------------------------------------------------
-//
-void CVtUiAppShutter::CEmergencyCaller::HandleEmergencyDialL(
- const TInt )
- {
- __VTPRINTENTER( "CEmergencyCaller.HandleEmergencyDialL" )
- iObserver.EmergencyCallDoneL();
- __VTPRINTEXIT( "CEmergencyCaller.HandleEmergencyDialL" )
- }
-
--- a/vtuis/videotelui/src/cvtuidtmfbuffer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/*
-* 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: Implementation of DTMF buffer class
-*
-*/
-
-
-#include <coemain.h>
-#include <cvtlogger.h>
-#include "cvtuidtmfbuffer.h"
-#include "tvtuiwsevent.h"
-#include "VtUiUtility.h"
-
-// Time after which buffer will be automatically reset (4 seconds).
-const TInt KBufferResetInterval = 4 * 1000000;
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiDTMFBuffer* CVtUiDTMFBuffer::NewL( const CCoeEnv& aCoeEnv )
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.NewL" )
- CVtUiDTMFBuffer* self = new ( ELeave ) CVtUiDTMFBuffer( aCoeEnv );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "CVtUiDTMFBuffer.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::~CVtUiDTMFBuffer
-// ---------------------------------------------------------------------------
-//
-CVtUiDTMFBuffer::~CVtUiDTMFBuffer()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.~" )
- Cancel();
- iTimer.Close();
- __VTPRINTEXIT( "CVtUiDTMFBuffer.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::Append
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiDTMFBuffer::Append( TChar aChar )
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.Append" )
- TBool result( EFalse );
- if ( VtUiUtility::IsDTMFCharacter( aChar ) )
- {
- if ( iBuffer.Length() == iBuffer.MaxLength() )
- {
- iBuffer = iBuffer.Right( 1 );
- }
- iBuffer.Append( aChar );
- StartTimer();
- result = ETrue;
- }
- __VTPRINTEXITR( "CVtUiDTMFBuffer.Append %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::Reset
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::Reset()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.Reset" )
- Cancel();
- ResetBuffer();
- __VTPRINTEXIT( "CVtUiDTMFBuffer.Reset" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::Activate
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::Activate()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.Activate" )
- TVtUiWsEvent< MVtUiNumberSource > event(
- EVtUiWsEventNumberSourceActivate, this );
- iCoeEnv.WsSession().SendEventToWindowGroup(
- iCoeEnv.RootWin().WindowGroupId(), event );
- __VTPRINTEXIT( "CVtUiDTMFBuffer.Activate" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::Deactivate
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::Deactivate()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.Deactivate" )
- TVtUiWsEvent< MVtUiNumberSource > event(
- EVtUiWsEventNumberSourceDeactivate, this );
- iCoeEnv.WsSession().SendEventToWindowGroup(
- iCoeEnv.RootWin().WindowGroupId(), event );
- __VTPRINTEXIT( "CVtUiDTMFBuffer.Deactivate" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::GetContents
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::GetContents( TDes& aContents ) const
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.GetContents" )
- const TInt length( aContents.MaxLength() < iBuffer.Length() ?
- aContents.MaxLength() : iBuffer.Length() );
- if ( length )
- {
- aContents = iBuffer.Mid( 0, length );
- }
- else
- {
- aContents.Zero();
- }
- __VTPRINTEXIT( "CVtUiDTMFBuffer.GetContents" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::DoCancel()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.DoCancel" )
- iTimer.Cancel();
- __VTPRINTEXIT( "CVtUiDTMFBuffer.DoCancel" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::RunL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::RunL()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.RunL" )
- TimerExpired( iStatus.Int() );
- __VTPRINTEXIT( "CVtUiDTMFBuffer.RunL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::CVtUiDTMFBuffer
-// ---------------------------------------------------------------------------
-//
-CVtUiDTMFBuffer::CVtUiDTMFBuffer( const CCoeEnv& aCoeEnv ) :
- CActive( EPriorityStandard ), iCoeEnv( aCoeEnv )
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.ctor" )
- CActiveScheduler::Add( this );
- __VTPRINTEXIT( "CVtUiDTMFBuffer.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::ConstructL()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.ConstructL" )
- User::LeaveIfError( iTimer.CreateLocal() );
- __VTPRINTEXIT( "CVtUiDTMFBuffer.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::StartTimer
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::StartTimer()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.StartTimer" )
- Cancel();
- SetActive();
- iTimer.After( iStatus, KBufferResetInterval );
- __VTPRINTEXIT( "CVtUiDTMFBuffer.StartTimer" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::TimerExpired
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::TimerExpired( TInt aError )
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.TimerExpired" )
- if ( aError != KErrCancel )
- {
- ResetBuffer();
- }
- __VTPRINTEXIT( "CVtUiDTMFBuffer.TimerExpired" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDTMFBuffer::ResetBuffer
-// ---------------------------------------------------------------------------
-//
-void CVtUiDTMFBuffer::ResetBuffer()
- {
- __VTPRINTENTER( "CVtUiDTMFBuffer.ResetBuffer" )
- iBuffer.Zero();
- __VTPRINTEXIT( "CVtUiDTMFBuffer.ResetBuffer" )
- }
--- a/vtuis/videotelui/src/cvtuivideocontrolbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,782 +0,0 @@
-/*
-* Copyright (c) 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 control base class implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <featmgr.h>
-#include <AknsDrawUtils.h>
-#include <aknsutils.h>
-#include <aknbiditextutils.h>
-#include <stringloader.h>
-#include <videotelui.rsg>
-
-#include <aknsbasicbackgroundcontrolcontext.h>
-#include <aknstatuspaneutils.h>
-#include "cvtuivideocontrolbase.h"
-#include "mvtuicomponentmanager.h"
-#include "VtUiLayout.h"
-
-// CONSTANTS
-
-// Index of white color.
-const TInt KVtUiColorWhite = 0;
-
-// Amount of characters reserved per line.
-const TInt KVtUiWaitingExtraSpacePerLine = KAknBidiExtraSpacePerLine + 1;
-
-// Amount of lines used for 'waiting text'
-const TInt KVtUiWaitingLineCount = 2;
-
-// Implementation of CVtUiVideoControlBase
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::~CVtUiVideoControlBase
-// ---------------------------------------------------------------------------
-//
-CVtUiVideoControlBase::~CVtUiVideoControlBase()
- {
- __VTPRINTENTER( "VidCtrlBase.~" )
- AknsUtils::DeregisterControlPosition( this );
- iStreamBitmap = NULL; // not owned.
- delete iWaitingTextWrappedArray;
- delete iWaitingTextWrapped;
- delete iBgContext;
- __VTPRINTEXIT( "VidCtrlBase.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::CVtUiVideoControlBase
-// ---------------------------------------------------------------------------
-//
-CVtUiVideoControlBase::CVtUiVideoControlBase(
- CVtUiBitmapManager& aBitmapManager ) :
- iBitmapManager( &aBitmapManager )
- {
- __VTPRINTENTER( "VidCtrlBase.ctor" )
- __VTPRINTEXIT( "VidCtrlBase.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::BaseConstructL()
- {
- __VTPRINTENTER( "VidCtrlBase.BaseConstructL" )
- iBgContext = CAknsBasicBackgroundControlContext::NewL(
- KAknsIIDQsnBgAreaMain, Rect(), ETrue );
- CreateWindowL();
- SetExtent( TPoint(), TSize() );
- ActivateL();
- // Disable fading when using DP (eliminates nasty color error)
- if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) )
- {
- Window().SetNonFading( ETrue );
- }
- WrapOnDemand();
- __VTPRINTEXIT( "VidCtrlBase.BaseConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::SetRenderingHint
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::SetRenderingHint( TRenderingHint aHint )
- {
- __VTPRINTENTER( "VidCtrlBase.SetRenderingHint" )
- __VTPRINT2( DEBUG_GEN, "VidCtrlBase.SetRenderingHint aHint = %d", aHint )
- iHints.Set( aHint );
- __VTPRINTEXIT( "VidCtrlBase.SetRenderingHint" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::ClearRenderingHint
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::ClearRenderingHint( TRenderingHint aHint )
- {
- __VTPRINTENTER( "VidCtrlBase.ClearRenderingHint" )
- __VTPRINT2( DEBUG_GEN, "VidCtrlBase.ClearRenderingHint aHint = %d", aHint )
- iHints.Clear( aHint );
- __VTPRINTEXIT( "VidCtrlBase.ClearRenderingHint" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::BitmapManager
-// ---------------------------------------------------------------------------
-//
-CVtUiBitmapManager& CVtUiVideoControlBase::BitmapManager() const
- {
- return *iBitmapManager;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::Bitmap
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CVtUiVideoControlBase::Bitmap( TVtUiBitmapPoolId aId ) const
- {
- __VTPRINTENTER( "VidCtrlBase.Bitmap" )
- CFbsBitmap* bitmap = NULL;
- iBitmapManager->GetBitmap( aId, bitmap );
- __VTPRINTEXITR( "VidCtrlBase.Bitmap %d", TInt( bitmap ) )
- return bitmap;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::AdjustPointForDP
-// ---------------------------------------------------------------------------
-//
-TPoint CVtUiVideoControlBase::AdjustPointForDP( const TPoint aPoint ) const
- {
- __VTPRINTENTER( "VidCtrlBase.AdjustPointForDP" )
- TPoint result( aPoint );
- if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) )
- {
- if ( result.iX & 1 )
- {
- result.iX++;
- }
- }
- __VTPRINTEXIT( "VidCtrlBase.AdjustPointForDP" )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::AdjustRectForDP
-// ---------------------------------------------------------------------------
-//
-TRect CVtUiVideoControlBase::AdjustRectForDP( const TRect aRect ) const
- {
- __VTPRINTENTER( "VidCtrlBase.AdjustRectForDP" )
- TRect result( aRect );
- if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) )
- {
- if ( result.iTl.iX & 1 )
- {
- result.Move( 1, 0 );
- result.SetWidth( Max( 0, result.Width() - 1 ) );
- }
- if ( result.Width() & 1 )
- {
- result.SetWidth( result.Width() - 1 );
- }
- }
- __VTPRINTEXIT( "VidCtrlBase.AdjustRectForDP" )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::WaitingTextLayout
-// ---------------------------------------------------------------------------
-//
-TAknTextLineLayout CVtUiVideoControlBase::WaitingTextLayout( TInt )
- {
- return TAknTextLineLayout();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::HandleSizeChanged
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::HandleSizeChanged()
- {
- __VTPRINTENTER( "VidCtrlBase.HandleSizeChanged" )
- __VTPRINTEXIT( "VidCtrlBase.HandleSizeChanged" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DrawSkinnedBackground
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::DrawSkinnedBackground( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DrawSkinnedBackground" )
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
- AknsDrawUtils::Background( skin, cc, this, aGc, Rect() );
- __VTPRINTEXIT( "VidCtrlBase.DrawSkinnedBackground" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVideoControlBase::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-
-TTypeUid::Ptr CVtUiVideoControlBase::MopSupplyObject( TTypeUid aId )
- {
- __VTPRINTENTER( "VidCtrlBase.MopSupplyObject" )
- // Required during rendering of the background skin in Draw()
- if (aId.iUid == MAknsControlContext::ETypeId)
- {
- __VTPRINTEXIT( "VidCtrlBase.MopSupplyObject.1" )
- return MAknsControlContext::SupplyMopObject( aId, iBgContext );
- }
- __VTPRINTEXIT( "VidCtrlBase.MopSupplyObject.2" )
- return CCoeControl::MopSupplyObject( aId );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DrawColoredBackground
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::DrawColoredBackground( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DrawColoredBackground" )
- aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
- aGc.SetPenStyle( CGraphicsContext::ENullPen );
- aGc.SetBrushColor( AKN_LAF_COLOR( KVtUiColorWhite ) );
- aGc.DrawRect( Rect() );
- aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
- __VTPRINTEXIT( "VidCtrlBase.DrawColoredBackground" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DrawWaitingText
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiVideoControlBase::DrawWaitingText( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DrawWaitingText" )
- const TInt count( iWaitingTextWrappedArray->Count() );
- if ( count > 0 )
- {
- aGc.SetClippingRect( StreamClippingRect() );
- aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- TRgb color( iWaitingTextLine1Layout.Color() );
- AknsUtils::GetCachedColor(
- skin,
- color,
- KAknsIIDQsnTextColors,
- EAknsCIQsnTextColorsCG6 );
- iWaitingTextLine1Layout.DrawText(
- aGc,
- iWaitingTextWrappedArray->At( 0 ), // first line
- EFalse,
- color );
- if ( count > 1 ) // two lines
- {
- iWaitingTextLine2Layout.DrawText(
- aGc,
- iWaitingTextWrappedArray->At( 1 ), // second line
- EFalse,
- color );
- }
- }
- __VTPRINTEXITR( "VidCtrlBase.DrawWaitingText %d", ETrue )
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DrawBlind
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::DrawBlind( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DrawBlind" )
- CFbsBitmap* icon = BlindImage();
- if ( icon )
- {
- CFbsBitmap* mask = BlindMask();
- if ( mask )
- {
- aGc.BitBltMasked(
- BlindBlitPosition(),
- icon,
- TRect( icon->SizeInPixels() ),
- mask,
- ETrue );
- }
- else
- {
- aGc.BitBlt(
- BlindBlitPosition(),
- icon );
- }
- }
- __VTPRINTEXIT( "VidCtrlBase.DrawBlind" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DrawStream
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::DrawStream( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DrawStream" )
- aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
- aGc.SetClippingRect( StreamClippingRect() );
- aGc.BitBlt( StreamBlitPosition(), iStreamBitmap );
- aGc.CancelClippingRect();
- __VTPRINTEXIT( "VidCtrlBase.DrawStream" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::StreamBlitPosition
-// ---------------------------------------------------------------------------
-//
-TPoint CVtUiVideoControlBase::StreamBlitPosition() const
- {
- __VTPRINTENTER( "VidCtrlBase.StreamBlitPosition" )
- __VTPRINTEXIT( "VidCtrlBase.StreamBlitPosition" )
- return Rect().iTl;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::StreamClippingRect
-// ---------------------------------------------------------------------------
-//
-TRect CVtUiVideoControlBase::StreamClippingRect() const
- {
- __VTPRINTENTER( "VidCtrlBase.StreamClippingRect" )
- __VTPRINTEXIT( "VidCtrlBase.StreamClippingRect" )
- return Rect();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::BlindImage
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CVtUiVideoControlBase::BlindImage() const
- {
- __VTPRINTENTER( "VidCtrlBase.BlindImage" )
- __VTPRINTEXIT( "VidCtrlBase.BlindImage" )
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::BlindMask
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CVtUiVideoControlBase::BlindMask() const
- {
- __VTPRINTENTER( "VidCtrlBase.BlindMask" )
- __VTPRINTEXIT( "VidCtrlBase.BlindMask" )
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::BlindBlitPosition
-// ---------------------------------------------------------------------------
-//
-TPoint CVtUiVideoControlBase::BlindBlitPosition() const
- {
- __VTPRINTENTER( "VidCtrlBase.BlindBlitPosition" )
- __VTPRINTEXIT( "VidCtrlBase.BlindBlitPosition" )
- return TPoint();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::Reset
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::Reset()
- {
- __VTPRINTENTER( "VidCtrlBase.Reset" )
- iBlindStatus = EFalse;
- iStreamBitmap = NULL;
- iWaitingTextShow = EFalse;
- __VTPRINTEXIT( "VidCtrlBase.Reset" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::SetBlind
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::SetBlind( TBool aBlindStatus )
- {
- __VTPRINTENTER( "VidCtrlBase.SetBlind" )
- /* Once SetBlind called, re-draw the control anyway */
-// if ( iBlindStatus != aBlindStatus )
-// {
- iBlindStatus = aBlindStatus;
- DrawNow();
-// }
- __VTPRINTEXITR( "VidCtrlBase.SetBlind %d", iBlindStatus )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVideoControlBase::IsAlphaZero
-// Checks if the alpha has been set to zero.
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiVideoControlBase::IsAlphaZero() const
- {
- __VTPRINTENTER( "VidCtrlBase.IsAlphaZero" )
- TBool isZero( EFalse );
- const CWsScreenDevice& sdev(
- *static_cast< CWsScreenDevice*>( SystemGc().Device() ) );
- if ( sdev.DisplayMode() == EColor16MA )
- {
- TRgb color;
- TPoint point( Rect().Center() );
- sdev.GetPixel( color, point );
- isZero = ( color.Alpha() == 0 );
- }
- __VTPRINTEXITR( "VidCtrlBase.IsAlphaZero %d", isZero )
- return isZero;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVideoControlBase::SetAlpha
-// Sets alpha.
-// -----------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::SetAlpha( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.SetAlpha" )
- aGc.SetDrawMode( CGraphicsContext::EDrawModeOR );
- aGc.SetBrushColor( TRgb( 0, 0, 0, 255 ) );
- aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
- aGc.Clear();
- aGc.Reset();
- __VTPRINTEXIT( "VidCtrlBase.SetAlpha" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::SetStreamBitmap
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::SetStreamBitmap( CFbsBitmap* aStreamBitmap )
- {
- __VTPRINTENTER( "VidCtrlBase.SetStreamBitmap" )
- __VTPRINT2( DEBUG_GEN, "VidCtrlBase.SetStreamBitmap %d",
- (TInt) aStreamBitmap )
- const CFbsBitmap* oldBitmap( iStreamBitmap );
- iStreamBitmap = aStreamBitmap;
- iSetAlpha = IsAlphaZero();
- if ( iStreamBitmap )
- {
- RedrawStream();
- }
- else if ( oldBitmap )
- {
- DrawNow();
- }
- __VTPRINTEXIT( "VidCtrlBase.SetStreamBitmap" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::SetStreamBitmapReserve
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::SetStreamBitmapReserve(
- CFbsBitmap* aStreamBitmap )
- {
- __VTPRINTENTER( "VidCtrlBase.SetStreamBitmapReserve" )
- __VTPRINT2( DEBUG_GEN, "VidCtrlBase.SetStreamBitmapReserve %d",
- (TInt) aStreamBitmap )
- const CFbsBitmap* oldBitmap( iStreamBitmap );
- iStreamBitmap = aStreamBitmap;
- if ( iStreamBitmap )
- {
- RedrawStream();
- }
- else if ( oldBitmap )
- {
- DrawNow();
- }
- __VTPRINTEXIT( "VidCtrlBase.SetStreamBitmapReserve" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::SetWaiting
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::SetWaiting( TBool aShowWaitingText )
- {
- __VTPRINTENTER( "VidCtrlBase.SetWaiting" )
- if ( iWaitingTextShow != aShowWaitingText )
- {
- iWaitingTextShow = aShowWaitingText;
- WrapOnDemand();
- DrawNow();
- }
- __VTPRINTEXITR( "VidCtrlBase.SetWaiting %d", iWaitingTextShow )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::Redraw
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::Redraw()
- {
- __VTPRINTENTER( "VidCtrlBase.Redraw" )
- if ( iStreamBitmap )
- {
- __VTPRINT( DEBUG_GEN, "VidCtrlBase.Redraw drawing" );
- DrawNow();
- }
- __VTPRINTEXIT( "VidCtrlBase.Redraw" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::Draw
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::Draw( const TRect& ) const
- {
- __VTPRINTENTER( "VidCtrlBase.Draw" )
- DoDraw( SystemGc() );
- __VTPRINTEXIT( "VidCtrlBase.Draw" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVideoControlBase::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::SizeChanged()
- {
- __VTPRINTENTER( "VidCtrlBase.SizeChanged" )
- AknsUtils::RegisterControlPosition( this );
-
- TRect bgRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, bgRect );
- iBgContext->SetRect( bgRect );
-
- HandleSizeChanged();
- TRect parent( Rect() );
- if ( !parent.IsEmpty() )
- {
- TAknTextLineLayout text( WaitingTextLayout( 0 ) );
- iWaitingTextLine1Layout.LayoutText( parent, text );
- text = WaitingTextLayout( 1 );
- iWaitingTextLine2Layout.LayoutText( parent, text );
- delete iWaitingTextWrapped;
- iWaitingTextWrapped = NULL;
- delete iWaitingTextWrappedArray;
- iWaitingTextWrappedArray = NULL;
- WrapOnDemand();
- }
- __VTPRINTEXIT( "VidCtrlBase.SizeChanged" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVideoControlBase::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::PositionChanged()
- {
- __VTPRINTENTER( "VidCtrlBase.SizeChanged" )
- AknsUtils::RegisterControlPosition( this );
- __VTPRINTEXIT( "VidCtrlBase.SizeChanged" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::RedrawStream
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::RedrawStream()
- {
- __VTPRINTENTER( "VidCtrlBase.RedrawStream" )
- const TRect clippingRect( StreamClippingRect() );
- Window().Invalidate( clippingRect );
- Window().BeginRedraw( clippingRect );
- ActivateGc();
- CWindowGc& gc = SystemGc();
- if ( iSetAlpha )
- {
- SetAlpha( gc );
- iSetAlpha = EFalse;
- }
- DoDrawStream( gc );
- DoDrawBlind( gc );
- DeactivateGc();
- Window().EndRedraw();
- __VTPRINTEXIT( "VidCtrlBase.RedrawStream" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVideoControlBase::WrapOnDemand
-// -----------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::WrapOnDemand()
- {
- __VTPRINTENTER( "VidCtrlBase.WrapOnDemand" )
- if ( iWaitingTextShow && !iWaitingTextWrapped )
- {
- TRAP_IGNORE( WrapWaitingTextL() );
- }
- __VTPRINTEXIT( "VidCtrlBase.WrapOnDemand" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVideoControlBase::WrapWaitingTextL
-// -----------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::WrapWaitingTextL()
- {
- __VTPRINTENTER( "VidCtrlBase.WrapWaitingTextL" )
- HBufC* waitingText =
- StringLoader::LoadLC( R_VIDEOTELUI_QTN_INCAL_WAITING_IMAGE );
-
- CArrayFix< TInt >* lines =
- new ( ELeave ) CArrayFixFlat< TInt >( KVtUiWaitingLineCount );
- CleanupStack::PushL( lines );
- lines->AppendL( iWaitingTextLine1Layout.TextRect().Width() );
- lines->AppendL( iWaitingTextLine2Layout.TextRect().Width() );
-
- CArrayFix<TPtrC>* wrap =
- new ( ELeave ) CArrayFixFlat< TPtrC >( KVtUiWaitingLineCount );
- CleanupStack::PushL( wrap );
- wrap->AppendL( TPtrC() );
- wrap->AppendL( TPtrC() );
-
- HBufC* waitingTextWrapped =
- HBufC::NewLC(
- waitingText->Length() +
- lines->Count() * KVtUiWaitingExtraSpacePerLine );
-
- TPtr textBuf = waitingTextWrapped->Des();
- textBuf.Zero();
- textBuf.Append( *waitingText );
-
- AknBidiTextUtils::ConvertToVisualAndWrapToArrayL(
- textBuf,
- *lines,
- *iWaitingTextLine1Layout.Font(),
- *wrap,
- ETrue );
-
- CleanupStack::Pop( waitingTextWrapped );
- iWaitingTextWrapped = waitingTextWrapped;
-
- CleanupStack::Pop( wrap );
- iWaitingTextWrappedArray = wrap;
-
- CleanupStack::PopAndDestroy( lines );
- CleanupStack::PopAndDestroy( waitingText );
- __VTPRINTEXIT( "VidCtrlBase.WrapWaitingTextL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DoDraw
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::DoDraw( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.Draw(gc)" )
- if ( iSetAlpha )
- {
- SetAlpha( aGc );
- iSetAlpha = EFalse;
- }
- DoDrawBackground( aGc );
- if ( !DoDrawWaitingText( aGc ) )
- {
- DoDrawStream( aGc );
- DoDrawBlind( aGc );
- }
- __VTPRINTEXIT( "VidCtrlBase.Draw(gc)" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DoDrawBackground
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::DoDrawBackground( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DoDrawBackground" )
- if ( iHints.IsSet( ESkinnedBackground ) )
- {
- DrawSkinnedBackground( aGc );
- }
- else if ( iHints.IsSet( EColoredBackground ) )
- {
- DrawColoredBackground( aGc );
- }
- __VTPRINTEXIT( "VidCtrlBase.DoDrawBackground" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DoDrawWaitingText
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiVideoControlBase::DoDrawWaitingText( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DoDrawWaitingText" )
- TBool wasDrawn( EFalse );
- if ( iHints.IsClear( ENoWaitingText ) && iWaitingTextShow &&
- iWaitingTextWrapped && iWaitingTextWrappedArray )
- {
- wasDrawn = DrawWaitingText( aGc );
- }
- __VTPRINTEXITR( "VidCtrlBase.DoDrawWaitingText %d", wasDrawn )
- return wasDrawn;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DoDrawBlind
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::DoDrawBlind( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DoDrawBlind" )
- if ( iBlindStatus && iHints.IsClear( ENoBlindIcon ) )
- {
- DrawBlind( aGc );
- }
- __VTPRINTEXIT( "VidCtrlBase.DoDrawBlind" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::DoDrawStream
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::DoDrawStream( CWindowGc& aGc ) const
- {
- __VTPRINTENTER( "VidCtrlBase.DoDrawStream" )
- if ( iStreamBitmap )
- {
- DrawStream( aGc );
- }
- __VTPRINTEXIT( "VidCtrlBase.DoDrawStream" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::SetRemoteVideoControl
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase::SetRemoteVideoControl( CCoeControl* aRemoteControl )
- {
- __VTPRINTENTER( "VidCtrlBase.SetRemoteVideoControl" )
- iRemoteVideoControl = aRemoteControl;
- __VTPRINTEXIT( "VidCtrlBase.SetRemoteVideoControl" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::LayoutRemoteVideo
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoControlBase:: LayoutRemoteVideo()
- {
- __VTPRINTENTER( "VidCtrlBase.LayoutRemoteVideo" )
- __VTPRINTEXIT( "VidCtrlBase.LayoutRemoteVideo" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoControlBase::RemoteVideoControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl * CVtUiVideoControlBase::RemoteVideoControl()
- {
- __VTPRINTENTER( "VidCtrlBase.RemoteVideoControl" )
- __VTPRINTEXIT( "VidCtrlBase.RemoteVideoControl" )
- return iRemoteVideoControl;
-
- }
--- a/vtuis/videotelui/src/features/cvtuifeaturebase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* Copyright (c) 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: CVtUiFeatureBase implementation.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "cvtuifeaturebase.h"
-#include "mvtuifeature.h"
-#include "cvtuicommandpolicymanager.h"
-#include <cvtlogger.h>
-#include "cvtuifeaturemanager.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureBase::CVtUiFeatureBase
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiFeatureBase::CVtUiFeatureBase( TVtUiFeatureId aId,
- CVtUiFeatureManager& aFeatureManager ) : iId( aId ),
- iFeatureManager ( aFeatureManager ),
- iFeatureState ( EUnprepared )
- {
- __VTPRINTENTER( "CVtUiFeatureBase.CVtUiFeatureBase" )
- __VTPRINTEXIT( "CVtUiFeatureBase.CVtUiFeatureBase" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureBase::BaseConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFeatureBase::StartL()
- {
- if ( iFeatureState == EUnprepared )
- {
- iAsyncCallback->Cancel();
- InitFeatureL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureBase::BaseConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFeatureBase::BaseConstructL()
- {
- __VTPRINTENTER( "CVtUiFeatureBase.BaseConstructL" )
- iAsyncCallback =
- new ( ELeave ) CAsyncCallBack ( CActive::EPriorityLow );
- iAsyncCallback->Set( TCallBack( &DoInitFeaturesL, this ) );
- iAsyncCallback->CallBack();
- __VTPRINTEXIT( "CVtUiFeatureBase.BaseConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureBase::~CVtUiFeatureBase
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiFeatureBase::~CVtUiFeatureBase()
- {
- __VTPRINTENTER( "CVtUiFeatureBase.~" )
- delete iAsyncCallback;
- __VTPRINTEXIT( "CVtUiFeatureBase.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureBase::State
-// -----------------------------------------------------------------------------
-//
-MVtUiFeature::TVtUiFeatureState CVtUiFeatureBase::State() const
- {
- __VTPRINTENTER( "CVtUiFeatureBase.State" )
- __VTPRINTEXITR( "CVtUiFeatureBase.State. %d", (TInt)iFeatureState )
- return iFeatureState;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureBase::Id
-// -----------------------------------------------------------------------------
-//
-TVtUiFeatureId CVtUiFeatureBase::Id() const
- {
- __VTPRINTENTER( "CVtUiFeatureBase.Id" )
- __VTPRINTEXITR( "CVtUiFeatureBase.Id %d", iId )
- return iId;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureBase::DoInitFeaturesL
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiFeatureBase::DoInitFeaturesL( TAny* aAny )
- {
- __VTPRINTENTER( "CVtUiFeatureBase.DoInitFeaturesL" )
- CVtUiFeatureBase* self = static_cast< CVtUiFeatureBase* >( aAny );
- self->InitFeatureL();
- __VTPRINTEXIT( "CVtUiFeatureBase.DoInitFeaturesL" )
- return KErrNone;
- }
--- a/vtuis/videotelui/src/features/cvtuifeaturemanager.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,280 +0,0 @@
-/*
-* Copyright (c) 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: Feature manager for Video Telephone application.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "cvtuifeaturemanager.h"
-#include "CVtUiAppUi.h"
-#include "cvtuifixedtoolbar.h"
-#include "cvtuifloatingtoolbar.h"
-#include "cvtuimenus.h"
-#include "cvtuifeaturebase.h"
-#include "tvtuistates.h"
-#include <cvtlogger.h>
-#include "cvtuicommandpolicymanager.h"
-#include "cvtuisoftkeys.h"
-#include "cvtuinumberentry.h"
-#include "cvtuivideoquality.h"
-#include "cvtuiwhitebalance.h"
-#include "cvtuicolortone.h"
-#include "cvtuidialer.h"
-#include "cvtuibrightness.h"
-#include "cvtuicontrast.h"
-#include "cvtuivolume.h"
-#include "cvtuizoom.h"
-
-#include <featmgr.h>
-
-// CONSTANTS
-const TInt KFeatureCount = 9;
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Used in Attach() method to compare two instances of MVtUiFeature.
-// ---------------------------------------------------------------------------
-//
-TInt FeatureCmpFunc( const CVtUiFeatureBase& aV1, const CVtUiFeatureBase& aV2 )
- {
- return ( aV1.Id() - aV2.Id() );
- }
-
-// ---------------------------------------------------------------------------
-// Used in GetFeature() method to search feature by id.
-// ---------------------------------------------------------------------------
-//
-TInt FeatureIdCmpFunc( const TInt* aId, const CVtUiFeatureBase& aFeature )
- {
- return ( *aId - aFeature.Id() );
- }
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiFeatureManager* CVtUiFeatureManager::NewL( CVtUiAppUi& aAppUi,
- TVtUiStates& aUiStates, MVtUiCommandManager& aCommandManager,
- MVtUiComponentManager& aComponentManager )
- {
- CVtUiFeatureManager* self = new( ELeave ) CVtUiFeatureManager( aAppUi,
- aUiStates, aCommandManager, aComponentManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::CVtUiFeatureManager
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiFeatureManager::CVtUiFeatureManager( CVtUiAppUi& aAppUi,
- TVtUiStates& aUiStates, MVtUiCommandManager& aCommandManager,
- MVtUiComponentManager& aComponentManager )
- : iAppUi( aAppUi ), iUiStates( aUiStates ),
- iCommandManager( aCommandManager ), iComponentManager( aComponentManager )
- {
- __VTPRINTENTER( "CVtUiFeatureManager.CVtUiFeatureManager" )
- __VTPRINTEXIT( "CVtUiFeatureManager.CVtUiFeatureManager" )
- }
-
-
-// -----------------------------------------------------------------------------
-//CVtUiFeatureManager::~CVtUiFeatureManager()
-// -----------------------------------------------------------------------------
-//
-CVtUiFeatureManager::~CVtUiFeatureManager()
- {
- __VTPRINTENTER( "CVtUiFeatureManager.~" )
- iFeatures.ResetAndDestroy();
- __VTPRINTEXIT( "CVtUiFeatureManager.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVtUiFeatureManager::ConstructL()
- {
- __VTPRINTENTER( "CVtUiFeatureManager.ConstructL" )
- iFeatures.ReserveL( KFeatureCount );
- CreateFeaturesL();
- __VTPRINTEXIT( "CVtUiFeatureManager.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::CreateFeaturesL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFeatureManager::CreateFeaturesL()
- {
- __VTPRINTENTER( "CVtUiFeatureManager.CreateFeaturesL" )
- CVtUiFeatureBase* feature = NULL;
- TLinearOrder< CVtUiFeatureBase >
- linOrder( ::FeatureCmpFunc );
-
- if ( AknLayoutUtils::PenEnabled() )
- {
- feature = CVtUiFixedToolbar::NewL( *this );
- }
- else
- {
- feature = CVtUiFloatingToolbar::NewL( *this );
- }
-
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
-
- feature = CVtUiMenus::NewL( *this );
- iFeatures.InsertInOrderL( feature, linOrder );
-
- feature = CVtUiSoftkeys::NewL( *this, *iAppUi.GetCba() );
- iFeatures.InsertInOrderL( feature, linOrder );
-
- feature = CVtUiNumberEntry::NewL( *this );
- iFeatures.InsertInOrderL( feature, linOrder );
-
- if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) )
- {
- feature = CVtUiDialer::NewL( *this );
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
- }
-
- feature = CVtUiVideoQuality::NewL( *this );
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
-
- feature = CVtUiWhiteBalance::NewL( *this );
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
-
- feature = CVtUiColorTone::NewL( *this );
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
-
- feature = CVtUiBrightness::NewL( *this );
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
-
- feature = CVtUiContrast::NewL( *this );
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
-
- feature = CVtUiVolume::NewL( *this );
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
-
- feature = CVtUiZoom::NewL( *this );
- if ( feature )
- {
- iFeatures.InsertInOrderL( feature, linOrder );
- }
-
- __VTPRINTEXIT( "CVtUiFeatureManager.CreateFeaturesL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::AppUi
-// -----------------------------------------------------------------------------
-//
-CVtUiAppUi& CVtUiFeatureManager::AppUi()
- {
- __VTPRINTENTER( "CVtUiFeatureManager.AppUi" )
- __VTPRINTEXIT( "CVtUiFeatureManager.AppUi" )
- return iAppUi;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::GetFeatureById
-// -----------------------------------------------------------------------------
-//
-MVtUiFeature* CVtUiFeatureManager::GetFeatureById( TInt aId )
- {
- __VTPRINTENTER( "CVtUiFeatureManager.GetFeatureById" )
- CVtUiFeatureBase* result = NULL;
-
- TInt index( iFeatures.FindInOrder( aId, ::FeatureIdCmpFunc ) );
- if ( index != KErrNotFound )
- {
- result = iFeatures[ index ];
- }
- __VTPRINTEXITR( "CVtUiFeatureManager.GetFeatureById %d", (TInt)result )
- return result;
-
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::UiStates
-// -----------------------------------------------------------------------------
-//
-
-TVtUiStates& CVtUiFeatureManager::UiStates()
- {
- return iUiStates;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::CommandManager
-// -----------------------------------------------------------------------------
-//
-MVtUiCommandManager& CVtUiFeatureManager::CommandManager()
- {
- return iCommandManager;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::ComponentManager
-// -----------------------------------------------------------------------------
-//
-MVtUiComponentManager& CVtUiFeatureManager::ComponentManager()
- {
- return iComponentManager;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFeatureManager::Model
-// -----------------------------------------------------------------------------
-//
-CVtEngModel& CVtUiFeatureManager::Model()
- {
- return iAppUi.Model();
- }
--- a/vtuis/videotelui/src/features/dialer/cvtuicmdclosedialer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 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: Mini dialer open command implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicmdclosedialer.h"
-#include "mvtuicommandmanager.h"
-#include "mvtuifeature.h"
-#include "videotelui.hrh"
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdCloseDialer::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdCloseDialer* CVtUiCmdCloseDialer::NewL(
- MVtUiCommandManager& aCommandManager, MVtUiFeature& aFeature )
- {
- __VTPRINTENTER( "CmdCloseDial.NewL" )
- CVtUiCmdCloseDialer* self =
- new ( ELeave ) CVtUiCmdCloseDialer( aCommandManager, aFeature );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "CmdCloseDial.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdCloseDialer::~CVtUiCmdCloseDialer
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdCloseDialer::~CVtUiCmdCloseDialer()
- {
- __VTPRINTENTER( "CmdCloseDial.~" )
- iCommandManager.UnregisterCommand( *this );
- __VTPRINTEXIT( "CmdCloseDial.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdCloseDialer::HandleL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdCloseDialer::HandleL()
- {
- __VTPRINTENTER( "CmdCloseDial.HandleL" )
- iFeature.Stop();
- __VTPRINTEXIT( "CmdCloseDial.HandleL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdCloseDialer::IsEnabled
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiCmdCloseDialer::IsEnabled() const
- {
- __VTPRINTENTER( "CmdCloseDial.IsEnabled" )
- const TBool enabled( iFeature.State() == MVtUiFeature::EActive );
- __VTPRINTEXITR( "CmdCloseDial.IsEnabled %d", enabled )
- return enabled;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdCloseDialer::CVtUiCmdCloseDialer
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdCloseDialer::CVtUiCmdCloseDialer(
- MVtUiCommandManager& aCommandManager, MVtUiFeature& aFeature )
- : CVtUiFeatureCmdBase( aFeature, EVtUiDialerExit ),
- iCommandManager( aCommandManager )
- {
- __VTPRINTENTER( "CmdCloseDial.ctor" )
- __VTPRINTEXIT( "CmdCloseDial.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdCloseDialer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdCloseDialer::ConstructL()
- {
- __VTPRINTENTER( "CmdCloseDial.ConstructL" )
- iCommandManager.RegisterCommandL( *this );
- __VTPRINTEXIT( "CmdCloseDial.ConstructL" )
- }
-
--- a/vtuis/videotelui/src/features/dialer/cvtuicmdopendialer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 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: Mini dialer open command implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicmdopendialer.h"
-#include "mvtuicommandmanager.h"
-#include "videotelui.hrh"
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdOpenDialer::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdOpenDialer* CVtUiCmdOpenDialer::NewL(
- MVtUiCommandManager& aCommandManager, MVtUiFeature& aFeature )
- {
- __VTPRINTENTER( "CmdOpenDial.NewL" )
- CVtUiCmdOpenDialer* self =
- new ( ELeave ) CVtUiCmdOpenDialer( aCommandManager, aFeature );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "CmdOpenDial.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdOpenDialer::~CVtUiCmdOpenDialer
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdOpenDialer::~CVtUiCmdOpenDialer()
- {
- __VTPRINTENTER( "CmdOpenDial.~" )
- iCommandManager.UnregisterCommand( *this );
- __VTPRINTEXIT( "CmdOpenDial.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdOpenDialer::CVtUiCmdOpenDialer
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdOpenDialer::CVtUiCmdOpenDialer(
- MVtUiCommandManager& aCommandManager, MVtUiFeature& aFeature )
- : CVtUiFeatureCmdBase( aFeature, EVtUiCmdSendDTMF ),
- iCommandManager( aCommandManager )
- {
- __VTPRINTENTER( "CmdOpenDial.ctor" )
- __VTPRINTEXIT( "CmdOpenDial.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiCmdOpenDialer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCmdOpenDialer::ConstructL()
- {
- __VTPRINTENTER( "CmdOpenDial.ConstructL" )
- iCommandManager.RegisterCommandL( *this );
- __VTPRINTEXIT( "CmdOpenDial.ConstructL" )
- }
-
--- a/vtuis/videotelui/src/features/dialer/cvtuidialer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 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: Mini dialer feature
-*
-*/
-
-
-#include <AknUtils.h>
-#include <peninputcmdparam.h>
-#include <cvtlogger.h>
-
-#include "cvtuidialer.h"
-#include "cvtuifeaturemanager.h"
-#include "mvtuicommandmanager.h"
-#include "mvtuicomponentmanager.h"
-#include "cvtuicmdopendialer.h"
-#include "cvtuicmdclosedialer.h"
-#include "cvtuidialercontainer.h"
-#include "cvtuidialervideocontrol.h"
-#include "CVtUiAppUi.h"
-#include "tvtuistates.h"
-#include "CVtUiContextControl.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// Implementation of CVtUiDialer
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiDialer* CVtUiDialer::NewL( CVtUiFeatureManager& aFeatureManager )
- {
- __VTPRINTENTER( "Dial.NewL" )
- CVtUiDialer* self = NULL;
- self = new ( ELeave ) CVtUiDialer( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "Dial.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::~CVtUiDialer
-// ---------------------------------------------------------------------------
-//
-CVtUiDialer::~CVtUiDialer()
- {
- __VTPRINTENTER( "Dial.~" )
- delete iCmdOpen;
- delete iCmdClose;
- delete iDialerContainer;
- __VTPRINTEXIT( "Dial.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::VideoWindow
-// ---------------------------------------------------------------------------
-//
-MVtUiVideoWindow& CVtUiDialer::VideoWindow() const
- {
- __VTPRINTENTER( "Dial.VideoWindow" )
- __VTPRINTEXIT( "Dial.VideoWindow" )
- return *iDialerContainer->ComponentAsVideoWindow();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::VideoControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl& CVtUiDialer::VideoControl() const
- {
- __VTPRINTENTER( "Dial.VideoControl" )
- __VTPRINTEXIT( "Dial.VideoControl" )
- return *static_cast< MVtUiComponent* >
- ( iDialerContainer )->ComponentAsControl();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialer::StartL()
- {
- __VTPRINTENTER( "Dial.StartL" )
- if ( State() == MVtUiFeature::EUnprepared )
- {
- // fixed toolbar is set to be hidden
- iFeatureManager.AppUi().ContextControl().MakeVisible( EFalse );
- iFeatureManager.UiStates().SetIsDialerActivating( ETrue );
- iFeatureManager.UiStates().SetIsFixedToolbarVisible( EFalse );
- iFeatureManager.CommandManager().RefreshL();
- PrepareL();
- iFeatureManager.ComponentManager().RequestActivationL(
- MVtUiComponent::EComponentIdDialer );
- iFeatureState = EActive;
- iFeatureManager.AppUi().SwitchLayoutToFlatStatusPaneL( ETrue );
- }
- __VTPRINTEXIT( "Dial.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialer::Stop()
- {
- __VTPRINTENTER( "Dial.Stop" )
- if ( State() == MVtUiFeature::EActive )
- {
- TInt error;
- TRAP( error,
- {
- iFeatureManager.AppUi().SwitchLayoutToFlatStatusPaneL( EFalse );
- iFeatureManager.ComponentManager().DeActivateComponentL(
- MVtUiComponent::EComponentIdDialer );
- } );
- Unprepare();
- iFeatureManager.AppUi().ContextControl().MakeVisible( ETrue );
- }
- __VTPRINTEXIT( "Dial.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialer::InitFeatureL()
- {
- __VTPRINTENTER( "Dial.InitFeatureL" )
- iDialerContainer =
- CVtUiDialerContainer::NewL( iFeatureManager );
- iCmdOpen = CVtUiCmdOpenDialer::NewL( iFeatureManager.CommandManager(),
- *this );
- iCmdClose = CVtUiCmdCloseDialer::NewL( iFeatureManager.CommandManager(),
- *this );
- __VTPRINTEXIT( "Dial.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::CVtUiDialer
-// ---------------------------------------------------------------------------
-//
-CVtUiDialer::CVtUiDialer( CVtUiFeatureManager& aFeatureManager )
- : CVtUiFeatureBase( EVtUiFeatureIdDialer, aFeatureManager )
- {
- __VTPRINTENTER( "Dial.ctor" )
- __VTPRINTEXIT( "Dial.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialer::ConstructL()
- {
- __VTPRINTENTER( "Dial.ConstructL" )
- BaseConstructL();
- __VTPRINTEXIT( "Dial.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::PrepareL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialer::PrepareL()
- {
- __VTPRINTENTER( "Dial.PrepareL" )
- iDialerContainer->RegisterComponentL();
- iFeatureState = EReady;
- __VTPRINTEXIT( "Dial.PrepareL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialer::Unprepare
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialer::Unprepare()
- {
- __VTPRINTENTER( "Dial.Unprepare" )
- iDialerContainer->UnregisterComponent();
- iFeatureState = EUnprepared;
- __VTPRINTEXIT( "Dial.Unprepare" )
- }
--- a/vtuis/videotelui/src/features/dialer/cvtuidialercontainer.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,482 +0,0 @@
-/*
-* Copyright (c) 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: Dialer feature
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <cvideodtmfdialer.h>
-#include <AknsDrawUtils.h>
-#include <aknsutils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <featmgr.h>
-#include <aknsbasicbackgroundcontrolcontext.h>
-
-#include "VtUiUtility.h"
-#include "VtUiLayout.h"
-#include "mvtuicomponentmanager.h"
-#include "cvtuidialercontainer.h"
-#include "cvtuidialervideocontrol.h"
-#include "tvtuiwsevent.h"
-#include "tvtuistates.h"
-#include "cvtuidialerskmodifier.h"
-#include "cvtuifeaturemanager.h"
-#include "CVtUiAppUi.h"
-#include "mvtuicommandmanager.h"
-#include "cvtuidtmfbuffer.h"
-
-// Index of white color.
-const TInt KVtUiColorWhite = 0;
-
-// Implementation of TVtUiMiniDialerComponentState
-
-// ---------------------------------------------------------------------------
-// TVtUiDialerComponentState::TVtUiDialerComponentState
-// ---------------------------------------------------------------------------
-//
-TVtUiDialerComponentState::TVtUiDialerComponentState(
- MVtUiComponent& aComponent ) :
- TVtUiComponentState( aComponent,
- TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdToolbar |
- MVtUiComponent::EComponentIdNumberEntry ) )
- {
- }
-
-// Implementation of CVtUiDialerContainer
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerContainer* CVtUiDialerContainer::NewL(
- CVtUiFeatureManager& aFeatureManager )
- {
- __VTPRINTENTER( "DialContainer.NewL" )
- CVtUiDialerContainer* self =
- new ( ELeave ) CVtUiDialerContainer( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL( aFeatureManager.AppUi().BitmapManager() );
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "DialContainer.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::~CVtUiDialerContainer
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerContainer::~CVtUiDialerContainer()
- {
- __VTPRINTENTER( "DialContainer.~" )
- delete iAsyncDeactivate;
- delete iVideoControl;
- delete iDialer;
- delete iSKModifier;
- delete iInputBuffer;
- delete iBgContext;
- AknsUtils::DeregisterControlPosition( this );
- __VTPRINTEXIT( "DialContainer.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::HandleResourceChangeL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::HandleResourceChangeL( TInt aType )
- {
- __VTPRINTENTER( "DialContainer.HandleResourceChangeL" )
- switch ( aType )
- {
- case KEikDynamicLayoutVariantSwitch:
- case KAknsMessageSkinChange:
- LayoutDialerContainer();
- break;
- default:
- break;
- }
- __VTPRINTEXIT( "DialContainer.HandleResourceChangeL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::ComponentId
-// ---------------------------------------------------------------------------
-//
-MVtUiComponent::TComponentId CVtUiDialerContainer::ComponentId() const
- {
- return EComponentIdDialer;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::ComponentAsControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVtUiDialerContainer::ComponentAsControl()
- {
- return iVideoControl;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::DoActivateL()
- {
- __VTPRINTENTER( "DialContainer.DoActivateL" )
- iUiStates.SetIsDialerActivating( EFalse );
- LayoutDialerContainer();
- Reset();
- iVideoControl->MakeVisible( ETrue );
- iDialer->MakeVisible( ETrue );
- MakeVisible( ETrue );
- User::LeaveIfError( iFeatureManager->
- CommandManager().AddCommandModifier( *iSKModifier ) );
- iInputBuffer->Activate();
- iMode = CVtUiAppUi::ERenderingModeDialer;
- TVtUiWsEvent< CVtUiAppUi::TRenderingMode > renderingEvent(
- EVtUiWsEventBeginRenderingMode, &iMode );
- iCoeEnv->WsSession().SendEventToWindowGroup(
- Window().WindowGroupId(), renderingEvent );
- iUiStates.SetIsDialerOpen( ETrue );
- iAsyncDeactivate->Cancel();
- __VTPRINTEXIT( "DialContainer.DoActivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::DoDeactivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::DoDeactivateL()
- {
- __VTPRINTENTER( "DialContainer.DoDeactivateL" )
- iFeatureManager->CommandManager().
- RemoveCommandModifier( *iSKModifier );
- iUiStates.SetIsDialerOpen( EFalse );
- iVideoControl->MakeVisible( EFalse );
- iDialer->MakeVisible( EFalse );
- MakeVisible( EFalse );
- Reset();
- iInputBuffer->Deactivate();
- iAsyncDeactivate->CallBack();
- __VTPRINTEXIT( "DialContainer.DoDeactivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::GetContents
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::GetContents( TDes& aContents ) const
- {
- __VTPRINTENTER( "DialContainer.GetContents" )
- iInputBuffer->GetContents( aContents );
- __VTPRINTEXIT( "DialContainer.GetContents" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CVtUiDialerContainer::OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aType )
- {
- __VTPRINTENTER( "DialContainer.OfferKeyEventL" )
- TKeyResponse response( EKeyWasNotConsumed );
- TChar dtmfTone;
- if ( VtUiUtility::IsDTMFEvent( aEvent, dtmfTone ) &&
- ( aType == EEventKey ) )
- {
- response = EKeyWasConsumed;
- AppendDigit( dtmfTone );
- }
- __VTPRINTEXIT( "DialContainer.OfferKeyEventL" )
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::Draw
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::Draw( const TRect& ) const
- {
- __VTPRINTENTER( "DialContainer.Draw" )
- CWindowGc& gc( SystemGc() );
- gc.SetBrushStyle( CWindowGc::ESolidBrush );
- gc.SetPenStyle( CGraphicsContext::ENullPen );
- gc.SetBrushColor( AKN_LAF_COLOR( KVtUiColorWhite ) );
- gc.Clear();
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
- AknsDrawUtils::Background( skin, cc, this, gc, Rect() );
- __VTPRINTEXIT( "DialContainer.Draw" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::SizeChanged()
- {
- __VTPRINTENTER( "DialContainer.SizeChanged" )
- TRect bgRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, bgRect );
- iBgContext->SetRect( bgRect );
-
- AknsUtils::RegisterControlPosition( this );
- CCoeControl::SizeChanged();
- __VTPRINTEXIT( "DialContainer.SizeChanged" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::PositionChanged()
- {
- __VTPRINTENTER( "DialContainer.PositionChanged" )
- AknsUtils::RegisterControlPosition( this );
- CCoeControl::PositionChanged();
- __VTPRINTEXIT( "DialContainer.PositionChanged" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::CountComponentControls
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiDialerContainer::CountComponentControls() const
- {
- return iDialer ? 1 : 0;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::ComponentControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVtUiDialerContainer::ComponentControl( TInt aIndex ) const
- {
- CCoeControl* result = NULL;
- switch ( aIndex )
- {
- case 0:
- result = iDialer;
- break;
- default:
- break;
- }
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::CVtUiDialerContainer
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerContainer::CVtUiDialerContainer(
- CVtUiFeatureManager& aFeatureManager ) :
- iComponentState( *this ),
- iFeatureManager( &aFeatureManager ),
- iComponentManager( &aFeatureManager.ComponentManager() ),
- iUiStates( aFeatureManager.UiStates() )
- {
- __VTPRINTENTER( "DialContainer.ctor" )
- __VTPRINTEXIT( "DialContainer.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::ConstructL( CVtUiBitmapManager& aBitmapManager )
- {
- __VTPRINTENTER( "DialContainer.ConstructL" )
- iBgContext = CAknsBasicBackgroundControlContext::NewL(
- KAknsIIDQsnBgScreen, Rect(), ETrue );
- CreateWindowL();
- DrawableWindow()->SetPointerGrab( ETrue );
- SetExtent( TPoint(), TSize() );
- ActivateL();
- MakeVisible( EFalse );
- iInputBuffer = CVtUiDTMFBuffer::NewL( *iCoeEnv );
- iVideoControl = CVtUiDialerVideoControl::NewL( aBitmapManager );
- iDialer = CVideoDTMFDialer::NewL( *this, *iVideoControl, DialerRect() );
- iSKModifier = CVtUiDialerSKModifier::NewL( *iFeatureManager );
- // Disable fading when using DP (eliminates nasty color error)
- if ( FeatureManager::FeatureSupported( KFeatureIdDisplayPost ) )
- {
- Window().SetNonFading( ETrue );
- }
- iAsyncDeactivate = new ( ELeave ) CAsyncCallBack(
- TCallBack( ASyncDoDeactivate, this ), CActive::EPriorityLow );
- __VTPRINTEXIT( "DialContainer.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::RegisterComponentL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::RegisterComponentL()
- {
- __VTPRINTENTER( "DialContainer.RegisterComponentL" )
- User::LeaveIfError( iComponentManager->ChangeResourceChangeRegistration(
- *this, MVtUiComponentManager::ERegister ) );
- User::LeaveIfError(
- iComponentManager->ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::ERegister ) );
- User::LeaveIfError( iComponentManager->ChangeKeyEventRegistration(
- *this, MVtUiComponentManager::ERegister ) );
- __VTPRINTEXIT( "DialContainer.RegisterComponentL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::UnregisterComponent
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::UnregisterComponent()
- {
- __VTPRINTENTER( "DialContainer.UnregisterComponent" )
- iComponentManager->ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::EUnregister );
- iComponentManager->ChangeResourceChangeRegistration(
- *this, MVtUiComponentManager::EUnregister );
- iComponentManager->ChangeKeyEventRegistration(
- *this, MVtUiComponentManager::EUnregister );
- __VTPRINTEXIT( "DialContainer.UnregisterComponent" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::UnregisterComponent
-// ---------------------------------------------------------------------------
-//
-MVtUiVideoWindow* CVtUiDialerContainer::ComponentAsVideoWindow()
- {
- __VTPRINTENTER( "DialContainer.ComponentAsVideoWindow" )
- __VTPRINTEXIT( "DialContainer.ComponentAsVideoWindow" )
- return iVideoControl;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::LayoutDialerContainer
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::LayoutDialerContainer()
- {
- __VTPRINTENTER( "DialContainer.LayoutDialerContainer" )
-
- TAknWindowLineLayout mainPaneLL;
-
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- // Landscape: Option11 (thin status pane, lsc)
- mainPaneLL = AknLayoutScalable_Avkon::main_pane( 9 ).LayoutLine();
- }
- else
- {
- // Portrait: main pane with status pane off, control pane on
- mainPaneLL = AknLayoutScalable_Avkon::main_pane( 7 ).LayoutLine();
- }
-
- TRect appWinRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EApplicationWindow,
- appWinRect );
-
- // Layout container
- AknLayoutUtils::LayoutControl( this, appWinRect, mainPaneLL );
-
- // Layout dialer
- const TInt variety( Layout_Meta_Data::IsLandscapeOrientation() ?
- 1 : 0 );
- TAknWindowLineLayout dialerLLout(
- AknLayoutScalable_Apps::main_video_tele_dialer_pane(
- variety ).LayoutLine() );
- AknLayoutUtils::LayoutControl( iDialer, Rect(), dialerLLout );
-
- // Layout video control
- AknLayoutUtils::LayoutControl( iVideoControl, iDialer->Rect(),
- AknLayoutScalable_Apps::video_down_pane_cp(
- variety ).LayoutLine() );
-
- __VTPRINTEXIT( "DialContainer.LayoutDialerContainer" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::DialerRect
-// ---------------------------------------------------------------------------
-//
-TRect CVtUiDialerContainer::DialerRect() const
- {
- __VTPRINTENTER( "DialContainer.DialerRect" )
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
- mainPaneRect );
- __VTPRINTEXIT( "DialContainer.DialerRect" )
- return mainPaneRect;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::Reset
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::Reset()
- {
- __VTPRINTENTER( "DialContainer.Reset" )
- iInputBuffer->Reset();
- __VTPRINTEXIT( "DialContainer.Reset" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::AppendDigit
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerContainer::AppendDigit( TChar aDigit )
- {
- __VTPRINTENTER( "DialContainer.AppendDigit" )
- iInputBuffer->Append( aDigit );
- __VTPRINTEXIT( "DialContainer.AppendDigit" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::MopSupplyObject
-// ---------------------------------------------------------------------------
-//
-TTypeUid::Ptr CVtUiDialerContainer::MopSupplyObject( TTypeUid aId )
- {
- __VTPRINTENTER( "CVtUiDialerContainer.MopSupplyObject" )
- // Required during rendering of the background skin in Draw()
- if (aId.iUid == MAknsControlContext::ETypeId)
- {
- __VTPRINTEXIT( "CVtUiDialerContainer.MopSupplyObject.1" )
- return MAknsControlContext::SupplyMopObject( aId, iBgContext );
- }
- __VTPRINTEXIT( "CVtUiDialerContainer.MopSupplyObject.2" )
- return CCoeControl::MopSupplyObject( aId );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerContainer::ASyncDoDeactivate
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiDialerContainer::ASyncDoDeactivate( TAny* aSelf )
- {
- __VTPRINTENTER( "DialContainer.ASyncDoDeactivate" )
- CVtUiDialerContainer* self =
- reinterpret_cast< CVtUiDialerContainer* >( aSelf );
- self->iMode = CVtUiAppUi::ERenderingModeDialer;
- TVtUiWsEvent< CVtUiAppUi::TRenderingMode > renderingEvent(
- EVtUiWsEventEndRenderingMode, &self->iMode );
- self->iCoeEnv->WsSession().SendEventToWindowGroup(
- self->Window().WindowGroupId(), renderingEvent );
- __VTPRINTEXIT( "DialContainer.ASyncDoDeactivate" )
- return KErrNone;
- }
--- a/vtuis/videotelui/src/features/dialer/cvtuidialerskmodifier.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* 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: Softkey modifier class.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include "cvtuidialerskmodifier.h"
-#include "mvtuicommandsetting.h"
-#include "tvtuicommandmodifierpriority.h"
-#include "cvtuifeaturemanager.h"
-#include "tvtuistates.h"
-#include "tvtuifeatureids.h"
-#include "CVtUiAppUi.h"
-#include <eikbtgpc.h>
-#include <videotelui.rsg>
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerSKModifier::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerSKModifier* CVtUiDialerSKModifier::NewL(
- CVtUiFeatureManager& aFeatureMgr )
- {
- __VTPRINTENTER( "CVtUiDialerSKModifier.NewL" )
- CVtUiDialerSKModifier* self =
- new ( ELeave ) CVtUiDialerSKModifier( aFeatureMgr );
- __VTPRINTEXIT( "CVtUiDialerSKModifier.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerSKModifier::~CVtUiDialerSKModifier
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerSKModifier::~CVtUiDialerSKModifier()
- {
- __VTPRINTENTER( "CVtUiDialerSKModifier.~" )
- __VTPRINTEXIT( "CVtUiDialerSKModifier.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerSKModifier::CVtUiDialerSKModifier
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerSKModifier::CVtUiDialerSKModifier(
- CVtUiFeatureManager& aFeatureMgr )
- : CVtUiCommandModifyBase( EVtUiCmdModifierPriorityNumberEntry ),
- iFeatureMgr( aFeatureMgr )
- {
- __VTPRINTENTER( "CVtUiDialerSKModifier.Ctr" )
- __VTPRINTEXIT( "CVtUiDialerSKModifier.Ctr" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerSKModifier::ModifyCommandsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerSKModifier::ModifyCommandsL( MVtUiCommandSetting& )
- {
- __VTPRINTENTER( "CVtUiDialerSKModifier.ModifyCommandsL" )
- CEikButtonGroupContainer* cba = iFeatureMgr.AppUi().GetCba();
- cba->SetCommandSetL( R_VIDEOTELUI_SOFTKEYS_EMPTY_DIALEREXIT );
- __VTPRINTEXIT( "CVtUiDialerSKModifier.ModifyCommandsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerSKModifier::Supports
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiDialerSKModifier::Supports(
- MVtUiCommandSetting::Type aType ) const
- {
- __VTPRINTENTER( "CVtUiDialerSKModifier.Supports" )
- __VTPRINTEXIT( "CVtUiDialerSKModifier.Supports" )
- return ( aType == MVtUiCommandSetting::ECommandTypeSoftkeys );
- }
-
-// End of File
--- a/vtuis/videotelui/src/features/dialer/cvtuidialervideocontrol.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 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: Mini dialer feature
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-#include "cvtuidialervideocontrol.h"
-
-// Portrait variety constant
-const static TInt KVarietyPortrait = 0;
-
-// Landscape variety constant
-const static TInt KVarietyLandscape = 1;
-
-// Implementation of CVtUiDialerVideoControl
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerVideoControl::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerVideoControl* CVtUiDialerVideoControl::NewL(
- CVtUiBitmapManager& aBitmapManager )
- {
- __VTPRINTENTER( "DialCtrl.NewL" )
- CVtUiDialerVideoControl* self =
- new ( ELeave ) CVtUiDialerVideoControl( aBitmapManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "DialCtrl.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerVideoControl::~CVtUiDialerVideoControl
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerVideoControl::~CVtUiDialerVideoControl()
- {
- __VTPRINTENTER( "DialCtrl.~" )
- __VTPRINTEXIT( "DialCtrl.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerVideoControl::CVtUiDialerVideoControl
-// ---------------------------------------------------------------------------
-//
-CVtUiDialerVideoControl::CVtUiDialerVideoControl(
- CVtUiBitmapManager& aBitmapManager ) :
- CVtUiVideoControlBase( aBitmapManager )
- {
- __VTPRINTENTER( "DialCtrl.ctor" )
- // Disable blind icon drawing
- SetRenderingHint( ENoBlindIcon );
- __VTPRINTEXIT( "DialCtrl.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiDialerVideoControl::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiDialerVideoControl::ConstructL()
- {
- __VTPRINTENTER( "DialCtrl.ConstructL" )
- BaseConstructL();
- __VTPRINTEXIT( "DialCtrl.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiDialerVideoControl::WaitingTextLayout
-// -----------------------------------------------------------------------------
-//
-TAknTextLineLayout CVtUiDialerVideoControl::WaitingTextLayout( TInt aLine )
- {
- __VTPRINTENTER( "DialCtrl.WaitingTextLayout" )
-
- TInt variety( Layout_Meta_Data::IsLandscapeOrientation() ?
- KVarietyLandscape : KVarietyPortrait );
-
- TAknWindowComponentLayout l2(
- AknLayoutScalable_Apps::main_video_tele_dialer_pane( variety ) );
-
- TAknTextComponentLayout l3;
-
-#if 0
- if ( variety == KVarietyPortrait )
- {
- if ( !aLine )
- {
- l3 = AknLayoutScalable_Apps::main_video_tele_dialer_pane_t1( 0 );
- }
- else
- {
- l3 = AknLayoutScalable_Apps::main_video_tele_dialer_pane_t2( 0 );
- }
- }
- else
- {
- if ( !aLine )
- {
- l3 = AknLayoutScalable_Apps::call_video_pane_t1();
- }
- else
- {
- l3 = AknLayoutScalable_Apps::call_video_pane_t2();
- }
- }
-#endif
-
- if ( !aLine )
- {
- l3 = AknLayoutScalable_Apps::main_video_tele_dialer_pane_t1( 0 );
- }
- else
- {
- l3 = AknLayoutScalable_Apps::main_video_tele_dialer_pane_t2( 0 );
- }
-
- __VTPRINTEXIT( "DialCtrl.WaitingTextLayout" )
- return TAknWindowComponentLayout::ComposeText( l2, l3 ).LayoutLine();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiMainControl::LayoutRemoteVideo
-// -----------------------------------------------------------------------------
-//
-void CVtUiDialerVideoControl::LayoutRemoteVideo( )
- {
- __VTPRINTENTER( "DialCtrl.LayoutRemoteVideo" )
- if ( NULL != iRemoteVideoControl )
- {
- TRect rectRemoteVideo(StreamClippingRect());
- rectRemoteVideo.Move(PositionRelativeToScreen());
- iRemoteVideoControl->SetExtent(rectRemoteVideo.iTl,rectRemoteVideo.Size());
- }
- __VTPRINTEXIT( "DialCtrl.LayoutRemoteVideo" )
- }
--- a/vtuis/videotelui/src/features/menu/cvtuimenucontext.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 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: Menu context class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuimenucontext.h"
-
-/** Menu context reference priority */
-const TInt KVtUiMenuContextPriority = 100;
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuContext::~CVtUiMenuContext
-// ---------------------------------------------------------------------------
-//
-CVtUiMenuContext::~CVtUiMenuContext()
- {
- __VTPRINTENTER( "MenuCtx.~" )
- UnregisterCommandContext();
- __VTPRINTEXIT( "MenuCtx.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuContext::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiMenuContext* CVtUiMenuContext::NewL(
- MVtUiCommandManager& aCommandManager )
- {
- __VTPRINTENTER( "MenuCtx.NewL" )
- CVtUiMenuContext* self = new ( ELeave ) CVtUiMenuContext( aCommandManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "MenuCtx.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuContext::ValidateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenuContext::ValidateL( CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "MenuCtx.ValidateL" )
- ValidateMenuItemsL( aAction );
- __VTPRINTEXIT( "MenuCtx.ValidateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuContext::CVtUiMenuContext
-// ---------------------------------------------------------------------------
-//
-CVtUiMenuContext::CVtUiMenuContext( MVtUiCommandManager& aCommandManager )
- : CVtUiCmdContext( aCommandManager, EVtUiCmdContextTypeMenu,
- KVtUiMenuContextPriority )
- {
- __VTPRINTENTER( "MenuCtx.ctor" )
- __VTPRINTEXIT( "MenuCtx.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuContext::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenuContext::ConstructL()
- {
- __VTPRINTENTER( "MenuCtx.ConstructL" )
- RegisterCommandContextL();
- __VTPRINTEXIT( "MenuCtx.ConstructL" )
- }
--- a/vtuis/videotelui/src/features/menu/cvtuimenuitemdimmeraction.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 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: Menu item dimmer action class.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <eikmenup.h>
-
-#include "cvtuimenuitemdimmeraction.h"
-#include "tvtuicmdvalidatorcallback.h"
-#include "tvtuimenucommanditerator.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuItemDimmerAction::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiMenuItemDimmerAction* CVtUiMenuItemDimmerAction::NewL()
- {
- __VTPRINTENTER( "MenuDimAct.NewL" )
- CVtUiMenuItemDimmerAction* self =
- new ( ELeave ) CVtUiMenuItemDimmerAction();
- __VTPRINTEXIT( "MenuDimAct.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuItemDimmerAction::SetMenuPane
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenuItemDimmerAction::SetMenuPane( CEikMenuPane* aMenuPane )
- {
- __VTPRINTENTER( "MenuDimAct.SetMenuPane" )
- iMenuPane = aMenuPane;
- __VTPRINTEXIT( "MenuDimAct.SetMenuPane" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuItemDimmerAction::ProcessL
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenuItemDimmerAction::ProcessL(
- const MVtUiCmdValidatorCallBack& aCallBack )
- {
- __VTPRINTENTER( "MenuDimAct.ProcessL" )
-
- if ( iMenuPane )
- {
- for ( TVtUiMenuCommandIterator i( *iMenuPane ); i.HasNext(); )
- {
- TInt commandId( i.Next() );
- if ( !IsCommandHandled( commandId ) )
- {
- if ( aCallBack.Call( commandId ) )
- {
- CommandHandledL( commandId );
- SetItemDimmed( commandId );
- }
- }
- }
- }
- __VTPRINTEXIT( "MenuDimAct.ProcessL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuItemDimmerAction::EndProcess
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenuItemDimmerAction::EndProcess()
- {
- __VTPRINTENTER( "MenuDimAct.EndProcess" )
- iMenuPane = NULL;
- __VTPRINTEXIT( "MenuDimAct.EndProcess" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuItemDimmerAction::CVtUiMenuItemDimmerAction
-// ---------------------------------------------------------------------------
-//
-CVtUiMenuItemDimmerAction::CVtUiMenuItemDimmerAction()
- {
- __VTPRINTENTER( "MenuDimAct.ctor" )
- __VTPRINTEXIT( "MenuDimAct.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenuItemDimmerAction::SetItemDimmed
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenuItemDimmerAction::SetItemDimmed( TInt aCommandId )
- {
- __VTPRINTENTER( "MenuDimAct.SetItemDimmed" )
- iMenuPane->SetItemDimmed( aCommandId, ETrue );
- __VTPRINTEXIT( "MenuDimAct.SetItemDimmed" )
- }
-
--- a/vtuis/videotelui/src/features/menu/cvtuimenus.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2006 - 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: Mennu Ui feature class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuimenus.h"
-#include "cvtuimenucontext.h"
-#include "cvtuimenuitemdimmeraction.h"
-#include "cvtuifeaturemanager.h"
-#include "cvtuicommandmanager.h"
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiMenus* CVtUiMenus::NewL( CVtUiFeatureManager& aFeatureManager )
- {
- __VTPRINTENTER( "Menus.NewL" )
- CVtUiMenus* self = new ( ELeave ) CVtUiMenus( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "Menus.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::~CVtUiMenus
-// ---------------------------------------------------------------------------
-//
-CVtUiMenus::~CVtUiMenus()
- {
- __VTPRINTENTER( "Menus.~" )
- delete iMenuCommandContext;
- delete iMenuDimmerAction;
- __VTPRINTEXIT( "Menus.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::SetMenuPane
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenus::SetMenuPane( CEikMenuPane* aMenuPane )
- {
- __VTPRINTENTER( "Menus.SetMenuPane" )
- iMenuDimmerAction->SetMenuPane( aMenuPane );
- __VTPRINTEXIT( "Menus.SetMenuPane" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenus::StartL()
- {
- __VTPRINTENTER( "Menus.StartL" )
- __VTPRINTEXIT( "Menus.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenus::Stop()
- {
- __VTPRINTENTER( "Menus.Stop" )
- __VTPRINTEXIT( "Menus.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenus::InitFeatureL()
- {
- __VTPRINTENTER( "Menus.InitFeatureL" )
- __VTPRINTEXIT( "Menus.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::RefreshL
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenus::RefreshL()
- {
- __VTPRINTENTER( "Menus.RefreshL" )
- iFeatureManager.CommandManager().ValidateMenuItemsL( *iMenuDimmerAction );
- __VTPRINTEXIT( "Menus.RefreshL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::AddCommandModifier
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiMenus::AddCommandModifier( CVtUiCommandModifyBase& )
- {
- __VTPRINTENTER( "Menus.AddCommandModifier" )
- __VTPRINTEXIT( "Menus.AddCommandModifier" )
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::RemoveCommandModifier
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenus::RemoveCommandModifier( CVtUiCommandModifyBase& )
- {
- __VTPRINTENTER( "Menus.RemoveCommandModifier" )
- __VTPRINTEXIT( "Menus.RemoveCommandModifier" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::CVtUiMenus
-// ---------------------------------------------------------------------------
-//
-CVtUiMenus::CVtUiMenus( CVtUiFeatureManager& aFeatureManager )
- : CVtUiFeatureBase( EVtUiFeatureIdMenu, aFeatureManager )
- {
- __VTPRINTENTER( "Menus.ctor" )
- __VTPRINTEXIT( "Menus.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiMenus::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiMenus::ConstructL()
- {
- __VTPRINTENTER( "Menus.ConstructL" )
- iMenuCommandContext =
- CVtUiMenuContext::NewL( iFeatureManager.CommandManager() );
- iMenuDimmerAction = CVtUiMenuItemDimmerAction::NewL();
-
- // No need to add this to command manager as command UI. Menu is explicitly
- // updated by CVtUiAppUi::DynInitMenuPaneL and in all other situations
- // update is not needed because menu is not open.
- // NOTE: If a command modifier is implemented for menu then it needs
- // to be added to command UI.
- __VTPRINTEXIT( "Menus.ConstructL" )
- }
-
--- a/vtuis/videotelui/src/features/menu/tvtuimenucommanditerator.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 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: Menu command iterator.
-*
-*/
-
-
-#include <eikmenup.h>
-
-#include "tvtuimenucommanditerator.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TVtUiMenuCommandIterator::TVtUiMenuCommandIterator
-// ---------------------------------------------------------------------------
-//
-TVtUiMenuCommandIterator::TVtUiMenuCommandIterator( CEikMenuPane& aMenuPane )
-: iMenuPane( &aMenuPane ), iCurrent( 0 )
- {
- }
-
-// ---------------------------------------------------------------------------
-// TVtUiMenuCommandIterator::HasNext
-// ---------------------------------------------------------------------------
-//
-TBool TVtUiMenuCommandIterator::HasNext() const
- {
- return ( iCurrent < iMenuPane->NumberOfItemsInPane() );
- }
-
-// ---------------------------------------------------------------------------
-// TVtUiMenuCommandIterator::Next
-// ---------------------------------------------------------------------------
-//
-TInt TVtUiMenuCommandIterator::Next()
- {
- return iMenuPane->MenuItemCommandId( iCurrent++ );
- }
-
--- a/vtuis/videotelui/src/features/numberentry/CVtUiNumberEntryControl.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +0,0 @@
-/*
-* Copyright (c) 2004-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: Implementation of the CVtUiNumberEntryControl control class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "CVtUiNumberEntryControl.h"
-#include "VtUiLayout.h"
-#include "VtUiUtility.h"
-#include "mvtuicomponentmanager.h"
-#include "tvtuistates.h"
-#include "tvtuiwsevent.h"
-#include "mvtuifeature.h"
-#include "mvtuinumberentrycontrolobserver.h"
-#include "cvtuidtmfbuffer.h"
-
-#include <aknsutils.h>
-#include <cvtlogger.h>
-#include <eikenv.h>
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// Implementation for TVtUiNumberEntryComponentState
-
-// -----------------------------------------------------------------------------
-// TVtUiNumberEntryComponentState::TVtUiNumberEntryComponentState
-// -----------------------------------------------------------------------------
-//
-TVtUiNumberEntryComponentState::TVtUiNumberEntryComponentState(
- MVtUiComponent& aComponent )
- : TVtUiComponentState( aComponent,
- TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdDialer ) )
- {
- }
-
-// Implementation for CVtUiNumberEntryControl
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::CVtUiNumberEntryControl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiNumberEntryControl::CVtUiNumberEntryControl(
- MVtUiFeature& aFeature,
- TVtUiStates& aUiStates )
- : iFeature( aFeature ),
- iComponentState( *this ),
- iUiStates( aUiStates )
- {
- __VTPRINTENTER( "NECtrl.ctor" )
- __VTPRINTEXIT( "NECtrl.ctor" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryControl::ConstructL( const TRect& aRect )
- {
- __VTPRINTENTER( "NECtrl.ConstructL" )
- CreateWindowL();
- SetRect( aRect );
- ActivateL();
- MakeVisible( EFalse );
- iInputBuffer = CVtUiDTMFBuffer::NewL( *iCoeEnv );
- __VTPRINTEXIT( "NECtrl.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::~CVtUiNumberEntryControl
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiNumberEntryControl::~CVtUiNumberEntryControl()
- {
- __VTPRINTENTER( "NECtrl.~" )
- AknsUtils::DeregisterControlPosition( this );
- delete iInputBuffer;
- __VTPRINTEXIT( "NECtrl.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::OpenNumberEntry
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiNumberEntryControl::OpenNumberEntry()
- {
- __VTPRINTENTER( "NECtrl.OpenNumberEntry" )
- TBool result( EFalse );
- if ( !iUiStates.IsNumberEntryOpen() )
- {
- __VTPRINT( DEBUG_GEN, "VtUiNumberEntry.OPEN" )
- iInputBuffer->Activate();
- iUiStates.SetIsNumberEntryOpen( ETrue );
- result = ETrue;
- }
- __VTPRINTEXITR( "NECtrl.OpenNumberEntry %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::IsNumberEntryOpen
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiNumberEntryControl::IsNumberEntryOpen() const
- {
- __VTPRINTENTER( "NECtrl.IsNumberEntryOpen" )
- const TBool result( iUiStates.IsNumberEntryOpen() );
- __VTPRINTEXITR( "NECtrl.IsNumberEntryOpen %d",result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::CloseNumberEntry
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryControl::CloseNumberEntry()
- {
- __VTPRINTENTER( "NECtrl.CloseNumberEntry" )
- if ( iUiStates.IsNumberEntryOpen() )
- {
- __VTPRINT( DEBUG_GEN, "NECtrl.CloseNumberEntry CLOSE" )
- iUiStates.SetIsNumberEntryOpen( EFalse );
- iInputBuffer->Deactivate();
- }
- __VTPRINTEXIT( "NECtrl.CloseNumberEntry" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::RegisterComponentL
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryControl::RegisterComponentL(
- MVtUiComponentManager& aComponentManager )
- {
- __VTPRINTENTER( "NECtrl.RegisterComponentL" )
- User::LeaveIfError( aComponentManager.ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::ERegister ) );
- __VTPRINTEXIT( "NECtrl.RegisterComponentL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::UnregisterComponent
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryControl::UnregisterComponent(
- MVtUiComponentManager& aComponentManager )
- {
- __VTPRINTENTER( "NECtrl.UnregisterComponent" )
- iInputBuffer->Reset();
- aComponentManager.ChangeComponentRegistration( iComponentState,
- MVtUiComponentManager::EUnregister );
- __VTPRINTEXIT( "NECtrl.UnregisterComponent" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::SetNumberEntryControlObserver
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryControl::SetNumberEntryControlObserver(
- MVtUiNumberEntryControlObserver* aObserver )
- {
- __VTPRINTENTER( "NECtrl.SetNumberEntryControlObserver" )
- iControlObserver = aObserver;
- __VTPRINTEXIT( "NECtrl.SetNumberEntryControlObserver" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVtUiNumberEntryControl::OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode )
- {
- __VTPRINTENTER( "NECtrl.OfferKeyEventL" )
-
- TKeyResponse resp( EKeyWasNotConsumed );
-
- if ( IsDisplayingMenuOrDialog() ||
- aKeyEvent.iCode == EKeyLeftArrow ||
- aKeyEvent.iCode == EKeyRightArrow ||
- aKeyEvent.iCode == EKeyUpArrow ||
- aKeyEvent.iCode == EKeyDownArrow ||
- aKeyEvent.iCode == EKeyBackspace ||
- aKeyEvent.iCode == EKeyZoomIn ||
- aKeyEvent.iCode == EKeyZoomOut ||
- aKeyEvent.iScanCode == EStdKeyUpArrow ||
- aKeyEvent.iScanCode == EStdKeyDownArrow ||
- aKeyEvent.iScanCode == EStdKeyLeftArrow ||
- aKeyEvent.iScanCode == EStdKeyRightArrow )
- {
- return resp;
- }
-
- TChar dtmfTone;
- if ( VtUiUtility::IsDTMFEvent( aKeyEvent, dtmfTone ) )
- {
- iInputBuffer->Append( dtmfTone );
- }
-
- __VTPRINTEXITR( "NECtrl.OfferKeyEvent %d", resp )
- return resp;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::DoCloseNumberEntry
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiNumberEntryControl::DoCloseNumberEntry( TAny* aAny )
- {
- __VTPRINTENTER( "NECtrl.DoCloseNumberEntry" )
- CVtUiNumberEntryControl* self =
- reinterpret_cast< CVtUiNumberEntryControl* >( aAny );
- self->HandleTimeoutCloseNumberEntry();
- __VTPRINTEXIT( "NECtrl.DoCloseNumberEntry" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::HandleTimeoutCloseNumberEntry
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryControl::HandleTimeoutCloseNumberEntry()
- {
- __VTPRINTENTER( "NECtrl.HandleTimeoutCloseNumberEntry" )
- __VTPRINTEXIT( "NECtrl.HandleTimeoutCloseNumberEntry" )
- iFeature.Stop();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::IsDisplayingMenuOrDialog
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiNumberEntryControl::IsDisplayingMenuOrDialog() const
- {
- __VTPRINTENTER( "NECtrl.IsDisplayingMenuOrDialog" )
- CEikMenuBar* menuBar = iEikonEnv->AppUiFactory()->MenuBar();
- const TBool result( CCoeEnv::Static()->AppUi()->IsDisplayingDialog() ||
- ( menuBar && menuBar->IsDisplayed() ) );
- __VTPRINTEXITR( "NECtrl.IsDisplayingMenuOrDialog %d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::ComponentId
-// -----------------------------------------------------------------------------
-//
-MVtUiComponent::TComponentId CVtUiNumberEntryControl::ComponentId() const
- {
- __VTPRINTENTER( "NECtrl.ComponentId" )
- __VTPRINTEXIT( "NECtrl.ComponentId" )
- return MVtUiComponent::EComponentIdNumberEntry;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::ComponentAsControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CVtUiNumberEntryControl::ComponentAsControl()
- {
- __VTPRINTENTER( "NECtrl.ComponentAsControl" )
- __VTPRINTEXIT( "NECtrl.ComponentAsControl" )
- return this;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryControl::DoActivateL()
- {
- __VTPRINTENTER( "NECtrl.DoActivateL" )
- OpenNumberEntry();
- if ( iControlObserver )
- {
- iControlObserver->ControlActivatedL();
- }
- __VTPRINTEXIT( "NECtrl.DoActivateL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::DoDeactivateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiNumberEntryControl::DoDeactivateL()
- {
- __VTPRINTENTER( "NECtrl.DoDeactivateL" )
- CloseNumberEntry();
- if ( iControlObserver )
- {
- iControlObserver->ControlDeactivated();
- }
- __VTPRINTEXIT( "NECtrl.DoDeactivateL" )
- }
-
-// End of File
--- a/vtuis/videotelui/src/features/numberentry/cvtuinumberentry.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
-* Copyright (c) 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: Number entry UI feature implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuinumberentry.h"
-#include "cvtuifeaturemanager.h"
-#include "mvtuicommandmanager.h"
-#include "mvtuicomponentmanager.h"
-#include "mvtuicommandui.h"
-#include "tvtuifeatureids.h"
-#include "CVtUiNumberEntryControl.h"
-#include "CVtUiAppUi.h"
-
-
-// We need this to be able to make control's priority lower than activation
-// control's priority is
-extern const TInt KVtUiNumberEntryActivationPriority;
-
-// Priority of number entry control.
-const TInt KVtUiNumberEntryControlPriorityHidden =
- KVtUiNumberEntryActivationPriority - 1;
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiNumberEntry* CVtUiNumberEntry::NewL(
- CVtUiFeatureManager& aFeatureManager )
- {
- __VTPRINTENTER( "NE.NewL" )
- CVtUiNumberEntry* self =
- new ( ELeave ) CVtUiNumberEntry( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "NE.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::~CVtUiNumberEntry
-// ---------------------------------------------------------------------------
-//
-CVtUiNumberEntry::~CVtUiNumberEntry()
- {
- __VTPRINTENTER( "NE.~" )
- DeleteNumberEntryControl();
- __VTPRINTEXIT( "NE.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::StartL()
- {
- __VTPRINTENTER( "NE.StartL" )
- if ( State() == MVtUiFeature::EUnprepared )
- {
- PrepareL();
- iFeatureManager.ComponentManager().RequestActivationL(
- MVtUiComponent::EComponentIdNumberEntry );
- iFeatureState = MVtUiFeature::EActive;
- }
- __VTPRINTEXIT( "NE.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::Stop()
- {
- __VTPRINTENTER( "NE.Stop" )
- if ( State() == MVtUiFeature::EActive )
- {
- TRAP_IGNORE( iFeatureManager.ComponentManager().DeActivateComponentL(
- MVtUiComponent::EComponentIdNumberEntry ) );
- iFeatureState = MVtUiFeature::EReady;
- }
- Unprepare();
- __VTPRINTEXIT( "NE.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::InitFeatureL()
- {
- __VTPRINTENTER( "NE.InitFeatureL" )
- CreateNumberEntryControlL();
- __VTPRINTEXIT( "NE.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::ControlActivated
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::ControlActivatedL()
- {
- __VTPRINTENTER( "NE.ControlActivatedL" )
- __VTPRINTEXIT( "NE.ControlActivatedL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::ControlDeactivated
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::ControlDeactivated()
- {
- __VTPRINTENTER( "NE.ControlDeactivated" )
- __VTPRINTEXIT( "NE.ControlDeactivated" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::CVtUiNumberEntry
-// ---------------------------------------------------------------------------
-//
-CVtUiNumberEntry::CVtUiNumberEntry( CVtUiFeatureManager& aFeatureManager )
- : CVtUiFeatureBase( EVtUiFeatureIdNumberEntry, aFeatureManager )
- {
- __VTPRINTENTER( "NE.ctor" )
- __VTPRINTEXIT( "NE.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::ConstructL()
- {
- __VTPRINTENTER( "NE.ConstructL" )
- BaseConstructL();
- __VTPRINTEXIT( "NE.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::PrepareL
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::PrepareL()
- {
- __VTPRINTENTER( "NE.PrepareL" )
- iNumberEntryControl->SetNumberEntryControlObserver( this );
- iNumberEntryControl->RegisterComponentL(
- iFeatureManager.ComponentManager() );
- iFeatureManager.AppUi().AddToStackL( iNumberEntryControl,
- KVtUiNumberEntryControlPriorityHidden, ECoeStackFlagRefusesFocus );
- iFeatureState = MVtUiFeature::EReady;
- __VTPRINTEXIT( "NE.PrepareL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::Unprepare()
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::Unprepare()
- {
- __VTPRINTENTER( "NE.Unprepare" )
- if ( iFeatureState > MVtUiFeature::EUnprepared )
- {
- iNumberEntryControl->SetNumberEntryControlObserver( NULL );
- iFeatureManager.AppUi().RemoveFromStack( iNumberEntryControl );
- iNumberEntryControl->UnregisterComponent(
- iFeatureManager.ComponentManager() );
- iFeatureState = MVtUiFeature::EUnprepared;
- }
- __VTPRINTEXIT( "NE.Unprepare" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::CreateNumberEntryControlL
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::CreateNumberEntryControlL()
- {
- __VTPRINTENTER( "NE.CreateNumberEntryControlL" )
- iNumberEntryControl = new ( ELeave ) CVtUiNumberEntryControl( *this,
- iFeatureManager.UiStates() );
- iNumberEntryControl->ConstructL( TRect() );
- iNumberEntryControl->SetMopParent( &iFeatureManager.AppUi() );
- __VTPRINTEXIT( "NE.CreateNumberEntryControlL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiNumberEntry::DeleteNumberEntryControl
-// ---------------------------------------------------------------------------
-//
-void CVtUiNumberEntry::DeleteNumberEntryControl()
- {
- __VTPRINTENTER( "NE.DeleteNumberEntryControl" )
- delete iNumberEntryControl;
- iNumberEntryControl = NULL;
- iFeatureState = MVtUiFeature::EUnprepared;
- __VTPRINTEXIT( "NE.DeleteNumberEntryControl" )
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuibrightness.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 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: implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include "cvtuibrightness.h"
-#include "tvtuifeatureids.h"
-#include "cvtuibrightnesspopup.h"
-#include "cvtuipopupbase.h"
-#include "cvtuiprefsliderbase.h"
-#include "videotelui.hrh"
-#include "cvtuifeaturemanager.h"
-#include "tvtuistates.h"
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightness::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiBrightness* CVtUiBrightness::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiBrightness.NewL" )
- CVtUiBrightness* self =
- new ( ELeave ) CVtUiBrightness( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiBrightness.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightness::~CVtUiBrightness
-// ---------------------------------------------------------------------------
-//
-CVtUiBrightness::~CVtUiBrightness()
- {
- __VTPRINTENTER( "CVtUiBrightness.~" )
- __VTPRINTEXIT( "CVtUiBrightness.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightness::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiBrightness::StartL()
- {
- __VTPRINTENTER( "CVtUiBrightness.StartL" )
- CVtUiPrefSliderBase::StartL();
- iFeatureManager.UiStates().SetBrightnessModeOn( ETrue );
- __VTPRINTEXIT( "CVtUiBrightness.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightness::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiBrightness::Stop()
- {
- __VTPRINTENTER( "CVtUiBrightness.Stop" )
- CVtUiPrefSliderBase::Stop();
- iFeatureManager.UiStates().SetBrightnessModeOn( EFalse );
- __VTPRINTEXIT( "CVtUiBrightness.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightness::CVtUiBrightness
-// ---------------------------------------------------------------------------
-//
-CVtUiBrightness::CVtUiBrightness( CVtUiFeatureManager& aFeatureManager )
- : CVtUiPrefSliderBase( aFeatureManager, EVtUiFeatureIdBrightness )
- {
- __VTPRINTENTER( "CVtUiBrightness.CVtUiBrightness" )
- __VTPRINTEXIT( "CVtUiBrightness.CVtUiBrightness" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightness::CVtUiBrightness
-// ---------------------------------------------------------------------------
-//
-void CVtUiBrightness:: ConstructL()
- {
- __VTPRINTENTER( "CVtUiBrightness.ConstructL" )
- BaseConstructL();
- SetPopup( CVtUiBrightnessPopup::NewL( iFeatureManager ) );
- __VTPRINTEXIT( "CVtUiBrightness.ConstructL" )
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuibrightnesspopup.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 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: implementation.
-*
-*/
-
-
-
-#include <mvtengmedia.h>
-#include <cvtlogger.h>
-#include "cvtuibrightnesspopup.h"
-#include "tvtuilocalvariation.h"
-#include "mvtuicomponent.h"
-#include "CVtUiAppUi.h"
-#include "mvtuicomponentmanager.h"
-#include "tvtuicomponentstate.h"
-#include <mvtengcamerapreferences.h>
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightnessPopup::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiBrightnessPopup* CVtUiBrightnessPopup::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiBrightnessPopup.NewL" )
- CVtUiBrightnessPopup* self =
- new ( ELeave ) CVtUiBrightnessPopup( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiBrightnessPopup.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightnessPopup::~CVtUiBrightnessPopup
-// ---------------------------------------------------------------------------
-//
-CVtUiBrightnessPopup::~CVtUiBrightnessPopup()
- {
- __VTPRINTENTER( "CVtUiBrightnessPopup.~" )
- __VTPRINTEXIT( "CVtUiBrightnessPopup.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightnessPopup::CurrentValue
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiBrightnessPopup::CurrentValue()
- {
- __VTPRINTENTER( "CVtUiBrightnessPopup.CurrentValue" )
- // ask from engine current value
- TInt value;
- if ( iCameraPref->GetBrightness( value) )
- {
- __VTPRINTEXIT( "CVtUiBrightnessPopup.CurrentValueERR" )
- return 0;
- }
- __VTPRINTEXIT( "CVtUiBrightnessPopup.CurrentValue" )
- return value;
- }
-// ---------------------------------------------------------------------------
-// CVtUiBrightnessPopup::CVtUiBrightnessPopup
-// ---------------------------------------------------------------------------
-//
-CVtUiBrightnessPopup::CVtUiBrightnessPopup( CVtUiFeatureManager& aFeatureManager )
- : CVtUiPrefPopupBase( aFeatureManager, TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdDialer |
- MVtUiComponent::EComponentIdToolbar |
- MVtUiComponent::EComponentIdNumberEntry |
- MVtUiComponent::EComponentIdVolume |
- MVtUiComponent::EComponentIdZoom |
- MVtUiComponent::EVComponentIdContrast ), EVComponentIdBrightness,
- KVtEngSetBrightness )
- {
-
- __VTPRINTENTER( "CVtUiBrightnessPopup.CVtUiBrightnessPopup" )
- __VTPRINTEXIT( "CVtUiBrightnessPopup.CVtUiBrightnessPopup" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiBrightnessPopup::CVtUiBrightnessPopup
-// ---------------------------------------------------------------------------
-//
-void CVtUiBrightnessPopup:: ConstructL()
- {
- __VTPRINTENTER( "CVtUiBrightnessPopup.ConstructL" )
- BaseConstructL();
- __VTPRINTEXIT( "CVtUiBrightnessPopup.ConstructL" )
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuicolortone.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,383 +0,0 @@
-/*
-* Copyright (c) 2006 - 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: Color tone UI feature implementation.
-*
-*/
-
-
-#include <mvtengmedia.h>
-#include <cvtengmodel.h>
-#include <mvtengcamerapreferences.h>
-#include <cvtlogger.h>
-#include "cvtuicolortone.h"
-#include "tvtuifeatureids.h"
-#include <videotelui.rsg>
-#include "mvtuicomponentmanager.h"
-#include "cvtuifeaturemanager.h"
-#include "CVtUiAppUi.h"
-#include "tvtuilocalvariation.h"
-#include "cvtuifeaturemanager.h"
-#include "tvtuistates.h"
-#include "cvtuicommandmanager.h"
-
-// Implementation of TVtUiColorToneComponentState
-
-// ---------------------------------------------------------------------------
-// TVtUiColorToneComponentState::TVtUiColorToneComponentState
-// ---------------------------------------------------------------------------
-//
-TVtUiColorToneComponentState::TVtUiColorToneComponentState(
- MVtUiComponent& aComponent ) :
- TVtUiComponentState( aComponent,
- TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdDialer |
- MVtUiComponent::EComponentIdToolbar |
- MVtUiComponent::EComponentIdNumberEntry ) )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiColorTone* CVtUiColorTone::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "UiColorTone.NewL" )
- CVtUiColorTone* self =
- new ( ELeave ) CVtUiColorTone( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "UiColorTone.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::~CVtUiColorTone
-// ---------------------------------------------------------------------------
-//
-CVtUiColorTone::~CVtUiColorTone()
- {
- __VTPRINTENTER( "UiColorTone.~" )
- // unregister layout change
- iFeatureManager.ComponentManager().ChangeLayoutChangeRegistration(
- *this, MVtUiComponentManager::EUnregister );
- // unregister component
- iFeatureManager.ComponentManager().ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::EUnregister );
- __VTPRINTEXIT( "UiColorTone.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiColorTone::StartL()
- {
- __VTPRINTENTER( "UiColorTone.StartL" )
- if ( iFeatureState == MVtUiFeature::EReady )
- {
- iFeatureManager.AppUi().EnableCommandActivatingAndCleanupPushL();
- iFeatureManager.UiStates().SetIsFixedToolbarVisible( EFalse );
- iFeatureManager.ComponentManager().
- RequestActivationL ( MVtUiComponent::EComponentIdColorTone );
- CleanupStack::Pop(); // EnableCommandActivatingAndCleanupPushL
- // set state
- iFeatureState = MVtUiFeature::EActive;
- }
- __VTPRINTEXIT( "UiColorTone.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiColorTone::Stop()
- {
- __VTPRINTENTER( "UiColorTone.Stop" )
- iAsyncCallback->Cancel();
- iAsyncCallback->Set( TCallBack( &DoStopL, this ) );
- iAsyncCallback->CallBack();
- __VTPRINTEXIT( "UiColorTone.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiColorTone::InitFeatureL()
- {
- __VTPRINTENTER( "UiColorTone.InitFeatureL" )
- CVtUiPrefSettingListBase::InitFeatureL();
- User::LeaveIfError(
- iFeatureManager.ComponentManager().ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::ERegister ) );
- User::LeaveIfError(
- iFeatureManager.ComponentManager().ChangeLayoutChangeRegistration(
- *this, MVtUiComponentManager::ERegister ) );
- iFeatureState = EReady;
- __VTPRINTEXIT( "UiColorTone.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::ComponentId
-// ---------------------------------------------------------------------------
-//
-MVtUiComponent::TComponentId CVtUiColorTone::ComponentId() const
- {
- __VTPRINTENTER( "UiColorTone.ComponentId" )
- __VTPRINTEXIT( "UiColorTone.ComponentId" )
- return MVtUiComponent::EComponentIdColorTone;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::ComponentAsControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVtUiColorTone::ComponentAsControl()
- {
- __VTPRINTENTER( "UiColorTone.ComponentAsControl" )
- __VTPRINTEXIT( "UiColorTone.ComponentAsControl" )
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiColorTone::DoActivateL()
- {
- __VTPRINTENTER( "UiColorTone.DoActivateL" )
- // get supported color tone modes
- iCameraPref->GetSupportedColorTones( iSupportedModes );
- __VTPRINT2( DEBUG_GEN, "UiColorTone.ConstructL=%d", iSupportedModes )
- iFeatureManager.UiStates().SetColorToneModeOn( ETrue );
- iAsyncCallback->Cancel();
- iAsyncCallback->Set( TCallBack( &DoStartL, this ) );
- iAsyncCallback->CallBack();
- __VTPRINTEXIT( "UiColorTone.DoActivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::DoDeactivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiColorTone::DoDeactivateL()
- {
- __VTPRINTENTER( "UiColorTone.DoDeactivateL" )
- iFeatureManager.UiStates().SetColorToneModeOn( EFalse );
- CVtUiPrefSettingListBase::StopSettingPageL();
- __VTPRINTEXIT( "UiColorTone.DoDeactivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::HandleLayoutChangeL
-// ---------------------------------------------------------------------------
-//
-void CVtUiColorTone::HandleLayoutChangeL()
- {
- __VTPRINTENTER( "UiColorTone.HandleLayoutChangeL" )
- if ( iFeatureState == MVtUiFeature::EActive )
- {
- SizeChanged();
- }
- __VTPRINTEXIT( "UiColorTone.HandleLayoutChangeL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::CurrentSelection
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiColorTone::CurrentSelection()
- {
- __VTPRINTENTER( "UiColorTone.CurrentSelection" )
- // ask from engine which item is currently active
- MVtEngCameraPreferences::TColorTone wb;
- if ( iCameraPref->GetColorTone( wb ) )
- {
- __VTPRINTEXIT( "UiColorTone.CurrentSelectionERR" )
- // if error occured return 0 i.e. first list item
- return 0;
- }
- __VTPRINTEXIT( "UiColorTone.CurrentSelection" )
- return MapCTEnumToArrayIndex( wb );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::SetItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiColorTone::SetItemsL( CDesCArray& aArray )
- {
- __VTPRINTENTER( "UiColorTone.SetItemsL<" )
- __VTPRINT2( DEBUG_GEN, "UiColorTone.SetItemsL=%d", iSupportedModes )
- // Normal mode allways supported
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_CT_NORMAL_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::ENormal );
-
- if( iSupportedModes & MVtEngCameraPreferences::ESepia )
- {
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_SEPIA_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::ESepia );
- }
- if( iSupportedModes & MVtEngCameraPreferences::EGrayscale )
- {
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_B_AND_W_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::EGrayscale );
- }
- if( iSupportedModes & MVtEngCameraPreferences::ENegative )
- {
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_NEGATIVE_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::ENegative );
- }
- __VTPRINTEXIT( "UiColorTone.SetItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::SettingPageResId
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiColorTone::SettingPageResId() const
- {
- __VTPRINTENTER( "UiColorTone.SettingPageResId" )
- __VTPRINTEXIT( "UiColorTone.SettingPageResId" )
- return R_VIDEOTELUI_COLOR_TONE_SETTING_PAGE;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::SettingPageItemChanged
-// ---------------------------------------------------------------------------
-//
-void CVtUiColorTone::SettingPageItemChangedL( TInt aIndex )
- {
- __VTPRINTENTER( "CVtUiColorTone.SettingPageItemChangedL" )
- __VTPRINT2( DEBUG_GEN, "CVtUiColorTone.index=%d", aIndex )
- if ( iFeatureManager.UiStates().ExecState() == TVtUiStates::EExecStateResetting )
- {
- __VTPRINTEXIT( "CVtUiColorTone.SettingPageItemChangedL" )
- return;
- }
- // Map index to right color tone value
- MVtEngCameraPreferences::TColorTone ct = MapArrayIndexToCTEnum( aIndex );
-
- // cast the parameter
- TPtrC8 params( reinterpret_cast< TUint8* >( &ct ),
- sizeof( MVtEngCameraPreferences::TColorTone ) );
-
- // Adjust color tone
- MVtEngMedia::TCameraId currentCamId;
- iFeatureManager.AppUi().Model().Media().GetCurrentCameraId( currentCamId );
- if( currentCamId == MVtEngMedia::ESecondaryCamera )
- {
- iFeatureManager.AppUi().DoExecuteCmdL( KVtEngSetColorTone, ¶ms );
- iPendingSettingChangeCmd = EFalse;
- }
- else
- iPendingSettingChangeCmd = ETrue;
- __VTPRINTEXIT( "CVtUiColorTone.SettingPageItemChangedL" )
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::CVtUiColorTone
-// ---------------------------------------------------------------------------
-//
-CVtUiColorTone::CVtUiColorTone( CVtUiFeatureManager& aFeatureManager )
- : CVtUiPrefSettingListBase( aFeatureManager, EVtUiFeatureIdColourTone ),
- iComponentState( *this )
- {
- __VTPRINTENTER( "UiColorTone.UiColorTone" )
- __VTPRINTEXIT( "UiColorTone.UiColorTone" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::MapCTEnumToArrayIndex
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiColorTone::MapCTEnumToArrayIndex( MVtEngCameraPreferences::
- TColorTone& aColorTone ) const
- {
- __VTPRINTENTER( "CVtUiColorTone.MapCTEnumToArrayIndex" )
- __VTPRINT2( DEBUG_GEN, "CVtUiColorTone.cpunt=%d", iActiveItems.Count() )
- for ( TInt i = 0; i < iActiveItems.Count(); ++i )
- {
- if ( iActiveItems [ i ] == aColorTone )
- {
- __VTPRINT2( DEBUG_GEN, "CVtUiColorTone.index=%d", i )
- __VTPRINTEXIT( "CVtUiColorTone.MapCTEnumToArrayIndex" )
- return i;
- }
- }
- __VTPRINTEXIT( "CVtUiColorTone.MapCTEnumToArrayIndex" )
- // not found
- return KErrNotFound;
- }
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::MapArrayIndexToCTEnum
-// ---------------------------------------------------------------------------
-//
-MVtEngCameraPreferences::TColorTone CVtUiColorTone::MapArrayIndexToCTEnum(
- TInt aIndex) const
- {
- __VTPRINTENTER( "TColorTone.MapArrayIndexToCTEnum" )
- __VTPRINT2( DEBUG_GEN, "TColorTone.index=%d", aIndex )
- __VTPRINT2( DEBUG_GEN, "TColorTone.count=%d", iActiveItems.Count() )
- const TInt count = iActiveItems.Count();
- if ( count > 0 && aIndex < count && aIndex >= 0 )
- {
- __VTPRINTEXIT( "TColorTone.MapArrayIndexToCTEnum" )
- return static_cast< MVtEngCameraPreferences::TColorTone >
- ( iActiveItems[ aIndex ] );
- }
- else // not valid index return first item in the list
- {
- __VTPRINTEXIT( "TColorTone.MapArrayIndexToCTEnum_ERROR_INDEX" )
- return static_cast< MVtEngCameraPreferences::TColorTone >
- ( iActiveItems[ 0 ] );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::DoStop
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiColorTone::DoStopL( TAny* aAny )
- {
- __VTPRINTENTER( "CVtUiColorTone.DoStopL" )
- CVtUiColorTone* self = static_cast< CVtUiColorTone* >( aAny );
- if ( self->iFeatureState == MVtUiFeature::EActive )
- {
- self->iFeatureManager.ComponentManager().
- DeActivateComponentL ( MVtUiComponent::EComponentIdColorTone );
- // set state
- self->iFeatureState = MVtUiFeature::EReady;
- }
- __VTPRINTEXIT( "CVtUiColorTone.DoStopL" )
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiColorTone::DoStart
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiColorTone::DoStartL( TAny* aAny )
- {
- __VTPRINTENTER( "CVtUiColorTone.DoStart" )
- CVtUiColorTone* self = static_cast< CVtUiColorTone* >( aAny );
- self->CVtUiPrefSettingListBase::StartSettingPageL();
- self->iFeatureManager.UiStates().SetIsCommandActivating( EFalse );
- __VTPRINTEXIT( "CVtUiColorTone.DoStart" )
- return KErrNone;
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuicontrast.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 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: implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include "cvtuicontrast.h"
-#include "tvtuifeatureids.h"
-#include "cvtuicontrastpopup.h"
-#include "cvtuipopupbase.h"
-#include "videotelui.hrh"
-#include "cvtuifeaturemanager.h"
-#include "tvtuistates.h"
-
-// ---------------------------------------------------------------------------
-// CVtUiContrast::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiContrast* CVtUiContrast::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiContrast.NewL" )
- CVtUiContrast* self =
- new ( ELeave ) CVtUiContrast( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiContrast.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrast::~CVtUiContrast
-// ---------------------------------------------------------------------------
-//
-CVtUiContrast::~CVtUiContrast()
- {
- __VTPRINTENTER( "CVtUiContrast.~" )
- __VTPRINTEXIT( "CVtUiContrast.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrast::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiContrast::StartL()
- {
- __VTPRINTENTER( "CVtUiContrast.StartL" )
- CVtUiPrefSliderBase::StartL();
- iFeatureManager.UiStates().SetContrastModeOn( ETrue );
- __VTPRINTEXIT( "CVtUiContrast.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrast::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiContrast::Stop()
- {
- __VTPRINTENTER( "CVtUiContrast.Stop" )
- CVtUiPrefSliderBase::Stop();
- iFeatureManager.UiStates().SetContrastModeOn( EFalse );
- __VTPRINTEXIT( "CVtUiContrast.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrast::CVtUiContrast
-// ---------------------------------------------------------------------------
-//
-CVtUiContrast::CVtUiContrast( CVtUiFeatureManager& aFeatureManager )
- : CVtUiPrefSliderBase( aFeatureManager, EVtUiFeatureIdContrast )
- {
- __VTPRINTENTER( "CVtUiContrast.CVtUiContrast" )
- __VTPRINTEXIT( "CVtUiContrast.CVtUiContrast" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrast::CVtUiContrast
-// ---------------------------------------------------------------------------
-//
-void CVtUiContrast:: ConstructL()
- {
- __VTPRINTENTER( "CVtUiContrast.ConstructL" )
- BaseConstructL();
- SetPopup( CVtUiContrastPopup::NewL( iFeatureManager ) );
- __VTPRINTEXIT( "CVtUiContrast.ConstructL" )
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuicontrastpopup.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 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: Implementation of Contrast popup
-*
-*/
-
-
-
-#include <AknVolumePopup.h>
-#include "cvtuicontrastpopup.h"
-#include <cvtlogger.h>
-#include "tvtuilocalvariation.h"
-#include <mvtengmedia.h>
-#include "mvtuicomponent.h"
-#include "CVtUiAppUi.h"
-#include <videotelui.mbg>
-#include <mvtengcamerapreferences.h>
-
-// ---------------------------------------------------------------------------
-// CVtUiContrastPopup::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiContrastPopup* CVtUiContrastPopup::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiContrastPopup.NewL" )
- CVtUiContrastPopup* self =
- new ( ELeave ) CVtUiContrastPopup( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiContrastPopup.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrastPopup::~CVtUiContrastPopup
-// ---------------------------------------------------------------------------
-//
-CVtUiContrastPopup::~CVtUiContrastPopup()
- {
- __VTPRINTENTER( "CVtUiContrastPopup.~" )
- __VTPRINTEXIT( "CVtUiContrastPopup.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrastPopup::CurrentValue
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiContrastPopup::CurrentValue()
- {
- __VTPRINTENTER( "CVtUiContrastPopup.CurrentValue" )
- // ask from engine current value
- TInt value;
- if ( iCameraPref->GetContrast( value) )
- {
- __VTPRINTEXIT( "CVtUiContrastPopup.CurrentValueERR" )
- return 0;
- }
- __VTPRINTEXIT( "CVtUiContrastPopup.CurrentValue" )
- return value;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrastPopup::CVtUiContrastPopup
-// ---------------------------------------------------------------------------
-//
-CVtUiContrastPopup::CVtUiContrastPopup( CVtUiFeatureManager& aFeatureManager )
- : CVtUiPrefPopupBase( aFeatureManager, TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdDialer |
- MVtUiComponent::EComponentIdToolbar |
- MVtUiComponent::EComponentIdNumberEntry |
- MVtUiComponent::EComponentIdVolume |
- MVtUiComponent::EComponentIdZoom |
- MVtUiComponent::EVComponentIdBrightness ), EVComponentIdContrast,
- KVtEngSetContrast )
- {
- __VTPRINTENTER( "CVtUiContrastPopup.CVtUiContrastPopup" )
- __VTPRINTEXIT( "CVtUiContrastPopup.CVtUiContrastPopup" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiContrastPopup::CVtUiContrastPopup
-// ---------------------------------------------------------------------------
-//
-void CVtUiContrastPopup::ConstructL()
- {
- __VTPRINTENTER( "CVtUiContrastPopup.ConstructL" )
- BaseConstructL();
- __VTPRINTEXIT( "CVtUiContrastPopup.ConstructL" )
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuiprefpopupbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
-* 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: Implementation of base class for video preference popups
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <mvtengcamerapreferences.h>
-#include <cvtengmodel.h>
-
-#include "cvtuiprefpopupbase.h"
-#include "mvtuicomponentmanager.h"
-#include "mvtuicomponentstateobserver.h"
-#include "cvtuifeaturemanager.h"
-#include "CVtUiAppUi.h"
-
-// Number of steps
-static const TInt KStepCount = 20;
-
-// Slider min value
-static const TInt KSLiderMinValue = -100;
-
-// Slider min value
-static const TInt KSLiderDefaultValue = 0;
-
-// Slider max value
-static const TInt KSLiderMaxValue = 100;
-
-// Min adjust value
-static const TInt KMinAdjustValue = 0;
-
-// Max adjust value
-static const TInt KMaxAdjustValue = 20;
-
-// default time out time for zoom popup
-const TInt KDefaultPrefTimeOutTime = 5;
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefPopupBase::~CVtUiPrefPopupBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPrefPopupBase::~CVtUiPrefPopupBase()
- {
- __VTPRINTENTER( "CVtUiPrefPopupBase.~CVtUiPrefPopupBase" )
- __VTPRINTEXIT( "CVtUiPrefPopupBase.~CVtUiPrefPopupBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefPopupBase::HandleControlEventL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefPopupBase::HandleControlEventL(
- CCoeControl* aControl,TCoeEvent aEventType )
- {
- __VTPRINTENTER( "CVtUiPrefPopupBase.HandleControlEventL" )
- CVtUiPopupBase::HandleControlEventL( aControl, aEventType );
- if ( aEventType == EEventStateChanged )
- {
- const TInt value( Value() );
- if ( value != iCurrent )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiPrefPopupBase.OfferKeyEventL value != current " )
- iCurrent = value;
- __VTPRINT2( DEBUG_GEN, "CVtUiPrefPopupBase.HandleControlEventL = %d", ScaledValue() )
- AdjustVideoL( ScaledValue() );
- }
- }
-
- __VTPRINTEXIT( "CVtUiPrefPopupBase.HandleControlEventL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefPopupBase::UpdatePopupL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefPopupBase::UpdatePopupL()
- {
- __VTPRINTENTER( "CVtUiPrefPopupBase.UpdatePrefPopupL" )
-
- AdjustVideoL( ScaledValue() );
-
- __VTPRINTEXIT( "CVtUiPrefPopupBase.UpdatePrefPopupL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefPopupBase::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CVtUiPrefPopupBase::OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode )
- {
- __VTPRINTENTER( "CVtUiPrefPopupBase.OfferKeyEventL" )
- TKeyResponse response =
- CVtUiPopupBase::OfferKeyEventL( aEvent, aCode );
-
- if ( response == EKeyWasConsumed )
- {
- AdjustVideoL( ScaledValue() );
- }
-
- __VTPRINTEXIT( "CVtUiPrefPopupBase.OfferKeyEventL" )
- return response;
- }
-
-// CVtUiPrefPopupBase::AdjustVideoL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefPopupBase::AdjustVideoL( TInt aValue )
- {
- __VTPRINTENTER( "CVtUiPrefPopupBase.AdjustVideoL" )
- // cast the parameter
- TPtrC8 params( reinterpret_cast< TUint8* >( &aValue ), sizeof( TInt ) );
-
- // Adjust Contrast
- iFeatureManager.AppUi().DoExecuteCmdL( iEngineCommandId, ¶ms );
- __VTPRINTEXIT( "CVtUiPrefPopupBase.AdjustVideoL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefPopupBase::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefPopupBase::DoActivateL()
- {
- __VTPRINTENTER( "CVtUiPrefPopupBase.DoActivateL" )
- CVtUiPopupBase::DoActivateL();
- // Set current value
- __VTPRINT2( DEBUG_GEN, "CVtUiPrefPopupBase.DoActivateL = %d", CurrentValue() )
- ScaleAndSetValue( CurrentValue() );
- AdjustVideoL( ScaledValue() );
- __VTPRINTEXIT( "CVtUiPrefPopupBase.DoActivateL" )
- }
-
-// CVtUiPrefPopupBase::CVtUiPrefPopupBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPrefPopupBase::CVtUiPrefPopupBase( CVtUiFeatureManager& aFeatureManager,
- TVtUiBlockListBitField aBitField, TComponentId aComponentId, TInt aCmdId ) :
- CVtUiPopupBase( aFeatureManager.ComponentManager(), aBitField,
- aComponentId ), iFeatureManager( aFeatureManager ),
- iEngineCommandId ( aCmdId )
- {
- __VTPRINTENTER( "CVtUiPrefPopupBase.CVtUiPrefPopupBase" )
- __VTPRINTEXIT( "CVtUiPrefPopupBase.CVtUiPrefPopupBase" )
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefPopupBase::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefPopupBase::BaseConstructL()
- {
- __VTPRINTENTER( "CVtUiPrefPopupBase.BaseConstructL" )
- CVtUiPopupBase::BaseConstructL();
- // Get camera preferences extension.
- iCameraPref = static_cast<MVtEngCameraPreferences*> ( iFeatureManager.
- AppUi().Model().Extension( KVtEngExtensionCameraPreferences ) );
-
- // Set range and step count for the slider
- SetAdjustRange( KMinAdjustValue, KMaxAdjustValue, KStepCount );
-
- // Set value range to baseclass
- // range e.g. 0-20
- SetMinAndMaxValues( KSLiderMinValue , KSLiderMaxValue );
-
- // Set slider type to percentage
- SetValueType( EAknSliderValuePercentage );
-
- // Set default value
- ScaleAndSetValue( KSLiderDefaultValue );
-
- // Set timeout
- SetTimeOut( KDefaultPrefTimeOutTime );
-
- __VTPRINTEXIT( "CVtUiPrefPopupBase.BaseConstructL" )
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuiprefsettinglistbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +0,0 @@
-/*
-* 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: Softkey UI feature implementation.
-*
-*/
-
-
-#include <cvtengmodel.h>
-#include <mvtengcamerapreferences.h>
-#include <eikenv.h>
-#include <cvtlogger.h>
-#include <avkon.hrh>
-
-#include "cvtuiprefsettinglistbase.h"
-#include "CVtUiAppUi.h"
-#include "cvtuitransparentsettingpage.h"
-#include "CVtUiMainControl.h"
-#include "CVtUiContextControl.h"
-#include "cvtuifeaturemanager.h"
-#include "VtUiLayout.h"
-
-#include <layoutmetadata.cdl.h>
-
-// constants
-static const TInt KMaxNumberOfArrayItems = 5;
-static const TInt KMaxNumberOfActiveItems = 5;
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::~CVtUiPrefSettingListBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPrefSettingListBase::~CVtUiPrefSettingListBase()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.~CVtUiPrefSettingListBase" )
- delete iViewfinderBitmap;
- delete iSettingPage;
- iActiveItems.Close();
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.~CVtUiPrefSettingListBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::InitFeatureL()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.InitFeatureL" )
- ResizeBackroundBitmapRect();
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::IsPendingCmd
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPrefSettingListBase::IsPendingCmd()
- {
- return iPendingSettingChangeCmd;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::HandlePendingCmd
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::HandlePendingCmdL()
- {
- SettingPageItemChangedL( iOriginalSelection );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::HandleSettingPageEventL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::HandleSettingPageEventL(
- CAknSettingPage* /*aSettingPage*/, TAknSettingPageEvent aEventType )
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.HandleSettingPageEventL" )
- const TInt currentItem = iSettingPage->ListBoxControl()->CurrentItemIndex();
- switch ( aEventType )
- {
- case EEventSettingCancelled:
- {
- if ( iOriginalSelection != currentItem )
- {
- // Set back to orginal selection
- SettingPageItemChangedL( iOriginalSelection );
- iCurrentSelection = iOriginalSelection;
- }
- Stop();
- break;
- }
- case EEventSettingChanged:
- {
- SettingPageItemChangedL( currentItem );
- iOriginalSelection = currentItem;
- Stop();
- break;
- }
- case EEventSettingOked:
- {
- // Check if the current selection has changed
- if ( iOriginalSelection != currentItem )
- {
- SettingPageItemChangedL( currentItem );
- iOriginalSelection = currentItem;
- iCurrentSelection = currentItem;
- }
- Stop();
- break;
- }
- default:
- break;
- }
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.HandleSettingPageEventL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::ListStateChangedL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::ListStateChangedL()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.ListStateChangedL" )
- // Check if new item is focused in the selection list
-
- const TInt currentItem = iSettingPage->ListBoxControl()->CurrentItemIndex();
- if ( iCurrentSelection != currentItem )
- {
- // Update current selection
- iCurrentSelection = currentItem;
- // Adjust frame
- SettingPageItemChangedL( currentItem );
- }
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.ListStateChangedL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::StartSettingPageL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::StartSettingPageL()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.StartSettingPageL" )
- // Swap image places if needed
- iAppUi.SwitchViewFinderToMainPaneL();
-
- // Get context control's window priority and position
- iWindowPriority = iAppUi.ContextControl().DrawableWindow()
- ->OrdinalPriority();
- iWindowPosition = iAppUi.ContextControl().DrawableWindow()
- ->OrdinalPosition();
-
- // Rise context control's window priority othwerwise setting page will be
- // drawn partially over the context control window.
- iAppUi.ContextControl().DrawableWindow()->SetOrdinalPosition(
- iWindowPosition, iWindowPriority + 1 );
-
- // Creates setting page
- CreateSettingPageL();
- // Launch setting page.
- iSettingPage->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted, EFalse );
- iSettingPage = NULL;
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.StartSettingPageL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::StopSettingPageL
-//
-//
-void CVtUiPrefSettingListBase::StopSettingPageL()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.StopSettingPageL" )
- // Swap image places if needed
- iAppUi.RestoreViewFinderL();
-
- if ( iSettingPage)
- {
- // Cancell the setting page
- TKeyEvent keyEvent;
- keyEvent.iCode = EKeyEscape;
- iSettingPage->OfferKeyEventL( keyEvent, EEventKey );
- }
-
- // Set contex control's window priority and position back to orginal value.
- iAppUi.ContextControl().DrawableWindow()->SetOrdinalPosition(
- iWindowPosition, iWindowPriority );
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.StopSettingPageL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::SizeChanged()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.SizeChanged" )
- ResizeBackroundBitmapRect();
- // Set new coordinates and size
- iSettingPage->SetBitmapPositionAndClipRect( iBitmapTopLeftCorner,
- iBitmapClippingRect );
- iSettingPage->HandleLayoutChangeL();
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.SizeChanged" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::UpdateBackground
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::UpdateBackground( CFbsBitmap* aFrame )
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.UpdateBackground" )
- if ( aFrame )
- {
- // aFrame is valid only in this callback, the bitmap
- // must be copied for use as the setting page background
- iViewfinderBitmap->Duplicate( aFrame->Handle() );
- if ( iSettingPage )
- {
- // Update background
- iSettingPage->ChangeBackground( iViewfinderBitmap );
- }
- }
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.UpdateBackground" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::UpdateSettingL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::UpdateSettingL()
- {
- // if no active items do nothing
- if ( iActiveItems.Count() > 0 )
- {
- // user change the focuse in the list but not
- // select it indeed
- if( iOriginalSelection != iCurrentSelection )
- SettingPageItemChangedL( iCurrentSelection );
- else
- // yes,user has tapped down the OK button to choose a item
- SettingPageItemChangedL( iOriginalSelection );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::CVtUiPrefSettingListBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPrefSettingListBase::CVtUiPrefSettingListBase( CVtUiFeatureManager&
- aFeatureManager, TVtUiFeatureId aFeatureId ) : CVtUiFeatureBase(
- aFeatureId, aFeatureManager ), iActiveItems( KMaxNumberOfActiveItems ),
- iBitmapTopLeftCorner( 0, 0 ), iAppUi( aFeatureManager.AppUi() ),iPendingSettingChangeCmd( EFalse )
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.CVtUiPrefSettingListBase" )
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.CVtUiPrefSettingListBase" )
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::ConstructL()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.ConstructL" )
- BaseConstructL();
- // Get camera preferences extension.
- iCameraPref = static_cast<MVtEngCameraPreferences*> (iFeatureManager.
- AppUi().Model().Extension( KVtEngExtensionCameraPreferences ) );
- // Create backgound bitmap
- iViewfinderBitmap = new ( ELeave ) CFbsBitmap();
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::ReadAndAppendItemL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::ReadAndAppendItemL( CDesCArray& aItems,
- TInt aResId )
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.ReadAndAppendItemL" )
- HBufC* text = iAppUi.GetEikonEnv()->AllocReadResourceLC( aResId );
- aItems.AppendL( *text );
- CleanupStack::PopAndDestroy(); // text
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.ReadAndAppendItemL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::CreateSettingPageL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::CreateSettingPageL()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.CreateSettingPageL" )
- CDesCArray* selectionArray = new ( ELeave )
- CDesCArraySeg( KMaxNumberOfArrayItems );
- CleanupStack::PushL( selectionArray );
- // Set items must be called before CurrentSelection function
- // Otherwise iActiveItems array is not populated
- iActiveItems.Reset();
- SetItemsL( *selectionArray );
- TInt resourceId = SettingPageResId();
-
- // Current selection is needed when a new item is focused in the list
- iCurrentSelection = iOriginalSelection;
- TInt current( CurrentSelection() );
- if ( !iSettingPage )
- {
- iSettingPage = new ( ELeave ) CVtUiTransparentSettingPage( resourceId,
- iCurrentSelection, selectionArray );
- iSettingPage->ConstructL();
- iSettingPage->SetSettingPageObserver( this );
- iSettingPage->SetSettingPageEventStateObserver( this );
- }
- CleanupStack::PopAndDestroy(); // selectionArray
- ResizeBackroundBitmapRect();
- iSettingPage->SetBitmapPositionAndClipRect( iBitmapTopLeftCorner,
- iBitmapClippingRect );
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.CreateSettingPageL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSettingListBase::ShrinkBackroundBitmapRect
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSettingListBase::ResizeBackroundBitmapRect()
- {
- __VTPRINTENTER( "CVtUiPrefSettingListBase.ResizeBackroundBitmapRect" )
- TRect parent( iAppUi.MainControl().Size() );
- TAknWindowLineLayout rect;
- TAknLayoutRect iStreamLayout;
- VtUiLayout::GetSecondWindowStreamLayout( rect, ETrue );
- iStreamLayout.LayoutRect( parent, rect );
-
- // In landscape rect from layout doesn't work
- // for some reason
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- iBitmapClippingRect = parent;
- }
- else
- {
- iBitmapClippingRect = iStreamLayout.Rect();
- }
-
- iBitmapTopLeftCorner = iStreamLayout.Rect().iTl;
- __VTPRINTEXIT( "CVtUiPrefSettingListBase.ResizeBackroundBitmapRect" )
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuiprefsliderbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* 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: Implementatin of base class for video pref sliders
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuiprefsliderbase.h"
-#include "cvtuifeaturemanager.h"
-#include "mvtuicomponentmanager.h"
-#include "CVtUiAppUi.h"
-#include "mvtuicommandmanager.h"
-#include "cvtuiprefpopupbase.h"
-
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSliderBase::~CVtUiPrefSliderBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPrefSliderBase::~CVtUiPrefSliderBase()
- {
- __VTPRINTENTER( "CVtUiPrefSliderBase.~CVtUiPrefSliderBase" )
- __VTPRINTEXIT( "CVtUiPrefSliderBase.~CVtUiPrefSliderBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSliderBase::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSliderBase::StartL()
- {
- __VTPRINTENTER( "CVtUiPrefSliderBase.StartL" )
- // call base class implementation
- CVtUiSliderBase::StartL();
-
- // Swap image places if needed
- iFeatureManager.AppUi().SwitchViewFinderToMainPaneL();
-
- __VTPRINTEXIT( "CVtUiPrefSliderBase.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSliderBase::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSliderBase::Stop()
- {
- __VTPRINTENTER( "CVtUiPrefSliderBase.Stop" )
- if ( iFeatureState == MVtUiFeature::EActive )
- {
- // call base class implementation
- CVtUiSliderBase::Stop();
-
- // Swap image places if needed
- TRAP_IGNORE( iFeatureManager.AppUi().RestoreViewFinderL() );
- }
- __VTPRINTEXIT( "CVtUiPrefSliderBase.Stop" )
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSliderBase::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSliderBase::InitFeatureL()
- {
- __VTPRINTENTER( "CVtUiPrefSliderBase.InitFeatureL" )
- // call base class implementation
- CVtUiSliderBase::InitFeatureL();
- __VTPRINTEXIT( "CVtUiPrefSliderBase.InitFeatureL" )
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSliderBase::CVtUiPrefSliderBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPrefSliderBase::CVtUiPrefSliderBase( CVtUiFeatureManager& aFeatureManager,
- TVtUiFeatureId aFeatureId ) : CVtUiSliderBase(
- aFeatureManager, aFeatureId )
- {
- __VTPRINTENTER( "CVtUiPrefSliderBase.CVtUiPrefSliderBase" )
- __VTPRINTEXIT( "CVtUiPrefSliderBase.CVtUiPrefSliderBase" )
- }
-
-
-// ---------------------------------------------------------------------------
-// CVtUiPrefSliderBase::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPrefSliderBase::BaseConstructL()
- {
- __VTPRINTENTER( "CVtUiPrefSliderBase.BaseConstructL" )
- CVtUiSliderBase::BaseConstructL();
- __VTPRINTEXIT( "CVtUiPrefSliderBase.BaseConstructL" )
- }
-
-
-
-
--- a/vtuis/videotelui/src/features/prefs/cvtuitransparentsettingpage.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* 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: Transparent camera setting page.
-*
-*/
-
-
-
-#include "cvtuitransparentsettingpage.h"
-#include "mvtuisettingpageobserver.h"
-#include "VtUiLayout.h"
-#include <cvtlogger.h>
-#include <aknsettingpage.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-
-/**
-* CVtUiTransparentSettingPage
-*
-* Transparent camera setting page. Extends class CAknTransparentCameraSettingPage
-* with position related functionality.
-*
-* @since S60 v3.2
-*/
-void CVtUiTransparentSettingPage::HandleLayoutChangeL()
-{
- GetTheLayoutData();
-}
-
-// -----------------------------------------------------------------------------
-// CVtUiTransparentSettingPage::CVtUiTransparentSettingPage
-// -----------------------------------------------------------------------------
-//
-CVtUiTransparentSettingPage::CVtUiTransparentSettingPage( TInt aResourceID,
- TInt& aCurrentSelectionIndex, const MDesCArray* aItemArray) :
- CAknTransparentCameraSettingPage( aResourceID,
- aCurrentSelectionIndex, aItemArray )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiTransparentSettingPage::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVtUiTransparentSettingPage::ConstructL()
- {
- CAknTransparentCameraSettingPage::ConstructL();
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtUiTransparentSettingPage::~CVtUiTransparentSettingPage
-// -----------------------------------------------------------------------------
-//
-CVtUiTransparentSettingPage::~CVtUiTransparentSettingPage()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNumberEntryControl::SetNumberEntryControlObserver
-// -----------------------------------------------------------------------------
-//
-void CVtUiTransparentSettingPage::SetSettingPageEventStateObserver(
- MVtUiSettingPageObserver* aObserver )
- {
- iSettingPageObserver = aObserver;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiTransparentSettingPage::GetTheLayoutData
-// -----------------------------------------------------------------------------
-//
-void CVtUiTransparentSettingPage::GetTheLayoutData()
- {
- // Varieties
- TInt labelVariety = 0;
- TInt listboxVariety = 0;
-
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- labelVariety = 1;
- listboxVariety = 1;
- }
-
- // Rect for label and shadow text
- TRect labelRect = RectFromLayout( AknLayoutScalable_Apps::
- aid_placing_vt_set_title( labelVariety ) );
-
- // Rect for listbox control
- TRect listBoxRect = RectFromLayout( AknLayoutScalable_Apps::
- aid_placing_vt_set_content( listboxVariety ) );
-
- // Get text label from parent class
- CEikLabel* textLabel = TextLabel();
-
- // Set label's new positions
- if ( textLabel )
- {
- textLabel->SetPosition( labelRect.iTl );
- }
-
- // Get shadow text from parent class
- CEikLabel* shadowText = ShadowText();
-
- // Set shadow text's new positions if shadow text exists
- if( shadowText )
- {
- // This information should come from layout, but
- // also AknSettingPage does the positioning in this way.
- labelRect.Move( 1, 1 );
- shadowText->SetPosition( labelRect.iTl );
- }
-
- // Set new rect for listbox control
- ListBoxControl()->SetRect( listBoxRect );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiTransparentSettingPage::DynamicInitL
-// -----------------------------------------------------------------------------
-//
-void CVtUiTransparentSettingPage::DynamicInitL()
- {
- GetTheLayoutData();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiTransparentSettingPage::HandleControlEventL
-// -----------------------------------------------------------------------------
-//
-void CVtUiTransparentSettingPage::HandleControlEventL( CCoeControl* /*aControl*/,
- TCoeEvent aEventType )
- {
- __VTPRINTENTER( "CVtUiTransparentSettingPage.HandleControlEventL" )
- if ( aEventType == EEventStateChanged )
- {
- if ( iSettingPageObserver )
- {
- iSettingPageObserver->ListStateChangedL();
- }
- __VTPRINT( DEBUG_GEN, " CVtUiTransparentSettingPage.EEventStateChanged" )
- }
-
- __VTPRINTEXIT( "CVtUiTransparentSettingPage.HandleControlEventL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiTransparentSettingPage::RectFromLayout
-// -----------------------------------------------------------------------------
-//
-TRect CVtUiTransparentSettingPage::RectFromLayout(
- const TAknWindowComponentLayout& aComponentLayout ) const
- {
- __VTPRINTENTER( "CVtUiTransparentSettingPage.RectFromLayout" )
-
- TInt main_pane_variety( 0 );
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- main_pane_variety = 4;
- }
-
- TAknWindowComponentLayout layout1 =
- AknLayoutScalable_Apps::main_pane( main_pane_variety );
- TAknWindowComponentLayout layout2 =
- AknLayoutScalable_Apps::main_video_tele_pane();
-
- TAknWindowLineLayout layout =
- TAknWindowComponentLayout::Compose(
- TAknWindowComponentLayout::Compose( layout1, layout2 ), aComponentLayout ).
- LayoutLine();
-
- TRect screen;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
- TAknLayoutRect layoutRect;
- layoutRect.LayoutRect( screen, layout );
-
- // setting page is window owning control and its position is relative to mainpane
- // layotdata is instead relative to screen
- TRect rect( layoutRect.Rect() );
- rect.Move( -PositionRelativeToScreen() );
-
- __VTPRINTEXIT( "CVtUiTransparentSettingPage.RectFromLayout" )
- return rect;
- }
--- a/vtuis/videotelui/src/features/prefs/cvtuivideoquality.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +0,0 @@
-/*
-* 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: Video quality UI feature implementation.
-*
-*/
-
-
-#include <badesca.h>
-#include <AknIconArray.h>
-#include <aknsutils.h>
-#include <stringloader.h>
-#include <aknlists.h>
-#include <aknpopup.h>
-#include <aknselectionlist.h>
-#include <mvtengmedia.h>
-#include <cvtengmodel.h>
-#include <cvtlogger.h>
-
-#include <videotelui.rsg>
-#include "cvtuivideoquality.h"
-#include "tvtuifeatureids.h"
-#include "VtUiLayout.h"
-#include "VtUiUtility.h"
-#include "CVtUiAppUi.h"
-#include "cvtuifeaturemanager.h"
-#include "mvtuicomponentmanager.h"
-#include "tvtuilocalvariation.h"
-#include "tvtuistates.h"
-
-// constants
-_LIT( KVtUiFormatActive, "0\t%S" );
-_LIT( KVtUiFormatInactive, "\t%S" );
-const TInt KVtUiMaxListItemLength = 128;
-
-// Implementation of TVtUiVideoQualityComponentState
-
-// ---------------------------------------------------------------------------
-// TVtUiVideoQualityComponentState::TVtUiVideoQualityComponentState
-// ---------------------------------------------------------------------------
-//
-TVtUiVideoQualityComponentState::TVtUiVideoQualityComponentState(
- MVtUiComponent& aComponent ) :
- TVtUiComponentState( aComponent,
- TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdDialer |
- MVtUiComponent::EComponentIdNumberEntry ) )
- {
- __VTPRINTENTER( "TVtUiVideoQualityComponentState.Ctor" )
- __VTPRINTEXIT( "TVtUiVideoQualityComponentState.Ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiVideoQuality* CVtUiVideoQuality::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiVideoQuality.NewL" )
- CVtUiVideoQuality* self =
- new ( ELeave ) CVtUiVideoQuality( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiVideoQuality.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::~CVtUiVideoQuality
-// ---------------------------------------------------------------------------
-//
-CVtUiVideoQuality::~CVtUiVideoQuality()
- {
- __VTPRINTENTER( "CVtUiVideoQuality.~CVtUiVideoQuality" )
-
- // Delete the callback
- delete iShowSelectionListCallback;
-
- // unregister component
- iFeatureManager.ComponentManager().ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::EUnregister );
-
- __VTPRINTEXIT( "CVtUiVideoQuality.~CVtUiVideoQuality" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoQuality::StartL()
- {
- __VTPRINTENTER( "CVtUiVideoQuality.StartL" )
- if ( iFeatureState == MVtUiFeature::EReady )
- {
- iFeatureManager.UiStates().SetIsFixedToolbarVisible( EFalse );
- iFeatureManager.ComponentManager().
- RequestActivationL ( MVtUiComponent::EComponentIdVideoQuality );
- // set state
- iFeatureState = MVtUiFeature::EActive;
- }
- __VTPRINTEXIT( "CVtUiVideoQuality.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoQuality::Stop()
- {
- __VTPRINTENTER( "CVtUiVideoQuality.Stop" )
- TRAP_IGNORE(
- {
- if ( iFeatureState == MVtUiFeature::EActive )
- {
- iFeatureManager.ComponentManager().
- DeActivateComponentL ( MVtUiComponent::EComponentIdVideoQuality );
- // set state
- iFeatureState = MVtUiFeature::EReady;
- }
- } );
- __VTPRINTEXIT( "CVtUiVideoQuality.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoQuality::InitFeatureL()
- {
- __VTPRINTENTER( "CVtUiVideoQuality.InitFeatureL" )
- // register component to conponent manager
- User::LeaveIfError(
- iFeatureManager.ComponentManager().ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::ERegister ) );
- iFeatureState = EReady;
- __VTPRINTEXIT( "CVtUiVideoQuality.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::ComponentId
-// ---------------------------------------------------------------------------
-//
-MVtUiComponent::TComponentId CVtUiVideoQuality::ComponentId() const
- {
- __VTPRINTENTER( "CVtUiVideoQuality.ComponentId" )
- __VTPRINTEXIT( "CVtUiVideoQuality.ComponentId" )
- return MVtUiComponent::EComponentIdVideoQuality;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::ComponentAsControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVtUiVideoQuality::ComponentAsControl()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.ComponentAsControl" )
- __VTPRINTEXIT( "CVtUiVideoQuality.ComponentAsControl" )
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoQuality::DoActivateL()
- {
- __VTPRINTENTER( "CVtUiVideoQuality.DoActivateL" )
- __VTPRINTEXIT( "CVtUiVideoQuality.DoActivateL" )
- iFeatureManager.UiStates().SetVideoQualityModeOn( ETrue );
- iShowSelectionListCallback->CallBack();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::DoDeactivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoQuality::DoDeactivateL()
- {
- __VTPRINTENTER( "CVtUiVideoQuality.DoDeactivateL" )
- iFeatureManager.UiStates().SetVideoQualityModeOn( EFalse );
- __VTPRINTEXIT( "CVtUiVideoQuality.DoDeactivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::CreateIconLC
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CVtUiVideoQuality::CreateIconLC( TVtUiBitmapId aIconId,
- TVtUiBitmapId aMaskId )
- {
- __VTPRINTENTER( "CVtUiVideoQuality.CreateIconLC" )
- TFileName fileName;
- TInt bitmapIndex;
- TInt bitmapMaskIndex;
- CFbsBitmap* newIconBmp;
- CFbsBitmap* newIconMaskBmp;
- VtUiLayout::Resolve( aIconId, fileName, bitmapIndex );
- TAknsItemID skinId = VtUiLayout::MapBitmapToSkinId( aIconId );
- VtUiLayout::Resolve( aMaskId, fileName, bitmapMaskIndex );
- AknsUtils::CreateIconL( AknsUtils::SkinInstance(), skinId, newIconBmp,
- newIconMaskBmp, fileName, bitmapIndex, bitmapMaskIndex );
- CleanupStack::PushL( newIconBmp );
- CleanupStack::PushL( newIconMaskBmp );
- CGulIcon* gulIcon = CGulIcon::NewL( newIconBmp, newIconMaskBmp );
- CleanupStack::Pop( newIconMaskBmp );
- CleanupStack::Pop( newIconBmp );
- CleanupStack::PushL( gulIcon );
- __VTPRINTEXIT( "CVtUiVideoQuality.CreateIconLC" )
- return gulIcon;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::ShowSelectionListL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoQuality::ShowSelectionListL()
- {
- __VTPRINTENTER( "CVtUiVideoQuality.ShowSelectionListL" )
- // create listbox
- CAknSingleGraphicPopupMenuStyleListBox* listBox =
- new ( ELeave ) CAknSingleGraphicPopupMenuStyleListBox();
- CleanupStack::PushL( listBox );
-
- // create popuplist
- CAknPopupList* popUpList =
- CAknPopupList::NewL( listBox, R_VIDEOTELUI_SOFTKEYS_SELECT_CANCEL );
- CleanupStack::PushL( popUpList );
-
- listBox->ConstructL( popUpList,
- EAknListBoxSelectionList | EAknListBoxLoopScrolling );
-
- // Create an array of icons, reading them from the file and
- // set them in the listbox
- CArrayPtr<CGulIcon>* icons = new(ELeave) CAknIconArray( 1 );
- CleanupStack::PushL(icons);
- CGulIcon* icon = CreateIconLC( EVtUiBitmap_qgn_prop_sub_current,
- EVtUiBitmap_qgn_prop_sub_current_mask );
- icons->AppendL( icon );
- listBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
- CleanupStack::Pop(2); //icon + icons
-
- // Read item array from resources
- CDesCArray* textArray =
- iFeatureManager.AppUi().GetEikonEnv()->
- ReadDesCArrayResourceL( R_VIDEOTELUI_VIDEO_QUALITY_ARRAY );
- CleanupStack::PushL( textArray );
-
- CDesCArraySeg* listBoxRows = new ( ELeave ) CDesCArraySeg( 3 );
- CleanupStack::PushL( listBoxRows );
-
- // Read items to array
- SetItemsL( *listBoxRows, *textArray );
-
- // Create listbox model.
- CTextListBoxModel* listBoxModel = listBox->Model();
- // Set item array
- listBoxModel->SetItemTextArray( listBoxRows );
-
- // Set ownership
- listBoxModel->SetOwnershipType( ELbmOwnsItemArray );
-
- // Enable marquee
- listBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-
- CleanupStack::Pop(2); // listBoxRows + testArray
-
- TInt popupOk = popUpList->ExecuteLD();
-
- CleanupStack::Pop(); // popUpList
- popUpList = NULL;
-
- if ( popupOk )
- {
- ItemSelectedL( listBox->CurrentItemIndex() );
- }
- else
- {
- // Selection canceled.
- }
-
- // Reset arrays
- listBoxRows->Reset();
- textArray->Reset();
- icons->ResetAndDestroy(); // icons + icon
-
- // Delete listbox
- CleanupStack::PopAndDestroy( listBox ); // listBox
-
- iAsyncCallback->Set( TCallBack( &DoStop, this ) );
- iAsyncCallback->CallBack();
- __VTPRINTEXIT( "CVtUiVideoQuality.ShowSelectionListL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::AsyncShowSelectionListL
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiVideoQuality::AsyncShowSelectionList( TAny* aPtr )
- {
- CVtUiVideoQuality* self = reinterpret_cast< CVtUiVideoQuality* > ( aPtr );
- TRAPD( err, self->ShowSelectionListL() );
- return err;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::SetItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoQuality::SetItemsL( CDesCArray& aTarget,
- const CDesCArray& aSource )
- {
- __VTPRINTENTER( "CVtUiVideoQuality.SetItemsL" )
- TInt activeItem( ActiveItem() );
- TInt count( aSource.Count() );
- for ( TInt i = 0; i < count; i++ )
- {
- TBuf< KVtUiMaxListItemLength > item;
- TPtrC sourceItem( aSource[ i ] );
- if ( i == activeItem )
- {
- item.Format( KVtUiFormatActive(), &sourceItem );
- }
- else
- {
- item.Format( KVtUiFormatInactive(), &sourceItem );
- }
- aTarget.AppendL( item );
- }
- __VTPRINTEXIT( "CVtUiVideoQuality.SetItemsL" )
- }
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::ActiveItem
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiVideoQuality::ActiveItem() const
- {
- __VTPRINTENTER( "CVtUiVideoQuality.ActiveItem" )
- TInt activeItem( 0 );
- MVtEngMedia::TVideoQuality videoQuality;
- VtUiUtility::GetVideoQuality( iFeatureManager.AppUi().Model().Media(),
- videoQuality );
- switch( videoQuality )
- {
- case MVtEngMedia::EVideoQualityNormal:
- activeItem = 0;
- break;
- case MVtEngMedia::EVideoQualityDetail:
- activeItem = 1;
- break;
- case MVtEngMedia::EVideoQualityMotion:
- activeItem = 2;
- break;
- default:
- break;
- }
- __VTPRINTEXIT( "CVtUiVideoQuality.ActiveItem" )
- return activeItem;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::ItemSelectedL
-// ---------------------------------------------------------------------------
-//
- void CVtUiVideoQuality::ItemSelectedL( TInt aItemIndex )
- {
- __VTPRINTENTER( "CVtUiVideoQuality.ItemSelectedL" )
- MVtEngMedia::TVideoQuality qualityLevel;
- switch( aItemIndex )
- {
- case 0:
- qualityLevel = MVtEngMedia::EVideoQualityNormal;
- break;
-
- case 1:
- qualityLevel = MVtEngMedia::EVideoQualityDetail;
- break;
-
- case 2:
- qualityLevel = MVtEngMedia::EVideoQualityMotion;
- break;
- default:
- break;
- }
- // cast the parameter
- TPtrC8 params( reinterpret_cast< TUint8* >( &qualityLevel ),
- sizeof( MVtEngMedia::TVideoQuality ) );
- iFeatureManager.AppUi().DoExecuteCmdL( KVtEngSetVideoQuality, ¶ms );
- __VTPRINTEXIT( "CVtUiVideoQuality.ItemSelectedL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::CVtUiVideoQuality
-// ---------------------------------------------------------------------------
-//
-CVtUiVideoQuality::CVtUiVideoQuality( CVtUiFeatureManager& aFeatureManager ) :
- CVtUiFeatureBase( EVtUiFeatureIdVideoQuality, aFeatureManager ),
- iComponentState( *this )
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.CVtUiVideoQuality" )
- __VTPRINTEXIT( "CVtUiVideoQuality.CVtUiVideoQuality" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVideoQuality::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVideoQuality::ConstructL()
- {
- __VTPRINTENTER( "CVtUiVideoQuality.ConstructL" )
- BaseConstructL();
- iShowSelectionListCallback = new ( ELeave ) CAsyncCallBack(
- TCallBack( &AsyncShowSelectionList, this ),
- CActive::EPriorityStandard );
- __VTPRINTEXIT( "CVtUiVideoQuality.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVideoQuality::DoStop
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiVideoQuality::DoStop( TAny* aAny )
- {
- __VTPRINTENTER( "CVtUiVideoQuality.DoStop" )
- CVtUiFeatureBase* self = static_cast< CVtUiFeatureBase* >( aAny );
- self->Stop();
- __VTPRINTEXIT( "CVtUiVideoQuality.DoStop" )
- return KErrNone;
- }
-
--- a/vtuis/videotelui/src/features/prefs/cvtuiwhitebalance.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,390 +0,0 @@
-/*
-* Copyright (c) 2007 - 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: White balance UI feature implementation.
-*
-*/
-
-
-#include <mvtengmedia.h>
-#include <cvtengmodel.h>
-#include <mvtengcamerapreferences.h>
-#include "cvtuiwhitebalance.h"
-#include "tvtuifeatureids.h"
-#include <videotelui.rsg>
-#include <cvtlogger.h>
-#include "mvtuicomponentmanager.h"
-#include "cvtuifeaturemanager.h"
-#include "CVtUiAppUi.h"
-#include "tvtuilocalvariation.h"
-#include "tvtuistates.h"
-#include "cvtuifeaturemanager.h"
-#include "cvtuicommandmanager.h"
-
-// Implementation of TVtUiWhiteBalanceComponentState
-
-// ---------------------------------------------------------------------------
-// TVtUiWhiteBalanceComponentState::TVtUiWhiteBalanceComponentState
-// ---------------------------------------------------------------------------
-//
-TVtUiWhiteBalanceComponentState::TVtUiWhiteBalanceComponentState(
- MVtUiComponent& aComponent ) :
- TVtUiComponentState( aComponent,
- TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdToolbar |
- MVtUiComponent::EComponentIdNumberEntry ) )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiWhiteBalance* CVtUiWhiteBalance::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.NewL" )
- CVtUiWhiteBalance* self =
- new ( ELeave ) CVtUiWhiteBalance( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiWhiteBalance.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::~CVtUiWhiteBalance
-// ---------------------------------------------------------------------------
-//
-CVtUiWhiteBalance::~CVtUiWhiteBalance()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.~CVtUiWhiteBalance" )
- // unregister layout change
- iFeatureManager.ComponentManager().ChangeLayoutChangeRegistration(
- *this, MVtUiComponentManager::EUnregister );
- // unregister component
- iFeatureManager.ComponentManager().ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::EUnregister );
- __VTPRINTEXIT( "CVtUiWhiteBalance.~CVtUiWhiteBalance" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiWhiteBalance::StartL()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.StartL" )
- if ( iFeatureState == MVtUiFeature::EReady )
- {
- iFeatureManager.AppUi().EnableCommandActivatingAndCleanupPushL();
- iFeatureManager.UiStates().SetIsFixedToolbarVisible( EFalse );
- iFeatureManager.ComponentManager().
- RequestActivationL ( MVtUiComponent::EComponentIdWhiteBalance );
- CleanupStack::Pop(); // EnableCommandActivatingAndCleanupPushL
- // set state
- iFeatureState = MVtUiFeature::EActive;
- }
- __VTPRINTEXIT( "CVtUiWhiteBalance.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiWhiteBalance::Stop()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.Stop" )
- iAsyncCallback->Cancel();
- iAsyncCallback->Set( TCallBack( &DoStopL, this ) );
- iAsyncCallback->CallBack();
- __VTPRINTEXIT( "CVtUiWhiteBalance.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiWhiteBalance::InitFeatureL()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.InitFeatureL" )
- CVtUiPrefSettingListBase::InitFeatureL();
- User::LeaveIfError(
- iFeatureManager.ComponentManager().ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::ERegister ) );
- User::LeaveIfError(
- iFeatureManager.ComponentManager().ChangeLayoutChangeRegistration(
- *this, MVtUiComponentManager::ERegister ) );
- iFeatureState = EReady;
- __VTPRINTEXIT( "CVtUiWhiteBalance.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::ComponentId
-// ---------------------------------------------------------------------------
-//
-MVtUiComponent::TComponentId CVtUiWhiteBalance::ComponentId() const
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.ComponentId" )
- __VTPRINTEXIT( "CVtUiWhiteBalance.ComponentId" )
- return MVtUiComponent::EComponentIdWhiteBalance;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::ComponentAsControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVtUiWhiteBalance::ComponentAsControl()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.ComponentAsControl" )
- __VTPRINTEXIT( "CVtUiWhiteBalance.ComponentAsControl" )
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiWhiteBalance::DoActivateL()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.DoActivateL" )
- // get supported white balance modes
- iCameraPref->GetSupportedWhiteBalanceModes( iSupportedModes );
- __VTPRINT2( DEBUG_GEN,"CVtUiWhiteBalance.DoActivateL=%d", iSupportedModes )
- iFeatureManager.UiStates().SetWhiteBalanceModeOn( ETrue );
- iAsyncCallback->Cancel();
- iAsyncCallback->Set( TCallBack( &DoStartL, this ) );
- iAsyncCallback->CallBack();
- __VTPRINTEXIT( "CVtUiWhiteBalance.DoActivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::DoDeactivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiWhiteBalance::DoDeactivateL()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.DoDeactivateL" )
- iFeatureManager.UiStates().SetWhiteBalanceModeOn( EFalse );
- CVtUiPrefSettingListBase::StopSettingPageL();
- __VTPRINTEXIT( "CVtUiWhiteBalance.DoDeactivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::HandleLayoutChangeL
-// ---------------------------------------------------------------------------
-//
-void CVtUiWhiteBalance::HandleLayoutChangeL()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.HandleLayoutChangeL" )
- if ( iFeatureState == MVtUiFeature::EActive )
- {
- SizeChanged();
- }
- __VTPRINTEXIT( "CVtUiWhiteBalance.HandleLayoutChangeL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::CurrentSelection
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiWhiteBalance::CurrentSelection()
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.CurrentSelection" )
- // ask from engine which item is currently active
- MVtEngCameraPreferences::TWhiteBalance wb;
- if ( iCameraPref->GetWhiteBalance( wb ) )
- {
- __VTPRINT( DEBUG_GEN, "CurrentSelection::error" );
- __VTPRINTEXIT( "CVtUiWhiteBalance.CurrentSelection" )
- // if error occured return 0 i.e. first list item
- return 0;
- }
- __VTPRINTEXIT( "CVtUiWhiteBalance.CurrentSelection" )
- return MapWBEnumToArrayIndex( wb );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::SetItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiWhiteBalance::SetItemsL( CDesCArray& aArray )
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.SetItemsL" )
- __VTPRINT2( DEBUG_GEN, "CVtUiWhiteBalance.SetItemsL=%d", iSupportedModes )
- // Auto mode allways supported
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_AUTOMATIC_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::EAuto );
-
- if( iSupportedModes & MVtEngCameraPreferences::EDaylight )
- {
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_SUNNY_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::EDaylight );
- }
- if( iSupportedModes & MVtEngCameraPreferences::ECloudy )
- {
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_CLOUDY_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::ECloudy );
- }
- if( iSupportedModes & MVtEngCameraPreferences::ETungsten )
- {
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_INCANDESCENT_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::ETungsten );
- }
- if( iSupportedModes & MVtEngCameraPreferences::EFluorescent )
- {
- ReadAndAppendItemL( aArray, R_VIDEOTELUI_QTN_INCAL_FLUORESCENT_OPTION );
- iActiveItems.Append( MVtEngCameraPreferences::EFluorescent );
- }
- __VTPRINTEXIT( "CVtUiWhiteBalance.SetItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::SettingPageResId
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiWhiteBalance::SettingPageResId() const
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.SettingPageResId" )
- __VTPRINTEXIT( "CVtUiWhiteBalance.SettingPageResId" )
- return R_VIDEOTELUI_WHITE_BALANCE_SETTING_PAGE;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::SettingPageItemChangedL
-// ---------------------------------------------------------------------------
-//
-void CVtUiWhiteBalance::SettingPageItemChangedL( TInt aIndex )
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.SettingPageItemChangedL" )
- __VTPRINT2( DEBUG_GEN, "CVtUiWhiteBalance.index=%d", aIndex )
- if ( iFeatureManager.UiStates().ExecState() == TVtUiStates::EExecStateResetting )
- {
- __VTPRINTEXIT( "CVtUiWhiteBalance.SettingPageItemChangedL" )
- return;
- }
- // Map index to right white balance value
- MVtEngCameraPreferences::TWhiteBalance wb = MapArrayIndexToWBEnum( aIndex );
-
- // cast the parameter
- TPtrC8 params( reinterpret_cast< TUint8* >( &wb ),
- sizeof( MVtEngCameraPreferences::TWhiteBalance ) );
-
- // Adjust white balance
- MVtEngMedia::TCameraId camId;
- iFeatureManager.AppUi().Model().Media().GetCurrentCameraId(camId);
-
- if( camId == MVtEngMedia::ESecondaryCamera )
- {
- iFeatureManager.AppUi().DoExecuteCmdL( KVtEngSetWhiteBalance, ¶ms );
- iPendingSettingChangeCmd = EFalse;
- }
- else
- iPendingSettingChangeCmd = ETrue;
- __VTPRINTEXIT( "CVtUiWhiteBalance.SettingPageItemChangedL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::CVtUiWhiteBalance
-// ---------------------------------------------------------------------------
-//
-CVtUiWhiteBalance::CVtUiWhiteBalance( CVtUiFeatureManager& aFeatureManager )
- : CVtUiPrefSettingListBase( aFeatureManager, EVtUiFeatureIdWhiteBalance ),
- iComponentState( *this )
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.CVtUiWhiteBalance" )
- __VTPRINTEXIT( "CVtUiWhiteBalance.CVtUiWhiteBalance" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::MapWBEnumToArrayIndex
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiWhiteBalance::MapWBEnumToArrayIndex( MVtEngCameraPreferences::
- TWhiteBalance& aWhiteBalance ) const
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.MapWBEnumToArrayIndex" )
- __VTPRINT2( DEBUG_GEN, "CVtUiWhiteBalance.cpunt=%d", iActiveItems.Count() )
- for ( TInt i = 0; i < iActiveItems.Count(); ++i )
- {
- if ( iActiveItems [ i ] == aWhiteBalance )
- {
- __VTPRINT2( DEBUG_GEN, "CVtUiWhiteBalance.index=%d", i )
- __VTPRINTEXIT( "CVtUiWhiteBalance.MapWBEnumToArrayIndex" )
- return i;
- }
- }
- // not found
- __VTPRINTEXIT( "CVtUiWhiteBalance.MapWBEnumToArrayIndexNF" )
- return KErrNotFound;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::MapArrayIndexToWBEnum
-// ---------------------------------------------------------------------------
-//
-MVtEngCameraPreferences::TWhiteBalance CVtUiWhiteBalance::
- MapArrayIndexToWBEnum( TInt aIndex) const
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.MapArrayIndexToWBEnum" )
- __VTPRINT2( DEBUG_GEN, "CVtUiWhiteBalance.index=%d", aIndex )
- __VTPRINT2( DEBUG_GEN, "CVtUiWhiteBalance.count=%d", iActiveItems.Count() )
- const TInt count = iActiveItems.Count();
- if ( count > 0 && aIndex < count && aIndex >= 0 )
- {
- __VTPRINTEXIT( "CVtUiWhiteBalance.MapArrayIndexToWBEnum" )
- return static_cast< MVtEngCameraPreferences::TWhiteBalance >
- ( iActiveItems[ aIndex ] );
- }
- else // not valid index return first item in the list
- {
- __VTPRINTEXIT( "CVtUiWhiteBalance.MapArrayIndexToWBEnum_ERROR_INDEX" )
- return static_cast< MVtEngCameraPreferences::TWhiteBalance >
- ( iActiveItems[ 0 ] );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::DoStop
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiWhiteBalance::DoStopL( TAny* aAny )
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.DoStopL" )
- CVtUiWhiteBalance* self = static_cast< CVtUiWhiteBalance* >( aAny );
- if ( self->iFeatureState == MVtUiFeature::EActive )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiWhiteBalance::Stop1" );
- self->iFeatureManager.ComponentManager().
- DeActivateComponentL ( MVtUiComponent::EComponentIdWhiteBalance );
- // set state
- self->iFeatureState = MVtUiFeature::EReady;
- }
- __VTPRINTEXIT( "CVtUiWhiteBalance.DoStopL" )
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiWhiteBalance::DoStart
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiWhiteBalance::DoStartL( TAny* aAny )
- {
- __VTPRINTENTER( "CVtUiWhiteBalance.DoStart" )
- CVtUiWhiteBalance* self = static_cast< CVtUiWhiteBalance* >( aAny );
- self->CVtUiPrefSettingListBase::StartSettingPageL();
- self->iFeatureManager.UiStates().SetIsCommandActivating( EFalse );
- __VTPRINTEXIT( "CVtUiWhiteBalance.DoStart" )
- return KErrNone;
- }
--- a/vtuis/videotelui/src/features/softkey/cvtuisoftkeycontext.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 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: Sofkey context class implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuisoftkeycontext.h"
-
-/** Softkey context reference priority */
-const TInt KVtUiSoftkeyContextPriority = 200;
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyContext::~CVtUiSoftkeyContext
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeyContext::~CVtUiSoftkeyContext()
- {
- __VTPRINTENTER( "SKCtx.~" )
- UnregisterCommandContext();
- __VTPRINTEXIT( "SKCtx.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyContext::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeyContext* CVtUiSoftkeyContext::NewL(
- MVtUiCommandManager& aCommandManager )
- {
- __VTPRINTENTER( "SKCtx.NewL" )
- CVtUiSoftkeyContext* self =
- new ( ELeave ) CVtUiSoftkeyContext( aCommandManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "SKCtx.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyContext::ValidateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeyContext::ValidateL( CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "SKCtx.ValidateL" )
- ValidateSoftkeyItemsL( aAction );
- __VTPRINTEXIT( "SKCtx.ValidateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyContext::CVtUiSoftkeyContext
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeyContext::CVtUiSoftkeyContext( MVtUiCommandManager& aCommandManager )
- : CVtUiCmdContext( aCommandManager, EVtUiCmdContextTypeSoftkey,
- KVtUiSoftkeyContextPriority )
- {
- __VTPRINTENTER( "SKCtx.ctor" )
- __VTPRINTEXIT( "SKCtx.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyContext::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeyContext::ConstructL()
- {
- __VTPRINTENTER( "SKCtx.ConstructL" )
- RegisterCommandContextL();
- __VTPRINTEXIT( "SKCtx.ConstructL" )
- }
--- a/vtuis/videotelui/src/features/softkey/cvtuisoftkeys.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 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: Softkey UI feature implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <eikbtgpc.h>
-#include "cvtuisoftkeys.h"
-#include "cvtuisoftkeysetting.h"
-#include "cvtuisoftkeyvalidationaction.h"
-#include "cvtuifeaturemanager.h"
-#include "mvtuicommandmanager.h"
-#include "cvtuisoftkeycontext.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeys* CVtUiSoftkeys::NewL( CVtUiFeatureManager& aFeatureManager,
- CEikButtonGroupContainer& aButtonGroupContainer )
- {
- __VTPRINTENTER( "SKs.NewL" )
- CVtUiSoftkeys* self =
- new ( ELeave ) CVtUiSoftkeys( aFeatureManager, aButtonGroupContainer );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "SKs.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::~CVtUiSoftkeys
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeys::~CVtUiSoftkeys()
- {
- __VTPRINTENTER( "SKs.~" )
- iFeatureManager.CommandManager().RemoveCommandUi( *this );
- delete iSoftkeyCommandContext;
- delete iSoftkeySetting;
- delete iSoftkeyValidationAction;
- __VTPRINTEXIT( "SKs.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::ButtonGroup
-// ---------------------------------------------------------------------------
-//
-CEikButtonGroupContainer& CVtUiSoftkeys::ButtonGroup()
- {
- __VTPRINTENTER( "SKs.ButtonGroup" )
- __VTPRINTEXIT( "SKs.ButtonGroup" )
- return iButtonGroupContainer;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeys::StartL()
- {
- __VTPRINTENTER( "SKs.StartL" )
- __VTPRINTEXIT( "SKs.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeys::Stop()
- {
- __VTPRINTENTER( "SKs.Stop" )
- __VTPRINTEXIT( "SKs.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeys::InitFeatureL()
- {
- __VTPRINTENTER( "SKs.InitFeatureL" )
- __VTPRINTEXIT( "SKs.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::RefreshL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeys::RefreshL()
- {
- __VTPRINTENTER( "SKs.RefreshL" )
- iFeatureManager.CommandManager().ValidateSoftkeyItemsL(
- *iSoftkeyValidationAction );
- iSoftkeySetting->DefineCommandsL( *iSoftkeyValidationAction );
- iButtonGroupContainer.DrawNow();
- __VTPRINTEXIT( "SKs.RefreshL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::AddCommandModifierL
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiSoftkeys::AddCommandModifier( CVtUiCommandModifyBase& aModifier )
- {
- __VTPRINTENTER( "SKs.AddCommandModifier" )
- TInt result( iSoftkeySetting->AddModifier( aModifier ) );
- __VTPRINTEXITR( "SKs.AddCommandModifier %d", result )
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::RemoveCommandModifier
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeys::RemoveCommandModifier( CVtUiCommandModifyBase& aModifier )
- {
- __VTPRINTENTER( "SKs.RemoveCommandModifier" )
- iSoftkeySetting->RemoveModifier( aModifier );
- __VTPRINTEXIT( "SKs.RemoveCommandModifier" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::CVtUiSoftkeys
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeys::CVtUiSoftkeys( CVtUiFeatureManager& aFeatureManager,
- CEikButtonGroupContainer& aButtonGroupContainer )
- : CVtUiFeatureBase( EVtUiFeatureIdSoftkey, aFeatureManager ),
- iButtonGroupContainer( aButtonGroupContainer )
- {
- __VTPRINTENTER( "SKs.ctor" )
- __VTPRINTEXIT( "SKs.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeys::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeys::ConstructL()
- {
- __VTPRINTENTER( "SKs.ConstructL" )
- iSoftkeyCommandContext = CVtUiSoftkeyContext::NewL(
- iFeatureManager.CommandManager() );
- iSoftkeySetting = new ( ELeave ) CVtUiSoftkeySetting( *this );
- iSoftkeyValidationAction = CVtUiSoftkeyValidationAction::NewL();
- User::LeaveIfError(
- iFeatureManager.CommandManager().AddCommandUi( *this ) );
- __VTPRINTEXIT( "SKs.ConstructL" )
- }
-
--- a/vtuis/videotelui/src/features/softkey/cvtuisoftkeysetting.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 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: Softkey setting implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <eikbtgpc.h>
-
-#include "cvtuisoftkeys.h"
-#include "cvtuisoftkeysetting.h"
-#include "cvtuisoftkeyvalidationaction.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeySetting::~CVtUiSoftkeySetting
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeySetting::~CVtUiSoftkeySetting()
- {
- __VTPRINTENTER( "SKSet.~" )
- __VTPRINTEXIT( "SKSet.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeySetting::CVtUiSoftkeySetting
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeySetting::CVtUiSoftkeySetting( CVtUiSoftkeys& aSoftkeys ) :
- CVtUiCommandSetting( ECommandTypeSoftkeys ),
- iSoftkeys( &aSoftkeys )
- {
- __VTPRINTENTER( "SKSet.ctor" )
- __VTPRINTEXIT( "SKSet.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeySetting::DoDefineCommandsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeySetting::DoDefineCommandsL()
- {
- __VTPRINTENTER( "SKSet.DoDefineCommandsL" )
- iSoftkeys->ButtonGroup().SetCommandSetL( Action().ResourceId() );
- __VTPRINTEXIT( "SKSet.DoDefineCommandsL" )
- }
--- a/vtuis/videotelui/src/features/softkey/cvtuisoftkeyvalidationaction.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 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: Softkey validation action implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <videotelui.rsg>
-#include <avkon.rsg>
-
-#include "cvtuisoftkeyvalidationaction.h"
-#include "tvtuicmdvalidatorcallback.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// softkey ids
-static const TInt SKIDS[] =
- {
- R_AVKON_SOFTKEYS_OPTIONS_BACK,
- R_VIDEOTELUI_SOFTKEYS_EMPTY_ACTIVE_COMMAND,
- R_VIDEOTELUI_SOFTKEYS_EMPTY_DIALEREXIT,
- R_VIDEOTELUI_SOFTKEYS_SHARE_OBJECT_IMAGE,
- R_VIDEOTELUI_SOFTKEYS_CAPTURE_VIDEO,
- R_VIDEOTELUI_SOFTKEYS_ENABLE_AUDIO,
- R_VIDEOTELUI_SOFTKEYS_ENABLE_VIDEO,
- R_VIDEOTELUI_SOFTKEYS_DIALER,
- R_VIDEOTELUI_SOFTKEYS_BT_HANDSFREE,
- R_VIDEOTELUI_SOFTKEYS_LOUDSPEAKER,
- R_VIDEOTELUI_SOFTKEYS_HANDSET_B,
- R_VIDEOTELUI_SOFTKEYS_END_CALL,
- R_AVKON_SOFTKEYS_EMPTY // this is end marker, keep it last
- };
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyValidationAction::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeyValidationAction* CVtUiSoftkeyValidationAction::NewL()
- {
- __VTPRINTENTER( "SKValAct.NewL" )
- CVtUiSoftkeyValidationAction* self =
- new ( ELeave ) CVtUiSoftkeyValidationAction();
- __VTPRINTEXIT( "SKValAct.NewL" )
- return self;
- }
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyValidationAction::BeginProcess
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeyValidationAction::BeginProcess()
- {
- __VTPRINTENTER( "SKValAct.EndProcess" )
- CVtUiCmdValidationActionBase::BeginProcess();
- iCurrentIdx = 0;
- __VTPRINTEXIT( "SKValAct.EndProcess" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyValidationAction::ProcessL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSoftkeyValidationAction::ProcessL(
- const MVtUiCmdValidatorCallBack& aCallBack )
- {
- __VTPRINTENTER( "SKValAct.ProcessL" )
- while ( SKIDS[ iCurrentIdx ] != R_AVKON_SOFTKEYS_EMPTY )
- {
- if ( aCallBack.Call( SKIDS[ iCurrentIdx ] ) )
- {
- break;
- }
- else
- {
- iCurrentIdx++;
- }
- }
- __VTPRINTEXIT( "SKValAct.ProcessL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyValidationAction::ResourceId
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiSoftkeyValidationAction::ResourceId() const
- {
- __VTPRINTENTER( "SKValAct.ResourceId" )
- __VTPRINTEXITR( "SKValAct.ResourceId %d", SKIDS[ iCurrentIdx ] )
- return SKIDS[ iCurrentIdx ];
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSoftkeyValidationAction::CVtUiSoftkeyValidationAction
-// ---------------------------------------------------------------------------
-//
-CVtUiSoftkeyValidationAction::CVtUiSoftkeyValidationAction()
- {
- __VTPRINTENTER( "SKValAct.ctor" )
- __VTPRINTEXIT( "SKValAct.ctor" )
- }
-
--- a/vtuis/videotelui/src/features/toolbar/cvtuifixedtoolbar.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-/*
-* 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: Fixed toolbar UI feature implementation.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "cvtuifixedtoolbar.h"
-#include "cvtuifeaturemanager.h"
-#include "mvtuicomponentmanager.h"
-#include "mvtuicommandmanager.h"
-#include "videotelui.hrh"
-#include "tvtuistates.h"
-#include "cvtuitoolbarcmdpolicy.h"
-#include "cvtuitoolbarskmodifier.h"
-#include "CVtUiAppUi.h"
-#include <videotelui.rsg>
-#include <cvtlogger.h>
-#include <akntoolbar.h>
-#include "tvtuistates.h"
-#include <layoutmetadata.cdl.h>
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::NewL
-// -----------------------------------------------------------------------------
-//
-CVtUiFixedToolbar* CVtUiFixedToolbar::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "FixedToolbar.NewL" )
- CVtUiFixedToolbar* self = new ( ELeave ) CVtUiFixedToolbar(
- aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- __VTPRINTEXIT( "FixedToolbar.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::CVtUiFixedToolbar
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiFixedToolbar::CVtUiFixedToolbar( CVtUiFeatureManager&
- aFeatureManager ) : CVtUiToolbarBase( aFeatureManager )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiFixedToolbar::ConstructL()
- {
- __VTPRINTENTER( "FixedToolbar.ConstructL" )
- BaseConstructL();
-
- //create toolbar
- iToolbar = iFeatureManager.AppUi().CurrentFixedToolbar();
-
- // create and add items into the toolbar
- CreateToolbarButtonsL();
-
- // Dim all toolbar buttons until first refresh is called
- DimToolbarbuttons( ETrue );
-
- if ( !Layout_Meta_Data::IsLandscapeOrientation() )
- {
- MakeToolbarVisible( EFalse );
- }
-
- __VTPRINTEXIT( "FixedToolbar.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::~CVtUiFixedToolbar
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiFixedToolbar::~CVtUiFixedToolbar()
- {
- __VTPRINTENTER( "FixedToolbar.~" )
- delete iIdle;
- __VTPRINTEXIT( "FixedToolbar.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::CreateToolbarButtons
-// -----------------------------------------------------------------------------
-//
-void CVtUiFixedToolbar::CreateToolbarButtonsL()
- {
- __VTPRINTENTER( "FixedToolbar.CreateToolbarButtons" )
- // Default buttons created in base clase
- CVtUiToolbarBase::CreateToolbarButtonsL();
-
- // toggle microphone
- CreateToolbarItemL( R_AVKONBUTTON_AUDIO_ROUTING_BUTTON,
- EVtUiCmdToolbarAudioRouting, iFeatureManager.AppUi() );
-
-
- __VTPRINTEXIT( "FixedToolbar.CreateToolbarButtons" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::PopulateCmdsIdsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFixedToolbar::PopulateCmdsIdsL()
- {
- __VTPRINTENTER( "FixedToolbar.PopulateCmdsIdsL" )
- // Default commands populated in base clase
- CVtUiToolbarBase::PopulateCmdsIdsL();
-
- CVtUiAppUi& appUi = iFeatureManager.AppUi();
-
- iCmdIds.AppendL( EVtUiCmdActivateBT );
- iCmdIds.AppendL( EVtUiCmdSwitchFromBTToIHF );
- iCmdIds.AppendL( EVtUiCmdActivateLoudspeaker );
- iCmdIds.AppendL( EVtUiCmdDeactivateLoudspeaker );
-
- __VTPRINTEXIT( "FixedToolbar.PopulateCmdsIdsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::SetToolbarVisibilityAfterLayoutChangeL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFixedToolbar::SetToolbarVisibilityAfterLayoutChangeL( TBool aVisible )
- {
- // Portrait to landscape show tb
- __VTPRINTENTER( "FixedToolbar.SetToolbarVisibilityAfterLayoutChangeL" )
- if( aVisible )
- {
- __VTPRINT(DEBUG_GEN, "FixedToolbar.SetToolbarVisibilityAfterLayoutChangeL.1" )
- // Set flag
- iFeatureManager.UiStates().SetIsFixedToolbarVisible( ETrue );
- // set visible
- iFeatureManager.AppUi().CurrentFixedToolbar()
- ->SetToolbarVisibility( ETrue );
- // Set callback to dim toolbarbuttons
- if ( !iIdle )
- {
- iIdle = CIdle::NewL( CActive::EPriorityIdle );
- }
- iIdle->Start( TCallBack( &DoDimToolbarButtons, this ) );
- }
- // Landsacpe to portrait hide tb
- else
- {
- __VTPRINT(DEBUG_GEN, "FixedToolbar.SetToolbarVisibilityAfterLayoutChangeL.2" )
- DimToolbarbuttons( EFalse );
- iFeatureManager.AppUi().CurrentFixedToolbar()
- ->SetToolbarVisibility( EFalse );
- // Set flag
- iFeatureManager.UiStates().SetIsFixedToolbarVisible( EFalse );
- }
- __VTPRINTEXIT( "FixedToolbar.SetToolbarVisibilityAfterLayoutChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::DimToolbarbuttons
-// -----------------------------------------------------------------------------
-//
-void CVtUiFixedToolbar::DimToolbarbuttons( TBool aIsDimmed )
- {
- __VTPRINTENTER( "FixedToolbar.DimToolbarbuttons" )
- iToolbar->SetItemDimmed( EVtUiCmdToolbarToggleVideo, aIsDimmed, EFalse );
- iToolbar->SetItemDimmed( EVtUiCmdToolbarToggleMicrophone, aIsDimmed, EFalse );
- iToolbar->SetItemDimmed( EVtUiCmdToolbarAudioRouting, aIsDimmed, ETrue );
- __VTPRINTEXITR( "FixedToolbar.DimToolbarbuttons %d", aIsDimmed )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::MakeToolbarVisible
-// -----------------------------------------------------------------------------
-//
-void CVtUiFixedToolbar::MakeToolbarVisible( const TBool aVisible )
- {
- __VTPRINTENTER( "FixedToolbar.MakeToolbarVisible" )
- iFeatureManager.AppUi().CurrentFixedToolbar()->
- SetToolbarVisibility( aVisible );
- iFeatureManager.UiStates().SetIsFixedToolbarVisible( aVisible );
- __VTPRINTEXITR( "FixedToolbar.MakeToolbarVisible %d", aVisible )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::DoShowToolbarL
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiFixedToolbar::DoShowToolbarL( TAny* aAny )
- {
- __VTPRINTENTER( "FixedToolbar.DoShowToolbarL" )
- CVtUiFixedToolbar* self = static_cast< CVtUiFixedToolbar* >( aAny );
- self->iFeatureManager.AppUi().CurrentFixedToolbar()
- ->SetToolbarVisibility( ETrue );
- __VTPRINTEXIT( "FixedToolbar.DoShowToolbarL" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::DoToolbarButton
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiFixedToolbar::DoDimToolbarButtons( TAny* aAny )
- {
- __VTPRINTENTER( "FixedToolbar.DoDimToolbarButtons" )
- CVtUiFixedToolbar* self = static_cast< CVtUiFixedToolbar* >( aAny );
- self->DimToolbarbuttons( ETrue );
- __VTPRINTEXIT( "FixedToolbar.DoDimToolbarButtons" )
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFixedToolbar::DoActivateL()
- {
- __VTPRINTENTER( "FixedToolbar.DoActivateL" )
- if ( !iFeatureManager.UiStates().IsFixedToolbarVisible() &&
- !Layout_Meta_Data::IsLandscapeOrientation() )
- {
- // reset flag
- iFeatureManager.UiStates().SetIsFixedToolbarVisible( ETrue );
- // Show toolbar with delay in order to prevent overdrawing
- // witht other components.
- iAsyncCallback->Cancel();
- iAsyncCallback->Set( TCallBack( &DoShowToolbarL, this ) );
- iAsyncCallback->CallBack();
- }
- else
- {
- // Undim buttons
- __VTPRINT( DEBUG_GEN, "FixedToolbar.DoDeactivateL.DTB EFalse" )
- // toolbar might be unvisible, because condition in the contructor
- // "if ( !Layout_Meta_Data::IsLandscapeOrientation() )"
- // will be evaluated ture eventhough the orientation is forced to be landsacepe
- // because it seems that the orientation is still portrait in the constructor phase
- MakeToolbarVisible( ETrue );
- DimToolbarbuttons( EFalse );
- }
- // Start blocking pointer events
- BlockPointerEvents( ETrue );
- // Base class
- CVtUiToolbarBase::DoActivateL();
- __VTPRINTEXIT( "FixedToolbar.DoActivateL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFixedToolbar::DoDeactivateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFixedToolbar::DoDeactivateL()
- {
- __VTPRINTENTER( "FixedToolbar.DoDeactivateL" )
- iAsyncCallback->Cancel();
- if ( !iFeatureManager.UiStates().IsFixedToolbarVisible() &&
- !Layout_Meta_Data::IsLandscapeOrientation() )
- {
- iFeatureManager.AppUi().CurrentFixedToolbar()
- ->SetToolbarVisibility( EFalse );
- __VTPRINT( DEBUG_GEN, "FixedToolbar.DoDeactivateL.Vs" )
- }
- else
- {
- // Dim all buttons
- __VTPRINT( DEBUG_GEN, "FixedToolbar.DoDeactivateL.DTB ETrue" )
- DimToolbarbuttons( ETrue );
- }
- // Stop blocking pointer events
- BlockPointerEvents( EFalse );
- // Base class
- CVtUiToolbarBase::DoDeactivateL();
- __VTPRINTEXIT( "FixedToolbar.DoDeactivateL" )
- }
-
-// End of File
--- a/vtuis/videotelui/src/features/toolbar/cvtuifloatingtoolbar.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,468 +0,0 @@
-/*
-* 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: Floating toolbar UI feature implementation.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "cvtuifloatingtoolbar.h"
-#include "cvtuifeaturemanager.h"
-#include "mvtuicomponentmanager.h"
-#include "mvtuicommandmanager.h"
-#include "cvtuitoolbarbutton.h"
-#include "videotelui.hrh"
-#include "tVtuifeaturevariation.h"
-#include "tvtuistates.h"
-#include "cvtuitoolbarcmdpolicy.h"
-#include "cvtuitoolbarskmodifier.h"
-#include "CVtUiAppUi.h"
-#include <videotelui.rsg>
-#include <cvtlogger.h>
-#include <akntoolbar.h>
-#include <aknutils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <gfxtranseffect/gfxtranseffect.h>
-
-// CONSTANTS
-static const TInt KThreeToolbarbuttons = 3;
-static const TInt KFourToolbarbuttons = 4;
-static const TInt KFiveToolbarbuttons = 5;
-static const TInt KSixToolbarbuttons = 6;
-static const TInt KSevenToolbarbuttons = 7;
-
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::NewL
-// -----------------------------------------------------------------------------
-//
-CVtUiFloatingToolbar* CVtUiFloatingToolbar::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "FloatingToolbar.NewL" )
- TVtUiSideVolumeKeysVariation svkvariation;
- if ( !svkvariation.IsSideVolumeKeysSupported() )
- {
- // User of this class should notice that newl could return null,
- // even if no leave happened.
- __VTPRINT(DEBUG_GEN, "Toolbar.NewL.NULL" )
- return NULL;
- }
- CVtUiFloatingToolbar* self = new ( ELeave ) CVtUiFloatingToolbar(
- aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- __VTPRINTEXIT( "FloatingToolbar.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::CVtUiFloatingToolbar
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiFloatingToolbar::CVtUiFloatingToolbar( CVtUiFeatureManager&
- aFeatureManager ) : CVtUiToolbarBase( aFeatureManager )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::ConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiFloatingToolbar::ConstructL()
- {
- __VTPRINTENTER( "FloatingToolbar.ConstructL" )
- BaseConstructL();
-
- // fixed toolbar is always visible ( defined in resource) hide it
- iFeatureManager.AppUi().CurrentFixedToolbar()->SetToolbarVisibility( EFalse );
-
- // create toolbar
- iToolbar = CAknToolbar::NewL( R_VIDEOTELUI_FLOATING_TOOLBAR );
-
- GfxTransEffect::Register( iToolbar, KNullUid, EFalse );
-
- // create and add items into the toolbar
- CreateToolbarButtonsL();
-
- iFeatureManager.UiStates().SetIsFloatingToolbarVisible( EFalse );
-
- // layout toolbar
- LayoutToolbarL();
-
- User::LeaveIfError(
- iFeatureManager.ComponentManager().ChangeResourceChangeRegistration(
- *this, MVtUiComponentManager::ERegister ) );
-
- __VTPRINTEXIT( "FloatingToolbar.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::~CVtUiFloatingToolbar
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiFloatingToolbar::~CVtUiFloatingToolbar()
- {
- __VTPRINTENTER( "FloatingToolbar.~" )
- // unregister resource change registration
- iFeatureManager.ComponentManager().ChangeResourceChangeRegistration(
- *this, MVtUiComponentManager::EUnregister );
- delete iToolbar;
- iToolbar = NULL;
- __VTPRINTEXIT( "FloatingToolbar.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::PopulateCmdsIdsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFloatingToolbar::PopulateCmdsIdsL()
- {
- __VTPRINTENTER( "FloatingToolbar.PopulateCmdsIdsL" )
- CVtUiAppUi& appUi = iFeatureManager.AppUi();
-
- // Default commands populated in base clase
- CVtUiToolbarBase::PopulateCmdsIdsL();
-
- iCmdIds.AppendL( EVtUiCmdZoom );
-
- switch( iNumberOfToolbarButtons )
- {
- case KFourToolbarbuttons:
- iCmdIds.AppendL( EVtUiCmdUsePrimaryCamera );
- iCmdIds.AppendL( EVtUiCmdUseSecondaryCamera );
- break;
-
- case KFiveToolbarbuttons:
- iCmdIds.AppendL( EVtUiCmdUsePrimaryCamera );
- iCmdIds.AppendL( EVtUiCmdUseSecondaryCamera );
- iCmdIds.AppendL( EVtUiCmdSwapImagesPlaces );
- break;
-
- case KSixToolbarbuttons:
- iCmdIds.AppendL( EVtUiCmdUsePrimaryCamera );
- iCmdIds.AppendL( EVtUiCmdUseSecondaryCamera );
- iCmdIds.AppendL( EVtUiCmdSwapImagesPlaces );
- iCmdIds.AppendL( EVtUiCmdShareObjectImage );
- break;
- /*
- case KSevenToolbarbuttons:
- iCmdIds.AppendL( EVtUiCmdUsePrimaryCamera );
- iCmdIds.AppendL( EVtUiCmdUseSecondaryCamera );
- iCmdIds.AppendL( EVtUiCmdSwapImagesPlaces );
- iCmdIds.AppendL( EVtUiCmdShareObjectImage );
- iCmdIds.AppendL( EVtUiCmdSnapshot );
- break;
- */
- default:
- break;
- }
-
- __VTPRINTEXIT( "FloatingToolbar.PopulateCmdsIdsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::CreateToolbarButtons
-// -----------------------------------------------------------------------------
-//
-void CVtUiFloatingToolbar::CreateToolbarButtonsL()
- {
- __VTPRINTENTER( "FloatingToolbar.CreateToolbarButtons" )
-
- // Default buttons created in base clase
- CVtUiToolbarBase::CreateToolbarButtonsL();
-
- CVtUiAppUi& appUi = iFeatureManager.AppUi();
-
- // activate zoom mode
- CreateToolbarItemL( R_AVKONBUTTON_ACTIVATE_ZOOM_MODE_BUTTON,
- EVtUiCmdZoom, appUi );
- // disable tooltip from button's latched state
- // because tooltip needs to be shown only when
- // button gets focus not then when button is selected
- FindToolbarItemByCommandId( EVtUiCmdZoom )->State( 1 )
- ->SetHelpTextL( KNullDesC() );
-
- switch( iNumberOfToolbarButtons )
- {
- case KFourToolbarbuttons:
- // toggle camera
- CreateToolbarItemL( R_AVKONBUTTON_TOGGLE_CAMERA_BUTTON,
- EVtUiCmdToolbarToggleCamera, appUi );
- break;
-
- case KFiveToolbarbuttons:
- // toggle camera
- CreateToolbarItemL( R_AVKONBUTTON_TOGGLE_CAMERA_BUTTON,
- EVtUiCmdToolbarToggleCamera, appUi );
-
- // swap images
- CreateToolbarItemL( R_AVKONBUTTON_SWAP_IMAGES_BUTTON,
- EVtUiCmdSwapImagesPlaces, appUi );
- break;
-
- case KSixToolbarbuttons:
- // toggle camera
- CreateToolbarItemL( R_AVKONBUTTON_TOGGLE_CAMERA_BUTTON,
- EVtUiCmdToolbarToggleCamera, appUi );
-
- // swap images
- CreateToolbarItemL( R_AVKONBUTTON_SWAP_IMAGES_BUTTON,
- EVtUiCmdSwapImagesPlaces, appUi );
-
- // share file
- CreateToolbarItemL(R_AVKONBUTTON_SHARE_FILE_BUTTON,
- EVtUiCmdShareObjectImage, appUi );
- break;
- /*
- case KSevenToolbarbuttons:
- // toggle camera
- CreateToolbarItemL( R_AVKONBUTTON_TOGGLE_CAMERA_BUTTON,
- EVtUiCmdToolbarToggleCamera, appUi );
-
- // swap images
- CreateToolbarItemL( R_AVKONBUTTON_SWAP_IMAGES_BUTTON,
- EVtUiCmdSwapImagesPlaces, appUi );
-
- // share file
- CreateToolbarItemL(R_AVKONBUTTON_SHARE_FILE_BUTTON,
- EVtUiCmdShareObjectImage, appUi );
-
- CreateToolbarItemL( R_AVKONBUTTON_SNAPSHOT_BUTTON,
- EVtUiCmdSnapshot, appUi );
-
- break;
- */
- default:
- break;
- }
-
- __VTPRINTEXIT( "FloatingToolbar.CreateToolbarButtons" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFloatingToolbar::DoActivateL()
- {
- __VTPRINTENTER( "FloatingToolbar.DoActivateL" )
- // start blocking key events
- BlockKeyEvents( ETrue );
- // make toolbar visible
- if ( !iToolbar->IsVisible() ||
- !iFeatureManager.UiStates().IsFloatingToolbarVisible() )
- {
- // Show toolbar
- iToolbar->SetToolbarVisibility( ETrue );
- }
- else
- {
- // Undim toolbar
- DimToolbar( EFalse, EFalse );
- if ( iCmdFocus != KErrNotFound )
- {
- // Set focus item
- iToolbar->SetItemDimmed( iCmdFocus, EFalse, ETrue );
- iToolbar->SetFocusedItemL( iCmdFocus );
- iCmdFocus = KErrNotFound;
- }
- }
- iFeatureManager.UiStates().SetIsFloatingToolbarVisible( EFalse );
- CVtUiToolbarBase::DoActivateL();
- __VTPRINTEXIT( "FloatingToolbar.DoActivateL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::DoDeactivateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFloatingToolbar::DoDeactivateL()
- {
- __VTPRINTENTER( "FloatingToolbar.DoDeactivateL" )
- // stop blocking key events
- BlockKeyEvents( EFalse );
- if ( iToolbar )
- {
- // Save foces item;
- if ( iToolbar->FocusedItem() != KErrNotFound )
- {
- iCmdFocus = iToolbar->FocusedItem();
- }
- TVtUiStates& uiStates = iFeatureManager.UiStates();
- if ( !uiStates.IsFloatingToolbarVisible() )
- {
- __VTPRINT( DEBUG_GEN, "FloatingToolbar.DoDeactivateL.Vs" )
- iToolbar->SetToolbarVisibility( EFalse );
- }
- else
- {
- // Dim toolbar
- __VTPRINT( DEBUG_GEN, "FloatingToolbar.DoDeactivateL.Dim ETrue" )
- DimToolbar( ETrue, EFalse );
- }
- CVtUiAppUi& appUi = iFeatureManager.AppUi();
- const TBool isZoomModeOn( uiStates.IsZoomModeOn() );
- if ( isZoomModeOn )
- {
- // set zoom indicator to be hidden
- appUi.SetZoomModeL( EFalse );
- }
- }
- CVtUiToolbarBase::DoDeactivateL();
- __VTPRINTEXIT( "FloatingToolbar.DoDeactivateL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::HandleResourceChangeL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFloatingToolbar::HandleResourceChangeL( TInt /*aType*/ )
- {
- __VTPRINTENTER( "FloatingToolbar.HandleResourceChangeL" )
- // akntoolbar should allways be in the control stack
- // no need to call
- // iToolbar->HandleResourceChange
- LayoutToolbarL();
- __VTPRINTEXIT( "FloatingToolbar.HandleResourceChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::RectFromLayout
-// -----------------------------------------------------------------------------
-//
-TRect CVtUiFloatingToolbar::RectFromLayout(
- const TAknWindowComponentLayout& aComponentLayout ) const
- {
- __VTPRINTENTER( "FloatingToolbar.RectFromLayout" )
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
-
- TAknWindowLineLayout lineLayout = aComponentLayout.LayoutLine();
- TAknLayoutRect layoutRect;
- layoutRect.LayoutRect( mainPaneRect, lineLayout );
- __VTPRINTEXIT( "FloatingToolbar.RectFromLayout" )
- return layoutRect.Rect();
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::LayoutToolbarL
-// -----------------------------------------------------------------------------
-//
-void CVtUiFloatingToolbar::LayoutToolbarL()
- {
- __VTPRINTENTER( "FloatingToolbar.LayoutToolbarL" )
-
- // Get variety
- TInt variety = GetVariety( Layout_Meta_Data::IsLandscapeOrientation() );
- // get toolbar rect from layout
- TRect toolbarRect = RectFromLayout( AknLayoutScalable_Apps::
- popup_toolbar_window_cp04( variety ).LayoutLine() );
- //set top left coordinates i.e. placeholder
- iToolbar->SetPosition( toolbarRect.iTl );
-
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- __VTPRINT( DEBUG_GEN, "Toolbar.LayoutToolbarL.LS" )
- iToolbar->SetOrientation( EAknOrientationVertical );
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "Toolbar.LayoutToolbarL.PR" )
- iToolbar->SetOrientation( EAknOrientationHorizontal );
- }
- __VTPRINTEXIT( "FloatingToolbar.LayoutToolbarL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiFloatingToolbar::GetVariety
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiFloatingToolbar::GetVariety( TBool aIsLandscapeOrientation )
- {
- __VTPRINTENTER( "FloatingToolbar.GetVariety" )
- TInt variety = 0;
- switch ( iNumberOfToolbarButtons )
- {
- case KThreeToolbarbuttons:
- if( aIsLandscapeOrientation )
- {
- variety = 5;
- }
- else
- {
- variety = 9;
- }
- break;
-
- case KFourToolbarbuttons:
- if( aIsLandscapeOrientation )
- {
- variety = 4;
- }
- else
- {
- variety = 8;
- }
- break;
-
- case KFiveToolbarbuttons:
- if( aIsLandscapeOrientation )
- {
- variety = 3;
- }
- else
- {
- variety = 7;
- }
- break;
-
- case KSixToolbarbuttons:
- if( aIsLandscapeOrientation )
- {
- variety = 2;
- }
- else
- {
- variety = 6;
- }
- break;
-
- case KSevenToolbarbuttons:
- if( aIsLandscapeOrientation )
- {
- variety = 1;
- }
- else
- {
- variety = 4;
- }
- break;
-
- default:
-
- break;
- }
- __VTPRINTEXITR( "FloatingToolbar.GetVariety =%d",variety )
- return variety;
- }
-// End of File
-
--- a/vtuis/videotelui/src/features/toolbar/cvtuihidetoolbaritemaction.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* Copyright (c) 2009 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: Toolbar hide item action class.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include "cvtuihidetoolbaritemaction.h"
-#include "tvtuicmdvalidatorcallback.h"
-#include "tvtuitoolbarcommanditerator.h"
-#include "cvtuitoolbarbase.h"
-#include "videotelui.hrh"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiHideToolbarItemAction::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiHideToolbarItemAction* CVtUiHideToolbarItemAction::NewL(
- CVtUiToolbarBase* aToolbar, const TVtUiStates& aUiStates )
- {
- __VTPRINTENTER( "HideTbAct.NewL" )
- CVtUiHideToolbarItemAction* self =
- new ( ELeave ) CVtUiHideToolbarItemAction( aToolbar, aUiStates );
- __VTPRINTEXIT( "HideTbAct.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiHideToolbarItemAction::~CVtUiHideToolbarItemAction
-// ---------------------------------------------------------------------------
-//
-CVtUiHideToolbarItemAction::~CVtUiHideToolbarItemAction()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiHideToolbarItemAction::ProcessL
-// ---------------------------------------------------------------------------
-//
-void CVtUiHideToolbarItemAction::ProcessL(
- const MVtUiCmdValidatorCallBack& aCallBack )
- {
- __VTPRINTENTER( "HideTbAct.ProcessL" )
- for ( TVtUiToolbarCommandIterator i( *iToolbar ); i.HasNext(); )
- {
- TInt commandId( i.Next() );
- if ( !IsCommandHandled( commandId ) )
- {
- __VTPRINT2( DEBUG_GEN, "HideTbAct.cb.call.cmddId=%d", commandId )
- if ( aCallBack.Call( commandId ) ) // primarypolicy
- { // says can't be shown
- CommandHandledL( commandId );
- SetItemHiddenL( commandId );
- }
- else
- {
- HideOrShowToolbarControlL( commandId );
- }
- }
- }
- __VTPRINTEXIT( "HideTbAct.ProcessL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiHideToolbarItemAction::CVtUiHideToolbarItemAction
-// ---------------------------------------------------------------------------
-//
-CVtUiHideToolbarItemAction::CVtUiHideToolbarItemAction
- ( CVtUiToolbarBase* aToolbar, const TVtUiStates& aUiStates )
- : iToolbar( aToolbar ), iUiStates ( aUiStates )
- {
- __VTPRINTENTER( "HideTbAct.ctor" )
- __VTPRINTEXIT( "HideTbAct.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiHideToolbarItemAction::SetItemHiddenL
-// ---------------------------------------------------------------------------
-//
-void CVtUiHideToolbarItemAction::SetItemHiddenL( TInt aCommandId )
- {
- __VTPRINTENTER( "HideTbAct.SetItemHidden" )
- iToolbar->SetCmdIdVisibilityStateL( aCommandId,
- CVtUiToolbarBase::EHidden );
- __VTPRINTEXIT( "HideTbAct.SetItemHidden" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiHideToolbarItemAction::HideOrShowToolbarControlL
-// ---------------------------------------------------------------------------
-//
-void CVtUiHideToolbarItemAction::HideOrShowToolbarControlL
- ( TInt aCommandId )
- {
- __VTPRINTENTER( "HideTbAct.HideOrShowToolbarControlL" )
- TBool isZoomModeOn = iUiStates.IsZoomModeOn();
- TBool isVolumeModeOn = iUiStates.IsVolumeModeOn();
- TBool isBrightnessModeOn = iUiStates.IsBrightnessModeOn();
- TBool isContrastModeOn = iUiStates.IsContrastModeOn();
- TBool dimmed = EFalse;
- const TVtUiMediaState& mediaState( iUiStates.MediaState() );
- const TVtUiAudioState& audioState( iUiStates.AudioState() );
-
- switch ( aCommandId )
- {
- case EVtUiCmdDisableVideo:
- case EVtUiCmdSwapImagesPlaces:
- case EVtUiCmdDisableAudio:
- case EVtUiCmdEnableAudio:
- if ( isContrastModeOn ||
- isBrightnessModeOn
- || isZoomModeOn || isVolumeModeOn )
- {
- dimmed = ETrue;
- }
- break;
- case EVtUiCmdEnableVideo:
- if ( isZoomModeOn || isVolumeModeOn )
- {
- dimmed = ETrue;
- }
- break;
-
- case EVtUiCmdUsePrimaryCamera:
- case EVtUiCmdUseSecondaryCamera:
- if ( isContrastModeOn ||
- isBrightnessModeOn
- || iUiStates.IsCaptureModeOn() ||
- mediaState.IsSharing()
- || isZoomModeOn || isVolumeModeOn )
- {
- dimmed = ETrue;
- }
- break;
- case EVtUiCmdZoom:
- if ( isContrastModeOn ||
- isBrightnessModeOn||
- !mediaState.IsVideo() ||
- mediaState.IsFrozen() ||
- mediaState.IsSharing() ||
- isVolumeModeOn )
- {
- dimmed = ETrue;
- }
- break;
-
- case EVtUiCmdShareObjectImage:
- if ( isContrastModeOn ||
- isBrightnessModeOn ||
- isZoomModeOn || mediaState.IsFrozen() ||
- mediaState.IsVideoPermanentlyStopped() ||
- isVolumeModeOn )
- {
- dimmed = ETrue;
- }
- break;
-
- case EVtUiCmdActivateBT:
- dimmed = !audioState.CanActivateBtHf() ||
- audioState.IsAudioPermanentlyStopped() ||
- isZoomModeOn || isContrastModeOn ||
- isBrightnessModeOn ||
- isVolumeModeOn ;
- break;
-
- case EVtUiCmdDeactivateLoudspeaker:
- dimmed = !audioState.CanDeactivateLoudspeaker() ||
- audioState.IsAudioPermanentlyStopped() ||
- isZoomModeOn || isContrastModeOn ||
- isBrightnessModeOn ||
- isVolumeModeOn;
- break;
-
- case EVtUiCmdSwitchFromBTToIHF:
- dimmed = !audioState.CanDeactivateBtHf() ||
- !audioState.CanActivateLoudspeaker() ||
- audioState.IsAudioPermanentlyStopped() ||
- isZoomModeOn || isContrastModeOn ||
- isBrightnessModeOn ||
- isVolumeModeOn;
- break;
-
- case EVtUiCmdActivateLoudspeaker:
- dimmed = !audioState.CanActivateLoudspeaker() ||
- audioState.IsAudioPermanentlyStopped() ||
- isZoomModeOn || isContrastModeOn ||
- isBrightnessModeOn ||
- isVolumeModeOn;
- break;
-
- /*
- case EVtUiCmdSnapshot:
- if ( iUiStates.IsContrastModeOn() || iUiStates.IsBrightnessModeOn ()
- || isZoomModeOn || ( !iUiStates.MediaState().IsVideo() &&
- !iUiStates.MediaState().IsFrozen() ) ||
- !iUiStates.MediaState().IsFreezeSupported() || iUiStates.IsContrastModeOn() ||
- iUiStates.IsBrightnessModeOn() || isVolumeModeOn )
- {
- dimmed = ETrue;
- }
- break;
- */
- default:
- dimmed = EFalse;
- break;
- }
-
- // update toolbar's commands visibility values
- if ( dimmed )
- {
- iToolbar->SetCmdIdVisibilityStateL( aCommandId,
- CVtUiToolbarBase::EDimmed );
- }
- else
- {
- iToolbar->SetCmdIdVisibilityStateL( aCommandId,
- CVtUiToolbarBase::EShown );
- }
- __VTPRINTEXIT( "HideTbAct.HideOrShowToolbarControlL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiHideToolbarItemAction::EndProcess
-// ---------------------------------------------------------------------------
-//
-void CVtUiHideToolbarItemAction::EndProcess()
- {
- __VTPRINTENTER( "HideTbAct.EndProcess" )
- TRAP_IGNORE( iToolbar->UpdateToolbarL() );
- __VTPRINTEXIT( "HideTbAct.EndProcess" )
- }
-// End of File
--- a/vtuis/videotelui/src/features/toolbar/cvtuitoolbarbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1244 +0,0 @@
-/*
-* 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: Base class for toolbar.
-*
-*/
-
-
-// INCLUDE FILES
-#include <centralrepository.h>
-#include <cvtlogger.h>
-#include <akntoolbar.h>
-#include <featmgr.h>
-#include <StringLoader.h>
-#include <videotelui.rsg>
-#include "videotelui.hrh"
-#include "cvtuitoolbarbase.h"
-#include "mvtuifeature.h"
-#include "tvtuistates.h"
-#include "cvtuitoolbarcontext.h"
-#include "cvtuitoolbarcmdpolicy.h"
-#include "cvtuicommandpolicymanager.h"
-#include "cvtuihidetoolbaritemaction.h"
-#include "cvtuifeaturemanager.h"
-#include "CVtUiAppUi.h"
-#include "mvtuicommandui.h"
-#include "cvtuitoolbarskmodifier.h"
-#include "mvtuicommandmanager.h"
-#include "mvtuicomponentmanager.h"
-#include "cvtuitoolbarbutton.h"
-#include "VideoTelephonyInternalCRKeys.h"
-#include "tVtuifeaturevariation.h"
-#include "cvtuitoolbarbutton.h"
-#include <layoutmetadata.cdl.h>
-
-// Implementation of TVtUiToolbarComponentState
-
-// ---------------------------------------------------------------------------
-// TVtUiToolbarComponentState::TVtUiToolbarComponentState
-// ---------------------------------------------------------------------------
-//
-TVtUiToolbarComponentState::TVtUiToolbarComponentState(
- MVtUiComponent& aComponent ) :
- TVtUiComponentState( aComponent,
- TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdNull ) )
- {
- }
-
-// ---------------------------------------------------------------------------
-// Used in FindToolbaItemByCommandId method to search toolbar item by cmd id.
-// ---------------------------------------------------------------------------
-//
-TInt ToolbarItemIdCmpFunc( const TInt* aId,
- const CVtUiToolbarButton& aToolbarItem )
- {
- return ( *aId - aToolbarItem.CmdId() );
- }
-
-
-// ---------------------------------------------------------------------------
-// Used in CreateToolbarItemL method to search feature by cmd id.
-// ---------------------------------------------------------------------------
-//
-TInt ToolbarCmpFunc( const CVtUiToolbarButton& aV1, const CVtUiToolbarButton& aV2 )
- {
- return ( aV1.CmdId() - aV2.CmdId() );
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::CVtUiToolbarBase
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtUiToolbarBase::CVtUiToolbarBase( CVtUiFeatureManager& aFeatureManager )
- : CVtUiFeatureBase( EVtUiFeatureIdToolbar, aFeatureManager ),
- iComponentState( *this )
- {
- __VTPRINTENTER( "Toolbar.CVtUiToolbarBase" )
- // Get number of supported buttons.
- // Six is the default value for floating toolbar
- // and three buttons for fixed toolbar
- TVtUiToolbarVariation toolbar;
- iNumberOfToolbarButtons = toolbar.NumberOfButtons();
- iCmdFocus = KErrNotFound;
- __VTPRINTEXITR( "Toolbar.CVtUiToolbarBase %d", iNumberOfToolbarButtons )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::BaseConstructL
-// Symbian 2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::BaseConstructL()
- {
- __VTPRINTENTER( "Toolbar.ConstructL" )
- CVtUiFeatureBase::BaseConstructL();
- iFeatureManager.UiStates().SetIsToolbarAvailable( ETrue );
- __VTPRINTEXIT( "Toolbar.ConstructL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::~CVtUiToolbarBase
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtUiToolbarBase::~CVtUiToolbarBase()
- {
- __VTPRINTENTER( "Toolbar.~" )
- // Stop();
- // Stop can not be called here if toolbar is asked from ui fw = fixed toolbar.
- // If stop is called a crash occurs, whose root cause can not be solved.
- // It is related somehow with focus lost in ui fw.
-
- Clean();
- // unregister layout change
- iFeatureManager.ComponentManager().ChangeLayoutChangeRegistration(
- *this, MVtUiComponentManager::EUnregister );
- // no need tot call resetanddestroy because buttons ownership is
- // transferred to akntoolbar.
- iToolBarControls.Reset();
- delete iToolbarCtx;
- delete iToolbarCmdPolicy;
- delete iHideToolbarItemAction;
- delete iToolbarSKModifier;
- iCmdIds.Close();
- iCmdStates.Close();
- __VTPRINTEXIT( "Toolbar.~" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::DynInitToolbarL
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::DynInitToolbarL( TInt /*aResourceId*/,
- CAknToolbar* /*aToolbar*/ )
- {
- __VTPRINTENTER( "Toolbar.DynInitToolbarL" )
- __VTPRINTEXIT( "Toolbar.DynInitToolbarL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::OfferToolbarEventL
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::OfferToolbarEventL( TInt aCommand )
- {
- __VTPRINTENTER( "Toolbar.OfferToolbarEventL" )
- __VTPRINT2( DEBUG_GEN, "Toolbar.OfferToolbarEventL.aCommand=%d", aCommand )
-
- // if capture mode is on all msk events must be converted to capture command
- if ( iFeatureManager.UiStates().IsCaptureModeOn() )
- {
- iFeatureManager.AppUi().HandleCommandL( EVtUiCmdCapture );
- return;
- }
-
- TInt command = MapCmdIdToChilId( aCommand );
-
- if ( EVtUiCmdSwapImagesPlaces == command )
- {
- if ( !( iFeatureManager.AppUi().CanSwapImagePlaces() ) )
- {
- return;
- }
- }
-
- iFeatureManager.AppUi().HandleCommandL( command );
-
- __VTPRINTEXITR( "Toolbar.OfferToolbarEventL.cmd %d", aCommand )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::StartL
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::StartL()
- {
- CVtUiFeatureBase::StartL();
- __VTPRINTENTER( "Toolbar.StartL" )
- TInt error;
- if ( iFeatureState == MVtUiFeature::EReady )
- {
- TRAP( error, iFeatureManager.ComponentManager().
- RequestActivationL( MVtUiComponent::EComponentIdToolbar ) );
-
- // set state
- iFeatureState = MVtUiFeature::EActive;
- }
- __VTPRINTEXITR( "Toolbar.StartL error = %d", error )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::Stop
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::Stop()
- {
- __VTPRINTENTER( "Toolbar.Stop" )
- TInt error;
- if ( iFeatureState == MVtUiFeature::EActive )
- {
- TRAP( error, iFeatureManager.ComponentManager().
- DeActivateComponentL ( MVtUiComponent::EComponentIdToolbar ) );
- // set state
- iFeatureState = MVtUiFeature::EReady;
- }
- __VTPRINTEXITR( "Toolbar.Stop error = %d", error )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::InitFeature
-// Delayed initialization of the feature
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::InitFeatureL()
- {
- __VTPRINTENTER( "Toolbar.InitFeatureL" )
- iFeatureState = EPreparing;
- iToolBarControls.ReserveL( iNumberOfToolbarButtons );
-
- //create toolbar
- //iToolbar = CAknToolbar::NewL( R_VIDEOTELUI_TOOLBAR );
-
- iToolbar->SetToolbarObserver( this );
-
- // Prohibit toolbar sliding on UI.
- iToolbar->SetWithSliding( EFalse );
-
- // create toolbar context and policy
- iToolbarCtx =
- CVtUiToolbarContext::NewL( iFeatureManager.CommandManager() );
-
- iToolbarCmdPolicy = CVtUiToolbarCmdPolicy::NewL( *this );
-
- // create toolbaraction
- iHideToolbarItemAction = CVtUiHideToolbarItemAction::NewL( this,
- iFeatureManager.UiStates() );
-
- // create sofkey modifier
- iToolbarSKModifier = CVtUiToolbarSKModifier::
- NewL( iFeatureManager.AppUi(), iFeatureManager.UiStates() );
-
- // set supported commands
- PopulateCmdsIdsL();
-
- User::LeaveIfError(
- iFeatureManager.ComponentManager().ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::ERegister ) );
-
- User::LeaveIfError(
- iFeatureManager.ComponentManager().ChangeLayoutChangeRegistration(
- *this, MVtUiComponentManager::ERegister ) );
-
- iFeatureState = EReady;
-
- __VTPRINTEXIT( "Toolbar.InitFeatureL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::MapCmdIdToChilId
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiToolbarBase::MapCmdIdToChilId( TInt aCmdId )
- {
- __VTPRINTENTER( "Toolbar.MapCmdIdToChilId" )
- __VTPRINT2( DEBUG_GEN, "Toolbar.MapCmdIdToChilId.aCmdId=%d", aCmdId )
- TInt result = aCmdId;
-
- CVtUiToolbarButton* tbButton = FindToolbarItemByCommandId( aCmdId );
-
- const TInt stateIndexValue( tbButton->StateIndex() );
- __VTPRINT2( DEBUG_GEN, "Toolbar.MapCmdIdToChilId.idx=%d", stateIndexValue )
- switch( aCmdId )
- {
- case EVtUiCmdToolbarToggleVideo:
- {
- switch ( stateIndexValue )
- {
- case 0:
- case 1:
- result = EVtUiCmdDisableVideo;
- break;
- case 2:
- case 3:
- result = EVtUiCmdEnableVideo;
- break;
- }
- }
- break;
-
- case EVtUiCmdToolbarToggleMicrophone:
- {
- switch ( stateIndexValue )
- {
- case 0:
- case 1:
- result = EVtUiCmdDisableAudio;
- break;
- case 2:
- case 3:
- result = EVtUiCmdEnableAudio;
- break;
- }
- }
- break;
-
- case EVtUiCmdToolbarAudioRouting:
- {
- switch ( stateIndexValue )
- {
- case 0:
- case 1:
- result = EVtUiCmdDeactivateLoudspeaker;
- break;
- case 2:
- case 3:
- result = EVtUiCmdSwitchFromBTToIHF;
- break;
- case 4:
- case 5:
- result = EVtUiCmdActivateLoudspeaker;
- break;
- case 6:
- case 7:
- result = EVtUiCmdActivateBT;
- break;
- default:
- break;
- };
- }
- break;
-
- case EVtUiCmdToolbarToggleCamera:
- {
- switch ( stateIndexValue )
- {
- case 0:
- case 1:
- result = EVtUiCmdUsePrimaryCamera;
- break;
- case 2:
- case 3:
- result = EVtUiCmdUseSecondaryCamera;
- break;
- }
- }
- break;
-
- default:
- break;
- }
-
- if ( aCmdId == result )
- {
- TInt index( stateIndexValue - 1 );
- if ( index < 0 )
- {
- index = tbButton->StatesCount() - 1;
- }
- tbButton->SetCurrentState( index, EFalse );
- }
-
- __VTPRINTEXITR( "Toolbar.MapCmdIdToChilId.result %d", (TInt)result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::MapCmdIdToParentId
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiToolbarBase::MapCmdIdToParentId( TInt aCmdId )
- {
- __VTPRINTENTER( "Toolbar.MapCmdIdToParentId" )
- TInt result = aCmdId;
- switch( aCmdId )
- {
- case EVtUiCmdDisableVideo:
- case EVtUiCmdEnableVideo:
- result = EVtUiCmdToolbarToggleVideo;
- break;
-
- case EVtUiCmdDisableAudio:
- case EVtUiCmdEnableAudio:
- result = EVtUiCmdToolbarToggleMicrophone;
- break;
-
- case EVtUiCmdActivateBT:
- case EVtUiCmdSwitchFromBTToIHF:
- case EVtUiCmdActivateLoudspeaker:
- case EVtUiCmdDeactivateLoudspeaker:
- result = EVtUiCmdToolbarAudioRouting;
- break;
-
- case EVtUiCmdUsePrimaryCamera:
- case EVtUiCmdUseSecondaryCamera:
- result = EVtUiCmdToolbarToggleCamera;
- break;
-
- default:
- break;
- }
- __VTPRINTEXITR( "Toolbar.MapCmdIdToParentId.result %d", (TInt)result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::IsCmdIdVisibleInToggleButton
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiToolbarBase::IsCmdIdVisibleInToggleButton( TInt aCmdId )
- {
- __VTPRINTENTER( "Toolbar.IsCMdIdVisibleInTogB" )
- TBool result( ETrue );
- TInt cmdId( MapCmdIdToParentId( aCmdId ) );
- TInt targetStateIndex( KErrNotFound );
- switch( aCmdId )
- {
- case EVtUiCmdActivateBT:
- targetStateIndex = 6;
- break;
-
- case EVtUiCmdActivateLoudspeaker:
- targetStateIndex = 4;
- break;
-
- case EVtUiCmdSwitchFromBTToIHF:
- case EVtUiCmdEnableVideo:
- case EVtUiCmdEnableAudio:
- case EVtUiCmdUseSecondaryCamera:
- targetStateIndex = 2;
- break;
-
- case EVtUiCmdDisableVideo:
- case EVtUiCmdDisableAudio:
- case EVtUiCmdUsePrimaryCamera:
- case EVtUiCmdDeactivateLoudspeaker:
- targetStateIndex = 0;
- break;
-
- default:
- break;
- }
-
- if ( targetStateIndex != KErrNotFound )
- {
- result = ( FindToolbarItemByCommandId( cmdId )
- ->StateIndex() == targetStateIndex );
- }
-
- __VTPRINTEXITR( "Toolbar.IsCMdIdVisibleInTogB.result %d", (TInt)result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::PopulateCmdsIdsL
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::PopulateCmdsIdsL()
- {
- __VTPRINTENTER( "Toolbar.PopulateCmdsIdsL" )
- CVtUiAppUi& appUi = iFeatureManager.AppUi();
-
- // default commands
- iCmdIds.AppendL( EVtUiCmdDisableVideo );
- iCmdIds.AppendL( EVtUiCmdEnableVideo );
- iCmdIds.AppendL( EVtUiCmdDisableAudio );
- iCmdIds.AppendL( EVtUiCmdEnableAudio );
-
- __VTPRINTEXIT( "Toolbar.PopulateCmdsIdsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::SetToolbarVisibilityAfterLayoutChangeL
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::SetToolbarVisibilityAfterLayoutChangeL( TBool /*aVisible*/ )
- {
- __VTPRINTENTER( "Toolbar.SetToolbarVisibilityAfterLayoutChangeL" )
- __VTPRINTEXIT( "Toolbar.SetToolbarVisibilityAfterLayoutChangeL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::IsToggleButtonHidden
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiToolbarBase::IsToggleButtonHidden(TInt aFirstCmdId, TInt aSecondCmdId )
- {
- __VTPRINTENTER( "Toolbar.IsToggleButtonHidden" )
- TInt count = 0;
- TBool result = EFalse;
- for ( TInt i = 0; i < iCmdStates.Count(); i++ )
- {
- if ( iCmdStates[ i ].iCmdId == aFirstCmdId ||
- iCmdStates[ i ].iCmdId == aSecondCmdId )
- {
- if ( iCmdStates[ i ].iNewState == EHidden )
- {
- count++;
- }
- }
- }
-
- if ( count > 1 )
- {
- __VTPRINT(DEBUG_GEN, "IsToggleButtonHidden.Count>1" )
- result = ETrue;
- }
- __VTPRINTEXITR( "Toolbar.IsToggleButtonHidden.result%d", result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::Clean
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::Clean()
- {
- __VTPRINTENTER( "Toolbar.Clean" )
- TRAP_IGNORE( CVtUiToolbarBase::DoDeactivateL() );
- // unregister component change registration
- iFeatureManager.ComponentManager().ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::EUnregister );
- __VTPRINTEXIT( "Toolbar.Clean" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::CreateToolbarButtons
-// -----------------------------------------------------------------------------
-//
-
-void CVtUiToolbarBase::CreateToolbarButtonsL()
- {
- __VTPRINTENTER( "Toolbar.CreateToolbarButtons" )
- CVtUiAppUi& appUi = iFeatureManager.AppUi();
-
- // two default buttons
- // toggle video
- CreateToolbarItemL( R_AVKONBUTTON_TOGGLE_VIDEO_BUTTON,
- EVtUiCmdToolbarToggleVideo, appUi );
-
- // toggle microphone
- CreateToolbarItemL( R_AVKONBUTTON_TOGGLE_MICROPHONE_BUTTON,
- EVtUiCmdToolbarToggleMicrophone, appUi );
-
- __VTPRINTEXIT( "Toolbar.CreateToolbarButtons" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::CreateToolbarItemL
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::CreateToolbarItemL( TInt aResourceId, TInt aCommandId,
- CVtUiAppUi& appUi )
- {
- __VTPRINTENTER( "Toolbar.CreateToolbarItemL" )
-
- CVtUiToolbarButton* toolbarItem = NULL;
- TLinearOrder< CVtUiToolbarButton > linOrder( ::ToolbarCmpFunc );
-
- // create toolbaritem
- toolbarItem = CVtUiToolbarButton::NewLC( aResourceId, appUi, aCommandId );
-
- // add toolbar item to toolbar
- // CVtUiToolbarButton ownership is transferred to akntoolbar
- iToolbar->AddItemL( toolbarItem, EAknCtButton,
- aCommandId , NULL );
-
- // add toolbar item to array
- iToolBarControls.InsertInOrderL( toolbarItem, linOrder );
-
- CleanupStack::Pop(); // toolbaritem
-
- __VTPRINTEXIT( "Toolbar.CreateToolbarItemL" )
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::HideToolbarButton
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::HideToolbarButton( const TInt aCommandId, const TBool aHide,
- const TBool aDrawNow )
- {
- __VTPRINTENTER( "Toolbar.HideToolbarButton" )
- __VTPRINT2( DEBUG_GEN, "Toolbar.HideToolbarButton.aCommandId=%d", aCommandId )
- TInt cmdId = MapCmdIdToParentId( aCommandId );
-
- // unhide for toggle buttons not handled
- if ( !aHide && cmdId != aCommandId )
- {
- return;
- }
-
- // Get toolbar item
- CVtUiToolbarButton* tbItem = FindToolbarItemByCommandId( cmdId );
-
- // get button's current state
- TInt stateIndex = tbItem->StateIndex();
-
- switch ( cmdId )
- {
- case EVtUiCmdToolbarToggleVideo:
- // if both items should be hidden in togglebutton,
- // then dim togglebutton
- if ( IsToggleButtonHidden( EVtUiCmdDisableVideo,
- EVtUiCmdEnableVideo ) )
- {
- // update visibility state
- TRAP_IGNORE(
- SetCmdIdVisibilityStateL( EVtUiCmdDisableVideo, EDimmed );
- SetCmdIdVisibilityStateL( EVtUiCmdEnableVideo, EDimmed );
- );
- iToolbar->SetItemDimmed( cmdId, ETrue, EFalse );
- return;
- }
- if ( ( stateIndex == 0 || stateIndex == 1 ) &&
- EVtUiCmdDisableVideo == aCommandId )
- {
- tbItem->SetCurrentState ( 2, EFalse );
- }
- else if( ( stateIndex == 2 || stateIndex == 3 )&&
- EVtUiCmdEnableVideo == aCommandId )
- {
- tbItem->SetCurrentState ( 0, EFalse );
- }
- break;
-
- case EVtUiCmdToolbarToggleMicrophone:
- // if both items should be hidden in togglebutton,
- // then dim togglebutton
- if ( IsToggleButtonHidden( EVtUiCmdDisableAudio,
- EVtUiCmdEnableAudio ) )
- {
- // update visibility state
- TRAP_IGNORE(
- SetCmdIdVisibilityStateL( EVtUiCmdDisableAudio, EDimmed );
- SetCmdIdVisibilityStateL( EVtUiCmdEnableAudio, EDimmed );
- );
- iToolbar->SetItemDimmed( cmdId, ETrue, EFalse );
- return;
- }
- if ( ( stateIndex == 0 || stateIndex == 1 ) &&
- EVtUiCmdDisableAudio == aCommandId )
- {
- tbItem->SetCurrentState ( 2, EFalse );
- }
- else if( ( stateIndex == 2 || stateIndex == 3 ) &&
- EVtUiCmdEnableAudio == aCommandId )
- {
- tbItem->SetCurrentState ( 0, EFalse );
- }
- break;
-
- case EVtUiCmdToolbarAudioRouting:
- {
- const TBool isToggleButtonHidden(
- IsToggleButtonHidden( EVtUiCmdActivateBT,
- EVtUiCmdSwitchFromBTToIHF ) &&
- IsToggleButtonHidden( EVtUiCmdActivateLoudspeaker,
- EVtUiCmdDeactivateLoudspeaker )
- );
-
- if ( isToggleButtonHidden )
- {
- TRAP_IGNORE(
- SetCmdIdVisibilityStateL( EVtUiCmdActivateBT, EDimmed );
- SetCmdIdVisibilityStateL( EVtUiCmdDeactivateLoudspeaker,
- EDimmed );
- SetCmdIdVisibilityStateL( EVtUiCmdSwitchFromBTToIHF, EDimmed );
- SetCmdIdVisibilityStateL( EVtUiCmdActivateLoudspeaker,
- EDimmed );
- );
- iToolbar->SetItemDimmed( cmdId, ETrue, EFalse );
- return;
- }
- else
- {
- if ( tbItem )
- {
- const TVtUiAudioState& audioState(
- iFeatureManager.UiStates().AudioState() );
-
- TInt state( 0 ); // Deactivate loudspeaker
-
- if ( audioState.CanDeactivateBtHf() )
- {
- state = 2; // Deactivate bthf
- }
- else if ( audioState.CanActivateBtHf() )
- {
- state = 6; // Activate bthf
- }
- else if ( audioState.CanActivateLoudspeaker() )
- {
- state = 4; // Activate loudspeaker
- }
- __VTPRINT2( DEBUG_GEN,
- "Toolbar.HideToolbarButton.AudioRoutingState=%d",
- state )
- tbItem->SetCurrentState ( state, EFalse );
- }
- }
- }
- break;
-
- case EVtUiCmdToolbarToggleCamera:
- // if both items should be hidden in togglebutton,
- // then dim togglebutton
- if ( IsToggleButtonHidden( EVtUiCmdUsePrimaryCamera,
- EVtUiCmdUseSecondaryCamera ) )
- {
- // update visibility state
- TRAP_IGNORE(
- SetCmdIdVisibilityStateL( EVtUiCmdUsePrimaryCamera, EDimmed );
- SetCmdIdVisibilityStateL( EVtUiCmdUseSecondaryCamera, EDimmed );
- );
- iToolbar->SetItemDimmed( cmdId, ETrue, EFalse );
- return;
- }
- if ( ( stateIndex == 0 || stateIndex == 1 ) &&
- EVtUiCmdUsePrimaryCamera == aCommandId )
- {
- tbItem->SetCurrentState ( 2, EFalse );
- }
- else if( ( stateIndex == 2 || stateIndex == 3 ) &&
- EVtUiCmdUseSecondaryCamera == aCommandId )
- {
- tbItem->SetCurrentState ( 0, EFalse );
- }
- break;
-
- default:
- iToolbar->HideItem( cmdId, aHide, aDrawNow);
- __VTPRINT( DEBUG_GEN, "Toolbar.HideToolbarButton" )
- break;
- }
- __VTPRINTEXIT( "Toolbar.HideToolbarButton" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::DimToolbar
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::DimToolbar( const TBool aDimmed, const TBool aDrawNow )
- {
- __VTPRINTENTER( "Toolbar.DimToolbar" )
- __VTPRINT2( DEBUG_GEN, "Toolbar.DimToolbar.aDimmed=%d", (TInt)aDimmed )
-
- TInt count = iCmdStates.Count();
- for( TInt i = 0; i < count; i++ )
- {
- __VTPRINT2( DEBUG_GEN, "iCmdId = %d", iCmdStates[ i ].iCmdId )
- __VTPRINT3( DEBUG_GEN, "iCmdStates.iOldState=%d iCmdStates.iNewState=%d",
- iCmdStates[ i ].iOldState, iCmdStates[ i ].iNewState )
- // dim item
- if ( iCmdStates[ i ].iNewState == EShown )
- {
- DimToolbarButton( iCmdStates[ i ].iCmdId, aDimmed, aDrawNow );
- }
- }
- __VTPRINTEXIT( "Toolbar.DimToolbar" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::DimToolbarButton
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::DimToolbarButton( const TInt aCommandId, const TBool aDimmed,
- const TBool aDrawNow )
- {
- __VTPRINTENTER( "Toolbar.DimToolbarButton" )
- __VTPRINT2( DEBUG_GEN, "Toolbar.DimToolbarButton.aCmdId=%d", aCommandId )
-
- // command not visible, no need to update button
- if ( !IsCmdIdVisibleInToggleButton( aCommandId ) )
- {
- __VTPRINTEXIT("Toolbar.DimToolbarButton.NotVisible" )
- return;
- }
- TInt cmdId = MapCmdIdToParentId( aCommandId );
- // dim item
- iToolbar->SetItemDimmed( cmdId, aDimmed, aDrawNow );
- __VTPRINTEXIT( "Toolbar.DimToolbarButton" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::FindToolbaItemByCommandId
-// -----------------------------------------------------------------------------
-//
-CVtUiToolbarButton* CVtUiToolbarBase::FindToolbarItemByCommandId
- ( const TInt aCommandId )
- {
- __VTPRINTENTER( "Toolbar.FindToolbarItemByCmdId" )
- CVtUiToolbarButton* result = NULL;
-
- TInt index( iToolBarControls.
- FindInOrder( aCommandId,::ToolbarItemIdCmpFunc ) );
-
- if ( index != KErrNotFound )
- {
- result = iToolBarControls[ index ];
- }
- __VTPRINTEXITR( "Toolbar.FindToolbarItemByCmdId.result %d", (TInt)result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::StartBlocking
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::BlockPointerEvents( TBool aIsBlocking )
- {
- __VTPRINTENTER( "Toolbar.BlockPointerEvents" )
- for (TInt i = 0; i < iToolBarControls.Count(); ++i )
- {
- iToolBarControls[ i ]->BlockPointerEvents( aIsBlocking );
- }
- __VTPRINTEXITR( "Toolbar.BlockPointerEvents =%d", aIsBlocking )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::StopBlocking
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::BlockKeyEvents( TBool aIsBlocking )
- {
- __VTPRINTENTER( "Toolbar.BlockKeyEvents" )
- for ( TInt i = 0; i < iToolBarControls.Count(); ++i )
- {
- iToolBarControls[ i ]->BlockKeyEvents( aIsBlocking );
- }
- __VTPRINTEXITR( "Toolbar.BlockKeyEvents =%d", aIsBlocking )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::IsDialerActive
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiToolbarBase::IsDialerActive() const
- {
- __VTPRINTENTER( "Toolbar.IsDialerActive" )
- TBool ret( EFalse );
- MVtUiFeature* dialer = iFeatureManager.
- GetFeatureById( EVtUiFeatureIdDialer );
- if ( dialer )
- {
- if ( dialer->State() == MVtUiFeature::EActive )
- {
- ret = ETrue;
- }
- }
- __VTPRINTEXITR( "Toolbar.IsDialerActive =%d", ret )
- return ret;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::NumberOfToolbarControls
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiToolbarBase::NumberOfToolbarControls() const
- {
- __VTPRINTENTER( "Toolbar.NumberOfToolbarControls" )
- __VTPRINTEXIT( "Toolbar.NumberOfToolbarControls" )
- return iCmdIds.Count();
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::CommandIdByCmdIdsArrayIndex
-// -----------------------------------------------------------------------------
-//
- TInt CVtUiToolbarBase::CommandIdByCmdIdsArrayIndex( TInt aIndex ) const
- {
- __VTPRINTENTER( "Toolbar.CommandIdByCmdIdsArrayIndex" )
- __VTPRINTEXIT( "Toolbar.CommandIdByCmdIdsArrayIndex.cmdId" )
- return iCmdIds[aIndex];
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::UpdateToolbar
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::UpdateToolbarL()
- {
- __VTPRINTENTER( "Toolbar.UpdateToolbar" )
- TVtUiStates& uiStates = iFeatureManager.UiStates();
-
- // Zoom mode can be activated also from options menu
- // therefore set zoom buttons state to latched
- if ( uiStates.IsZoomModeOn() &&
- IsCommandInToolbar( EVtUiCmdZoom )&&
- FindToolbarItemByCommandId( EVtUiCmdZoom )
- ->StateIndex() == 0 )
- {
- FindToolbarItemByCommandId( EVtUiCmdZoom )
- ->SetCurrentState ( 1, ETrue );
- }
-
-
- if ( uiStates.IsCaptureModeOn() && IsCommandInToolbar( EVtUiCmdZoom ) )
- {
- __VTPRINT( DEBUG_GEN, "Toolbar.UpdateToolbarL.IsCaptureModeOn" )
- // remove zoom mode button tooltip
- FindToolbarItemByCommandId( EVtUiCmdZoom )
- ->State( 0 )->SetHelpTextL( KNullDesC() );
- // set zoom mode button to be focused
- iToolbar->SetFocusedItemL( EVtUiCmdZoom );
- }
-
- TInt count = iCmdStates.Count();
- for( TInt i = 0; i < count; i++ )
- {
- // no need to do anything
- if ( iCmdStates[ i ].iOldState == iCmdStates[ i ].iNewState )
- {
- if ( ( iCmdStates[ i ].iCmdId == EVtUiCmdDisableVideo ||
- iCmdStates[ i ].iCmdId == EVtUiCmdEnableVideo ) &&
- iCmdStates[ i ].iNewState != EShown &&
- !( iFeatureManager.UiStates().MediaState().IsSharing() ) )
- {
- CVtUiToolbarButton* tbButton = static_cast< CVtUiToolbarButton* >(
- FindToolbarItemByCommandId( EVtUiCmdToolbarToggleVideo ) );
- tbButton->SetCurrentState(
- iFeatureManager.UiStates().MediaState().IsVideo() ? 0 : 2 , ETrue );
- }
- // for the case that EVtUiCmdDisableVideo and
- // EVtUiCmdActivateBT command
- // need to be shown but it is not visible in
- // toogle button.
- if ( ( iCmdStates[ i ].iCmdId == EVtUiCmdSwitchFromBTToIHF ||
- iCmdStates[ i ].iCmdId == EVtUiCmdActivateBT ||
- iCmdStates[ i ].iCmdId == EVtUiCmdActivateLoudspeaker ||
- iCmdStates[ i ].iCmdId == EVtUiCmdDeactivateLoudspeaker ||
- iCmdStates[ i ].iCmdId == EVtUiCmdDisableAudio ||
- iCmdStates[ i ].iCmdId == EVtUiCmdEnableAudio ||
- iCmdStates[ i ].iCmdId == EVtUiCmdDisableVideo ||
- iCmdStates[ i ].iCmdId == EVtUiCmdEnableVideo) &&
- iCmdStates[ i ].iNewState == EShown )
- {
- // Nothing goes here.
- }
- else
- {
- continue;
- }
- }
- // dim item
- if ( iCmdStates[ i ].iNewState == EDimmed )
- {
- DimToolbarButton( iCmdStates[ i ].iCmdId, ETrue, EFalse );
- }
- // hide item
- // currently used only for toggle buttons
- // otherwise EDrawNow parameter must be updated for last element
- else if ( iCmdStates[ i ].iNewState == EHidden )
- {
- HideToolbarButton( iCmdStates[ i ].iCmdId, ETrue, EFalse );
- }
- // show item
- else if ( iCmdStates[ i ].iNewState == EShown )
- {
- // items are undimmed if they were dimmed
- // iCmdStates[ i ].iOldState == EDimmed comparison does
- // not work with toggle buttons.
- // That is why all buttons are undimmed.
- DimToolbarButton( iCmdStates[ i ].iCmdId, EFalse, EFalse );
-
- HideToolbarButton( iCmdStates[ i ].iCmdId, EFalse, EFalse );
- }
- }
-
- // capture mode ended remove zoom button's latched state
- if ( !uiStates.IsZoomModeOn() &&
- IsCommandInToolbar( EVtUiCmdZoom )&&
- FindToolbarItemByCommandId( EVtUiCmdZoom )->StateIndex() == 1 )
- {
- FindToolbarItemByCommandId( EVtUiCmdZoom )
- ->SetCurrentState ( 0, ETrue );
- }
-
- // if capture mode was activated set zoom mode button active
- if ( uiStates.IsCaptureModeOn() && IsCommandInToolbar( EVtUiCmdZoom ) )
- {
- // set latched (selected) state
- FindToolbarItemByCommandId( EVtUiCmdZoom )
- ->SetCurrentState ( 1, ETrue);
- }
- else
- {
- // tooltip must be returned to zoom mode button
- // only after zoom mode buttons latched state is changed
- // because changing the buttons state will draw the tooltip
- if ( IsCommandInToolbar( EVtUiCmdZoom ) &&
- ( KNullDesC() == ( FindToolbarItemByCommandId( EVtUiCmdZoom )
- ->State(0)->HelpText() ) ) )
- {
- HBufC* tooltip = StringLoader::LoadLC( R_VIDEOTELUI_TOOLTIP_ZOOM );
- FindToolbarItemByCommandId( EVtUiCmdZoom )
- ->State(0)->SetHelpTextL( *tooltip );
- CleanupStack::PopAndDestroy( ); // tooltip
- }
- }
-
- // draw toolbar
- //iToolbar->DrawDeferred();
- iToolbar->DrawNow();
- __VTPRINTEXIT( "Toolbar.UpdateToolbar" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::SetCmdIdVisibilityStateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::SetCmdIdVisibilityStateL( TInt aCmdId,
- TCmdStateFlags aNewState )
- {
- __VTPRINTENTER( "Toolbar.SetCmdIdVisibilityStateL" )
- __VTPRINT2( DEBUG_GEN, "Toolbar.SetCmdIdVbStateL.aCmdId=%d", aCmdId )
- __VTPRINT2( DEBUG_GEN, "Toolbar.SetCmdIdVbStateL.aNewState=%d", aNewState )
-
- TInt result = KErrNotFound;
- for ( TInt i = 0; i < iCmdStates.Count(); i++ )
- {
- if ( iCmdStates[ i ].iCmdId == aCmdId )
- {
- // command found
- result = i;
- break;
- }
- }
- // new item
- // add to array
- if( result == KErrNotFound )
- {
- TCommandState state;
- state.iCmdId = aCmdId;
- state.iOldState = ENotInitialized;
- state.iNewState = aNewState;
- iCmdStates.AppendL( state );
- }
- else // old item
- {
- iCmdStates[ result ].iOldState = iCmdStates[ result ].iNewState;
- iCmdStates[ result ].iNewState = aNewState;
- }
-
- __VTPRINTEXIT( "Toolbar.SetCmdIdVbStateL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::IsCommandInToolbar
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiToolbarBase::IsCommandInToolbar( TInt aCmdId ) const
- {
- __VTPRINTENTER( "Toolbar.SetCmdIdVisibilityStateL" )
- TBool result = EFalse;
- for ( TInt i = 0; i < iCmdIds.Count(); i++ )
- {
- if ( iCmdIds[ i ] == aCmdId )
- {
- result = ETrue;
- break;
- }
- }
- __VTPRINTEXITR( "Toolbar.IsCommandInToolbar.result %d", (TInt)result )
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::RefreshL
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::RefreshL()
- {
- __VTPRINTENTER( "Toolbar.RefreshL" )
- iFeatureManager.CommandManager().
- ValidateToolbarItemsL( *iHideToolbarItemAction );
- __VTPRINTEXIT( "Toolbar.RefreshL" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::AddCommandModifier
-// -----------------------------------------------------------------------------
-//
-TInt CVtUiToolbarBase::AddCommandModifier( CVtUiCommandModifyBase& /*aModifier*/ )
- {
- __VTPRINTENTER( "Toolbar.AddCommandModifier" )
- __VTPRINTEXIT( "Toolbar.AddCommandModifier" )
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::RemoveCommandModifier
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::RemoveCommandModifier( CVtUiCommandModifyBase& /*aModifier*/ )
- {
- __VTPRINTENTER( "Toolbar.RemoveCommandModifier" )
- __VTPRINTEXIT( "Toolbar.RemoveCommandModifier" )
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::ComponentId
-// -----------------------------------------------------------------------------
-//
-MVtUiComponent::TComponentId CVtUiToolbarBase::ComponentId() const
- {
- __VTPRINTENTER( "Toolbar.ComponentId" )
- __VTPRINTEXIT( "Toolbar.ComponentId" )
- return MVtUiComponent::EComponentIdToolbar;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::ComponentAsControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CVtUiToolbarBase::ComponentAsControl()
- {
- __VTPRINTENTER( "Toolbar.ComponentAsControl" )
- __VTPRINTEXIT( "Toolbar.ComponentAsControl" )
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::DoActivateL()
- {
- __VTPRINTENTER( "Toolbar.DoActivateL" )
- // add command ui to commandmanager
- User::LeaveIfError(
- iFeatureManager.CommandManager().AddCommandUi( *this ) );
- // add command modifier
- User::LeaveIfError( iFeatureManager.
- CommandManager().AddCommandModifier( *iToolbarSKModifier ) );
- // add validator
- User::LeaveIfError( iFeatureManager.CommandManager().
- AddValidator( *iToolbarCmdPolicy ) );
- // refresh
- iFeatureManager.CommandManager().RefreshL();
- __VTPRINTEXIT( "Toolbar.DoActivateL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CVtUiToolbarBase::DoDeactivateL
-// -----------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::DoDeactivateL()
- {
- __VTPRINTENTER( "Toolbar.DoDeactivateL" )
- // remove command modifier
- iFeatureManager.CommandManager().
- RemoveCommandModifier( *iToolbarSKModifier );
- // remove command validator
- iFeatureManager.CommandManager().RemoveValidator( *iToolbarCmdPolicy );
- // remove commandui
- iFeatureManager.CommandManager().RemoveCommandUi( *this );
- if ( iToolbar )
- {
- __VTPRINT(DEBUG_GEN, "Toolbar.DoDeactivateL, iToolbar is not null" )
- iToolbar->DrawNow();
- }
- __VTPRINTEXIT( "Toolbar.DoDeactivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarBase::HandleLayoutChangeL
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarBase::HandleLayoutChangeL()
- {
- __VTPRINTENTER( "CVtUiToolbarBase.HandleLayoutChangeL" )
- TBool isLandscape = Layout_Meta_Data::IsLandscapeOrientation();
- CEikMenuBar* menuBar = CEikonEnv::Static()->AppUiFactory()->MenuBar();
-
- // This check prevents toolbar from drawing over the dialer
- // when orientation is changed from landscape to portrait
-
- // Transition from landsacpe to portrait
- // toolbar must be hided
- if ( !isLandscape && IsDialerActive() )
- {
- __VTPRINT(DEBUG_GEN, "CVtUiToolbarBase.LayoutChangeL.Stop" )
- SetToolbarVisibilityAfterLayoutChangeL( EFalse );
- }
- else if ( iFeatureManager.UiStates().IsSelectingShare() )
- {
- __VTPRINT( DEBUG_GEN, "ToolbarBase::HandleLayoutChangeL ShareImage." )
- SetToolbarVisibilityAfterLayoutChangeL( EFalse );
- }
- else if ( !isLandscape && iFeatureManager.UiStates().IsVideoQualityModeOn() )
- {
- __VTPRINT( DEBUG_GEN, "ToolbarBase::HandleLayoutChangeL Video Quality." )
- SetToolbarVisibilityAfterLayoutChangeL( EFalse );
- }
- else if ( !isLandscape && iFeatureManager.UiStates().IsWhiteBalanceModeOn() )
- {
- __VTPRINT( DEBUG_GEN, "ToolbarBase::HandleLayoutChangeL White Balance." )
- SetToolbarVisibilityAfterLayoutChangeL( EFalse );
- }
- else if ( !isLandscape && iFeatureManager.UiStates().IsColorToneModeOn() )
- {
- __VTPRINT( DEBUG_GEN, "ToolbarBase::HandleLayoutChangeL Color Tone." )
- SetToolbarVisibilityAfterLayoutChangeL( EFalse );
- }
- else if ( !isLandscape && menuBar && menuBar->IsDisplayed() )
- {
- __VTPRINT( DEBUG_GEN, "ToolbarBase::HandleLayoutChangeL Menu Displayed." )
- SetToolbarVisibilityAfterLayoutChangeL( EFalse );
- }
- // Transition from portrait to landsacpe
- // toolbar must be set to visible
- else if ( isLandscape && IsDialerActive() )
- {
- __VTPRINT(DEBUG_GEN, "CVtUiToolbarBase.LayoutChangeL.StartL" )
- SetToolbarVisibilityAfterLayoutChangeL( ETrue );
- }
- __VTPRINTEXIT( "CVtUiToolbarBase.HandleLayoutChangeL" )
- }
-
-// End of File
-
--- a/vtuis/videotelui/src/features/toolbar/cvtuitoolbarbutton.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
-* Copyright (c) 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: CVtUiToolbarButton implementation.
-*
-*/
-
-
-// INCLUDE FILES
-#include <cvtlogger.h>
-#include "cvtuitoolbarbutton.h"
-#include "CVtUiAppUi.h"
-#include "videotelui.hrh"
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::NewL
-// -----------------------------------------------------------------------------
-//
-CVtUiToolbarButton* CVtUiToolbarButton::NewL( TInt aResourceId,
- CVtUiAppUi& aAppUi, TInt aCmdId )
- {
- __VTPRINTENTER( "CVtUiToolbarButton.NewL" )
- CVtUiToolbarButton* self = CVtUiToolbarButton::NewLC( aResourceId, aAppUi,
- aCmdId );
- CleanupStack::Pop( self );
- __VTPRINTEXIT( "CVtUiToolbarButton.NewL" )
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiNaviPane::NewLC
-// -----------------------------------------------------------------------------
-//
-CVtUiToolbarButton* CVtUiToolbarButton::NewLC( TInt aResourceId,
- CVtUiAppUi& aAppUi, TInt aCmdId )
- {
- __VTPRINTENTER( "CVtUiToolbarButton.NewLC" )
- CVtUiToolbarButton* self = new ( ELeave ) CVtUiToolbarButton( aAppUi,
- aCmdId );
- CleanupStack::PushL( self );
- self->ConstructL();
- self->ConstructFromResourceL( aResourceId );
- __VTPRINTEXIT( "CVtUiToolbarButton.NewLC" )
- return self;
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::~CVtUiToolbarButton
-// ----------------------------------------------------------------------------
-//
-CVtUiToolbarButton::~CVtUiToolbarButton()
- {
- __VTPRINTENTER( "CVtUiToolbarButton.~" )
- __VTPRINTEXIT( "CVtUiToolbarButton.~" )
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::CVtUiToolbarButton
-// ----------------------------------------------------------------------------
-//
-CVtUiToolbarButton::CVtUiToolbarButton( CVtUiAppUi& aAppUi, TInt aCmdId )
-: CAknButton( 0 ), iAppUi( aAppUi ), iCmdId ( aCmdId ),
- iIsBlockingKeyEvents ( EFalse ), iIsBlockingPointerEvents( EFalse )
- {
- __VTPRINTENTER( "CVtUiToolbarButton.CVtUiToolbarButton" )
- __VTPRINTEXIT( "CVtUiToolbarButton.CVtUiToolbarButton")
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::ShowHelpL
-// ----------------------------------------------------------------------------
-//
-void CVtUiToolbarButton::ShowHelpL()
- {
- __VTPRINTENTER( "CVtUiToolbarButton.ShowHelpL" )
- CAknButton::ShowHelpL();
- __VTPRINTEXIT( "CVtUiToolbarButton.ShowHelpL")
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::CmdId
-// ----------------------------------------------------------------------------
-//
-TInt CVtUiToolbarButton::CmdId() const
- {
- __VTPRINTENTER( "CVtUiToolbarButton.CmdId" )
- __VTPRINTEXIT( "CVtUiToolbarButton.CmdId")
- return iCmdId;
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::BlockPointerEvents
-// ----------------------------------------------------------------------------
-//
-void CVtUiToolbarButton::BlockPointerEvents( TBool aIsBlocking )
- {
- __VTPRINTENTER( "CVtUiToolbarButton.BlockPointerEvents" )
- iIsBlockingPointerEvents = aIsBlocking;
- __VTPRINTEXITR( "CVtUiToolbarButton.BlockPointerEvents=%d", aIsBlocking )
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::BlockKeyEvents
-// ----------------------------------------------------------------------------
-//
-void CVtUiToolbarButton::BlockKeyEvents( TBool aIsBlocking )
- {
- __VTPRINTENTER( "CVtUiToolbarButton.BlockKeyEvents" )
- iIsBlockingKeyEvents = aIsBlocking;
- __VTPRINTEXITR( "CVtUiToolbarButton.BlockKeyEvents=%d", aIsBlocking )
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::OfferKeyEventL
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CVtUiToolbarButton::OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- __VTPRINTENTER( "CVtUiToolbarButton.OfferKeyEventL" )
- if ( IsCommandActive() && iIsBlockingKeyEvents )
- {
- __VTPRINTEXIT( "CVtUiToolbarButton.OfferKeyEventL.Blocked" )
- return EKeyWasConsumed;
- }
- __VTPRINTEXIT( "CVtUiToolbarButton.OfferKeyEventL" )
- return CAknButton::OfferKeyEventL( aKeyEvent, aType);
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::HandlePointerEventL
-// ----------------------------------------------------------------------------
-//
-void CVtUiToolbarButton::HandlePointerEventL( const
- TPointerEvent& aPointerEvent )
- {
- __VTPRINTENTER( "CVtUiToolbarButton.HandlePointerEventL" )
- if ( IsCommandActive() && iIsBlockingPointerEvents )
- {
- __VTPRINTEXIT( "CVtUiToolbarButton.HandlePointerEventL.Blocked" )
- return;
- }
- __VTPRINTEXIT( "CVtUiToolbarButton.HandlePointerEventL.To.AknButton" )
- return CAknButton::HandlePointerEventL( aPointerEvent );
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::StatesCount
-// ----------------------------------------------------------------------------
-//
-TInt CVtUiToolbarButton::StatesCount() const
- {
- return iStates->Count();
- }
-
-// ----------------------------------------------------------------------------
-// CVtUiToolbarButton::IsCommandActive
-// ----------------------------------------------------------------------------
-//
-TBool CVtUiToolbarButton::IsCommandActive() const
- {
- __VTPRINTENTER( "CVtUiToolbarButton.IsCommandActive" )
- TBool value( EFalse );
- value = ( iAppUi.IsActiveCommand( EVtUiCmdDisableVideo ) ||
- iAppUi.IsActiveCommand( EVtUiCmdEnableVideo ) ||
- iAppUi.IsActiveCommand( EVtUiCmdEnableAudio ) ||
- iAppUi.IsActiveCommand( EVtUiCmdDisableAudio ) ||
- iAppUi.IsActiveCommand( EVtUiCmdUsePrimaryCamera ) ||
- iAppUi.IsActiveCommand( EVtUiCmdUseSecondaryCamera ) ||
- // Audio routing to blocking
- iAppUi.IsActiveCommand( EVtUiCmdActivateBT ) ||
- iAppUi.IsActiveCommand( EVtUiCmdSwitchFromBTToIHF ) ||
- iAppUi.IsActiveCommand( EVtUiCmdActivateLoudspeaker ) ||
- iAppUi.IsActiveCommand( EVtUiCmdDeactivateLoudspeaker )
- );
-
- __VTPRINTEXITR( "CVtUiToolbarButton.IsCommandActive=%d", value )
- return value;
- }
-// End of File
-
--- a/vtuis/videotelui/src/features/toolbar/cvtuitoolbarcmdpolicy.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 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: Toolbar command policy implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuitoolbarcmdpolicy.h"
-#include "cvtuicmdvalidationactionbase.h"
-#include "tvtuicmdvalidatorcallback.h"
-#include "cvtuitoolbarbase.h"
-#include "videotelui.hrh"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarCmdPolicy::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiToolbarCmdPolicy* CVtUiToolbarCmdPolicy::NewL( CVtUiToolbarBase& aToolbar )
- {
- __VTPRINTENTER( "ToolbarCmdPolicy.NewL" )
- CVtUiToolbarCmdPolicy* self = new ( ELeave ) CVtUiToolbarCmdPolicy(
- aToolbar );
- __VTPRINTEXIT( "ToolbarCmdPolicy.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarCmdPolicy::ValidateMenuItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarCmdPolicy::ValidateMenuItemsL(
- CVtUiCmdValidationActionBase& aAction, TInt /*aReferencePriority*/ )
- {
- __VTPRINTENTER( "ToolbarCmdPolicy.ValidateMenuItemsL" )
- aAction.ProcessL(
- TVtUiCmdValidatorCallBack< CVtUiToolbarCmdPolicy >( *this,
- ValidateMenuCommand ) );
- __VTPRINTEXIT( "ToolbarCmdPolicy.ValidateMenuItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarCmdPolicy::ValidateSoftkeyItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarCmdPolicy::ValidateSoftkeyItemsL(
- CVtUiCmdValidationActionBase& /*aAction*/, TInt /*aReferencePriority*/ )
- {
- __VTPRINTENTER( "ToolbarCmdPolicy.ValidateSoftkeyItemsL" )
- __VTPRINTEXIT( "ToolbarCmdPolicy.ValidateSoftkeyItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarCmdPolicy::ValidateToolbarItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarCmdPolicy::ValidateToolbarItemsL(
- CVtUiCmdValidationActionBase& /*aAction*/, TInt /*aReferencePriority*/ )
- {
- __VTPRINTENTER( "ToolbarCmdPolicy.ValidateToolbarItemsL" )
- __VTPRINTEXIT( "ToolbarCmdPolicy.ValidateToolbarItemsL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarCmdPolicy::CustomValidationL
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarCmdPolicy::CustomValidationL(
- CVtUiCmdCustomValidationActionBase&, TInt )
- {
- __VTPRINTENTER( "ToolbarCmdPolicy.CustomValidationL" )
- __VTPRINTEXIT( "ToolbarCmdPolicy.CustomValidationL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarCmdPolicy::ValidatesContext
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiToolbarCmdPolicy::ValidatesContext(
- const TVtUiCmdContextType& aCtxType ) const
- {
- __VTPRINTENTER( "ToolbarCmdPolicy.ValidatesContext" )
-
- TBool result( EFalse );
-
- switch ( aCtxType )
- {
- case EVtUiCmdContextTypeMenu:
- case EVtUiCmdContextTypeSoftkey:
- case EVtUiCmdContextTypeToolbar:
- result = ETrue;
- break;
-
- default:
- break;
- }
-
- __VTPRINTEXITR( "ToolbarCmdPolicy.ValidatesContext %d", result )
-
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarCmdPolicy::CVtUiToolbarCmdPolicy
-// ---------------------------------------------------------------------------
-//
-CVtUiToolbarCmdPolicy::CVtUiToolbarCmdPolicy( CVtUiToolbarBase& aToolbar )
- : CVtUiCmdValidatorBase( EVtUiCmdPolicyPriorityToolbar ),
- iToolbar( aToolbar )
- {
- __VTPRINTENTER( "ToolbarCmdPolicy.ctor" )
- __VTPRINTEXIT( "ToolbarCmdPolicy.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarCmdPolicy::ValidateMenuCommand
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiToolbarCmdPolicy::ValidateMenuCommand( TInt /*aCommandId*/ ) const
- {
- __VTPRINTENTER( "ToolbarCmdPolicy.ValidateMenuCommand" )
- // all commands are also in options menu
- __VTPRINTEXIT( "ToolbarCmdPolicy.ValidateMenuCommand")
- return EFalse;
- }
-
--- a/vtuis/videotelui/src/features/toolbar/cvtuitoolbarcontext.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 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: Toolbar context implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuitoolbarcontext.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarContext::~CVtUiToolbarContext
-// ---------------------------------------------------------------------------
-//
-CVtUiToolbarContext::~CVtUiToolbarContext()
- {
- __VTPRINTENTER( "ToolbarCtx.~" )
- UnregisterCommandContext();
- __VTPRINTEXIT( "ToolbarCtx.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarContext::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiToolbarContext* CVtUiToolbarContext::NewL(
- MVtUiCommandManager& aCommandManager )
- {
- __VTPRINTENTER( "ToolbarCtx.NewL" )
- CVtUiToolbarContext* self =
- new ( ELeave ) CVtUiToolbarContext( aCommandManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "ToolbarCtx.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarContext::ValidateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarContext::ValidateL( CVtUiCmdValidationActionBase& aAction )
- {
- __VTPRINTENTER( "ToolbarCtx.ValidateL" )
- ValidateToolbarItemsL( aAction );
- __VTPRINTEXIT( "ToolbarCtx.ValidateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarContext::CVtUiToolbarContext
-// ---------------------------------------------------------------------------
-//
-CVtUiToolbarContext::CVtUiToolbarContext(
- MVtUiCommandManager& aCommandManager )
- : CVtUiCmdContext( aCommandManager, EVtUiCmdContextTypeToolbar,
- KVtUiToolbarContextPriority )
- {
- __VTPRINTENTER( "ToolbarCtx.ctor" )
- __VTPRINTEXIT( "ToolbarCtx.ctor" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarContext::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarContext::ConstructL()
- {
- __VTPRINTENTER( "ToolbarCtx.ConstructL" )
- RegisterCommandContextL();
- __VTPRINTEXIT( "ToolbarCtx.ConstructL" )
- }
-
-// End of File
-
--- a/vtuis/videotelui/src/features/toolbar/cvtuitoolbarskmodifier.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* Copyright (c) 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: Softkey modifier class implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include "cvtuitoolbarskmodifier.h"
-#include "mvtuicommandsetting.h"
-#include "tvtuicommandmodifierpriority.h"
-#include "CVtUiAppUi.h"
-#include "tvtuistates.h"
-#include <eikbtgpc.h>
-#include <videotelui.rsg>
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarSKModifier::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiToolbarSKModifier* CVtUiToolbarSKModifier::NewL( CVtUiAppUi& aAppUi,
- const TVtUiStates& aUiStates )
- {
- __VTPRINTENTER( "CVtUiToolbarSKModifier.NewL" )
- CVtUiToolbarSKModifier* self =
- new ( ELeave ) CVtUiToolbarSKModifier( aAppUi, aUiStates );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- __VTPRINTEXIT( "CVtUiToolbarSKModifier.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarSKModifier::~CVtUiToolbarSKModifier
-// ---------------------------------------------------------------------------
-//
-CVtUiToolbarSKModifier::~CVtUiToolbarSKModifier()
- {
- __VTPRINTENTER( "CVtUiToolbarSKModifier.~" )
- __VTPRINTEXIT( "CVtUiToolbarSKModifier.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarSKModifier::CVtUiToolbarSKModifier
-// ---------------------------------------------------------------------------
-//
-CVtUiToolbarSKModifier::CVtUiToolbarSKModifier( CVtUiAppUi& aAppUi,
- const TVtUiStates& aUiStates ) :
- CVtUiCommandModifyBase ( EVtUiCmdModifierPriorityToolbar ),
- iAppUi ( aAppUi ), iUiStates ( aUiStates )
- {
- __VTPRINTENTER( "CVtUiToolbarSKModifier.Ctr" )
- __VTPRINTEXIT( "CVtUiToolbarSKModifier.Ctr" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarSKModifier::CVtUiToolbarSKModifier
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarSKModifier::ConstructL()
- {
- __VTPRINTENTER( "CVtUiToolbarSKModifier.ConstructL" )
- __VTPRINTEXIT( "CVtUiToolbarSKModifier.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiToolbarSKModifier::CVtUiToolbarSKModifier
-// ---------------------------------------------------------------------------
-//
-void CVtUiToolbarSKModifier::ModifyCommandsL(
- MVtUiCommandSetting& aCommandSettings )
- {
- __VTPRINTENTER( "CVtUiToolbarSKModifier.ModifyCommandsL" )
- aCommandSettings.DoDefineCommandsL();
-
- // No need to change MSK during snapshot
- if ( iUiStates.IsCaptureModeOn() )
- {
- return;
- }
-
- CEikButtonGroupContainer* cba = iAppUi.GetCba();
- const TInt mskIndex = 3;
- // Set selection key to msk
- cba->SetCommandL( mskIndex, R_VIDEOTELUI_SELECT_CBA_BUTTON );
- __VTPRINTEXIT( "CVtUiToolbarSKModifier.ModifyCommandsL" )
- }
-// ---------------------------------------------------------------------------
-// CVtUiToolbarSKModifier::CVtUiToolbarSKModifier
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiToolbarSKModifier::Supports( MVtUiCommandSetting::Type aType ) const
- {
- __VTPRINTENTER( "CVtUiToolbarSKModifier.Supports" )
- __VTPRINTEXIT( "CVtUiToolbarSKModifier.Supports" )
- return ( aType == MVtUiCommandSetting::ECommandTypeSoftkeys );
- }
-
-// End of File
--- a/vtuis/videotelui/src/features/toolbar/tvtuitoolbarcommanditerator.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2009 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: Toolbar command iterator implementation.
-*
-*/
-
-
-#include "cvtuitoolbarbase.h"
-#include "tvtuitoolbarcommanditerator.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TVtUiToolbarCommandIterator::TVtUiToolbarCommandIterator
-// ---------------------------------------------------------------------------
-//
-TVtUiToolbarCommandIterator::TVtUiToolbarCommandIterator( CVtUiToolbarBase&
- aToolbar ) : iToolbar( &aToolbar ), iCurrent( 0 )
- {
- }
-
-// ---------------------------------------------------------------------------
-// TVtUiToolbarCommandIterator::HasNext
-// ---------------------------------------------------------------------------
-//
-TBool TVtUiToolbarCommandIterator::HasNext() const
- {
- return ( iCurrent < iToolbar->NumberOfToolbarControls() );
- }
-
-// ---------------------------------------------------------------------------
-// TVtUiToolbarCommandIterator::Next
-// ---------------------------------------------------------------------------
-//
-TInt TVtUiToolbarCommandIterator::Next()
- {
- return iToolbar->CommandIdByCmdIdsArrayIndex( iCurrent++ );
- }
-
-// End of File
--- a/vtuis/videotelui/src/features/volume/cvtuivolume.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 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: Volume feature implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include "cvtuivolume.h"
-#include "tvtuifeatureids.h"
-#include "cvtuivolumepopup.h"
-#include "cvtuifeaturemanager.h"
-#include "tvtuifeatureids.h"
-#include "tvtuistates.h"
-
-// ---------------------------------------------------------------------------
-// CVtUiVolume::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiVolume* CVtUiVolume::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiVolume.NewL" )
- CVtUiVolume* self =
- new ( ELeave ) CVtUiVolume( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiVolume.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolume::~CVtUiVolume
-// ---------------------------------------------------------------------------
-//
-CVtUiVolume::~CVtUiVolume()
- {
- __VTPRINTENTER( "CVtUiVolume.~" )
- __VTPRINTEXIT( "CVtUiVolume.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolume::RefreshL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolume::RefreshL()
- {
- __VTPRINTENTER( "CVtUiVolume.RefreshL" )
- if ( State() == EActive )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiPopupBase.RefreshL.EActive" )
- static_cast< CVtUiVolumePopup& >( Popup() ).RefreshL();
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "CVtUiVolume.RefreshL.Else" )
- static_cast< CVtUiVolumePopup& >( Popup() ).UpdateVolumeAndRoutingL();
- }
- __VTPRINTEXIT( "CVtUiVolume.RefreshL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolume::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolume::StartL()
- {
- __VTPRINTENTER( "CVtUiVolume.StartL" )
- // if brightness or contrast slider is active stop those
- MVtUiFeature* br = iFeatureManager.
- GetFeatureById( EVtUiFeatureIdBrightness );
- if ( br && br->State() == EActive )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiPopupBase.StartL.br->Stop" )
- br->Stop();
- }
-
- MVtUiFeature* cr = iFeatureManager.
- GetFeatureById( EVtUiFeatureIdContrast );
- if ( cr && cr->State() == EActive )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiPopupBase.StartL.cr->Stop" )
- cr->Stop();
- }
-
- if ( State() == EActive )
- {
- // need to refresh when already active to replenish the close timer
- RefreshL();
- }
- else
- {
- iFeatureManager.UiStates().SetIsFloatingToolbarVisible( ETrue );
- CVtUiSliderBase::StartL();
- iFeatureManager.UiStates().SetVolumeModeOn( ETrue );
- // Toolbar needs to be refreshed if contrat and brightness were dismissed
-
- }
- __VTPRINTEXIT( "CVtUiVolume.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolume::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolume::Stop()
- {
- __VTPRINTENTER( "CVtUiVolume.Stop" )
- iFeatureManager.UiStates().SetVolumeModeOn( EFalse );
- CVtUiSliderBase::Stop();
- __VTPRINTEXIT( "CVtUiVolume.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolume::GetVolumeValue
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiVolume::GetVolumeValue()
- {
- __VTPRINTENTER( "CVtUiVolume.GetVolumeValue" )
- __VTPRINTEXITR( "CVtUiVolume.GetVolumeValue%d", Popup().Value() )
- return Popup().Value();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolume::CVtUiVolume
-// ---------------------------------------------------------------------------
-//
-CVtUiVolume::CVtUiVolume( CVtUiFeatureManager& aFeatureManager )
- : CVtUiSliderBase( aFeatureManager, EVtUiFeatureIdVolume )
- {
-
- __VTPRINTENTER( "CVtUiVolume.CVtUiVolume" )
- __VTPRINTEXIT( "CVtUiVolume.CVtUiVolume" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolume::CVtUiVolume
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolume:: ConstructL()
- {
- __VTPRINTENTER( "CVtUiVolume.ConstructL" )
- BaseConstructL();
- SetPopup( CVtUiVolumePopup::NewL( iFeatureManager ) );
- __VTPRINTEXIT( "CVtUiVolume.ConstructL" )
- }
--- a/vtuis/videotelui/src/features/volume/cvtuivolumecontrol.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* 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: Implementation of the cvtuivolumecontrol class.
-*
-*/
-
-
-#include "cvtuivolumecontrol.h"
-#include "MVtUiEngineCommandManager.h"
-#include <mvtengcommandhandler.h>
-#include <cvtlogger.h>
-#include "cvtuivolume.h"
-#include "cvtuifeaturemanager.h"
-
-// -----------------------------------------------------------------------------
-// CVtUiVolumeControl::CVtUiVolumeControl
-// -----------------------------------------------------------------------------
-//
-CVtUiVolumeControl::CVtUiVolumeControl(
- MVtEngCommandHandler& aCommandHandler,
- MVtEngAudio& aAudio,
- MVtUiEngineCommandManager& aCommandManager,
- CVtUiFeatureManager& aFeatureManager )
- : iCommandHandler( aCommandHandler ),
- iAudio( aAudio ),
- iCommandManager( aCommandManager ),
- iVolumePtr( (TUint8*)&iVolume, sizeof( TVolume ) ),
- iFeatureManager( aFeatureManager )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVolumeControl::~CVtUiVolumeControl
-// -----------------------------------------------------------------------------
-//
-CVtUiVolumeControl::~CVtUiVolumeControl()
- {
- if ( iIsActive )
- {
- iCommandHandler.CancelCommand( KVtEngSetAudioVolume ); // ignore error
- }
- iCommandManager.RemoveObserver( *this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVolumeControl::ExecuteDialogLD
-// -----------------------------------------------------------------------------
-//
-void CVtUiVolumeControl::ConstructL()
- {
- CleanupStack::PushL( this );
- iCommandManager.AddObserverL( *this );
- CleanupStack::Pop( this );
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVolumeControl::SetVoAdjustVolumeL
-// -----------------------------------------------------------------------------
-//
-void CVtUiVolumeControl::AdjustVolumeL( TVolume aVolume )
- {
- __VTPRINTENTER( "VtUiVolCtrl.AdjustVolumeL")
- if ( iIsActive )
- {
- __VTPRINTENTER( "VtUiVolCtrl.AdjustVolumeL.Isactive")
- return;
- }
- iIsActive = ETrue;
- iVolume = aVolume;
- iCommandHandler.ExecuteL( KVtEngSetAudioVolume, &iVolumePtr );
- __VTPRINTEXIT( "VtUiVolCtrl.AdjustVolumeL")
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVolumeControl::HandleVTCommandPerformedL
-// -----------------------------------------------------------------------------
-//
-void CVtUiVolumeControl::HandleVTCommandPerformedL(
- TVtEngCommandId aCommand,
- const TInt aError )
- {
- __VTPRINTENTER( "VtUiVolCtrl.HandleVTCommandPerformedL")
- if ( aCommand == KVtEngSetAudioVolume )
- {
- __VTPRINT( DEBUG_GEN, "VtUiVolCtrl.perf" )
- TInt error = aError;
- // If volume has been changed, then try to set volume again.
- //iIsActive = ETrue;
- if ( IsVolumeChangedL() )
- {
- __VTPRINT( DEBUG_GEN, "VtUiVolCtrl.retry" )
- TRAP( error,
- iCommandHandler.ExecuteL(
- KVtEngSetAudioVolume,
- &iVolumePtr ) );
- __VTPRINT2( DEBUG_GEN, "VtUiVolCtrl.err.%d", error )
- iIsActive = ( error == KErrNone );
- }
- else
- {
- __VTPRINT( DEBUG_GEN,
- "VtUiVolCtrl.HandleVTCommandPerformedL iIsActive = EFalse; " )
- iIsActive = EFalse;
- }
-
- }
- __VTPRINTEXIT( "VtUiVolCtrl.HandleVTCommandPerformedL")
- }
-
-// -----------------------------------------------------------------------------
-// CVtUiVolumeControl::IsVolumeChangedL
-// -----------------------------------------------------------------------------
-//
-TBool CVtUiVolumeControl::IsVolumeChangedL()
- {
- __VTPRINTENTER( "VtUiVolCtrl.IsVolumeChangedL" )
- MVtEngAudio::TAudioRoutingState audioRouting;
- User::LeaveIfError( iAudio.GetRoutingState( audioRouting ) );
- const TInt volume( iAudio.OutputVolume(
- !( audioRouting == MVtEngAudio::EAudioLoudspeaker ) ) );
-
- CVtUiVolume* vp = static_cast< CVtUiVolume* >(
- iFeatureManager.GetFeatureById( EVtUiFeatureIdVolume ) );
- TInt sliderVolume( volume );
- if ( vp )
- {
- sliderVolume = vp->GetVolumeValue();
- // update correct volume
- if ( audioRouting == MVtEngAudio::EAudioLoudspeaker )
- {
- __VTPRINT( DEBUG_GEN, "VtUiVolCtrl.IsVolumeChangedL.LS")
- iVolume.iHandsfreeVolume = sliderVolume;
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "VtUiVolCtrl.IsVolumeChangedL.HS")
- iVolume.iHandsetVolume = sliderVolume;
- }
- }
-
- __VTPRINT2( DEBUG_GEN, "VtUiVolCtrl.vol %d", volume )
- __VTPRINT2( DEBUG_GEN, "VtUiVolCtrl.slidvol %d", sliderVolume )
- __VTPRINTEXITR( "VtUiVolCtrl.IsVolumeChangedL %d", sliderVolume == volume )
- return sliderVolume == volume ? EFalse : ETrue;
- }
-// End of File
--- a/vtuis/videotelui/src/features/volume/cvtuivolumepopup.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* Copyright (c) 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: Volume popup implementation.
-*
-*/
-
-
-#include <AknVolumePopup.h>
-#include <cvtlogger.h>
-#include "cvtuivolumepopup.h"
-#include "cvtuifeaturemanager.h"
-#include "tVtuifeaturevariation.h"
-#include "CVtUiAppUi.h"
-#include "cvtengmodel.h"
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiVolumePopup* CVtUiVolumePopup::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiVolumePopup.NewL" )
- CVtUiVolumePopup* self =
- new ( ELeave ) CVtUiVolumePopup( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiVolumePopup.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::~CVtUiVolumePopup
-// ---------------------------------------------------------------------------
-//
-CVtUiVolumePopup::~CVtUiVolumePopup()
- {
- __VTPRINTENTER( "CVtUiVolumePopup.~" )
- __VTPRINTEXIT( "CVtUiVolumePopup.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::UpdateVolumeAndRouting
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolumePopup::UpdateVolumeAndRoutingL()
- {
- __VTPRINTENTER( "CVtUiVolumePopup.UpdateVolumeAndRoutingL" )
- MVtEngAudio& audio( iModel.Audio() );
- MVtEngAudio::TAudioRoutingState audioRouting;
- User::LeaveIfError( audio.GetRoutingState( audioRouting ) );
- //update routing and volume for this routing
- iAudioRouting = audioRouting;
- iVolume = OutputVolume( iAudioRouting );
- SetValue( iVolume );
- __VTPRINTEXIT( "CVtUiVolumePopup.UpdateVolumeAndRoutingL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::RefreshL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolumePopup::RefreshL()
- {
- __VTPRINTENTER( "CVtUiVolumePopup.RefreshL" )
- MVtEngAudio& audio( iModel.Audio() );
- MVtEngAudio::TAudioRoutingState audioRouting;
- User::LeaveIfError( audio.GetRoutingState( audioRouting ) );
-
- // Check if audio routing has changed
- if ( audioRouting != iAudioRouting )
- {
- __VTPRINT( DEBUG_GEN,
- "CVtUiVolumePopup.RefreshL audio routing changed" )
- // Audio routing changed -> update routing and volume for this routing
- iAudioRouting = audioRouting;
- iVolume = OutputVolume( iAudioRouting );
- SetValue( iVolume );
- __VTPRINT2( DEBUG_GEN, "CVtUiVolumePopup.RefreshL routing = %d",
- iAudioRouting )
- __VTPRINT2( DEBUG_GEN, "CVtUiVolumePopup.RefreshL volume = %d",
- iVolume )
- ClosePopup();
- }
- else
- {
- // No change in audio routing
- const TInt volume( OutputVolume( iAudioRouting ) );
- if ( volume != iVolume )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiVolumePopup.RefreshL volume changed" )
- iVolume = volume;
- SetValue( iVolume );
- __VTPRINT2( DEBUG_GEN, "CVtUiVolumePopup.RefreshL volume = %d",
- iVolume )
- if ( !IsPopUpVisible() )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiVolumePopup.RefreshL OpenPopupL" )
- OpenPopupL();
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "CVtUiVolumePopup.RefreshL ShowPopupL" )
- ShowPopupL();
- }
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "CVtUiVolumePopup.RefreshL ShowPopupL2" )
- ShowPopupL();
- }
- }
- __VTPRINTEXIT( "CVtUiVolumePopup.RefreshL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolumePopup::DoActivateL()
- {
- __VTPRINTENTER( "CVtUiVolumePopup.DoActivateL" )
- CVtUiPopupBase::DoActivateL();
- // In order to refresh softkey.
- iFeatureManager.AppUi().RefreshSoftkeysL();
- __VTPRINTEXIT( "CVtUiVolumePopup.DoActivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CVtUiVolumePopup::OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode /*aCode*/ )
- {
- __VTPRINTENTER( "CVtUiVolumePopup.OfferKeyEventL" )
- TKeyResponse response( EKeyWasNotConsumed );
- TVtUiSideVolumeKeysVariation svkvariation;
- if ( !svkvariation.IsSideVolumeKeysSupported() &&
- ( aEvent.iScanCode == EStdKeyLeftArrow ||
- aEvent.iScanCode == EStdKeyRightArrow ) )
- {
- ShowPopupL();
- UpdateVolumeL();
- }
- __VTPRINTEXITR( "CVtUiVolumePopup.OfferKeyEventL %d", response )
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::HandleControlEventL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolumePopup::HandleControlEventL( CCoeControl* aControl,
- TCoeEvent aEventType )
- {
- __VTPRINTENTER( "CVtUiVolumePopup.HandleControlEventL" )
- CVtUiPopupBase::HandleControlEventL( aControl, aEventType );
- if ( aEventType == EEventStateChanged )
- {
- UpdateVolumeL();
- }
- __VTPRINTEXIT( "CVtUiVolumePopup.HandleControlEventL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::CVtUiVolumePopup
-// ---------------------------------------------------------------------------
-//
-CVtUiVolumePopup::CVtUiVolumePopup( CVtUiFeatureManager& aFeatureManager )
- : CVtUiPopupBase( aFeatureManager.ComponentManager(),
- TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdToolbar |
- MVtUiComponent::EComponentIdNumberEntry |
- MVtUiComponent::EComponentIdZoom |
- MVtUiComponent::EVComponentIdContrast |
- MVtUiComponent::EVComponentIdBrightness ),
- EComponentIdVolume ),
- iModel( aFeatureManager.AppUi().Model() ),
- iFeatureManager ( aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiVolumePopup.CVtUiVolumePopup" )
- __VTPRINTEXIT( "CVtUiVolumePopup.CVtUiVolumePopup" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolumePopup::ConstructL()
- {
- __VTPRINTENTER( "CVtUiVolumePopup.ConstructL" )
- BaseConstructL();
- // set default value
- MVtEngAudio& audio( iModel.Audio() );
- MVtEngAudio::TAudioRoutingState audioRouting;
- User::LeaveIfError( audio.GetRoutingState( audioRouting ) );
- SetValue( OutputVolume( audioRouting ) );
- // set default audiorouting
- iAudioRouting = audioRouting;
- __VTPRINTEXIT( "CVtUiVolumePopup.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::OutputVolume
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiVolumePopup::OutputVolume(
- MVtEngAudio::TAudioRoutingState aRouting ) const
- {
- __VTPRINTENTER( "CVtUiVolumePopup.OutputVolume" )
- const MVtEngAudio& audio( iModel.Audio() );
- const TInt volume( audio.OutputVolume(
- !( aRouting == MVtEngAudio::EAudioLoudspeaker ) ) );
- __VTPRINTEXITR( "CVtUiVolumePopup.OutputVolume %d", volume )
- return volume;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiVolumePopup::UpdateVolumeL
-// ---------------------------------------------------------------------------
-//
-void CVtUiVolumePopup::UpdateVolumeL()
- {
- __VTPRINTENTER( "CVtUiVolumePopup.UpdateVolumeL" )
-
- MVtEngAudio& audio( iModel.Audio() );
- MVtEngAudio::TAudioRoutingState audioRouting;
- User::LeaveIfError( audio.GetRoutingState( audioRouting ) );
-
- const TInt volume( OutputVolume( iAudioRouting ) );
-
- __VTPRINT2( DEBUG_GEN, "CVtUiVolumePopup.UpdateVolumeL volume = %d",
- volume )
- __VTPRINT2( DEBUG_GEN, "CVtUiVolumePopup.UpdateVolumeL Value() = %d",
- Value() )
- if ( volume != Value() )
- {
- MVtEngAudio::TVtEngOutputVolume newVolume;
-
- // Get current audio values from engine
- // and set new audio volume to right routing
- if ( iAudioRouting == MVtEngAudio::EAudioLoudspeaker )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiVolumePopup.UpdateVolumeL.LS")
- // changed value
- newVolume.iHandsfreeVolume = Value();
- // old value
- TInt volume = audio.OutputVolume( ETrue );
- newVolume.iHandsetVolume = volume;
- }
- else
- {
- __VTPRINT( DEBUG_GEN, "CVtUiVolumePopup.UpdateVolumeL.HS")
- // changed value
- newVolume.iHandsetVolume = Value();
- // old value
- TInt volume = audio.OutputVolume( EFalse );
- newVolume.iHandsfreeVolume = volume;
- }
-
- iFeatureManager.AppUi().CmdUpdateVolumeL( newVolume );
- }
- __VTPRINTEXIT( "CVtUiVolumePopup.UpdateVolumeL" )
- }
--- a/vtuis/videotelui/src/features/zoom/cvtuizoom.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 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: Zoom feature implementation.
-*
-*/
-
-
-#include <cvtlogger.h>
-#include "cvtuizoom.h"
-#include "tvtuifeatureids.h"
-#include "cvtuizoompopup.h"
-#include "cvtuifeaturemanager.h"
-#include "tvtuistates.h"
-
-// ---------------------------------------------------------------------------
-// CVtUiZoom::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiZoom* CVtUiZoom::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiZoom.NewL" )
- CVtUiZoom* self =
- new ( ELeave ) CVtUiZoom( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiZoom.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoom::~CVtUiZoom
-// ---------------------------------------------------------------------------
-//
-CVtUiZoom::~CVtUiZoom()
- {
- __VTPRINTENTER( "CVtUiZoom.~" )
- __VTPRINTEXIT( "CVtUiZoom.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoom::RefreshL
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoom::RefreshL()
- {
- __VTPRINTENTER( "CVtUiZoom.RefreshL" )
- if ( State() == EActive )
- {
- static_cast< CVtUiZoomPopup& >( Popup() ).RefreshL();
- }
- __VTPRINTEXIT( "CVtUiZoom.RefreshL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoom::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoom::StartL()
- {
- __VTPRINTENTER( "CVtUiZoom.StartL" )
- if ( State() == EActive )
- {
- // need to refresh when already active to replenish the close timer
- RefreshL();
- }
- else
- {
- iFeatureManager.UiStates().SetIsFloatingToolbarVisible( ETrue );
- CVtUiSliderBase::StartL();
- iFeatureManager.UiStates().SetZoomModeOn( ETrue );
- }
- __VTPRINTEXIT( "CVtUiZoom.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoom::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoom::Stop()
- {
- __VTPRINTENTER( "CVtUiZoom.Stop" )
- iFeatureManager.UiStates().SetZoomModeOn( EFalse );
- CVtUiSliderBase::Stop();
- __VTPRINTEXIT( "CVtUiZoom.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoom::ComponenStateChangedL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoom::ComponenStateChangedL()
- {
- __VTPRINTENTER( "CVtUiZoom.ComponenStateChangedL()" )
- // Close event received stop the feature
- // If this was a block event then do not stop the feature
- // Currently we can't separate block and stop events from component manager
- if ( !iFeatureManager.UiStates().IsCaptureModeOn() )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiZoom.ComponenStateChangedL.Stop" )
- Stop();
- }
- __VTPRINTEXIT( "CVtUiZoom.ComponenStateChangedL()" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoom::CVtUiZoom
-// ---------------------------------------------------------------------------
-//
-CVtUiZoom::CVtUiZoom( CVtUiFeatureManager& aFeatureManager )
- : CVtUiSliderBase( aFeatureManager, EVtUiFeatureIdZoom )
- {
- __VTPRINTENTER( "CVtUiZoom.CVtUiZoom" )
- __VTPRINTEXIT( "CVtUiZoom.CVtUiZoom" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoom::CVtUiZoom
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoom::ConstructL()
- {
- __VTPRINTENTER( "CVtUiZoom.ConstructL" )
- BaseConstructL();
- SetPopup( CVtUiZoomPopup::NewL( iFeatureManager ) );
- __VTPRINTEXIT( "CVtUiZoom.ConstructL" )
- }
--- a/vtuis/videotelui/src/features/zoom/cvtuizoompopup.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* Copyright (c) 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: Zoom popup implementation.
-*
-*/
-
-
-#include <AknVolumePopup.h>
-#include <cvtlogger.h>
-#include "cvtuizoompopup.h"
-#include "cvtuifeaturemanager.h"
-#include "tVtuifeaturevariation.h"
-#include "CVtUiAppUi.h"
-#include "cvtengmodel.h"
-
-// Number of zoom steps
-static const TInt KZoomStepCount = 10;
-
-// Minimum zoom factor value
-static const TInt KMinZoomFactor = 0;
-
-// default time out time for zoom popup
-const TInt KDefaultZoomTimeOutTime = 5;
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiZoomPopup* CVtUiZoomPopup::NewL( CVtUiFeatureManager&
- aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiZoomPopup.NewL" )
- CVtUiZoomPopup* self =
- new ( ELeave ) CVtUiZoomPopup( aFeatureManager );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- __VTPRINTEXIT( "CVtUiZoomPopup.NewL" )
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::~CVtUiZoomPopup
-// ---------------------------------------------------------------------------
-//
-CVtUiZoomPopup::~CVtUiZoomPopup()
- {
- __VTPRINTENTER( "CVtUiZoomPopup.~" )
- __VTPRINTEXIT( "CVtUiZoomPopup.~" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::RefreshL
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoomPopup::RefreshL()
- {
- __VTPRINTENTER( "CVtUiZoomPopup.RefreshL" )
-
- UpdateAdjustRangeL();
-
- iCurrent = CurrentZoomStep();
- if ( iCurrent < KMinZoomFactor )
- {
- User::Leave( KErrArgument );
- }
- SetValue( iCurrent );
- ShowPopupL();
- __VTPRINTEXIT( "CVtUiZoomPopup.RefreshL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoomPopup::DoActivateL()
- {
- __VTPRINTENTER( "CVtUiZoomPopup.DoActivateL" )
- UpdateAdjustRangeL();
- CVtUiPopupBase::DoActivateL();
- // In order to refresh softkey.
- iFeatureManager.AppUi().RefreshSoftkeysL();
- __VTPRINTEXIT( "CVtUiZoomPopup.DoActivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CVtUiZoomPopup::OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode )
- {
- __VTPRINTENTER( "CVtUiZoomPopup.OfferKeyEventL" )
- TKeyResponse response( EKeyWasNotConsumed );
- // Don't handle other types here
- if ( aCode != EEventKey )
- {
- return response;
- }
-
- if ( aEvent.iScanCode == EStdKeyUpArrow ||
- aEvent.iScanCode == EStdKeyDownArrow ||
- aEvent.iCode == EKeyZoomIn ||
- aEvent.iCode == EKeyZoomOut )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiZoomPopup.OfferKeyEventL zoom key" )
- TInt step( 1 );
- if ( aEvent.iScanCode == EStdKeyDownArrow ||
- aEvent.iCode == EKeyZoomOut )
- {
- step = -step;
- }
- const TInt current( Value() );
- TInt value( current + step );
- value = Max( KMinZoomFactor, Min( value, KZoomStepCount ) );
- if ( value != current )
- {
- __VTPRINT2( DEBUG_GEN, "CVtUiZoomPopup.OfferKeyEventL zoom = %d",
- value )
- SetValue( value );
- iFeatureManager.AppUi().SetZoomFactorL( ScaledValue() );
- response = EKeyWasConsumed;
- }
- ShowPopupL();
- }
- __VTPRINTEXITR( "CVtUiZoomPopup.OfferKeyEventL %d", response )
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::HandleControlEventL
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoomPopup::HandleControlEventL( CCoeControl* aControl,
- TCoeEvent aEventType )
- {
- __VTPRINTENTER( "CVtUiZoomPopup.HandleControlEventL" )
- CVtUiPopupBase::HandleControlEventL( aControl, aEventType );
-
- if ( aEventType == EEventStateChanged )
- {
- __VTPRINT2( DEBUG_GEN, "CVtUiZoomPopup.HandleControlEventL zoom = %d", ScaledValue() )
-
- if ( CurrentZoomStep() != Value() )
- {
- iFeatureManager.AppUi().SetZoomFactorL( ScaledValue() );
- }
- }
-
- __VTPRINTEXIT( "CVtUiZoomPopup.HandleControlEventL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::CVtUiZoomPopup
-// ---------------------------------------------------------------------------
-//
-CVtUiZoomPopup::CVtUiZoomPopup( CVtUiFeatureManager& aFeatureManager )
- : CVtUiPopupBase( aFeatureManager.ComponentManager(),
- TVtUiBlockListBitField(
- MVtUiComponent::EComponentIdDialer |
- MVtUiComponent::EComponentIdToolbar |
- MVtUiComponent::EComponentIdNumberEntry |
- MVtUiComponent::EComponentIdVolume |
- MVtUiComponent::EVComponentIdBrightness |
- MVtUiComponent::EVComponentIdContrast
- ),
- EComponentIdZoom ),
- iFeatureManager( aFeatureManager ),
- iMedia( aFeatureManager.AppUi().Model().Media() ),
- iCurrent( KErrNotReady )
- {
- __VTPRINTENTER( "CVtUiZoomPopup.CVtUiZoomPopup" )
- __VTPRINTEXIT( "CVtUiZoomPopup.CVtUiZoomPopup" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoomPopup::ConstructL()
- {
- __VTPRINTENTER( "CVtUiZoomPopup.ConstructL" )
- BaseConstructL();
- // Set slider type to percentage
- SetValueType( EAknSliderValuePercentage );
-
- // Set timeout
- SetTimeOut( KDefaultZoomTimeOutTime );
- __VTPRINTEXIT( "CVtUiZoomPopup.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::UpdateAdjustRangeL
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoomPopup::UpdateAdjustRangeL()
- {
- __VTPRINTENTER( "CVtUiZoomPopup.UpdateAdjustRangeL" )
- // Get max zoom step from engine
- iMax = MaxZoomStep();
- // Set value range to visible slider control
- // range 0-10 or 0-iMax if max < 0
- // stepcount = 10 or iMax if max < 10
- SetAdjustRange( KMinZoomFactor, Min( KZoomStepCount, iMax ), Min( KZoomStepCount, iMax ) );
-
- // Set value range to baseclass
- // range on e.g. 0-20
- SetMinAndMaxValues( KMinZoomFactor, iMax );
-
- // Get current zoom step
- iCurrent = CurrentZoomStep();
-
- if ( iCurrent == KErrNotFound || iMax == KErrNotFound || iCurrent > iMax )
- {
- User::Leave( KErrNotFound );
- }
- // Set new value
- SetValue( iCurrent );
- __VTPRINTEXIT( "CVtUiZoomPopup.UpdateAdjustRangeL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::CurrentZoomStep
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiZoomPopup::CurrentZoomStep() const
- {
- __VTPRINTENTER( "CVtUiZoomPopup.CurrentZoomStep" )
- TInt current( KMinZoomFactor );
- const TInt error( iMedia.GetCurrentZoomStep( current ) );
- current = ( error ? KErrNotFound : current );
-
- // Value asked from the engine must be scaled.
- // If the current asked value is 1 then the scaling formula in the
- // popupbase doesn't round the value to 1 there fore value is
- // initalized to 1.
- TInt val = 1;
- if ( current != 1 )
- {
- val = SliderValueWithScaling( current );
- }
- __VTPRINTEXITR( "CVtUiZoomPopup.CurrentZoomStep %d", val )
- return val;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::MaxZoomStep
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiZoomPopup::MaxZoomStep() const
- {
- __VTPRINTENTER( "CVtUiZoomPopup.MaxZoomStep" )
- TInt max( KMinZoomFactor );
- const TInt error( iMedia.GetMaxZoomStep( max ) );
- max = ( error ? KErrNotFound : max );
- __VTPRINTEXITR( "CVtUiZoomPopup.MaxZoomStep %d", max )
- return max;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiZoomPopup::ScaleAndSetZoomFactorL
-// ---------------------------------------------------------------------------
-//
-void CVtUiZoomPopup::ScaleAndSetZoomFactorL( TInt aValue )
- {
- __VTPRINTENTER( "CVtUiZoomPopup.ScaleAndSetZoomFactorL" )
- const TInt value = aValue * MaxZoomStep() / 10; // 10 vakioksi count + 1 ei yhtä
- iFeatureManager.AppUi().SetZoomFactorL( value );
- __VTPRINTEXITR( "CVtUiZoomPopup.ScaleAndSetZoomFactorL %d", value )
- }
-
--- a/vtuis/videotelui/src/sliders/cvtuipopupbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,509 +0,0 @@
-/*
-* 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: Base class for video telephone popups
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <AknUtils.h>
-#include <aknvolumepopup.h>
-#include <fbs.h>
-
-#include "cvtuipopupbase.h"
-#include "mvtuicomponentmanager.h"
-#include "mvtuicomponentstateobserver.h"
-#include "VtUiPanic.h"
-#include <layoutmetadata.cdl.h>
-#include <videotelui.rsg>
-#include <aknlayoutscalable_apps.cdl.h>
-
-// default time out time for popup
-const TInt KDefaultTimeOutTime = 2;
-
-// max value for slider is 100 (100%)
-const TInt KMaxSliderValue = 100;
-
-// Implementation of TVtUiBaseComponentState
-
-// ---------------------------------------------------------------------------
-// TVtUiBaseComponentState::TVtUiBaseComponentState
-// ---------------------------------------------------------------------------
-//
-TVtUiBaseComponentState::TVtUiBaseComponentState(
- MVtUiComponent& aComponent, TVtUiBlockListBitField aBitField ) :
- TVtUiComponentState( aComponent, aBitField )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::~CVtUiPopupBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPopupBase::~CVtUiPopupBase()
- {
- __VTPRINTENTER( "CVtUiPopupBase.~CVtUiPopupBase" )
- if ( iPopup )
- {
- iPopup->CloseVolumePopup();
- }
- // unregister component change registration
- iComponentManager.ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::EUnregister );
- delete iPopup;
- __VTPRINTEXIT( "CVtUiPopupBase.~CVtUiPopupBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ComponentId
-// ---------------------------------------------------------------------------
-//
- MVtUiComponent::TComponentId CVtUiPopupBase::ComponentId() const
- {
- __VTPRINTENTER( "CVtUiPopupBase.ComponentId" )
- __VTPRINTEXIT( "CVtUiPopupBase.ComponentId" )
- return iComponentId;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ComponentAsControl
-// ---------------------------------------------------------------------------
-//
- CCoeControl* CVtUiPopupBase::ComponentAsControl()
- {
- __VTPRINTENTER( "CVtUiPopupBase.ComponentAsControl" )
- __VTPRINTEXIT( "CVtUiPopupBase.ComponentAsControl" )
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::DoActivateL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.DoActivateL" )
- User::LeaveIfError(
- iComponentManager.ChangeResourceChangeRegistration(
- *this, MVtUiComponentManager::ERegister ) );
-
- User::LeaveIfError( iComponentManager.ChangeKeyEventRegistration(
- *this, MVtUiComponentManager::ERegister ) );
-
- ShowPopupL();
- __VTPRINTEXIT( "CVtUiPopupBase.DoActivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::DoDeactivateL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::DoDeactivateL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.DoDeactivateL()" )
- iPopup->CloseVolumePopup();
- //notify observer that popup has been closed
- if ( iCompStateObserver )
- {
- iCompStateObserver->ComponenStateChangedL();
- }
- // unregister resource change registration
- iComponentManager.ChangeResourceChangeRegistration(
- *this, MVtUiComponentManager::EUnregister );
-
- iComponentManager.ChangeKeyEventRegistration(
- *this, MVtUiComponentManager::EUnregister );
- __VTPRINTEXIT( "CVtUiPopupBase.DoDeactivateL()" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::HandleResourceChangeL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::HandleResourceChangeL( TInt aType )
- {
- __VTPRINTENTER( "CVtUiPopupBase.HandleResourceChangeL()" )
- if ( aType == KEikDynamicLayoutVariantSwitch )
- {
- iPopup->SetPosition( PopupPosition() );
- }
- __VTPRINTEXIT( "CVtUiPopupBase.HandleResourceChangeL()" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::HandleControlEventL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::HandleControlEventL( CCoeControl* /*aControl*/,
- TCoeEvent aEventType )
- {
- __VTPRINTENTER( "CVtUiPopupBase.HandleControlEventL" )
- if ( aEventType == EEventStateChanged )
- {
- // popup closed
- if( !IsPopUpVisible() )
- {
- ClosePopup();
- }
- }
- __VTPRINTEXIT( "CVtUiPopupBase.HandleControlEventL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CVtUiPopupBase::OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode )
- {
- __VTPRINTENTER( "CVtUiPopupBase.OfferKeyEventL" )
- TKeyResponse response( EKeyWasNotConsumed );
- // Don't handle other types here
- if ( aCode != EEventKey )
- {
- return response;
- }
-
- if ( aEvent.iScanCode == EStdKeyUpArrow ||
- aEvent.iScanCode == EStdKeyDownArrow )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiPopupBase.OfferKeyEventL" )
- TInt step( 1 );
- if ( aEvent.iScanCode == EStdKeyDownArrow )
- {
- step = -step;
- }
-
- const TInt current( Value() );
- TInt value( current + step );
-
- TInt maxValue;
- TInt minValue;
- iPopup->GetRange( minValue, maxValue );
-
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.OfferKeyEventL iPopup minValue = %d",
- minValue )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.OfferKeyEventL iPopup maxValue = %d",
- maxValue )
-
- minValue = minValue / iScalingConstant;
- value = Max( minValue, Min( value, iStepCount ) );
- if ( value != current )
- {
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.OfferKeyEventL Volume value = %d",
- value )
- SetValue( value );
- response = EKeyWasConsumed;
- }
- ShowPopupL();
- }
- __VTPRINTEXITR( "CVtUiPopupBase.OfferKeyEventL %d", response )
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetObserver()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetObserver( MVtUiComponentStateObserver& aCompStateObserver )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetObserver()" )
- iCompStateObserver = &aCompStateObserver;
- __VTPRINTEXIT( "CVtUiPopupBase.SetObserver()" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetValueType()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetValueType( TInt aValueType )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetValueType" )
- iPopup->SetValueType( aValueType );
- __VTPRINTEXIT( "CVtUiPopupBase.SetValueType" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetPermanenVisibility()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetPermanenVisibility( TBool aPermanent )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetPermanenVisibility" )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase = %d", aPermanent );
- const TInt longPeriod( 86400 ); // 24 h
- if ( aPermanent )
- {
- iPopup->SetTimeOutAsSecond( longPeriod );
- iPopup->ClosePopupWhenTappedOutside( !aPermanent );
- }
- else
- {
- iPopup->ClosePopupWhenTappedOutside( !aPermanent );
- iPopup->SetTimeOutAsSecond( iTimeOutTime );
- }
- __VTPRINTEXIT( "CVtUiPopupBase.SetPermanenVisibility" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::CVtUiPopupBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPopupBase::CVtUiPopupBase( MVtUiComponentManager& aComponentManager,
- TVtUiBlockListBitField aBitField, TComponentId aComponentId ) :
- iComponentManager ( aComponentManager ), iComponentState( *this, aBitField ),
- iComponentId( aComponentId ), iScalingConstant( 1 )
- {
- __VTPRINTENTER( "CVtUiPopupBase.CVtUiPopupBase" )
- __VTPRINTEXIT( "CVtUiPopupBase.CVtUiPopupBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::BaseConstructL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.BaseConstructL" )
- iPopup = CAknVolumePopup::NewL( NULL, ETrue );
- iPopup->SetObserver( this );
-
- // Initialized to 2 seconds
- iTimeOutTime = KDefaultTimeOutTime;
-
- // set position
- iPopup->SetPosition( PopupPosition() );
-
- User::LeaveIfError(
- iComponentManager.ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::ERegister ) );
- __VTPRINTEXIT( "CVtUiPopupBase.BaseConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ShowPopupL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::ShowPopupL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.ShowPopupL" )
- iPopup->ShowVolumePopupL();
- __VTPRINTEXIT( "CVtUiPopupBase.ShowPopupL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::OpenPopupL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::OpenPopupL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.OpenPopupL" )
- TRAPD( error,
- iComponentManager.RequestActivationL( ComponentId() ) );
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.OpenPopupL reqAct=%d", error );
- User::LeaveIfError( error );
- __VTPRINTEXIT( "CVtUiPopupBase.OpenPopupL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ClosePopup
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::ClosePopup()
- {
- __VTPRINTENTER( "CVtUiPopupBase.ClosePopup" )
- TInt error( KErrNone );
- TRAP( error, iComponentManager.DeActivateComponentL( ComponentId() ) );
- __VTPRINTEXITR( "CVtUiPopupBase.ClosePopup %d", error )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetTimeOut
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetTimeOut( TInt aTime )
- {
- iTimeOutTime = aTime;
- iPopup->SetTimeOutAsSecond( aTime );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::IsPopUpVisible
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPopupBase::IsPopUpVisible()
- {
- return iPopup->IsVisible();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::PopupPosition
-// ---------------------------------------------------------------------------
-//
-TPoint CVtUiPopupBase::PopupPosition() const
- {
- __VTPRINTENTER( "CVtUiPopupBase.PopupPosition" )
- TRect mainPaneRect;
- TAknWindowLineLayout popupLineLayout;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- popupLineLayout =
- AknLayoutScalable_Apps::aid_placing_vt_slider_lsc().LayoutLine();
- }
- else
- {
- popupLineLayout =
- AknLayoutScalable_Apps::aid_placing_vt_slider_prt().LayoutLine();
- }
-
- TAknLayoutRect layoutRect;
- layoutRect.LayoutRect( mainPaneRect, popupLineLayout );
- __VTPRINTEXIT( "CVtUiPopupBase.PopupPosition" )
- return layoutRect.Rect().iTl;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetPopupValue
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetPopupValue( TInt aValue )
- {
- iPopup->SetValue( aValue * iScalingConstant );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetAdjustRange
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetAdjustRange( TInt aMinValue, TInt aMaxValue,
- TInt aStepCount )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetAdjustRange" )
- __ASSERT_ALWAYS( aMinValue <= aMaxValue &&
- ( aMaxValue - aMinValue ) >= aStepCount &&
- aStepCount > 0, VtUiPanic::Panic( EVtUiPanicOutOfRange ) );
-
- // store stepcount
- iStepCount = aStepCount;
-
- // Aknvolumepopup does not do any scaling i.e max value
- // must be 100 or otherwise the per cent value is not shown right.
- // Scaling constant is used to multiple max value to be 100.
- iScalingConstant = KMaxSliderValue / aMaxValue;
- iPopup->SetRange( aMinValue, KMaxSliderValue );
- TInt stepSize = KMaxSliderValue / aStepCount;
- iPopup->SetStepSize( stepSize );
- __VTPRINTEXIT( "CVtUiPopupBase.SetAdjustRange" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetValue
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetValue( TInt aValue )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetValue" )
- SetPopupValue( aValue );
- __VTPRINTEXITR( "CVtUiPopupBase.SetValue %d", Value() )
- }
-
- // ---------------------------------------------------------------------------
-// CVtUiPopupBase::ScaleAndSetValue
-// ---------------------------------------------------------------------------
-//
- void CVtUiPopupBase::ScaleAndSetValue( TInt aValue )
- {
- __VTPRINTENTER( "CVtUiPopupBase.ScaleAndSetValue" )
- SetPopupValue( SliderValueWithScaling( aValue ) );
- __VTPRINTEXITR( "CVtUiPopupBase.ScaleAndSetValue %d", Value() )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ScaledValue
-// ---------------------------------------------------------------------------
-//
- TInt CVtUiPopupBase::ScaledValue() const
- {
- __VTPRINTENTER( "CVtUiPopupBase.ScaledValue" )
- TInt value = Value() * ( iMax-iMin ) / iStepCount + iMin;
- __VTPRINTEXITR( "CVtUiPopupBase.ScaledValue %d", value )
- return value;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SliderValueWithScaling
-// ---------------------------------------------------------------------------
-//
- TInt CVtUiPopupBase::SliderValueWithScaling( TInt aValue) const
- {
- __VTPRINTENTER( "CVtUiPopupBase.SliderValueWithScaling" )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.aValue=%d", aValue )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.iStepCount=%d", iStepCount )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.iMax=%d", iMax )
-
- if ( iMax == aValue)
- {
- return iStepCount;
- }
- else if ( iMin == aValue )
- {
- return 0;
- }
- TInt modValue = iStepCount * ( aValue - iMin) % ( iMax - iMin );
- TInt value = iStepCount * ( aValue - iMin) / ( iMax - iMin );
-
- if ( modValue > ( iMax - iMin ) / 2 )
- {
- value++;
- }
-
- __VTPRINTEXITR( "CVtUiPopupBase.SliderValueWithScaling %d", value )
- return value;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetMinAndMaxValues
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetMinAndMaxValues( TInt aMin, TInt aMax )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetMaxAndMinValues" )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase..aMax=%d", aMax )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase..aMinV=%d", aMin )
- iMax = aMax;
- iMin = aMin;
- __VTPRINTEXIT( "CVtUiPopupBase.SetMaxAndMinValues " )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::Value
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiPopupBase::Value() const
- {
- __VTPRINTENTER( "CVtUiPopupBase.Value" )
- __VTPRINTEXITR( "CVtUiPopupBase.Value %d", iPopup->Value() )
- return iPopup->Value() / iScalingConstant;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::UpdatePopupL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::UpdatePopupL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.UpdatePopupL" )
- __VTPRINTEXIT( "CVtUiPopupBase.UpdatePopupL " )
- }
--- a/vtuis/videotelui/src/sliders/cvtuisliderbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
-* 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: Base class implementation for video telephone sliders
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuisliderbase.h"
-#include "cvtuipopupbase.h"
-#include "cvtuifeaturemanager.h"
-#include "mvtuicomponentmanager.h"
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::~CVtUiSliderBase
-// ---------------------------------------------------------------------------
-//
-CVtUiSliderBase::~CVtUiSliderBase()
- {
- __VTPRINTENTER( "CVtUiSliderBase.~CVtUiSliderBase" )
- delete iPopup;
- __VTPRINTEXIT( "CVtUiSliderBase.~CVtUiSliderBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::UpdateSlider
-// ---------------------------------------------------------------------------
-//
-void CVtUiSliderBase::UpdateSlider()
- {
- __VTPRINTENTER( "CVtUiSliderBase.UpdateSlider" )
-
- iPopup->UpdatePopupL();
-
- __VTPRINTEXIT( "CVtUiSliderBase.UpdateSlider" )
- }
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::StartL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSliderBase::StartL()
- {
- __VTPRINTENTER( "CVtUiSliderBase.StartL" )
- if ( iFeatureState == MVtUiFeature::EReady )
- {
- iFeatureManager.ComponentManager().
- RequestActivationL( iPopup->ComponentId() );
- // set state
- iFeatureState = MVtUiFeature::EActive;
- }
- __VTPRINTEXIT( "CVtUiSliderBase.StartL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::Stop
-// ---------------------------------------------------------------------------
-//
-void CVtUiSliderBase::Stop()
- {
- __VTPRINTENTER( "CVtUiSliderBase.Stop" )
- TRAP_IGNORE(
- {
- if ( iFeatureState == MVtUiFeature::EActive )
- {
- // set state
- iFeatureState = MVtUiFeature::EReady;
- iFeatureManager.ComponentManager().
- DeActivateComponentL( iPopup->ComponentId() );
- }
- } );
- __VTPRINTEXIT( "CVtUiSliderBase.Stop" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::InitFeatureL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSliderBase::InitFeatureL()
- {
- __VTPRINTENTER( "CVtUiSliderBase.InitFeatureL" )
- iFeatureState = EReady;
- __VTPRINTEXIT( "CVtUiSliderBase.InitFeatureL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::ComponenStateChangedL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiSliderBase::ComponenStateChangedL()
- {
- __VTPRINTENTER( "CVtUiSliderBase.ComponenStateChangedL()" )
- // Close event received stop the feature
- Stop();
- __VTPRINTEXIT( "CVtUiSliderBase.ComponenStateChangedL()" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::SetPermanenVisibility()
-// ---------------------------------------------------------------------------
-//
-void CVtUiSliderBase::SetPermanenVisibility( TBool aPermanent )
- {
- if ( iPopup )
- {
- iPopup->SetPermanenVisibility( aPermanent );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::CVtUiSliderBase
-// ---------------------------------------------------------------------------
-//
-CVtUiSliderBase::CVtUiSliderBase( CVtUiFeatureManager& aFeatureManager,
- TVtUiFeatureId aFeatureId ) : CVtUiFeatureBase(
- aFeatureId, aFeatureManager )
- {
- __VTPRINTENTER( "CVtUiSliderBase.CVtUiSliderBase" )
- __VTPRINTEXIT( "CVtUiSliderBase.CVtUiSliderBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiSliderBase::ConstructL()
- {
- __VTPRINTENTER( "CVtUiSliderBase.ConstructL" )
- BaseConstructL();
- __VTPRINTEXIT( "CVtUiSliderBase.ConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::SetPopup
-// ---------------------------------------------------------------------------
-//
-void CVtUiSliderBase::SetPopup( CVtUiPopupBase* aPopup )
- {
- __VTPRINTENTER( "CVtUiSliderBase.SetPopup" )
- iPopup = aPopup;
- if ( iPopup )
- {
- iPopup->SetObserver( *this );
- }
- __VTPRINTEXIT( "CVtUiSliderBase.SetPopup" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::SetPopup
-// ---------------------------------------------------------------------------
-//
-CVtUiPopupBase& CVtUiSliderBase::Popup()
- {
- return *iPopup;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiSliderBase::SetPopup
-// ---------------------------------------------------------------------------
-//
-const CVtUiPopupBase& CVtUiSliderBase::Popup() const
- {
- return *iPopup;
- }
--- a/vtuis/videotelui/src/tvtuiappstatebase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,399 +0,0 @@
-/*
-* Copyright (c) 2007 - 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: base class for application states
-*
-*/
-
-
-#include "tvtuiappstates.h"
-#include "videotelui.hrh"
-#include "tvtuistates.h"
-#include "cvtuiappshutter.h"
-#include "mvtuistatecontext.h"
-#include <videotelui.rsg>
-#include <aknquerydialog.h>
-#include <stringloader.h>
-#include <cvtlogger.h>
-#include <cvtengmodel.h>
-#include <vtengevents.h>
-#include <mvtengcommandhandler.h>
-#include <coreapplicationuisdomainpskeys.h>
-
-// By default call ending command is allowed to send to call handling.
-
-// Initially no shutdown request
-TBool TVtUiAppStateBase::iShutdownRequested = EFalse;
-
-// -----------------------------------------------------------------------------
-// c++ constructor
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TVtUiAppStateBase(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates ) : iCtx(aCtx), iUiStates( aUiStates )
- {
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::~TVtUiAppStateBase()
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::AppUiStartupPhase1DoneL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::AppUiStartupPhase1DoneL()
- {
- // no default behavior
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::AppUiStartupPhase2DoneL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::AppUiStartupPhase2DoneL()
- {
- // no default behavior
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::ShutdownDoneL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::ShutdownDoneL()
- {
- // no default behavior
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::HandleForegroundChangedL
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAppStateBase::HandleForegroundChangedL(
- const TBool /*aIsForegroung*/ )
- {
- // no default behavior
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::PreHandleForegroundChangedL
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAppStateBase::PreHandleForegroundChangedL(
- const TBool /*aIsForegroung*/ )
- {
- // no default behavior
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::StartDtmfTone
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::StartDtmfTone( const TChar& /*aTone*/ )
- {
- // no default behavior
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::StopDtmfTone
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::StopDtmfTone()
- {
- // no default behavior
- }
-
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::SetInitialStateL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::SetInitialStateL(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.SetInitialState" )
- TVtUiAppStateBase* initialState =
- TVtUiStateStarting::InstanceL( aCtx, aUiStates );
- aCtx.ChangeState( initialState );
- initialState->OpenL();
- __VTPRINTEXIT( "TVtUiAppStateBase.SetInitialState" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::AppUiStartupFailedL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::AppUiStartupFailedL()
- {
- __VTPRINTENTER( "TVtUiAppStateBase.AppUiStartupFailedL" )
- // Shutdown
- ChangeStateL( *TVtUiStateResetting::InstanceL( iCtx, iUiStates ) );
- __VTPRINTEXIT( "TVtUiAppStateBase.AppUiStartupFailedL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::OpenL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::OpenL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::Close
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::Close()
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::ChangeStateL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::ChangeStateL( TVtUiAppStateBase& aNewState )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.ChangeStateL" )
-
- // Check for transition to already active state.
- TVtUiAppStateBase* state = &aNewState;
- if ( state == this )
- {
- __VTPRINTEXITR( "TVtUiAppStateBase.ChangeStateL %d", 0 )
- return;
- }
- const TVtEngCommandId pending =
- iCtx.Model().CommandHandler().PendingCommand();
- if ( pending != KVtEngCommandNone &&
- state == TVtUiStateResetting::InstanceL( iCtx, iUiStates ) )
- {
- // delay shutdown until engine command completes
- __VTPRINT2( DEBUG_GEN, "TVtUiAppStateBase.ChangeStateL, pengind command is: %d", pending );
- TVtUiAppStateBase::iShutdownRequested = ETrue;
-
- if ( pending == KVtEngInitializeShareImage )
- {
- iCtx.Model().CommandHandler().CancelCommand( pending );
- }
-
- __VTPRINTEXITR( "TVtUiAppStateBase.ChangeStateL %d", KErrNotReady )
- return;
- }
- __VTPRINT( DEBUG_GEN,
- " TVtUiAppStateBase.ChangeStateL !! STATE TRANSITION !!" )
- iCtx.ChangeState( &aNewState );
- Close();
- // perform entry action for new state
- aNewState.OpenL();
- __VTPRINTEXITR( "TVtUiAppStateBase.ChangeStateL %d", 1 )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::CleanupResetPushL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::CleanupResetPushL()
- {
- // Shutdown if leave occurs in critical ops.
- CleanupStack::PushL(
- TCleanupItem( TransitionToReset, this ) );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::TransitionToReset
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::TransitionToReset( TAny* aAny )
- {
- TVtUiAppStateBase* state = reinterpret_cast< TVtUiAppStateBase* >( aAny );
- TRAP_IGNORE( state->ChangeStateL( *TVtUiStateResetting::InstanceL(
- state->iCtx, state->iUiStates ) ) );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::HandleVTCommandPerformedL
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiAppStateBase::HandleVTCommandPerformedL(
- TVtEngCommandId /*aCommand*/,
- const TInt /*aError*/ )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.HandleVTCommandPerformedL" )
- // By default all UI is allowed to handle all command completions.
- TEventResponse handled = EEventNotHandled;
-
- // check if shutdown requested while command was pending
- const TVtEngCommandId pending = iCtx.Model().CommandHandler().PendingCommand();
- if ( pending == KVtEngCommandNone &&
- TVtUiAppStateBase::iShutdownRequested )
- {
- __VTPRINT( DEBUG_GEN, "Handling delayed shutdown" );
- ChangeStateL( *TVtUiStateResetting::InstanceL(
- iCtx, iUiStates ) );
- }
- __VTPRINTEXIT( "TVtUiAppStateBase.HandleVTCommandPerformedL" )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::HandleVtEventL
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiAppStateBase::HandleVtEventL(
- const TInt aEvent )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.HandleVtEventL" )
- TEventResponse handled = EEventHandled;
- switch ( aEvent )
- {
- case KVtEngDeviceLockOn:
- case KVtEngDeviceLockOff:
- HandleDeviceLockEventL( aEvent == KVtEngDeviceLockOn );
- break;
- case KVtEngRemoteDisconnect:
- /** Don't allow sending of end active call command to call handling
- * because requesting disconnect from the network after NW originated
- * termination violates standards.
- */
- break;
- default:
- handled = EEventNotHandled;
- break;
- }
- __VTPRINTEXIT( "TVtUiAppStateBase.HandleVtEventL" )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiAppStateBase::HandleCommandL(
- const TInt /*aCommand*/ )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.HandleCommandL" )
- TEventResponse handled = EEventNotHandled;
- __VTPRINTEXITR( "TVtUiAppStateBase.HandleCommandL %d", handled )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::HandleLayoutChangedL
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::HandleLayoutChangedL( )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.HandleLayoutChangedL" )
- // By default only indicate that layout change needs to be handled.
- iUiStates.SetLayoutChangeNeeded( ETrue );
- __VTPRINTEXIT( "TVtUiAppStateBase.HandleLayoutChangedL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::HandleShutdownReady
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::HandleShutdownReady()
- {
- __VTPRINTENTER( "TVtUiAppStateBase.HandleShutdownReady" )
- // forwarded to AppUi which handles UI framework exit
- iCtx.HandleShutdownReady();
- iCtx.ChangeState( NULL );
- // deletes current state
- Close();
- __VTPRINTEXIT( "TVtUiAppStateBase.HandleShutdownReady" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::HandleDeviceLockEventL
-//
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::HandleDeviceLockEventL( const TBool aDeviceIsLocked )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.HandleDeviceLockEventL" )
- iUiStates.SetDeviceLockOn( aDeviceIsLocked );
- if ( aDeviceIsLocked )
- {
- iCtx.ChangeApplicationFocus( EFalse );
- }
- __VTPRINTEXITR( "TVtUiAppStateBase.HandleDeviceLockEventL lock state=%d",
- aDeviceIsLocked )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::CheckEndActiveCallL
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiAppStateBase::CheckEndActiveCallL()
- {
- __VTPRINTENTER( "TVtUiAppStateBase.CheckEndActiveCallL" )
- const MVtEngSessionInfo::TSessionState state = SessionState( EFalse );
- TBool shutdownStarted( EFalse );
- if ( state == MVtEngSessionInfo::EIdle )
- {
- __VTPRINT( DEBUG_GEN, "VtUi.Release bearer" )
- // h.245 session is ended
- ChangeStateL( *TVtUiStateResetting::InstanceL( iCtx, iUiStates ) );
- shutdownStarted = ETrue;
- }
- __VTPRINTEXITR( "TVtUiAppStateBase.CheckEndActiveCallL %d",
- shutdownStarted )
- return shutdownStarted;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::SessionState
-// -----------------------------------------------------------------------------
-//
-MVtEngSessionInfo::TSessionState TVtUiAppStateBase::SessionState(
- const TBool aUpdate ) const
- {
- const CVtEngModel& model = iCtx.Model();
- const MVtEngSessionInfo& session = model.Session();
- return session.State( aUpdate );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::SetLightsState
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::SetLightsState( const TBool aOn )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.SetLightsState" )
- const TInt value = aOn ? EForcedLightsOn : EForcedLightsOff;
- RProperty::Set(
- KPSUidCoreApplicationUIs,
- KLightsVTForcedLightsOn,
- value );
- __VTPRINTEXIT( "TVtUiAppStateBase.SetLightsState" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiAppStateBase::SetExecState
-// -----------------------------------------------------------------------------
-//
-void TVtUiAppStateBase::SetExecState( const TVtUiStates::TVtUiExecState aState )
- {
- __VTPRINTENTER( "TVtUiAppStateBase.SetExecState" )
- iUiStates.SetExecState( aState );
- __VTPRINTEXITR( "TVtUiAppStateBase.SetExecState %d", aState )
- }
--- a/vtuis/videotelui/src/tvtuistateresetting.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* 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: waiting details application state
-*
-*/
-
-
-#include "tvtuistates.h"
-#include "tvtuiappstates.h"
-#include "mvtuistatecontext.h"
-#include "cvtuiappshutter.h"
-#include <cvtlogger.h>
-#include <vtengevents.h>
-
-TVtUiStateResetting* TVtUiStateResetting::iInstance = NULL;
-
-// c++ constructor
-TVtUiStateResetting::TVtUiStateResetting(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates,
- const TVtEngCommandId aCommand )
- : TVtUiAppStateBase( aCtx, aUiStates ),
- iCommand( aCommand )
- {
- __VTPRINT2( DEBUG_GEN, "TVtUiStateResetting.ctr iCommand=%d", iCommand )
- }
-
-// Destructor
-TVtUiStateResetting::~TVtUiStateResetting()
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::
-// -----------------------------------------------------------------------------
-//
-TVtUiStateResetting* TVtUiStateResetting::InstanceL(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates,
- const TVtEngCommandId aCommand )
- {
- __VTPRINTENTER( "TVtUiStateResetting.InstanceL" )
- if ( iInstance == NULL )
- {
- iInstance = new ( ELeave ) TVtUiStateResetting(
- aCtx, aUiStates, aCommand );
- }
- else if ( aCommand != KVtEngCommandNone )
- { // if call ending is UI originated, command is given
- iInstance->iCommand = aCommand;
- __VTPRINT2( DEBUG_GEN, "TVtUiStateResetting.InstanceL iCommand=%d",
- iInstance->iCommand )
- }
- __VTPRINTEXIT( "TVtUiStateResetting.InstanceL" )
- return iInstance;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::ShutdownDoneL
-// AppUi has finished its own shutdown steps. Notify app shutter that it may
-// proceed.
-//
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateResetting::ShutdownDoneL()
- {
- __VTPRINTENTER( "TVtUiStateResetting.ShutdownDone" )
- CVtUiAppShutter* shutter = CVtUiAppShutter::InstanceL( *this );
- if ( shutter )
- {
- shutter->StartShutdown();
- }
- __VTPRINTEXIT( "TVtUiStateResetting.ShutdownDone" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::AppUiStartupFailedL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateResetting::AppUiStartupFailedL()
- {
- __VTPRINTENTER( "TVtUiStateResetting.AppUiStartupFailedL" )
- // no-op (overrides default behavior)
- __VTPRINTEXIT( "TVtUiStateResetting.AppUiStartupFailedL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::HandleVTCommandPerformedL
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiStateResetting::HandleVTCommandPerformedL
- (
- TVtEngCommandId aCommand,
- const TInt /*aError*/ )
- {
- __VTPRINTENTER( "TVtUiStateResetting.HandleVTCommandPerformedL" )
- // By default responses to commands are ignored while resetting
- TEventResponse handled = EEventHandled;
- switch ( aCommand )
- {
- case KVtEngResetEngine:
- // Allow UI to process reset command response
- handled = EEventNotHandled;
- break;
- case KVtEngTerminateSession:
- case KVtEngSwitchToVoice:
- //
- iCtx.ShutdownL();
- break;
- default:
- break;
- }
- __VTPRINTEXIT( "TVtUiStateResetting.HandleVTCommandPerformedL" )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::HandleVtEventL
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiStateResetting::HandleVtEventL(
- const TInt aEvent )
- {
- __VTPRINTENTER( "TVtUiStateResetting.HandleVtEventL" )
- TEventResponse handled = EEventHandled;
- switch ( aEvent )
- {
- // While resetting appUi should not handle these events.
- case KVtEngSourceChanged:
- case KVtEngCameraChanged:
- case KVtEngSourceCapsChanged:
- case KVtEngSessionStateChanged:
- case KVtEngDurationSettingChanged:
- case KVtEngAudioOutputVolumeChanged:
- case KVtEngAudioRoutingAvailabilityChanged:
- case KVtEngAudioRoutingChanged:
- case KVtEngAudioMuted:
- case KVtEngAudioUnmuted:
- case KVtEngRemoteVideoStopped:
- case KVtEngSessionWaitingCallActive:
- case KVtEngSessionWaitingCallInactive:
- break;
- default:
- // allow appUi to handle other events
- handled = EEventNotHandled;
- break;
- }
- __VTPRINTEXIT( "TVtUiStateResetting.HandleVtEventL" )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiStateResetting::HandleCommandL(
- const TInt /*aCommand*/ )
- {
- __VTPRINTENTER( "TVtUiStateResetting.HandleCommandL" )
- /* All commands ignored while resetting. CAknAppUi::Exit() is called
- when shutdown is completed with asistance of CVtUiAppShutter */
- __VTPRINTEXIT( "TVtUiStateResetting.HandleCommandL" )
- return EEventHandled;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::HandleForegroundChangedL
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStateResetting::HandleForegroundChangedL(
- const TBool /*aIsForeground*/ )
- {
- __VTPRINTENTER( "TVtUiStateResetting.HandleForegroundChangedL" )
- __VTPRINTEXIT( "TVtUiStateResetting.HandleForegroundChangedL" )
- // not on "foreground" while resetting
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::HandleLayoutChangedL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateResetting::HandleLayoutChangedL()
- {
- __VTPRINTENTER( "TVtUiStateResetting.HandleLayoutChangedL" )
- // no-op (overrides default behavior)
- __VTPRINTEXIT( "TVtUiStateResetting.HandleLayoutChangedL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::OpenL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateResetting::OpenL()
- {
- __VTPRINTENTER( "TVtUiStateResetting.OpenL" )
- SetExecState( TVtUiStates::EExecStateResetting );
- iCtx.StopDtmfTone();
- iCtx.ChangeApplicationFocus( EFalse );
-
- if ( iCommand != KVtEngCommandNone )
- {
- // Command is either KVtEngTerminateSession or KVtEngSwitchToVoice
- // Need to wait for callback before ShutdownL can be called on context.
- iCtx.DoExecuteCmdL( iCommand, NULL );
- }
- else
- {
- // This branch is executed when resetting state is opened due
- // to emergency call or state change to one causing shutdown.
- // No need to wait for any callbacks (emergency call callback
- // handled by CVtUiAppShutter).
- iCtx.ShutdownL();
- }
- __VTPRINTEXIT( "TVtUiStateResetting.OpenL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateResetting::Close
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateResetting::Close()
- {
- __VTPRINTENTER( "TVtUiStateResetting.Close" )
- SetExecState( TVtUiStates::EExecStateFinalized );
- if ( TVtUiStateResetting::iInstance )
- {
- delete TVtUiStateResetting::iInstance;
- TVtUiStateResetting::iInstance = NULL;
- }
- __VTPRINTEXIT( "TVtUiStateResetting.Close" )
- }
--- a/vtuis/videotelui/src/tvtuistaterunning.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
-/*
-* 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: running (normal operation) application state
-*
-*/
-
-
-#include "tvtuistates.h"
-#include "tvtuiappstates.h"
-#include "mvtuistatecontext.h"
-#include "cvtuiappshutter.h"
-#include "videotelui.hrh"
-#include <cvtlogger.h>
-#include <vtengevents.h>
-#include <stringloader.h>
-#include <aknquerydialog.h>
-#include <videotelui.rsg>
-
-TVtUiStateRunning* TVtUiStateRunning::iInstance = NULL;
-
-// c++ constructor
-TVtUiStateRunning::TVtUiStateRunning(
- MVtUiStateContext& aCtx, TVtUiStates& aUiStates )
- : TVtUiAppStateBase( aCtx, aUiStates ), iCreateVoiceCallDlg( NULL )
- {
- }
-
-// Destructor
-TVtUiStateRunning::~TVtUiStateRunning()
- {
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::InstanceL
-// -----------------------------------------------------------------------------
-//
-TVtUiStateRunning * TVtUiStateRunning::InstanceL(
- MVtUiStateContext& aCtx,
- TVtUiStates& aUiStates )
- {
- __VTPRINTENTER( "UiStateRunning.InstanceL" )
- if ( iInstance == NULL )
- iInstance = new ( ELeave ) TVtUiStateRunning( aCtx, aUiStates );
- __VTPRINTEXIT( "UiStateRunning.InstanceL" )
- return iInstance;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::HandleVtEventL
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiStateRunning::HandleVtEventL(
- const TInt aEvent )
- {
- __VTPRINTENTER( "UiStateRunning.HandleVtEventL" )
- // let TVtUiAppStateBase base class do common tasks
- TEventResponse handled = TVtUiAppStateBase::HandleVtEventL( aEvent );
- switch ( aEvent )
- {
- case KVtEngDeviceLockOn:
- case KVtEngDeviceLockOff:
- TVtUiAppStateBase::HandleVtEventL( aEvent );
- if ( aEvent == KVtEngDeviceLockOff )
- {
- iCtx.ChangeApplicationFocus( ETrue );
- }
- break;
- case KVtEngSessionStateChanged:
- if ( CheckEndActiveCallL() )
- {
- // At this point shutdown is in progress. Don't allow
- // appUi to do actions due to this event.
- handled = EEventHandled;
- }
- break;
- default:
- break;
- }
- __VTPRINTEXIT( "UiStateRunning.HandleVtEventL" )
- return handled;
- }
-
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiStateRunning::HandleCommandL(
- const TInt aCommand )
- {
- __VTPRINTENTER( "UiStateRunning.HandleCommandL" )
- /** By default all commands are enabled by running state.
- * Other details command validations are done elsewhere
- */
- TEventResponse handled = EEventHandled;
- switch ( aCommand )
- {
- case EVtUiCmdEndActiveCall:
- ShutdownWithEngineCommandL( KVtEngTerminateSession );
- break;
- case EVtUiCmdCreateVoice:
- CreateVoiceCallL();
- break;
- case EVtUiCmdDialEmergency:
- // Attempt emergency call. Note that emergency number check is done
- // after calling DialEmergencyCallL and if supplied number is not
- // emergency leave occurs.
- TRAP_IGNORE( DialEmergencyCallL() );
- break;
- default:
- handled = TVtUiAppStateBase::HandleCommandL( aCommand );
- break;
- }
- __VTPRINTEXITR( "UiStateRunning.HandleCommandL %d", handled )
- return handled;
- }
-
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::HandleForegroundChangedL
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStateRunning::HandleForegroundChangedL( const TBool aIsForeground )
- {
- __VTPRINTENTER( "UiStateRunning.HandleForegroundChangedL" )
-
- // Closes create voice call dialog if it is open
- delete iCreateVoiceCallDlg; iCreateVoiceCallDlg = NULL;
-
- SetLightsState( aIsForeground );
-
- iCtx.RefreshL( MVtUiStateContext::ENaviPane );
-
- TBool handleAsForeground( aIsForeground );
- TPtrC8 params( reinterpret_cast< TUint8* >( &handleAsForeground ),
- sizeof( TBool ) );
- iCtx.DoExecuteCmdL( KVtEngSetUIForeground, ¶ms );
- __VTPRINTEXIT( "UiStateRunning.HandleForegroundChangedL" )
- return handleAsForeground;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::PreHandleForegroundChangedL
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStateRunning::PreHandleForegroundChangedL( const TBool aIsForeground )
- {
- __VTPRINTENTER( "UiStateRunning.PreHandleForegroundChangedL" )
- TBool handleAsForeground( aIsForeground );
- TPtrC8 params( reinterpret_cast< TUint8* >( &handleAsForeground ), sizeof( TBool ) );
- iCtx.DoExecuteCmdL( KVtEngSetUIForeground, ¶ms );
- __VTPRINTEXIT( "UiStateRunning.PreHandleForegroundChangedL" )
- return handleAsForeground;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::HandleLayoutChangedL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateRunning::HandleLayoutChangedL( )
- {
- __VTPRINTENTER( "UiStateRunning.HandleLayoutChangedL" )
- iUiStates.SetLayoutChangeNeeded( EFalse );
- iCtx.DoHandleLayoutChangedL();
- __VTPRINTEXIT( "UiStateRunning.HandleLayoutChangedL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::StartDtmfTone
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateRunning::StartDtmfTone( const TChar& aTone )
- {
- iCtx.StartDtmfTone( aTone );
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::StopDtmfTone
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateRunning::StopDtmfTone()
- {
- iCtx.StopDtmfTone();
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::CreateVoiceCallL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateRunning::CreateVoiceCallL()
- {
- __VTPRINTENTER( "TVtUiStateRunning.CreateVoiceCallL" )
- HBufC* prompt =
- StringLoader::LoadLC( R_VIDEOTELUI_QTN_QUERY_CREATE_VOICE_CALL );
-
- // Create and initialize query dialog
- CAknQueryDialog* createVoiceCallDlg = CAknQueryDialog::NewL();
- CleanupStack::PushL( createVoiceCallDlg );
- createVoiceCallDlg->SetPromptL( *prompt );
- CleanupStack::Pop(); // createVoiceCallDlg
-
- iCreateVoiceCallDlg = createVoiceCallDlg;
- TInt result( KErrNone );
- TRAPD( error, result = iCreateVoiceCallDlg->ExecuteLD(
- R_VIDEOTELUI_CREATE_VOICE_QUERY ) );
- // Just set to NULL because ExecuteLD() deletes instance
- iCreateVoiceCallDlg = NULL;
- // Leave if ExecuteLD() left
- User::LeaveIfError( error );
- CleanupStack::PopAndDestroy( ); // prompt
- if ( result )
- {
- //user answered yes
- iCtx.DoExecuteCmdL( KVtEngSwitchToVoice, NULL );
- }
- __VTPRINTEXITR( "TVtUiAppStateBase.CreateVoiceCallL %d", result )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::ShutdownWithEngineCommandL
-// Starts shutdown with command to engine.
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateRunning::ShutdownWithEngineCommandL( const TInt aCommand )
- {
- __VTPRINTENTER(
- "TVtUiStateRunning.ShutdownWithEngineCommandL" )
- TVtUiAppStateBase* resetState =
- TVtUiStateResetting::InstanceL( iCtx, iUiStates, aCommand );
- CVtUiAppShutter* shutter = CVtUiAppShutter::InstanceL( *resetState );
- if ( shutter )
- {
- // open resetting state, handles engine command request/reply
- ChangeStateL( *resetState );
-#ifdef _DEBUG
- __VTPRINTEXIT(
- "TVtUiStateRunning.ShutdownWithEngineCommandL 1" )
- return;
-#endif
- }
-
- __VTPRINTEXIT(
- "TVtUiStateRunning.ShutdownWithEngineCommandL 0" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::DialEmergencyCallL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateRunning::DialEmergencyCallL()
- {
- __VTPRINTENTER(
- "TVtUiStateRunning.DialEmergencyCallL" )
- TVtUiAppStateBase* resetState =
- TVtUiStateResetting::InstanceL( iCtx, iUiStates );
- CVtUiAppShutter* shutter = CVtUiAppShutter::InstanceL( *resetState );
- if ( shutter )
- {
- // Make emergency call and proceed when 1) state has given permission
- // and 2) callback from emergency call api is received
- shutter->ShutdownWithEmergencyCallL( iCtx );
- ChangeStateL( *resetState );
- }
- __VTPRINTEXIT( "TVtUiStateRunning.DialEmergencyCallL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::OpenL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateRunning::OpenL()
- {
- __VTPRINTENTER( "TVtUiStateRunning.OpenL" )
- SetExecState( TVtUiStates::EExecStateRunning );
- iCtx.RefreshStatesL();
- __VTPRINTEXIT( "TVtUiStateRunning.OpenL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateRunning::Close
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateRunning::Close()
- {
- __VTPRINTENTER( "TVtUiStateRunning.Close" )
- if ( TVtUiStateRunning::iInstance )
- {
- delete TVtUiStateRunning::iInstance;
- TVtUiStateRunning::iInstance = NULL;
- }
- __VTPRINTEXIT( "TVtUiStateRunning.Close" )
- }
--- a/vtuis/videotelui/src/tvtuistatestarting.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* Copyright (c) 2007 - 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: waiting details application state
-*
-*/
-
-
-#include "tvtuistates.h"
-#include "tvtuiappstates.h"
-#include "mvtuistatecontext.h"
-#include "videotelui.hrh"
-#include "cvtuiappshutter.h"
-#include <cvtlogger.h>
-#include <vtengevents.h>
-#include <vtengcommands.h>
-#include <cvtengmodel.h>
-#include <mvtengsessioninfo.h>
-
-
-TVtUiStateStarting* TVtUiStateStarting::iInstance = NULL;
-
-// c++ constructor
-TVtUiStateStarting::TVtUiStateStarting(
- MVtUiStateContext& aCtx, TVtUiStates& aUiStates )
- : TVtUiAppStateBase( aCtx, aUiStates )
- {
- iPreconditions.Set( EWaitingCLI );
- iPreconditions.Set( EWaitingPhase1ToComplete );
- }
-
-// Destructor
-TVtUiStateStarting::~TVtUiStateStarting()
- {
- delete iStartCallback;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::InstanceL
-//
-// -----------------------------------------------------------------------------
-//
-TVtUiStateStarting * TVtUiStateStarting::InstanceL(
- MVtUiStateContext& aCtx, TVtUiStates& aUiStates )
- {
- __VTPRINTENTER( "TVtUiStateStarting.InstanceL" )
- if ( iInstance == NULL )
- {
- iInstance = new ( ELeave ) TVtUiStateStarting( aCtx, aUiStates );
- }
- __VTPRINTEXIT( "TVtUiStateStarting.InstanceL" )
- return iInstance;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::AppUiStartupPhase1DoneL
-//
-// Phase 1 of application startup is completed, check if we can proceed to
-// phase 2.
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateStarting::AppUiStartupPhase1DoneL()
- {
- __VTPRINTENTER( "TVtUiStateStarting.AppUiStartupPhase1DoneL" )
- // From startup phase point of view we're ready to proceed
- // to phase 2. Clear that precondition and proceed if otherwise ready.
- CheckPhase2StartupL( EWaitingPhase1ToComplete );
- __VTPRINTEXIT( "TVtUiStateStarting.AppUiStartupPhase1DoneL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::AppUiStartupPhase2DoneL
-//
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateStarting::AppUiStartupPhase2DoneL()
- {
- __VTPRINTENTER( "TVtUiStateStarting.AppUiStartupPhase2DoneL" )
- // Phase 2 completed, proceed to next state
- ChangeStateL( *TVtUiStateRunning::InstanceL( iCtx, iUiStates ) );
- __VTPRINTEXIT( "TVtUiStateStarting.AppUiStartupPhase2DoneL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::HandleVtEventL
-//
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiStateStarting::HandleVtEventL(
- const TInt aEvent )
- {
- __VTPRINTENTER( "TVtUiStateStarting.HandleVtEventL" )
- TEventResponse handled = EEventHandled;
- switch ( aEvent )
- {
- case KVtEngRemoteDisconnect:
- // base class handles this.
- handled = TVtUiAppStateBase::HandleVtEventL( aEvent );
- break;
- case KVtEngSessionStateChanged:
- {
- // check if session state is proper for proceeding to next phase
- // in startup.
- CheckSessionStateL();
- }
- break;
- case KVtEngRemoteVideoStarted:
- // allow to start remote video rendering
- case KVtEngSourceChanged:
- // allow handling of source changed event
- handled = EEventNotHandled;
- break;
- case KVtEngCLIAvailable:
- HandleCLIReceivedL();
- break;
-
- case KVtEngRemoteUIIIA5StringSupport:
- break;
- case KVtEngDeviceLockOn:
- case KVtEngDeviceLockOff:
- default:
- handled = TVtUiAppStateBase::HandleVtEventL( aEvent );
- break;
- }
- __VTPRINTEXIT( "TVtUiStateStarting.HandleVtEventL" )
- return handled;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::HandleCommandL
-//
-// -----------------------------------------------------------------------------
-//
-TVtUiAppStateBase::TEventResponse TVtUiStateStarting::HandleCommandL(
- const TInt /*aCommand*/ )
- {
- __VTPRINTENTER( "TVtUiStateStarting.HandleCommandL" )
- __VTPRINTEXIT( "TVtUiStateStarting.HandleCommandL" )
- return EEventNotHandled;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::HandleForegroundChangedL
-//
-// -----------------------------------------------------------------------------
-//
-TBool TVtUiStateStarting::HandleForegroundChangedL( const TBool aIsForeground )
- {
- __VTPRINTENTER( "TVtUiStateStarting.HandleForegroundChangedL" )
-
- SetLightsState( aIsForeground );
- iCtx.RefreshL( MVtUiStateContext::ENaviPane );
-
- // behave as in background if CLI (=details) has not yet received
- TBool handleAsForeground( aIsForeground && iUiStates.IsDetailsReceived() );
- TVtUiAppStateBase::ExecuteEngineCommand( KVtEngSetUIForeground,
- handleAsForeground );
-
- __VTPRINTEXIT( "TVtUiStateStarting.HandleForegroundChangedL" )
- return handleAsForeground;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::OpenL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateStarting::OpenL()
- {
- __VTPRINTENTER( "TVtUiStateStarting.OpenL" )
- iStartCallback = new ( ELeave ) CAsyncCallBack (
- TCallBack( &AsynchOpen, this ),
- CActive::EPriorityStandard );
- iStartCallback->CallBack();
- __VTPRINTEXIT( "TVtUiStateStarting.OpenL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::AsynchOpen
-// asynchronous entry to the state.
-// -----------------------------------------------------------------------------
-//
-TInt TVtUiStateStarting::AsynchOpen( TAny* aAny )
- {
- __VTPRINTENTER( "TVtUiStateStarting.AsynchOpen" )
- TVtUiStateStarting* state = reinterpret_cast<TVtUiStateStarting*>( aAny );
- delete state->iStartCallback;
- state->iStartCallback = NULL;
- TRAPD( res, state->DoOpenL() );
- __VTPRINTEXITR( "TVtUiStateStarting.AsynchOpen err=%d>", res )
- return res;
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::DoOpenL
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateStarting::DoOpenL()
- {
- __VTPRINTENTER( "TVtUiStateStarting.DoOpenL" )
- if ( !CheckEndActiveCallL() )
- {
- // not shutting down, proceed to phase 1
- iCtx.StartupPhase1L();
- }
- __VTPRINTEXIT( "TVtUiStateStarting.DoOpenL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::CheckSessionStateL
-// Resolve action based on session state change in the engine.
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateStarting::CheckSessionStateL()
- {
- __VTPRINTENTER( "TVtUiStateStarting.CheckSessionStateL" )
- const MVtEngSessionInfo::TSessionState state = SessionState( EFalse );
- switch ( state )
- {
- case MVtEngSessionInfo::EConnected:
- case MVtEngSessionInfo::ENegotiating:
- case MVtEngSessionInfo::EOpen:
- // From session state point of view we're ready to proceed.
- // Clear precondition and proceed if otherwise ready.
- CheckPhase2StartupL( EWaitingSessionState );
- break;
- default:
- // Is session state such that we need to shutdown?
- CheckEndActiveCallL();
- break;
- }
- __VTPRINTEXIT( "TVtUiStateStarting.CheckSessionStateL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::CheckPhase2StartupL
-//
-// mark precondition passed and if no more preconditions exist proceed
-// in startup.
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateStarting::CheckPhase2StartupL(
- const TPreconditions aCond )
- {
- __VTPRINTENTER( "TVtUiStateStarting.CheckPhase2StartupL" )
- // First check that at least one precondition holds
- if ( iPreconditions.Value() )
- {
- iPreconditions.Clear( aCond );
- if ( !iPreconditions.Value() )
- {
- CleanupResetPushL(); // start shutdown if StartupPhase2L leaves
- iCtx.StartupPhase2L();
- CleanupStack::Pop(); // CleanupResetPushL
- }
- }
-#ifdef VTDEBUG
- else {
- __VTPRINT( DEBUG_GEN, "TVtUiStateStarting.CheckPhase2StartupL NoOp!" )
- }
-#endif // VTDEBUG
- __VTPRINTEXITR( "TVtUiStateStarting.CheckPhase2StartupL cond=%d",
- (TInt) iPreconditions.Value() )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::HandleCLIReceivedL
-// CLI reception from engine is one of the two preconditions for proceeding
-// to phase2 startup.
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateStarting::HandleCLIReceivedL()
- {
- __VTPRINTENTER( "TVtUiStateStarting.HandleCLIReceivedL" )
- const MVtEngSessionInfo& session = iCtx.Model().Session();
- MVtEngSessionInfo::TCLI cli;
- if ( session.GetCLI( cli ) == KErrNone )
- {
- iUiStates.SetDetailsReceived( ETrue );
- iUiStates.SetCLIReceived( cli.iVoiceCallPossible );
- iCtx.SetCallIdL( cli.iCallId );
- iCtx.SetCallNameL( cli.iName );
- }
- CheckPhase2StartupL( EWaitingCLI );
- __VTPRINTEXIT( "TVtUiStateStarting.HandleCLIReceivedL" )
- }
-
-// -----------------------------------------------------------------------------
-// TVtUiStateStarting::Close
-// -----------------------------------------------------------------------------
-//
-void TVtUiStateStarting::Close()
- {
- __VTPRINTENTER( "TVtUiStateStarting.Close" )
- if ( TVtUiStateStarting::iInstance )
- {
- delete TVtUiStateStarting::iInstance;
- TVtUiStateStarting::iInstance = NULL;
- }
- __VTPRINTEXIT( "TVtUiStateStarting.Close" )
- }