Revision: 201011 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 31 Mar 2010 21:34:36 +0300
branchRCL_3
changeset 13 112a725ff2c2
parent 11 5294c000a26d
child 14 8970fbd719ec
Revision: 201011 Kit: 201013
homescreenplugins/videoahlplugin/data/videoahplugin.rss
homescreenplugins/videoahlplugin/group/bld.inf
homescreenplugins/videoahlplugin/group/videoahplugin.mmp
homescreenplugins/videoahlplugin/inc/videoactionhandler.h
homescreenplugins/videoahlplugin/inc/videoahpluginconstants.h
homescreenplugins/videoahlplugin/rom/videoahplugin.iby
homescreenplugins/videoahlplugin/src/videoactionhandler.cpp
homescreenplugins/videoahlplugin/src/videoahpluginimplementationtable.cpp
homescreenplugins/videochplugin/data/videocontentharvester.rss
homescreenplugins/videochplugin/data/videocontentharvesterplugin.rss
homescreenplugins/videochplugin/group/bld.inf
homescreenplugins/videochplugin/group/videocontentharvesterplugin.mmp
homescreenplugins/videochplugin/inc/videochiptvserverclient.h
homescreenplugins/videochplugin/inc/videochlastwatchedupdater.h
homescreenplugins/videochplugin/inc/videochmcategorylistener.h
homescreenplugins/videochplugin/inc/videochpssubscriber.h
homescreenplugins/videochplugin/inc/videochpublishabledata.h
homescreenplugins/videochplugin/inc/videochpublishabledataitem.h
homescreenplugins/videochplugin/inc/videochpublisher.h
homescreenplugins/videochplugin/inc/videocontentharvestermpxclient.h
homescreenplugins/videochplugin/inc/videocontentharvesterplugin.h
homescreenplugins/videochplugin/inc/videocontentharvesterplugin.hrh
homescreenplugins/videochplugin/inc/videocontentharvesterservicelistener.h
homescreenplugins/videochplugin/inc/videonotificationlauncher.h
homescreenplugins/videochplugin/loc/videochplugin.loc
homescreenplugins/videochplugin/rom/videochplugin.iby
homescreenplugins/videochplugin/rom/videochpluginrsc.iby
homescreenplugins/videochplugin/src/videochiptvserverclient.cpp
homescreenplugins/videochplugin/src/videochlastwatchedupdater.cpp
homescreenplugins/videochplugin/src/videochmcategorylistener.cpp
homescreenplugins/videochplugin/src/videochpssubscriber.cpp
homescreenplugins/videochplugin/src/videochpublishabledata.cpp
homescreenplugins/videochplugin/src/videochpublishabledtaitem.cpp
homescreenplugins/videochplugin/src/videochpublisher.cpp
homescreenplugins/videochplugin/src/videocontentharvestermpxclient.cpp
homescreenplugins/videochplugin/src/videocontentharvesterplugin.cpp
homescreenplugins/videochplugin/src/videocontentharvesterpluginproxy.cpp
homescreenplugins/videochplugin/src/videocontentharvesterservicelistener.cpp
homescreenplugins/videochplugin/src/videonotificationlauncher.cpp
homescreenplugins/videosuiteconf/bwins/dummyVideou.def
homescreenplugins/videosuiteconf/data/suite.xml
homescreenplugins/videosuiteconf/data/vcns_matrix_items.xml
homescreenplugins/videosuiteconf/data/videosuiteres.rss
homescreenplugins/videosuiteconf/eabi/dummyVideou.def
homescreenplugins/videosuiteconf/group/bld.inf
homescreenplugins/videosuiteconf/group/export_videosuiteconf.mk
homescreenplugins/videosuiteconf/group/videosuiteconf.mmp
homescreenplugins/videosuiteconf/rom/videomatrixmenu.iby
homescreenplugins/videosuiteconf/src/dummy.cpp
mediasettings/mediasettingsapp/inc/MPSettingsNetworkContainer.h
mediasettings/mediasettingsapp/inc/MPSettingsNetworkSettingItemList.h
mediasettings/mediasettingsapp/inc/MPSettingsNetworkView.h
mediasettings/mediasettingsapp/inc/MPSettingsProxyContainer.h
mediasettings/mediasettingsapp/inc/MPSettingsProxySettingItemList.h
mediasettings/mediasettingsapp/inc/MPSettingsProxyView.h
mediasettings/mediasettingsapp/loc/mediasettings.loc
mediasettings/mediasettingsapp/src/MPSettingsNetworkContainer.cpp
mediasettings/mediasettingsapp/src/MPSettingsNetworkSettingItemList.cpp
mediasettings/mediasettingsapp/src/MPSettingsNetworkView.cpp
mediasettings/mediasettingsapp/src/MPSettingsProxyContainer.cpp
mediasettings/mediasettingsapp/src/MPSettingsProxySettingItemList.cpp
mediasettings/mediasettingsapp/src/MPSettingsProxyView.cpp
package_definition.xml
tsrc/fusionmpxplayer_test/Bwins/FusionMpxPlayer_ApiTestu.def
tsrc/fusionmpxplayer_test/EABI/FusionMpxPlayer_ApiTestu.def
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/data/FusionMpxPlayerTestExeUi.rss
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/data/FusionMpxPlayerTestExeUi_reg.rss
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/group/FusionPlayerTestApp.mmp
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/group/bld.inf
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionMpxPlayerTestCmdListener.h
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionMpxPlayerTester.h
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionPlayerTestApp.hrh
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionPlayerTestAppApplication.h
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionPlayerTestAppDocument.h
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionPlayerTestAppUi.h
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionMpxPlayerTestCmdListener.cpp
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionMpxPlayerTester.cpp
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionMpxPlayerTesterDescFunctions.cpp
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionPlayerTestApp.cpp
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionPlayerTestAppApplication.cpp
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionPlayerTestAppDocument.cpp
tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionPlayerTestAppUi.cpp
tsrc/fusionmpxplayer_test/conf/atsconf.txt
tsrc/fusionmpxplayer_test/conf/ui_FusionMpxPlayer_ApiTest.cfg
tsrc/fusionmpxplayer_test/conf/ui_FusionMpxPlayer_ApiTestStreams.cfg
tsrc/fusionmpxplayer_test/custom/postrun_custom.xml
tsrc/fusionmpxplayer_test/custom/prerun_custom.xml
tsrc/fusionmpxplayer_test/data/mmc/5thelement_mpeg4.mp4
tsrc/fusionmpxplayer_test/data/mmc/SufferWell.3gp
tsrc/fusionmpxplayer_test/data/mmc/happytreefriends_mpeg4.mp4
tsrc/fusionmpxplayer_test/data/mmc/prettyfu.3gp
tsrc/fusionmpxplayer_test/data/mmc/sotajumala1.3gp
tsrc/fusionmpxplayer_test/group/FusionMpxPlayer_ApiTest.mmp
tsrc/fusionmpxplayer_test/group/FusionMpxPlayer_ApiTest.pkg
tsrc/fusionmpxplayer_test/group/bld.inf
tsrc/fusionmpxplayer_test/inc/FusionMpxPlayerTestCommon.h
tsrc/fusionmpxplayer_test/inc/FusionMpxPlayer_ApiTest.h
tsrc/fusionmpxplayer_test/init/TestFramework.ini
tsrc/fusionmpxplayer_test/src/FusionMpxPlayer_ApiTest.cpp
tsrc/fusionmpxplayer_test/src/FusionMpxPlayer_ApiTestBlocks.cpp
videocollection/hgmyvideos/icons/qgn_prop_captured_thumbnail_video.svg
videocollection/hgmyvideos/icons/qgn_prop_download_thumbnail_video.svg
videocollection/hgmyvideos/icons/qgn_prop_ovi_thumbnail_video.svg
videocollection/hgmyvideos/icons/qgn_prop_recent_thumbnail_video.svg
videocollection/hgmyvideos/icons/qgn_prop_service_thumbnail_video.svg
videocollection/hgmyvideos/inc/vcxhgmyvideoscategorymodelhandler.h
videocollection/hgmyvideos/inc/vcxhgmyvideosvideomodelhandler.h
videocollection/hgmyvideos/inc/vcxhgtelephonyclient.h
videocollection/hgmyvideos/src/vcxhgmyvideoscategorymodelhandler.cpp
videocollection/hgmyvideos/src/vcxhgmyvideoscollectionclient.cpp
videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp
videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp
videocollection/hgmyvideos/src/vcxhgtelephonyclient.cpp
videocollection/mpxmyvideoscollection/group/vcxmyvideoscollectionplugin.mmp
videocollection/mpxmyvideoscollection/inc/vcxmyvideosasyncfilecopy.h
videocollection/mpxmyvideoscollection/inc/vcxmyvideosasyncfileoperations.h
videocollection/mpxmyvideoscollection/inc/vcxmyvideosmdsdb.h
videocollection/mpxmyvideoscollection/src/vcxmyvideosasyncfilecopy.cpp
videocollection/mpxmyvideoscollection/src/vcxmyvideosasyncfileoperations.cpp
videocollection/mpxmyvideoscollection/src/vcxmyvideosmdsdb.cpp
videofeeds/vccommon/group/bld.inf
videofeeds/vccommon/loc/ipvideo.loc
videoplayback/inc/mpxvideoplaybackdisplayhandler.h
videoplayback/videohelix/src/mpxvideodlmgrif.cpp
videoplayback/videohelix/src/mpxvideohelixplayback.cpp
videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp
videoplayback/videohelix/src/mpxvideoplaybackmode.cpp
videoplayback/videohelix/src/mpxvideoplaybackstate.cpp
videoplayback/videohelix/src/mpxvideoplayerutility.cpp
videoplayback/videoplaybackcontrols/group/iconlist.txt
videoplayback/videoplaybackcontrols/inc/mpxvideoplaybackvolumebar.h
videoplayback/videoplaybackcontrols/loc/mpxvideoplaybackcontrols.loc
videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbuttonbar.cpp
videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolscontroller.cpp
videoplayback/videoplaybackcontrols/src/mpxvideoplaybackprogressbar.cpp
videoplayback/videoplaybackcontrols/src/mpxvideoplaybackvolumebar.cpp
videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/conf/ui_videoplaybackcontrolstest.cfg
videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp
videoplayback/videoplaybackviews/src/mpxvideoplaybackcontainer.cpp
videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp
videoplayer_plat/videoplayer_startup_api/tsrc/inc/VCXTestSmClient.h
videoplayer_plat/videoplayer_startup_api/tsrc/src/VCXTestSmClient.cpp
videoplayerapp/mpxvideoplayer/data/mpxvideoplayer.rss
videoplayerapp/mpxvideoplayer/loc/mpxvideoplayer.loc
videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappuiengine.cpp
videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/group/mpxvideoplayertest.mmp
videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/inc/mpsettingsmodelimp_stub.h
videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/inc/mpxcollectionuihelperimp_stub.h
videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/apstubs.cpp
videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/commsdatabase_stub.cpp
videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/mpsettingsmodelimp_stub.cpp
videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/mpxcollectionuihelper_stub.cpp
videoplayerapp/videoplayerlauncher/data/videoplayerlauncher.rss
videoplayerapp/videoplayerlauncher/data/videoplayerlauncher_reg.rss
videoplayerapp/videoplayerlauncher/group/bld.inf
videoplayerapp/videoplayerlauncher/group/videoplayerlauncher.mmp
videoplayerapp/videoplayerlauncher/inc/videoplayerlauncher.hrh
videoplayerapp/videoplayerlauncher/loc/videoplayerlauncher.loc
videoplayerapp/videoplayerlauncher/rom/videoplayerlauncher.iby
videoplayerapp/videoplayerlauncher/rom/videoplayerlauncherresources.iby
videoplayerapp/videoplayerlauncher/src/videoplayerlauncher.cpp
--- a/homescreenplugins/videoahlplugin/data/videoahplugin.rss	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    ECOM registration for action handler plugin*
-*/
-
-
-#include <registryinfo.rh>
-#include <ahpluginuids.hrh>
-
-// ---------------------------------------------------------------------------
-// theInfo
-// Declares info for implementations
-// ---------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{				
-	// UID for the DLL
-	dll_uid = 0x20016B9E;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = KAHPluginInterfaceUid;
-			implementations = 
-				{
-				// Info for CAHAppLauncher
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x20016B9F;
-					version_no = 1;
-					display_name = "VC AH plugin";
-					default_data = "";
-					opaque_data = "";
-					}    
-				};
-			}
-		};
-	}
-
--- a/homescreenplugins/videoahlplugin/group/bld.inf	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    bld.inf*
-*/
-
-
-
-PRJ_EXPORTS
-
-../rom/videoahplugin.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(videoahplugin.iby)
-
-
-PRJ_MMPFILES
-videoahplugin.mmp
-
-//end of file
--- a/homescreenplugins/videoahlplugin/group/videoahplugin.mmp	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies 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 project vcnsahplugin*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-TARGET        vcxnsahplugin.dll
-TARGETTYPE    PLUGIN
-UID 0x10009D8D 0x20016B9E
-
-CAPABILITY    CAP_ECOM_PLUGIN
-
-
-USERINCLUDE 	../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../videofeeds/utils/inc
-
-SOURCEPATH    ../src
-SOURCE	      videoahpluginimplementationtable.cpp
-SOURCE	      videoactionhandler.cpp
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE 	/epoc32/include/ecom
- 
-
-SOURCEPATH 	../data
-
-START RESOURCE videoahplugin.rss
-HEADER
-TARGET vcxnsahplugin.rsc
-TARGETPATH	/resource/plugins 
-END
-
-
-LIBRARY        euser.lib
-LIBRARY        ecom.lib 
-LIBRARY        liwservicehandler.lib
-LIBRARY        eikcore.lib
-LIBRARY        cone.lib
-LIBRARY        apgrfx.lib
-LIBRARY        apparc.lib
-LIBRARY        ws32.lib
-LIBRARY        aknnotify.lib 
-LIBRARY        eiksrv.lib 
-LIBRARY        mediatorclient.lib
-LIBRARY        iptvutil.lib
-LIBRARY        centralrepository.lib
-LIBRARY        commonui.lib
--- a/homescreenplugins/videoahlplugin/inc/videoactionhandler.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 class declaration for action handler plugin dll*
-*/
-
-
-#ifndef C_VIDEO_ACTION_HANDLER_H
-#define C_VIDEO_ACTION_HANDLER_H
-
-#include <e32base.h>
-#include <ahplugin.h>
-
-
-// FORWARD DECLARATION
-class CLiwMap;
-class TLiwVariant;
-class TVideoPlayerActivationMessage;
-class CMediatorEventProvider;
-
-class CVideoActionHandler : public CAHPlugin
-	{
-
-public:
-
-	/**
-	 * Standard Symbian 2 phase constructor
-	 */
-	static CVideoActionHandler* NewL();
-	
-	/**
-	 * Standard Symbian 2 phase constructor
-	 */
-	static CVideoActionHandler* NewLC();
-
-	/**
-	 * Standard C++ destructor.
-	 */
-	~CVideoActionHandler ();
-
-	/**
-	 * Executes provided action
-	 *
-	 * @return status code
-	 */
-	TInt ExecuteActionL( const CLiwMap* aMap );
-private:
-
-	/**
-	 * Standard Symbian 2nd phase constructor.
-	 */
-	void ConstructL();
-
-private:
-
-    /**
-     * Method extracts data from map provided and sets 
-     * activation message data based on that
-     * 
-     * @param aMap           map containing data from the matrix menu
-     * @param aActivationMsg messatge struct where data is saved
-     * 
-     * @return KErrNone if message prepared ok, otherwise a systemwide error
-     */
-    TInt PrepareMessageL( const CLiwMap* aMap, TVideoPlayerActivationMessage& aActivationMsg );
-    
-    /**
-     * Method starts a TV & Video -related application providing a startupmessage given,
-     * 
-     * @param TMpxVideoPlayerActivationMessage message for application
-     * 
-     * @return KErrNone if message prepared ok, otherwise a systemwide error
-     */
-    TInt StartAppL( TVideoPlayerActivationMessage& aMessage );
-	
-    /**
-     * Launch the media settings application
-     *
-     * @param TMpxVideoPlayerActivationMessage message for application
-     *
-     * @return KErrNone if message prepared ok, otherwise a systemwide error
-     */
-    TInt LaunchMediaSettingsL( TVideoPlayerActivationMessage& aMessage );
-       
-    /**
-     * Launch the my videos application (MPX Video Player)
-     * 
-     * @param TMpxVideoPlayerActivationMessage message for application
-     *  
-     * @return KErrNone if message prepared ok, otherwise a systemwide error
-     */
-    TInt LaunchMyVideosL( TVideoPlayerActivationMessage& aMessage );
-       
-    /**
-     * Launch the given application via UID, or bring it to the foregroud with the activation message
-     * 
-     * @param TMpxVideoPlayerActivationMessage message for application
-     * @param TUid appUID The UID3 of the application to be launched
-     * @param TInt aActivationMessage The message to send the process already running
-     * 
-     * @return KErrNone if message prepared ok, otherwise a systemwide error
-     */
-    TInt LaunchMatrixTaskL( TVideoPlayerActivationMessage& aMessage, TUid appUID, TInt aActivationMessage );
-    
-	/**
-	 * Extract Variant data. Triest to find a data based on the 
-	 * aKeyName provided from the map.
-	 * 
-	 * @param aMap     map where to search data from
-	 * @param aVariant variant where data is saved to
-	 * @param aKeyName Key identification for data search
-	 * 
-	 * @return KErrNone if data found and extracted ok.
-	 */
-	TInt ExtractVariant( const CLiwMap* aMap,
-						 TLiwVariant& aVariant,
-						 const TDesC8& aKeyName );
-	
-    /**
-     * Sends Mediator event 
-     * 
-     * @param aEvent Event to be sent.
-     */
-	void SendMediatorEvent( TInt aEvent );
-	
-    /**
-     * Loads Last watched video data
-     * 
-     * @param TMpxVideoPlayerActivationMessage message to put the data
-     */
-    void LoadLwDataL( TVideoPlayerActivationMessage& aMessage );
-    
-    /**
-     * Tries to bring the video player app to foreground
-     * 
-     *  @return Was the task found and successfully brought to foreground.
-     */    
-    TInt TryBringVideoPlayerToForegroundL();
-	
-// DATA
-	
-    /**
-     * Mediator event provider
-     */
-	CMediatorEventProvider* iMediatorEventProvider; 
-
-	};
-
-#endif /* C_VIDEO_ACTION_HANDLER_H */
--- a/homescreenplugins/videoahlplugin/inc/videoahpluginconstants.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   definitions for action handler plugin dll*
-*/
-
-
-#ifndef VIDEOAHPLUGINCONSTANTS_H_
-#define VIDEOAHPLUGINCONSTANTS_H_
-
-#include <e32def.h>
-
-
-// command names, also used in XML configuration
-_LIT( KVcxNsExtLaunchVideoCmd,        "ELaunchVideoToPlayer");
-_LIT( KVcxNsExtLaunchLastWatchedCmd,  "ELaunchLastWatched");
-_LIT( KVcxNsExtLaunchLiveTVLastWatch, "EIPTVMessageLastWatched");
-_LIT( KVcxNsExtOpenStorageCmd,        "EOpenVideoStorage");
-_LIT( KVcxNsExtInternetVideoCmd,      "EOpenInternetVideos");
-_LIT( KVcxNsExtServiceCatalCmd,       "EOpenServiceCatalogue");
-_LIT( KVcxNsExtVideoShopCmd,          "EOpenVideoShop");
-_LIT( KVcxNsExtLaunchVCSettingsCmd,   "EOpenVCSettings");
-_LIT( KVcxNsExtOpenLiveTVCmd,         "EOpenLiveTV");
-_LIT( KVcxNsExtLoadTvVideoSuite,      "ELoadTvVideoSuite" );
-_LIT( KVcxNsExtUnloadTvVideoSuite,    "EUnloadTvVideoSuite" );
-
-// Mediator defs.
-const TInt KVcxNsAhMediatorDomain     = 0x20016B9E;
-const TInt KVcxNsAhMediatorCategory   = 0x1;
-const TInt KVcxNsAhEventSuiteLoaded   = 0x1;
-const TInt KVcxNsAhEventSuiteUnloaded = 0x2;
-const TInt KVcxNsAhEventVersion       = 1;
-
-#endif /*VIDEOAHPLUGINCONSTANTS_H_*/
-
-// End of file
--- a/homescreenplugins/videoahlplugin/rom/videoahplugin.iby	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  rom iby for action habdler plugin*
-*/
-
-
-#ifndef __VideoplAHPlugin_IBY__
-#define __VideoplAHPlugin_IBY__
-
-ECOM_PLUGIN(vcxnsahplugin.dll, vcxnsahplugin.rsc)
-
-#endif // __VideoplAHPlugin_IBY__
\ No newline at end of file
--- a/homescreenplugins/videoahlplugin/src/videoactionhandler.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,461 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 class definition for action handler plugin*
-*/
-
-
-// Version : %version: 21 %
-
-#include <e32def.h>
-#include <e32uid.h>
-#include <apgcli.h>
-#include <apacmdln.h>
-#include <apgtask.h>
-#include <eikenv.h>
-#include <vwsdef.h>
-#include <coeaui.h>
-#include <avkon.rsg>
-#include <AknGlobalNote.h>
-#include <MediatorEventProvider.h>
-#include <centralrepository.h>
-#include <liwvariant.h>
-#include <videoplayeractivationmessage.h>
-#include <vcxmyvideosdefs.h>
-#include <ErrorUI.h>
-
-#include "videoahpluginconstants.h"
-#include "videoactionhandler.h"
-#include "videoplayerpskeys.h"
-#include "iptvlastwatcheddata.h"
-#include "iptvlastwatchedapi.h"
-#include "vcxhgvodtelephonyclient.h"
-
-// CONSTANTS
-const TUid KUidMPXVideoPlayerApp = { 0x200159B2 };
-const TUid KUidMediaSettingsApp  = { 0x10005A3F };
-
-_LIT8( KKeyMessage,     "message" );
-_LIT8( KKeyMessageData, "message_data" );
-
-//  Constants for wg name. Used to identify if wg is actually ours.
-_LIT( KVideoPlayerWgName, "*200159b2*");
-const TUint KVideoPlayerWgNameSize = 50;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ----------------------------------------------------------------------------
-// CVideoActionHandler::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CVideoActionHandler::ConstructL()
-    {   
-    iMediatorEventProvider = CMediatorEventProvider::NewL();
-    }
-
-// ----------------------------------------------------------------------------
-// CVideoActionHandler::NewL
-// ----------------------------------------------------------------------------
-//
-CVideoActionHandler* CVideoActionHandler::NewL()
-    {
-    CVideoActionHandler* self = CVideoActionHandler::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CVideoActionHandler::NewLC
-// ----------------------------------------------------------------------------
-//
-CVideoActionHandler* CVideoActionHandler::NewLC()
-    {
-    CVideoActionHandler* self = new( ELeave ) CVideoActionHandler;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::~CVideoActionHandler
-// ---------------------------------------------------------------------------
-CVideoActionHandler::~CVideoActionHandler()
-	{  
-	delete iMediatorEventProvider;
-	}
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::ExecuteActionL
-// Executes provided action
-// ---------------------------------------------------------------------------
-//
-TInt CVideoActionHandler::ExecuteActionL( const CLiwMap* aMap )
-    {    
-    TInt errCode( KErrNotFound );   
-    
-    TVideoPlayerActivationMessage*  activationMsg = new( ELeave ) TVideoPlayerActivationMessage;
-    CleanupStack::PushL( activationMsg );
-    
-    errCode = PrepareMessageL( aMap, *activationMsg );
-    if( KErrNone == errCode )
-        {
-        errCode = StartAppL( *activationMsg );
-        }
-    CleanupStack::PopAndDestroy( activationMsg );
-    
-    return errCode;
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::PrepareMessageL
-// ---------------------------------------------------------------------------
-//
-TInt CVideoActionHandler::PrepareMessageL( const CLiwMap* aMap, 
-                                           TVideoPlayerActivationMessage& aActivationMsg )
-    {
-    TInt err( KErrNone );
-
-    TLiwVariant variant; 
-    variant.PushL();
-    err = ExtractVariant( aMap, variant, KKeyMessage );
-    
-    if( err != KErrNone )    
-	    {
-	    CleanupStack::PopAndDestroy( &variant );     
-	    return err;
-	    }
-	    
-    TPtrC message = variant.AsDes();
-       
-
-    aActivationMsg.iServiceId = 0;
-    aActivationMsg.iFileId    = 0;
-    aActivationMsg.iDrive     = 0;            	
-    aActivationMsg.iMsgSender = TVideoPlayerActivationMessage::EMatrixMenu;         
-       
-    if ( !message.CompareF( KVcxNsExtLaunchVideoCmd ) )
-        {
-        aActivationMsg.iMsgType = TVideoPlayerActivationMessage::ELaunchVideoToPlayer;
-        TLiwVariant variantData;
-        variantData.PushL();
-        err = ExtractVariant( aMap, variantData, KKeyMessageData );
-
-        if( err == KErrNone )
-            {
-            TPtrC data = variantData.AsDes();
-            aActivationMsg.iFullPath = data;
-            }
-        else if( err == KErrNotFound )
-            {
-            err = KErrNone;
-            }
-        CleanupStack::PopAndDestroy( &variantData );
-        }
-    else if ( !message.CompareF( KVcxNsExtLaunchLastWatchedCmd ) )
-        {
-        aActivationMsg.iMsgType = TVideoPlayerActivationMessage::ELaunchVideoToPlayer;
-        LoadLwDataL( aActivationMsg );
-        }
-    else if ( !message.CompareF( KVcxNsExtOpenStorageCmd ) )
-        {
-        aActivationMsg.iMsgType = TVideoPlayerActivationMessage::EOpenVideoStorage;    
-        }
-    else if ( !message.CompareF( KVcxNsExtInternetVideoCmd ) )
-        {
-        aActivationMsg.iMsgType = TVideoPlayerActivationMessage::EOpenInternetVideos;
-        }
-    else if ( !message.CompareF( KVcxNsExtServiceCatalCmd ) )
-        {
-        aActivationMsg.iMsgType = TVideoPlayerActivationMessage::EOpenServiceCatalogue;
-        }
-    else if ( !message.CompareF( KVcxNsExtVideoShopCmd ) )
-        {
-        aActivationMsg.iMsgType = TVideoPlayerActivationMessage::EOpenVideoShop;
-        }
-    else if ( !message.CompareF( KVcxNsExtLaunchVCSettingsCmd ) )
-        {
-        aActivationMsg.iMsgType = TVideoPlayerActivationMessage::EOpenVCSettings;
-        }
-    else if ( !message.CompareF( KVcxNsExtOpenLiveTVCmd ) )
-		{
-		aActivationMsg.iMsgType = TVideoPlayerActivationMessage::ELiveTVMessage;
-		}
-    else if( !message.CompareF( KVcxNsExtLaunchLiveTVLastWatch ) )
-        {
-        aActivationMsg.iMsgType = TVideoPlayerActivationMessage::ELiveTVMessageLastWatched;
-        }
-    else if( !message.CompareF( KVcxNsExtLoadTvVideoSuite ) )
-        {
-        // If the player app is running 
-        // in background, switch to that
-        TryBringVideoPlayerToForegroundL();
-
-        SendMediatorEvent( KVcxNsAhEventSuiteLoaded ); 
-        // This needs cleaner way to not to execute the cmd.
-        err = KErrNotSupported;
-        }
-    else if ( !message.CompareF( KVcxNsExtUnloadTvVideoSuite ) )
-        {
-        SendMediatorEvent( KVcxNsAhEventSuiteUnloaded ); 
-        // This needs cleaner way to not to execute the cmd.
-        err = KErrNotSupported;
-        }
-    else
-        {
-        err = KErrNotSupported;
-        }
-    CleanupStack::PopAndDestroy( &variant );
-    
-    return err;
-	}
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::StartAppL
-// ---------------------------------------------------------------------------
-//
-TInt CVideoActionHandler::StartAppL( TVideoPlayerActivationMessage& aMessage )
-    {
-    TInt err(KErrNone);    
-    
-    // If settings are requested launch them, otherwise launch my videos
-    if (aMessage.iMsgType == TVideoPlayerActivationMessage::EOpenVCSettings)
-        {
-        err = LaunchMediaSettingsL( aMessage );
-        }
-    else
-        {
-        err = LaunchMyVideosL( aMessage );
-        }
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::ExtractVariant
-// ---------------------------------------------------------------------------
-//
-TInt CVideoActionHandler::ExtractVariant( const CLiwMap* aMap,
-								          TLiwVariant& aVariant,
-								          const TDesC8& aKeyName )
-   
-    {
-    TInt errCode( KErrNone );
-	TBool found( EFalse );
-    TRAP( errCode, found = aMap->FindL( aKeyName, aVariant ) );
-    
-    if ( errCode == KErrNone && !found )
-       	{
-       	errCode = KErrNotFound;
-    	}
-	
-	return errCode;
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::SendMediatorEvent
-// ---------------------------------------------------------------------------
-//
-void CVideoActionHandler::SendMediatorEvent( TInt aEvent )
-    {
-    iMediatorEventProvider->RaiseEvent( 
-                                    TUid::Uid( KVcxNsAhMediatorDomain ),
-                                    TUid::Uid( KVcxNsAhMediatorCategory ), 
-                                    aEvent,
-                                    TVersion( KVcxNsAhEventVersion, 0, 0 ),
-                                    KNullDesC8() );
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::LaunchMediaSettingsL
-// ---------------------------------------------------------------------------
-//
-TInt CVideoActionHandler::LaunchMediaSettingsL( TVideoPlayerActivationMessage& aMessage )
-    {
-    // KIptvVodStartPlayer is not currently used. Any case we need it?    
-    return LaunchMatrixTaskL( aMessage, KUidMediaSettingsApp, KVideoPlayerVodStartPlayer );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::LaunchMyVideosL
-// ---------------------------------------------------------------------------
-//
-TInt CVideoActionHandler::LaunchMyVideosL( TVideoPlayerActivationMessage& aMessage )
-    {
-    // KIptvVodStartPlayer is not currently used. Any case we need it?    
-    return LaunchMatrixTaskL( aMessage, KUidMPXVideoPlayerApp, KVideoPlayerVodStartPlayer );    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::LaunchMatrixTaskL
-// ---------------------------------------------------------------------------
-//
-TInt CVideoActionHandler::LaunchMatrixTaskL( TVideoPlayerActivationMessage& aMessage, TUid appUID, TInt aActivationMessage )
-    {
-
-    TInt err(KErrNone);
-
-    TPckg<TVideoPlayerActivationMessage> message(aMessage);
-
-    RWsSession session;
-    User::LeaveIfError(session.Connect());
-
-    // check if there is existing stand alone running
-    TInt ourWgId( 0 );
-    TInt ret( 0 );
-
-    // No need to check wgId if we are lauching Media Settings
-    if ( appUID != KUidMediaSettingsApp )
-        {
-        ret = RProperty::Get( KVideoPlayerRPropertyCategory, KVideoPlayerRPropertyWGIdKey, ourWgId );
-        }
-        
-    if( !ret )
-        {
-        // check if the wgId is really one of our own
-        TBuf<KVideoPlayerWgNameSize> wgName;
-        session.GetWindowGroupNameFromIdentifier(ourWgId, wgName );        
-        if( wgName.MatchF( KVideoPlayerWgName ) == KErrNotFound )
-            {
-            // Clear wg id, it is not ours anymore
-            ourWgId = 0;
-            }
-        }
-        
-    if( ourWgId != 0 )
-        {
-        // Send message to our wg id            
-        TUid play = TUid::Uid(aActivationMessage);        
-        session.SetWindowGroupOrdinalPosition( ourWgId, 0 );
-        err = session.SendMessageToWindowGroup( ourWgId, play, message );             
-        }        
-    else
-        {
-        // No stand alone available, create new one
-        RApaLsSession lsSession;
-        err = lsSession.Connect();
-        TApaAppInfo appInfo;
-
-        if (lsSession.GetAppInfo(appInfo, appUID) == KErrNone)
-            {
-            CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
-            cmdLine->SetExecutableNameL(appInfo.iFullName);
-            cmdLine->SetTailEndL(message);
-            User::LeaveIfError(lsSession.StartApp(*cmdLine));
-            CleanupStack::PopAndDestroy(cmdLine);
-            }
-        else
-            {
-            err = KErrNotFound;
-            }
-
-        lsSession.Close();   
-        }    
-    
-    session.Close();
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::LoadLwDataL
-// ---------------------------------------------------------------------------
-//
-void CVideoActionHandler::LoadLwDataL( TVideoPlayerActivationMessage& aMessage )
-    {
-    CIptvLastWatchedData* data = CIptvLastWatchedData::NewL();
-    CleanupStack::PushL( data );
-    
-    CIptvLastWatchedApi* lwApi = CIptvLastWatchedApi::NewL();
-    CleanupStack::PushL( lwApi );
-    
-    lwApi->GetLastWatchedDataL( *data );
-    
-    if ( data->ParentalControl() != KVcxMyvideosCenRepParentControlKeyOff )
-        {
-        TInt parentControlSetting( KVcxMyvideosCenRepParentControlKeyDefault );
-        CRepository* rep = NULL;
-        TInt error;
-        TRAP( error, rep = CRepository::NewL( TUid::Uid( KVcxMyVideosCenRepUid ) ) )
-
-        if ( error == KErrNone )
-            {
-            CleanupStack::PushL( rep );
-            
-            error = rep->Get( KVcxMyvideosCenRepParentControlKey, parentControlSetting );
-            
-            if ( error == KErrNone && parentControlSetting != KVcxMyvideosCenRepParentControlKeyOff )
-                {
-                if ( static_cast<TInt>( data->ParentalControl() ) >= parentControlSetting )
-                    {
-                    CVcxHgVodTelephonyClient* tc = new( ELeave ) CVcxHgVodTelephonyClient();
-                    CleanupStack::PushL(tc);
-                    
-                    if ( !tc->CheckLockCodeL() )
-                        {
-                        CErrorUI* eu = CErrorUI::NewLC();
-                        eu->ShowGlobalErrorNoteL( KErrPermissionDenied );
-                        CleanupStack::PopAndDestroy( eu );
-                        User::Leave( KErrPermissionDenied );
-                        }
-                    
-                    CleanupStack::PopAndDestroy( tc );
-                    }
-                }
-            CleanupStack::PopAndDestroy( rep );
-            }
-        }
-
-    if( data->MpxId() != KIdUndefined )
-        {
-        aMessage.iServiceId = data->MpxId();
-		aMessage.iFullPath  = data->Uri();
-        }
-    else
-        {
-		aMessage.iServiceId = 0;
-		aMessage.iFullPath = data->Uri();
-        }
-    
-    CleanupStack::PopAndDestroy( lwApi );
-    CleanupStack::PopAndDestroy( data );
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::TryBringVideoPlayerToForegroundL
-// ---------------------------------------------------------------------------
-//
-TInt CVideoActionHandler::TryBringVideoPlayerToForegroundL()
-    {
-    TInt ret ( KErrNotFound );
-    RWsSession session;
-    User::LeaveIfError( session.Connect() );
-	CleanupClosePushL( session );
-
-    TInt ourWgId( 0 );
-    TInt error = RProperty::Get( KVideoPlayerRPropertyCategory, KVideoPlayerRPropertyWGIdKey, ourWgId );
-        
-    if( error == KErrNone && ourWgId != 0 )
-        {
-        TBuf<KVideoPlayerWgNameSize> wgName;
-        session.GetWindowGroupNameFromIdentifier(ourWgId, wgName );
-        
-        if( wgName.MatchF( KVideoPlayerWgName ) != KErrNotFound )
-            {
-            ret = session.SetWindowGroupOrdinalPosition( ourWgId, 0 );
-            }
-        }
-
-	CleanupStack::PopAndDestroy( &session );
-    return ret;
-    }
--- a/homescreenplugins/videoahlplugin/src/videoahpluginimplementationtable.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  plugin implementation proxy definition for actionhandler plugin*
-*/
-
-
-#include <e32std.h>
-#include <implementationproxy.h>
-
-#include "videoactionhandler.h"
-
-// ----------------------------------------------------------------------------
-// Map the interface UIDs to implementation factory functions
-// ----------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] = 
-	{
-	IMPLEMENTATION_PROXY_ENTRY( 0x20016B9F, CVideoActionHandler::NewL ),
-	};
-
-// ----------------------------------------------------------------------------
-// Exported proxy for instantiation method resolution
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-    TInt& aTableCount )
-	{
-	aTableCount = 
-        sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-	return ImplementationTable;
-	}
-
-// end of file
--- a/homescreenplugins/videochplugin/data/videocontentharvester.rss	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-NAME VCHR
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-
-#include <videochplugin.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf=""; }
-
-RESOURCE LBUF r_iptv_download_complete
-    {
-    txt = qtn_iptv_download_complete_discreet;
-    }
-
-RESOURCE LBUF r_iptv_unfinished_dnloads_continue
-    {
-    txt = qtn_iptv_unfinished_dnloads_continue_discreet;
-    }
--- a/homescreenplugins/videochplugin/data/videocontentharvesterplugin.rss	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    ECOM registration for content harvesting plugin*
-*/
-
-
-
-// INCLUDES
-
-#include <ecom/registryinfo.rh>
-#include <contentharvesterpluginuids.hrh>
-#include "videocontentharvesterplugin.hrh"
-
-
-//  RESOURCE DEFINITIONS 
-// -----------------------------------------------------------------------------
-//   
-// REGISTRY_INFO theInfo
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-    {
-    // UID for the DLL
-    dll_uid = KVcxNsContentHarvesterPluginUid;
-    // Declare array of interface info
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            // UID of interface that is implemented
-            interface_uid = KContentHarvesterPluginUid;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KVcxNsContentHarvesterPluginUid;
-                    version_no = 1;
-                    display_name = "vcnschplugin";
-                    default_data = "vcnschplugin";
-                    opaque_data  = "vcnschplugin";
-                    }
-                };
-            }
-        };
-    }
--- a/homescreenplugins/videochplugin/group/bld.inf	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    bld.inf*
-*/
-
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../loc/videochplugin.loc     APP_LAYER_LOC_EXPORT_PATH(videochplugin.loc)
-../rom/videochplugin.iby     CORE_APP_LAYER_IBY_EXPORT_PATH(videochplugin.iby)
-../rom/videochpluginrsc.iby  LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(videochpluginrsc.iby)
-
-PRJ_MMPFILES
-videocontentharvesterplugin.mmp
-
--- a/homescreenplugins/videochplugin/group/videocontentharvesterplugin.mmp	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies 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 info file*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          vcxnscontentharvesterplugin.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D 0x2001B2A8
-CAPABILITY      CAP_ECOM_PLUGIN
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../videoahlplugin/inc
-USERINCLUDE     ../../../videofeeds/utils/inc
-USERINCLUDE     ../../../videofeeds/vccommon/conf
-USERINCLUDE     ../../../videofeeds/server/server/inc
-USERINCLUDE     ../../../videofeeds/clientapi/inc
-USERINCLUDE     ../../../videofeeds/server/IptvNetworkSelection/inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE 	/epoc32/include/ecom 
-
-SOURCEPATH      ../src
-SOURCE          videocontentharvesterpluginproxy.cpp
-SOURCE          videocontentharvesterplugin.cpp
-SOURCE          videocontentharvestermpxclient.cpp
-SOURCE          videocontentharvesterservicelistener.cpp
-SOURCE          videonotificationlauncher.cpp
-SOURCE          videochpublishabledata.cpp
-SOURCE          videochpublisher.cpp
-SOURCE          videochmcategorylistener.cpp
-SOURCE          videochpssubscriber.cpp
-SOURCE          videochiptvserverclient.cpp
-SOURCE          videochlastwatchedupdater.cpp
-SOURCE          videochpublishabledtaitem.cpp
-
-SOURCEPATH      ../data
-
-START RESOURCE  videocontentharvesterplugin.rss 
-HEADER
-TARGET          vcxnscontentharvesterplugin.rsc
-TARGETPATH      resource/plugins 
-END
-
-START RESOURCE  videocontentharvester.rss
-TARGETPATH      APP_RESOURCE_DIR
-HEADER
-LANGUAGE_IDS 
-END // RESOURCE
-
-LIBRARY         ecom.lib
-LIBRARY         euser.lib
-LIBRARY         apgrfx.lib
-LIBRARY         apparc.lib  
-LIBRARY         egul.lib
-LIBRARY         flogger.lib
-LIBRARY         liwservicehandler.lib
-LIBRARY         cputils.lib
-LIBRARY         mpxcommon.lib
-LIBRARY         mpxcollectionutility.lib
-LIBRARY         mediatorclient.lib
-LIBRARY         efsrv.lib
-LIBRARY         ws32.lib
-LIBRARY         estor.lib
-LIBRARY         bafl.lib
-LIBRARY         iptvclientapi.lib 	// CIptvServiceManagementClient
-LIBRARY         iptvutil.lib 		// CIptvLastWatchedData
-LIBRARY         aknnotify.lib
-LIBRARY	        cone.lib
-LIBRARY	        eikcore.lib
-LIBRARY	        avkon.lib
-LIBRARY	        eikcoctl.lib
-LIBRARY         commonengine.lib 
-LIBRARY         etul.lib
--- a/homescreenplugins/videochplugin/inc/videochiptvserverclient.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChPublisher class declaration*
-*/
-
-
-
-
-#ifndef _VCXNSCHIPTVSERVERCLIENT_H
-#define _VCXNSCHIPTVSERVERCLIENT_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-#include "MIptvServiceManagementClientObserver.h"
-#include <MediatorEventConsumer.h>
-
-// FWD DECLS
-class CIptvServiceManagementClient;
-class CVcxNsChPublishableData;
-class CVcxNsChPublisher;
-class CVcxNsChMCategoryListener;
-
-// CLASS DECLARATION
-
-/**
- *  CVcxNsChIptvServerClient 
- *
- *  Does content harvester plugin's videocenter dserver related actions.
- *
- *  @lib vcxnscontentharverterplugin.dll
- */
-class CVcxNsChIptvServerClient : public CBase, 
-                                 public MIptvServiceManagementClientObserver,
-                                 public MMediatorEventObserver
-    {
-    
-public: // construction / destruction
-
-    /**
-     * Destructor
-     * 
-     */
-    ~CVcxNsChIptvServerClient();
-
-    /**
-     * constructor
-     * 
-     * @param aPublisher pointer to CH plugins CP publisher
-     * @param aPublishableData pointer to CH plugin data
-     * 
-     * @return CVcxNsChIptvServerClient*
-     */
-    static CVcxNsChIptvServerClient* NewL( CVcxNsChPublisher* aPublisher,
-                                           CVcxNsChPublishableData* aPublishableData );
-    
-private:
-
-    /**
-     * constructor
-     * 
-     * @param aPublisher pointer to CH plugins CP publisher
-     * @param aPublishableData pointer to CH plugin data
-     */
-    CVcxNsChIptvServerClient( CVcxNsChPublisher* aPublisher,
-                              CVcxNsChPublishableData* aPublishableData ); 
-    
-    /**
-     * default constructor, not implemented
-     * 
-     */
-    CVcxNsChIptvServerClient();
-
-    /**
-     * Symbian 2nd phase constructor
-     * 
-     */
-    void ConstructL();
-
-    
-public: // FROM SM CLIENT
-    
-    /**
-     * empty implementation
-     */ 
-    void AddServiceResp( TRespStatus ){};
-    
-    /**
-     * empty implementation
-     */ 
-    void UpdateServiceResp( TRespStatus ){};
-    
-    /**
-     * empty implementation
-     */
-    void DeleteServiceResp( TRespStatus ){};
-    
-    /**
-     * empty implementation
-     */
-    void GetServicesResp( TRespStatus, CDesC8ArraySeg* ){};
-    
-    /**
-     * empty implementation
-     */
-    void GetUsedIapResp( TUint32, const TDesC&, CIptvNetworkSelection::
-                         TConnectionPermission, TBool, CIptvNetworkSelection::TRespStatus ){};
-    
-    /**
-     * empty implementation
-     */
-    void ServerShutdownResp( TRespStatus ){};
-    
-    /**
-     * Method is used to check if the preloaded service is 
-     * deleted (unsubscribed) or added (subscribed).
-     * If deleted, item's data is deleted from the CP 
-     * If added back item's data is returned to CP
-     * 
-     * @param aEvent event to check
-     * 
-     * 
-     */
-    void HandleSmEvent( CIptvSmEvent& aEvent );
-    
-public: // From MMediatorEventObserver
-    
-    /** 
-     * Catches the mediator events. In this context we handle
-     * 
-     */
-    void MediatorEventL( TUid aDomain,
-                         TUid aCategory, 
-                         TInt aEventId, 
-                         const TDesC8& aData );
-    
-public: // new methods
-    
-    /**
-     * Method creates CIptvServiceManagementClient object
-     * to startup IPTV server.
-     */
-    void StartIPTVServerInterfaceL();
-    
-    /**
-     * Deletes CIptvServiceManagementClient object.
-     * IPTV server is stopped if there are no other 
-     * instances using it.
-     */
-    void StopIPTVServerInterface();
-    
-    /**
-     * Method is used to get an id from the service,
-     * based on the uri provided.
-     * This method should only be called once during 
-     * plugin startup.
-     * 
-     * @param aServiceUri uri to be used to check the service
-     * 
-     * @return service id or KErrNotFound, if service is not found
-     * 
-     */
-    TInt GetServiceGroupIdL( const TDesC& aServiceUri );
-    
-    
-
- 
-private: // Data
-    
-    CIptvServiceManagementClient* iSmClient;
-    
-    /**
-     * Publishable data container. Not owned. 
-     */
-    CVcxNsChPublishableData* iPublishableData;
-    
-    /**
-     * Publisher object used to publish data from CVcxNsChPublishableData
-     * to service api. Not owned. 
-     */
-    CVcxNsChPublisher* iPublisher;
-    
-    /**
-     * Mediator helper object for registering and subscribing 
-     * matrix action handler mediator events. Owned.
-     */
-    CVcxNsChMCategoryListener* iAhCategoryListener; 
-    
-    };
-
-#endif // _VCXNSCHIPTVSERVERCLIENT_H
--- a/homescreenplugins/videochplugin/inc/videochlastwatchedupdater.h	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChLastWatchedUpdater class declaration*
-*/
-
-
-
-
-#ifndef _VCXCHLASTWATCHEDUPDATER_H
-#define _VCXCHLASTWATCHEDUPDATER_H 
-
-// INCLUDES
-#include <e32std.h>
-#include <e32cmn.h>
-#include <e32base.h>
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-#include <MediatorEventConsumer.h>
-
-// FORWARD DECLARATIONS
-class CVcxNsChMCategoryListener;
-class CVcxNsChPublishableData;
-class CVcxNsChPublisher;
-
-// CLASS DECLARATION
-
-/**
- *  Ns Content Harvester plugin
- *
- *  @lib vcxnscontentharvesterplugin.dll
- *  @since S60 v5.0
- */
-
-class CVcxNsChLastWatchedUpdater: public CBase,
-                                  public MMediatorEventObserver
-    {
-    
-public:
-
-    static CVcxNsChLastWatchedUpdater* NewL( CVcxNsChPublishableData* aPublishableData,
-                                             CVcxNsChPublisher* aPublisher );
-    
-    /**
-     * Destructor
-     * 
-     */
-    virtual ~CVcxNsChLastWatchedUpdater();
-    
-    /**
-     * From MMediatorEventObserver
-     * 
-     * Catches mediator events
-     */
-    void MediatorEventL( TUid aDomain,
-                         TUid aCategory, 
-                         TInt aEventId, 
-                         const TDesC8& aData );   
-
-private:
-    
-    void ConstructL();
-
-    CVcxNsChLastWatchedUpdater( CVcxNsChPublishableData* aPublishableData,
-                                CVcxNsChPublisher* aPublisher );
-    
-    /**
-     *  Writes the preloaded video data to last watched
-     */
-    void  WritePreloadedToLastWatchedL();
-   
-private: // DATA
-    
-    /**
-     * Publishable data container 
-     * NOT OWN
-     */
-    CVcxNsChPublishableData* iPublishableData;
-    
-    /**
-     * Publisher object used to publish data from CVcxNsChPublishableData
-     * to service api 
-     * NOT OWN
-     */
-    CVcxNsChPublisher* iPublisher;
-    
-    /**
-     * Mediator helper object for registering and subscribing 
-     * player related mediator events
-     * OWN
-     */
-    CVcxNsChMCategoryListener* iMPlayerCategoryListener;
-    
-    /**
-     * Mediator helper object for registering and subscribing 
-     * IPTV related mediator events
-     * OWN
-     */
-    CVcxNsChMCategoryListener* iMIPTVCategoryListener;
-     
-    };
-
-#endif // _VCXCHLASTWATCHEDUPDATER_H 
--- a/homescreenplugins/videochplugin/inc/videochmcategorylistener.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChPublisher class declaration*
-*/
-
-
-
-
-#ifndef _VCXNSCHMEDIATOTCATLISTENER_H
-#define _VCXNSCHMEDIATOTCATLISTENER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-
-class MMediatorEventObserver;
-class CMediatorEventConsumer;
-
-// CLASS DECLARATION
-
-/**
- * Helper class for listening mediator event
- *
- *  @lib vcxnscontentharverterplugin.dll
- */
-class CVcxNsChMCategoryListener : public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CVcxNsChMCategoryListener();
-
-    /**
-     * Two-phased constructor. Leaves if aObserver is NULL.
-     * 
-     * @param aObserver actual event listener object
-     * @param aMDomain domain id to register and subscribe to
-     * @param aMCategory category id to register and subscribe to
-     * @param aVersion version number for events to wait for
-     * 
-     * @return created CVcxNsChMCategoryListener object
-     * 
-     */
-    static CVcxNsChMCategoryListener* NewL( MMediatorEventObserver* aObserver, 
-                                            TUid& aMDomain,
-                                            TUid& aMCategory,
-                                            TVersion& aVersion );
-
-    /**
-     * Two-phased constructor. Leaves if aObserver is NULL.
-     * 
-     * @param aObserver actual event listener object
-     * @param aMDomain domain id to register and subscribe to
-     * @param aMCategory category id to register and subscribe to
-     * @param aVersion version number for events to wait for
-     * 
-     * @return created CVcxNsChMCategoryListener object
-     * 
-     */
-    static CVcxNsChMCategoryListener* NewLC( MMediatorEventObserver* aObserver, 
-                                             TUid& aMDomain,
-                                             TUid& aMCategory,
-                                             TVersion& aVersion );
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     *  
-     * @param aMDomain domain id to register and subscribe to
-     * @param aMCategory category id to register and subscribe to
-     * @param aVersion version number for events to wait for
-     */
-    CVcxNsChMCategoryListener( TUid& aMDomain,
-                               TUid& aMCategory,
-                               TVersion& aVersion );
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     * 
-     * @param aObserver actual event listener object
-     */
-    void ConstructL( MMediatorEventObserver* aObserver );
-    
-public: // new methods
-    
-    /**
-     * method registers and subcribes given event id for domain / category / version
-     * setted for this object
-     * 
-     * @param aEvent event to register and subscribe to
-     */
-    void RegisterAndSubscribeL( const TInt& aEvent );
-    
-private:
-    
-    /**
-     * method unsubscribes and deregisters all events saved in iEventArray
-     * 
-     */
-    void UnsubscribeAndDeregisterAll();
-    
-private: // DATA
-    
-    /**
-     * domain id for events
-     */
-    TUid iMediatorDomain;
-    
-    /**
-     * Category id for events
-     */
-    TUid iMediatorCat;
-    
-    /**
-     * version of events
-     */
-    TVersion iMVersion;
-    
-    /**
-     * Array of event ids 
-     */
-    RArray< TInt > iEventArray;
-    
-    /**
-     * event consumer object used to subscribe 
-     * events to
-     */
-    CMediatorEventConsumer* iEventConsumer; 
-
-    };
-
-#endif // _VCXNSCHMEDIATOTCATLISTENER_H
--- a/homescreenplugins/videochplugin/inc/videochpssubscriber.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 to handle subscribtions from PS*
-*/
-
-
-
-
-#ifndef __VCXNS_CONTENTHARVERSTERPSSUBSCRI_H
-#define __VCXNS_CONTENTHARVERSTERPSSUBSCRI_H
-
-#include <e32base.h>	
-#include <e32property.h>
-
-NONSHARABLE_CLASS ( MCHPSObserver )
-    {
-    public:
-        virtual void ValueChanged( const TUint32& aKey, const TInt& aValue ) = 0;  
-    
-    };
-
- 
-NONSHARABLE_CLASS ( CVcxNsCHPSSubscriber ) : public CActive
-    {
-
-    public: // constuct / destruct
-    
-        /**
-         * Construction.
-         * 
-         * @param aUid      category for the property
-         * @param aKey      key id for the property
-         * @param aType     type of the key (at the moment only int -type is supported)
-         * @param aObserver observer to who to notify about changes
-         * 
-         * @return The newly constructed CVcxConnUtilPubSub
-         */
-        static CVcxNsCHPSSubscriber* NewL( const TUid aUid, 
-                                           const TUint32 aKey,
-                                           RProperty::TType aType,
-                                           MCHPSObserver* aObserver );
-        
-        /**
-         * Destructor.
-         *
-         */
-        virtual ~CVcxNsCHPSSubscriber();
-        
-        /**
-         * Returns a pubsub value from this property
-         * 
-         *@param &aValue value to fetch
-         * 
-         *@return TInt KErrNone or some system level error code
-         */
-        TInt Get( TInt& aValue );
-            
-        /**
-         * Start subscribing if not already started
-         */
-        void Start();
-        
-        
-    private:  // constuct / destruct
-        
-        /**
-         * Constructor
-         *
-         */
-        CVcxNsCHPSSubscriber( const TUid aUid, 
-                              const TUint32 aKey, 
-                              RProperty::TType aType, 
-                              MCHPSObserver* aObserver );
-        
-        /**
-         * Symbian 2nd phase construction
-         *   
-         */
-        void ConstructL();
-     
-    private: // from CActive
-        
-        /**
-         * From CActive. Calles when value subscribed to changes 
-         * 
-         */  
-        void RunL();
-        
-        /**
-         * From CActive. Cancels subscribtion
-         * 
-         */
-        void DoCancel();
-        
-    private:
-        
-        /**
-         * ETrue if object is initialized and subscribtion starts
-         */
-        TBool            iInitialized;
-        
-        /**
-         * Property to subscribe
-         */
-        RProperty        iProperty;
-        
-        /**
-         * Category uid for the property
-         */
-        const TUid       iUid;
-        
-        /**
-         * Key id for the property
-         */
-        const TUint32    iKey;
-        
-        /**
-         * type of the property
-         */
-        RProperty::TType iKeyType;
-        
-        /**
-         * observer, not owned
-         */
-        MCHPSObserver*   iObserver;
-
-    };      
-
-#endif // __VCXNS_CONTENTHARVERSTERPSSUBSCRI_H
--- a/homescreenplugins/videochplugin/inc/videochpublishabledata.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChPublishableData class declaration*
-*/
-
-
-
-
-#ifndef VCXNSCHPUBLISHABLEDATA_H
-#define VCXNSCHPUBLISHABLEDATA_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <bautils.h>
-#include "videocontentharvesterplugin.hrh"
-
-
-class CIptvResourceLoader;
-class CLiwDefaultMap;
-class TLiwVariant;
-class CVcxNsPublishableDataItem;
-class CIptvLastWatchedApi;
-template <class T, class K> class RHashMap;
-
-
-const TInt KTvVideoMaxValueKeyLen = 24;
-
-_LIT8( KTvVideoCount,           "tvvideocountvalue" );
-_LIT8( KTvVideoName,            "tvvideonamevalue" );
-_LIT8( KTvVideoIconPath,        "tvvideoiconpath" );
-_LIT8( KTvVideoPath,            "tvvideopath" );
-_LIT8( KTvVideoId,              "tvvideoidvalue" );
-_LIT8( KTvVideoLastWatchedType, "tvvideolastwtype" );
-_LIT8( KTvVideoHasNewVideos,    "tvvideohasnewvideos" );
-
-
-// CLASS DECLARATION
-
-/**
- * Class for maintaining publishable data for matrix menu's
- * tvvideo -suite 
- *
- *  @lib vcxnscontentharvesterplugin.dll
- */
-class CVcxNsChPublishableData : public CBase
-    {
-public: // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CVcxNsChPublishableData();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CVcxNsChPublishableData* NewL();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CVcxNsChPublishableData* NewLC();
-
-private: 
-    
-    /**
-     * Symbian 2nd phase constructor
-     * 
-     */
-    void ConstructL();
-
-    /**
-     * Constructor for performing 1st stage construction
-     */
-    CVcxNsChPublishableData();
-
-    
-public: // new methods
-    
-    /**
-     * Method saves publishable integer -type data into local map.   
-     * 
-     * @param TVCxNsCPContentType content type to where to save
-     * @param aValueKey& value's key name where to save
-     * @param aValue value to save
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * @leave KErrNoMemory: if memory could not be allocated to store the 
-     *                       copies of aKey and aValue
-     * 
-     */
-    void SetDataL( TVCxNsCPContentType aContentType, 
-                   TPtrC8 aValueKey,  
-                   TInt aValue );
-    
-    /**
-     * Method saves publishable descriptor -type data into local map.   
-     * 
-     * @param TVCxNsCPContentType content type to where to save
-     * @param aValueKey& value's key name where to save
-     * @param aValue value to save
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * @leave KErrNoMemory: if memory could not be allocated to store the 
-     *                       copies of aKey and aValue
-     * 
-     */
-    void SetDataL( TVCxNsCPContentType aContentType, 
-                   TPtrC8 aValueKey,  
-                   const TDesC& aValue );
-    
-    /**
-     * Method returns integer -type data from local map.   
-     * 
-     * @param TVCxNsCPContentType content type from where to get
-     * @param aValueKey& value's key name  from where to get
-     * 
-     * @return TInt 
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * 
-     */
-    TInt GetIntDataL( TVCxNsCPContentType aContentType, 
-                      TPtrC8 aValueKey );
-    
-    /**
-     * Method returns descriptor -type data from local map.   
-     * 
-     * @param TVCxNsCPContentType content type from where to get
-     * @param aValueKey& value's key name  from where to get
-     * 
-     * @return TInt 
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * 
-     */
-    const TDesC& GetDesCDataL( TVCxNsCPContentType aContentType, 
-                               TPtrC8 aValueKey );
-    
-    /**
-     * Method returns setted contenty type name from provided 
-     * content type -item. 
-     * 
-     * @param TVCxNsCPContentType content type from where to get
-     * 
-     * @return TPtrC 
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * 
-     */
-    TPtrC ItemContentTypeNameL( TVCxNsCPContentType aContentType );
-    
-    /**
-     * Method is used to create a CP publishable data for the tvvideosuite
-     * for the Matrix -menu.
-     * Caller must provide CLiwDefaultMap used and tell the content type 
-     * it want's the data to be created to. Possible content types are:
-     * - EVCxNsCPContentLastWatched: creating content for "last watched" item
-     * --- map item with key "tvvideonamevalue" contains text containing iLastWatchedName
-     * --- map item with key "tvvideoiconpath" contains iLastWatchedIconPath 
-     * --- map item with key "tvvideolastwType" contains iLastWSourceType as textual format 
-     *  
-     *  - EVCxNsCPContentLiveTV: creating content for "Live TV" item
-     * --- map item with key "tvvideonamevalue" contains text containing iLiveTvServiceProvName
-     * --- map item with key "tvvideoiconpath" contains iLiveTvServiveProvIconPath
-     * 
-     * - EVCxNsCPContentIPTV: creating content for "Internet TV" item
-     * --- map item with key "tvvideocountvalue" contains value of iIPTVServiceCount
-     * 
-     * - EVCxNsCPContentMyVideos: creating content for "My videos" item
-     * --- map item with key "tvvideonamevalue" contains text from iLastNewVideoName  
-     * --- map item with key "tvvideocountvalue" contains value from iNewVideoCount
-     * 
-     * - EVCxNsCPContentFeeds: creating content for "Video feeds" item
-     *  --- map item with key "tvvideocountvalue" contains value from  iFeedCount
-     *   
-     * If caller tries to create any other content types, method leaves with KErrNotFound.
-     * 
-     * @param TVCxNsCPContentType content type to where to create content
-     * @param CLiwDefaultMap& reference to map to where content is save to
-     * 
-     */
-    void FillCPDataMapL( TVCxNsCPContentType aContentType, CLiwDefaultMap& aDataMap );
-    
-    
-    /**
-     * Method is used to extract data from given data map gotten 
-     * from CP database
-     * 
-     * 
-     * @param TVCxNsCPContentType content type to extract
-     * @param CLiwDefaultMap& reference to map from where content is extracted
-     * 
-     */
-    void ReadCPDataMapL( TVCxNsCPContentType aContentType, 
-                         CLiwDefaultMap& aDataMap );
-    
-    /**
-     * Method is used to clear data related to content type 
-     * from CP database
-     * 
-     * 
-     * @param TVCxNsCPContentType content type of data to clear
-     * 
-     */
-    void ClearData( TVCxNsCPContentType aContentType );
-    
-    /**
-     * Method checks if physical file with provided path exists
-     * 
-     * 
-     * @param aFilePath file path to check
-     * 
-     * @return TBool ETrue if file exists
-     */
-    TBool FileExists( const TDesC& aFilePath );
- 
-    /**
-     * Method returns iLastWatched
-     * 
-     * @return CIptvLastWatchedApi&
-     */
-    CIptvLastWatchedApi& LastWatchedApi();
-    
-private:
-    
-    /**
-     * Helper method to check wether item with provided 
-     * content type exists and if it does, returns a pointer to it
-     * 
-     * 
-     * @param TVCxNsCPContentType content type of data check and get
-     * 
-     * @return CVcxNsPublishableDataItem*
-     * 
-     * @leave KErrNotFound if item does not exist
-     * 
-     */
-    CVcxNsPublishableDataItem* GetItemL( TVCxNsCPContentType aContentType );
-     
-private: // DATA
-    
-    
-    /**
-     * Map containing all content related data, owned
-     */
-    RHashMap< TInt, CVcxNsPublishableDataItem* >* iData;
-        
-    /**
-     * File server for checking file existence, owned
-     */
-    RFs iFs;
-    
-    /**
-     * IPTV last watched api. owned.
-     */
-    CIptvLastWatchedApi* iLastWatched;
-
-    };
-
-#endif // VCXNSCHPUBLISHABLEDATA_H
--- a/homescreenplugins/videochplugin/inc/videochpublishabledataitem.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsPublishableDataItem class declaration*
-*/
-
-
-
-
-#ifndef _VCXNSCHPUBLISHABLEDATAITEM_H
-#define _VCXNSCHPUBLISHABLEDATAITEM_H 
-
-// INCLUDES
-#include <e32std.h>
-#include <e32cmn.h>
-#include "videochpublishabledata.h"
-
-
-// FORWARD DECLARATIONS
-class CLiwDefaultMap;
-template <class T, class K> class RHashMap;
-
-
-// CLASS DECLARATION
-/**
- * Class contains data and services for handling data of
- * single item in the tvvideo menu suite 
- */
-
-class CVcxNsPublishableDataItem: public CBase
-    {
-    
-public:
-
-    /**
-     * Two-phased constructor. Provided content type
-     * should not be locally defined. The object does not
-     * own the actual string. 
-     * 
-     * @param aContentType Desc pointer to contentype of this item
-     * 
-     * @return  CVcxNsPublishableDataItem*
-     */
-    static CVcxNsPublishableDataItem* NewL( TPtrC aContentType );
-    
-    /**
-     * Two-phased constructor. Provided content type
-     * should not be locally defined. The object does not
-     * own the actual string. 
-     * 
-     * @param aContentType Desc pointer to contentype of this item
-     * 
-     * @return  CVcxNsPublishableDataItem*
-     */
-    static CVcxNsPublishableDataItem* NewLC( TPtrC aContentType );
-    
-    /**
-     * Destructor
-     * 
-     */
-    virtual ~CVcxNsPublishableDataItem();
-
-
-private:
-    
-    /**
-     * Symbian 2nd phase constructor
-     * 
-     */
-    void ConstructL();
-
-    /**
-     * C++ constructor
-     * 
-     */
-    CVcxNsPublishableDataItem( TPtrC aContentType );
-    
-public:
-    
-    /**
-     * returns a desc pointer to content type desc 
-     * 
-     * @return  TPtrC
-     */
-    TPtrC ContentType() const;
-    
-    /**
-     * Method sets integer type data into  iIntData map
-     * 
-     * @param aValueKey& value's key name where to save
-     * @param aValue value to save
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * @leave KErrNoMemory: if memory could not be allocated to store the 
-     *                       copies of aKey and aValue
-     */
-    void SetDataL( TPtrC8 aKey, TInt aValue );
-      
-    /**
-     * Method sets integer type data into iDescData map
-     * 
-     * @param aValueKey& value's key name where to save
-     * @param aValue value to save
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * @leave KErrNoMemory: if memory could not be allocated to store the 
-     *                       copies of aKey and aValue
-     */
-    void SetDataL( TPtrC8 aKey, const TDesC& aData );
-    
-    /**
-     * Method returns integer -type data from local map.   
-     * 
-     * @param aValueKey& value's key name  from where to get
-     * 
-     * @return TInt 
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * 
-     */
-    TInt GetIntDataL( TPtrC8 aKey ) const;
-    
-    /**
-     * Method returns descriptor -type data from local map.   
-     * 
-     * @param aValueKey& value's key name  from where to get
-     * 
-     * @return TInt 
-     * 
-     * @leave KErrNotFound: if item with provided content type or value data 
-     *                      item with provided key not found.
-     * 
-     */
-    const TDesC& GetDesCDataL( TPtrC8 aKey ) const;
-    
-    /**
-     * Method copies key-value pairs from the local maps into 
-     * provided reference map.   
-     * 
-     * @param aDataMap  map where to save data
-     * 
-     */
-    void FillCPDataMapL( CLiwDefaultMap& aDataMap );
-   
-    /**
-     * Method reads key-value pairs from provided reference map
-     * and saves them to local maps.    
-     * 
-     * @param aDataMap  map where to copy data
-     *  
-     */
-    void ReadCPDataMapL( CLiwDefaultMap& aDataMap );
-    
-    /**
-     * Method clears data. All descs sizes are set to zero and integers
-     * set to 0.     
-     *  
-     */
-    void ClearData();
-    
-private:
-    
-    /**
-     * Internal helper method to extract data to liwvariant from the liwmap.
-     * 
-     * Method leaves if data provided by the key is not found
-     * 
-     * @param aKey key of data item
-     * @param aDataMap a map where to search data
-     * @param aVariant variant item from where to fetch tha actual data
-     * 
-     */
-    TInt ExtractVariant( const TDesC8& aKey,  
-                         CLiwDefaultMap& aDataMap, 
-                         TLiwVariant& aVariant );
-       
-        
-private: // DATA
-     
-    /**
-     * Desc pointer to external string containing content type txt.
-     * Not Owned.
-     */
-    TPtrC iContentType;
-    
-    /**
-     * Map containing integer type data.
-     */
-    RHashMap< TBuf8< KTvVideoMaxValueKeyLen >, TInt >*   iIntData;
-      
-    /**
-     * Map containing desc type data.
-     */
-    RHashMap< TBuf8< KTvVideoMaxValueKeyLen >, HBufC* >* iDescData;
-            
-    };
-
-#endif // _VCXNSCHPUBLISHABLEDATAITEM_H 
--- a/homescreenplugins/videochplugin/inc/videochpublisher.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChPublisher class declaration*
-*/
-
-
-
-
-#ifndef VCXNSCHPUBLISHER_H
-#define VCXNSCHPUBLISHER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include "videocontentharvesterplugin.hrh"
-
-class MLiwInterface;
-class CLiwGenericParamList;
-class CVcxNsChPublishableData;
-
-// CLASS DECLARATION
-
-/**
- * Class for handling data content for matrix menu's
- * tvvideo -suite.
- * 
- * Data to show is saved into Content Publishing
- * database using Liw -framework. After publishing, it is
- * up to menu definition to update appropriate fields.  
- *
- * Class has also a methods for backing up wanted content.
- * Backing up in this sence means saving the data to the 
- * content publishing database using different content id.
- * 
- *
- *  @lib vcxnscontentharverterplugin.dll
- */
-class CVcxNsChPublisher : public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CVcxNsChPublisher();
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param MLiwInterface* a pointer to sapi's Liw -inteface to publish data to     
-     * @param CVcxNsChPublishableData* a pointer to data to publish
-     * 
-     * @return CVcxNsChPublisher*
-     */
-    static CVcxNsChPublisher* NewL( MLiwInterface* aCPInterface, 
-                                    CVcxNsChPublishableData* aData );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param MLiwInterface* a pointer to sapi's Liw -inteface to publish data to    
-     * @param CVcxNsChPublishableData* a pointer to data to publish
-     * 
-     * @return  CVcxNsChPublisher*
-     */
-    static CVcxNsChPublisher* NewLC( MLiwInterface* aCPInterface,
-                                     CVcxNsChPublishableData* aData );
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     * 
-     * @param MLiwInterface* a pointer to sapi's Liw -inteface to publish data to    
-     * @param CVcxNsChPublishableData* a pointer to data to publish
-     * 
-     */
-    CVcxNsChPublisher( MLiwInterface* aCPInterface,  
-                       CVcxNsChPublishableData* aData );
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     */
-    void ConstructL();
-    
-public: // new methods
-    
-    /**
-     * Method calls PublishContentL for all content -types defined
-     * 
-     */
-    void PublishAllL();
-    
-    /**
-     * Method publishes content for given content type.
-     * Data is fetched from the iPublishableData.
-     * 
-     * @param TVCxNsCPContentType content type to publish 
-     * 
-     */
-    void PublishContentL( TVCxNsCPContentType aContentType );
-    
-    
-    /**
-     * Method deletes all defined content from the CP database
-     * 
-     * @param TVCxNsCPContentType content type to delete 
-     * 
-     */
-    void DeleteContentL( TVCxNsCPContentType aContentType );
-    
-    /**
-     * Method reads data content from the CP database.
-     * 
-     * Data is saved to iPublishableData
-     * 
-     * @param TVCxNsCPContentType content type to read
-     * 
-     */
-    void ReadContentL( TVCxNsCPContentType aContentType );
-    
-    /**
-     * Method backs up data content from the CP database.
-     * Basically backing up means that same data is saved back
-     * to the CP using different content id value than for the 
-     * values used for the content to be shown in matrix menu.
-     * 
-     * if aRefreshFrDB is ETrue, local data content that is used to 
-     * backup is updated from the CP DB before backing up.
-     * 
-     * if aRefreshFrDB is EFalse, local data content that is used to 
-     * backup is not updated, but writtendirectly to backup db. 
-     * 
-     * @param TVCxNsCPContentType content type to backup
-     * @param aReadFrDB see definition above
-     * 
-     */
-    void BackupContentL( TVCxNsCPContentType aContentType, TBool aRefreshFrDB = ETrue );
-    
-    /**
-     * Method reads backed up data content from the CP and
-     * saves it locally to the data containers in iPublishableData.
-     * After data is restored succesfully, backup content is removed 
-     * from the CP.
-     * 
-     * In case backed up data needs to be shown in the menu,
-     * PublishContentL -needs to be called after restore. 
-     * 
-     * @param TVCxNsCPContentType content type restore.
-     * 
-     */
-    void RestoreBackupL( TVCxNsCPContentType aContentType );
-       
-private:
-    
-    /**
-     * Helper method to extract data from CLiwDefaultMap for 
-     * tvvideosuite needs
-     * 
-     * @param aContentType type 
-     * @param aDataRoot a map containing result data gotten from CP 
-     * 
-     * @return KErrNone if data gotten ok
-     */
-    void ReadCPResultDataRootL( TVCxNsCPContentType& aContentType, CLiwDefaultMap* aDataRoot );
-    
-    /**
-     * Method executes given command to CP database concerning
-     * given contenttype
-     * 
-     * @param aContentType type 
-     * @param aCmd command to execute
-     * @param aInParam parameters in
-     * @param aOutParam parameters out
-     * 
-     */
-    void ExecCPCommandL(  TVCxNsCPContentType& aContentType,   
-                          const TDesC8& aCmd,
-                          CLiwGenericParamList* aInParam,
-                          CLiwGenericParamList* aOutParam);
-    
-private: // DATA
-    
-    /**
-     * Instance of CPS interface used for update with CPS.
-     * Not owned
-     */
-    MLiwInterface* iCPSInterface;
-    
-    /**
-     * pointer to actual data to be published
-     * Not owned
-     */
-    CVcxNsChPublishableData* iPublishableData;
-    
-    /**
-     * contenttype id string used to fetch content.
-     * KContentDefaultId == "menucontentid" for normal data to be shown in matrix
-     * KContentBackupId == "backucontentpid" for backed up data content
-     */
-    TPtrC iContentId;
-
-    };
-
-#endif // VCXNSCHPUBLISHER_H
--- a/homescreenplugins/videochplugin/inc/videocontentharvestermpxclient.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 C_VCXNSCONTENTHARVESTERMPXCLIENT_H
-#define C_VCXNSCONTENTHARVESTERMPXCLIENT_H
-
-#include <e32base.h>
-#include <mpxcollectionobserver.h>
-#include <MediatorEventConsumer.h>
-
-class MMPXCollectionUtility;
-class CVcxNsChPublishableData;
-class CVcxNsChPublisher;
-class CVcxNsChMCategoryListener;
-class CVcxNsContentHarvesterPlugin;
-
-/**
- *  CVcxNsContentHarvesterMpxClient
- * 
- *  @lib vcxnscontentharvesterplugin.dll
- *  @since S60 5.0
- */
-class CVcxNsContentHarvesterMpxClient : public CBase,
-                                        public MMPXCollectionObserver,
-                                        public MMediatorEventObserver
-    {
-
-public:
-
-
-    static CVcxNsContentHarvesterMpxClient* NewL( CVcxNsChPublisher* aPublisher,
-                                                  CVcxNsChPublishableData* aPublishableData,
-                                                  CVcxNsContentHarvesterPlugin* aPlugin );
-
-    virtual ~CVcxNsContentHarvesterMpxClient();
-    
-public: // From MMPXCollectionObserver
-
-    /**
-     * From MMPXCollectionObserver->MMPXCollectionMediaObserver
-     * Handle extended media properties
-     *
-     * @param aMedia media 
-     * @param aError error code    
-     */
-    void HandleCollectionMediaL( const CMPXMedia& aMedia, TInt aError );
-
-    /** 
-     * From MMPXCollectionUtilityObserver.
-     * Handle collection message
-     * NOTE: only one of HandleCollectionMessage callback can be implemented
-     * 
-     * @param aMessage collection message, ownership not transferred. 
-     *        Please check aMsg is not NULL before using it. If aErr is not 
-     *        KErrNone, plugin might still call back with more info in the aMsg.
-     * @param aErr system error code.
-     */
-    void HandleCollectionMessage( CMPXMessage* aMsg, TInt aErr ); 
-
-    /**
-     * From MMPXCollectionUtilityObserver.
-     * Handles the collection entries being opened. Typically called
-     * when client has Open()'d a folder
-     *
-     * @param aEntries collection entries opened
-     * @param aIndex focused entry
-     * @param aComplete ETrue no more entries. EFalse more entries
-     *                  expected
-     * @param aError error code   
-     */
-    void HandleOpenL( const CMPXMedia& aEntries,
-                      TInt aIndex,
-                      TBool aComplete,
-                      TInt aError );
-
-    /**
-     * From MMPXCollectionUtilityObserver.
-     * Handles the item being opened. Typically called
-     * when client has Open()'d an item. Client typically responds by
-     * 'playing' the item via the playlist
-     *
-     * @param aPlaylist collection playlist
-     * @param aError error code   
-     */                         
-    void HandleOpenL( const CMPXCollectionPlaylist& aPlaylist,
-                      TInt aError );
-
-    /**
-     * From MMPXCollectionUtilityObserver.
-     * Handle completion of a asynchronous command
-     *
-     * @param aCommandResult result of the command, NULL if error
-     * @param aError error code    
-     */
-    void HandleCommandComplete( CMPXCommand* aCommandResult, 
-                                TInt aError );
-    
-    /**
-     * From MMediatorEventObserver
-     * 
-     * Catches the events
-     */
-    void MediatorEventL( TUid aDomain,
-                         TUid aCategory, 
-                         TInt aEventId, 
-                         const TDesC8& aData );
-
-private:
-
-    enum TVcxNsCollectionOpenStatus
-        {
-        EVcxNsCollectionNotOpen = 0,
-        EVcxNsCollectionOpening,
-        EVcxNsCollectionOpened            
-        };
-
-    CVcxNsContentHarvesterMpxClient( CVcxNsChPublisher* aPublisher,
-                                     CVcxNsChPublishableData* aPublishableData,
-                                     CVcxNsContentHarvesterPlugin* aPlugin );
-
-    void ConstructL();
-    
-    /** 
-     * Called by HandleCollectionMessage(). Handles collection messages.
-     * 
-     * @param aMessage collection message.
-     * @param aError system error code.
-     */
-    void HandleCollectionMessageL( CMPXMessage* aMessage, TInt aError );
-
-    /** 
-     * Called by HandleCollectionMessageL(). Handles single collection message.
-     * 
-     * @param aMessage collection message.
-     * @param aError system error code.
-     */
-    void HandleSingleCollectionMessageL( CMPXMessage* aMessage, TInt aError );
-    
-    /**
-     * Handles item addition message, called by HandleCollectionMessage().
-     * 
-     * @param aMessage collection message, ownership not transferred. 
-     *        Please check aMsg is not NULL before using it. If aErr is not 
-     *        KErrNone, plugin might still call back with more info in the aMsg.
-     * @param aErr system error code. 
-     */
-    void HandleMyVideosItemsAppendedL( CMPXMessage* aMessage, TInt aError );        
-    
-    /**
-     * Handles item changed message, called by HandleCollectionMessage().
-     * 
-     * @param aMessage collection message, ownership not transferred. 
-     *        Please check aMsg is not NULL before using it. If aErr is not 
-     *        KErrNone, plugin might still call back with more info in the aMsg.
-     * @param aErr system error code. 
-     */
-    void HandleMyVideosItemsChangedL( CMPXMessage* aMessage, TInt aError ); 
-    
-    /**
-     * Handles item deleted or modified message, called by HandleMyVideosItemsChangedL().
-     * 
-     * @param aMessage collection message, ownership not transferred. 
-     *        Please check aMsg is not NULL before using it. If aErr is not 
-     *        KErrNone, plugin might still call back with more info in the aMsg.
-     */
-    void HandleContentModifiedL( CMPXMessage* aMessage ); 
-    
-    /**
-     * OpenCollectionL
-     */
-    void OpenCollectionL();
-    
-    /**
-     * CloseCollection
-     */
-    void CloseCollection();
-    
-    /**
-     * Returns the current level of collection.
-     */
-    TInt CollectionLevelL();
-    
-    /**
-     * UpdateCategoryL
-     */
-    void UpdateCategoryL();
-    
-    /**
-     * SearchAndStoreCategoryL
-     */
-    void SearchAndStoreCategoryL( CMPXMediaArray* categoryArray );
-    
-    /**
-     * UpdateNewVideoCount
-     */
-    void UpdateNewVideoCountL();
-
-private: // data
-
-    /**
-     * Instance of MPX collection util interface.
-     */
-    MMPXCollectionUtility* iCollectionUtility;
-    
-    /**
-     * Observed category
-     */
-    CMPXMedia* iObservedCategory;
-    
-    /**
-     * Variable for storing collection opening status.
-     */
-    TVcxNsCollectionOpenStatus iCollectionOpenStatus;
-    
-    /**
-     * CVcxNsChPublisher. Not owned.
-     */
-    CVcxNsChPublisher* iPublisher;
-    
-    /**
-     * CVcxNsChPublishableData. Not owned.
-     */
-    CVcxNsChPublishableData* iPublishableData;
-    
-    /**
-     * Mediator helper object for registering and subscribing 
-     * mpx collection related mediator events
-     */
-    CVcxNsChMCategoryListener* iMCategoryListener;
-    
-    /**
-     * Mediator helper object for registering and subscribing 
-     * action handler related mediator events
-     */
-    CVcxNsChMCategoryListener* iAhCategoryListener;
-    
-    /**
-     * iOngoingDownloads.
-     */
-    TBool iOngoingDownloads;
-    
-    /**
-     * iTvVideoSuiteLoaded.
-     */
-    TBool iTvVideoSuiteLoaded;
-    
-    /**
-     * Parent Plugin. Not own.
-     */
-    CVcxNsContentHarvesterPlugin* iPlugin;
-
-    };
-
-#endif // C_VCXNSCONTENTHARVESTERMPXCLIENT_H
--- a/homescreenplugins/videochplugin/inc/videocontentharvesterplugin.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsContentHarvesterPlugin class declaration*
-*/
-
-
-
-
-#ifndef _VIDEOCONTENTHARVESTERPLUGIN_H
-#define _VIDEOCONTENTHARVESTERPLUGIN_H 
-
-// INCLUDES
-#include <e32std.h>
-#include <e32cmn.h>
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-
-// FORWARD DECLARATIONS
-
-class CVcxNsChMCategoryListener;
-class MLiwInterface;
-class CLiwDefaultMap;
-class CVcxNsContentHarvesterMpxClient;
-class CVcxNsContentHarvesterServiceListener;
-class CVcxNsNotificationLauncher;
-class CVcxNsChPublishableData;
-class CVcxNsChPublisher;
-class CVcxNsChLastWatchedUpdater;
-class CVcxNsChIptvServerClient;
-
-// CLASS DECLARATION
-/**
- *  Ns Content Harvester plugin
- *
- *  @lib vcxnscontentharvesterplugin.dll
- *  @since S60 v5.0
- */
-
-class CVcxNsContentHarvesterPlugin : public CContentHarvesterPlugin
-    {
-    
-public:
-
-    static CVcxNsContentHarvesterPlugin* NewL( MLiwInterface* aCPSInterface );
-    
-    /**
-     * Destructor
-     * 
-     */
-    virtual ~CVcxNsContentHarvesterPlugin();
-
-    /**
-     * NotificationLauncher getter
-     * 
-     * @return CVcxNsNotificationLauncher* pointer to notification launcher
-     */
-    CVcxNsNotificationLauncher* NotificationLauncher();
-
-    /**
-     * From CContentHarvesterPlugin.
-     *This function updates information to CP database during the phone bootup
-     * 
-     * 
-     */
-    void UpdateL();
-
-private:
-    
-    /**
-     * Symbian 2nd phase constructor
-     * 
-     */
-    void ConstructL();
-
-    /**
-     * C++ constructor
-     * 
-     * @param aCPSInterface interface to service api (content publishing)
-     */
-    CVcxNsContentHarvesterPlugin( MLiwInterface* aCPSInterface );
-    
-
-private: // new methods
-    
-    /**
-     * Internal helper method to update last watched data content 
-     *  during the phone bootup.
-     * 
-     */
-    void UpdateLastWatchedL();
-    
-    /**
-     * Internal helper method to update preloaded video data content 
-     * during the phone bootup.
-     * 
-     */
-    void UpdatePreloadedVideoL();
-    
-    /**
-    * Internal helper method to update predefined service data content 
-    * during the phone bootup.
-    * 
-    */
-    void UpdatePredefinedServiceL();
-    
-    
-private: // DATA
-       
-    /**
-     * CVcxNsContentHarvesterMpxClientOwned.
-     */    
-    CVcxNsContentHarvesterMpxClient* iMpxClient;
-    
-    /**
-     * CVcxNsContentHarvesterServiceListener. Owned.
-     */    
-    CVcxNsContentHarvesterServiceListener* iServiceListener;
-    
-    /**
-     * CVcxNsNotificationLauncher. Owned.
-     */    
-    CVcxNsNotificationLauncher* iNotificationLauncer;
-
-    /**
-     * Interface to content publishing gotten from the 
-     * ContentHarvester server, not owned
-     */
-    MLiwInterface* iCPSInterface;
-    
-    /**
-     * Publishable data container. Owned. 
-     */
-    CVcxNsChPublishableData* iPublishableData;
-    
-    /**
-     * Publisher object used to publish data from CVcxNsChPublishableData
-     * to service api. Owned. 
-     */
-    CVcxNsChPublisher* iPublisher;
-  
-    /**
-     * Updater class for the last watched item. Owned.
-     */
-    CVcxNsChLastWatchedUpdater* iLwUpdater;
-    
-    /**
-     * IPTV server interface. Owned.
-     */
-    CVcxNsChIptvServerClient* iIptvServerClient;
-    
-    };
-
-#endif // _VIDEOCONTENTHARVESTERPLUGIN_H 
--- a/homescreenplugins/videochplugin/inc/videocontentharvesterplugin.hrh	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 C_CONTENTHARVESTEREXAMPLEPLUGIN_HRH
-#define C_CONTENTHARVESTEREXAMPLEPLUGIN_HRH
-
-// CONSTANT
-#define KVcxNsContentHarvesterPluginUid 0x2001B2A8
-
-enum TVCxNsCPContentType
-    {
-    EVCxNsCPContentLastWatched = 0x00000001,
-    EVCxNsCPContentLiveTV,
-    EVCxNsCPContentIPTV,    
-    EVCxNsCPContentMyVideos,
-    EVCxNsCPContentFeeds,
-    EVCxNsCPContentPreloaded,
-    EVCxNsCPContentServiceGroup
-    };
-
-
-#endif // C_CONTENTHARVESTEREXAMPLEPLUGIN_HRH
--- a/homescreenplugins/videochplugin/inc/videocontentharvesterservicelistener.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 C_VCXNSCONTENTHARVESTERSERVICELISTENER_H
-#define C_VCXNSCONTENTHARVESTERSERVICELISTENER_H
-
-#include <e32base.h>
-#include <e32property.h>
-#include "videochpssubscriber.h"
-
-class CVcxNsChPublishableData;
-class CVcxNsChPublisher;
-
-/**
- *  CVcxNsContentHarvesterServiceListener
- * 
- *  @lib vcxnscontentharvesterplugin.dll
- *  @since S60 5.0
- */
-class CVcxNsContentHarvesterServiceListener : public CBase,
-                                              public MCHPSObserver
-    {
-
-public:
-
-    static CVcxNsContentHarvesterServiceListener* NewL( CVcxNsChPublisher* aPublisher,
-                                                  CVcxNsChPublishableData* aPublishableData );
-
-    virtual ~CVcxNsContentHarvesterServiceListener();
-    
-    
-private:
-
-    CVcxNsContentHarvesterServiceListener( CVcxNsChPublisher* aPublisher,
-                                     CVcxNsChPublishableData* aPublishableData );
-
-    void ConstructL();
-    
-// from MCHPSObserver
-    
-    void ValueChanged( const TUint32& aKey, const TInt& aValue );
-
-private: // data
-
-    /**
-     * The property to be watched: vod service count
-     */
-    CVcxNsCHPSSubscriber* iVodServiceCount;
-    
-    /**
-     * The property to be watched: live tx service count
-     */
-    CVcxNsCHPSSubscriber* iLiveTvServiceCount;
-
-    
-    /**
-     * CVcxNsChPublisher.
-     */
-    CVcxNsChPublisher* iPublisher;
-    
-    /**
-     * CVcxNsChPublishableData.
-     */
-    CVcxNsChPublishableData* iPublishableData;
-
-    };
-
-#endif // C_VCXNSCONTENTHARVESTERMPXCLIENT_H
--- a/homescreenplugins/videochplugin/inc/videonotificationlauncher.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies 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 C_VCXNSNOTIFICATIONLAUNCHER_H
-#define C_VCXNSNOTIFICATIONLAUNCHER_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <MediatorEventConsumer.h>
-
-class CVcxNsChMCategoryListener;
-class CVcxNsChPublishableData;
-class CVcxNsChPublisher;
-
-/**
- *  CVcxNsNotificationLauncher
- * 
- *  @lib vcxnscontentharvesterplugin.dll
- *  @since S60 5.0
- */
-class CVcxNsNotificationLauncher : public CBase,
-                                   public MMediatorEventObserver
-    {
-
-public:
-
-    static CVcxNsNotificationLauncher* NewL( CVcxNsChPublishableData* aPublishableData,
-                                             CVcxNsChPublisher* aPublisher );
-
-    virtual ~CVcxNsNotificationLauncher();
-    
-    /**
-     * From MMediatorEventObserver
-     * 
-     * Catches the events
-     */
-    void MediatorEventL( TUid aDomain,
-                         TUid aCategory, 
-                         TInt aEventId, 
-                         const TDesC8& aData );
-
-private:
-
-    CVcxNsNotificationLauncher( CVcxNsChPublishableData* aPublishableData,
-                                CVcxNsChPublisher* aPublisher );
-
-    void ConstructL();
-        
-
-public:
-    
-    /**
-     * Launch download completed notification.
-	 *
-	 * @param aMedia Downloaded video.
-     */
-    void DlCompletedNotificationL( const CMPXMedia& aMedia );
-    
-    /**
-     * Launches soft notification.         
-     */
-    void LaunchExitingNotificationL();
-                            
-private: // New functions
-    
-    /**
-    * Loads a resource stringL.
-    * 
-    * @param  Resource id.
-    * @return the string. ownership transferred to caller.
-    */
-    HBufC* LoadResourceStringL( TInt aResourceId );
-
-// Data members
-    
-    /**
-    * Mediator helper object
-    */
-    CVcxNsChMCategoryListener* iCatListener;
-    
-    /**
-    * pointer to plugin data, not owned
-    */
-    CVcxNsChPublishableData* iPublishableData;
- 
-    /**
-     * Publisher object used to publish data from CVcxNsChPublishableData
-     * to service api 
-     * NOT OWN
-     */
-    CVcxNsChPublisher* iPublisher;
-
-    /**
-    * Localized string for popup
-    */
-    HBufC* iDownloadCompletedBuffer;
-    
-    /**
-    * Localized string for popup
-    */
-    HBufC* iDownloadsContinueBuffer;
-    
-    };
-
-#endif // C_VCXNSNOTIFICATIONLAUNCHER_H
--- a/homescreenplugins/videochplugin/loc/videochplugin.loc	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 STRINGS
-
-//d:If there is one video download completed this notification text is displayed. 
-//d:%U is the name of the downloaded video
-//d: UI spec: Section 1, changed propossed on Oct 20 2009 to Ch15. (p7)
-//l:popup_discreet_window/opt5
-//r:5.2
-//
-#define qtn_iptv_download_complete_discreet "Downloaded %U"
-
-
-//d:When the user exits the application while there are still ongoing downloads, 
-//d:this information note is displayed before application is closed.
-//d: UI spec: Section 1, changed propossed on Oct 20 2009 to Ch15. (p7)
-//l:popup_discreet_window/opt5
-//r:5.2
-//
-#define qtn_iptv_unfinished_dnloads_continue_discreet	"Unfinished downloads continue on the background"
--- a/homescreenplugins/videochplugin/rom/videochplugin.iby	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 __VideoplCHplugin_IBY__
-#define __VideoplCHplugin_IBY__
-
-ECOM_PLUGIN(vcxnscontentharvesterplugin.DLL, vcxnscontentharvesterplugin.rsc)
-
-#endif // __VideoplCHplugin_IBY__
\ No newline at end of file
--- a/homescreenplugins/videochplugin/rom/videochpluginrsc.iby	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies 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 VIDEOCHPLUGINRSC_IBY
-#define VIDEOCHPLUGINRSC_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=DATAZ_\APP_RESOURCE_DIR\videocontentharvester.rsc APP_RESOURCE_DIR\videocontentharvester.rsc
-
-#endif // VIDEOCHPLUGINRSC_IBY
--- a/homescreenplugins/videochplugin/src/videochiptvserverclient.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChIptvServerClient class definition*
-*/
-
-
-#include <e32cmn.h>
-#include "videochiptvserverclient.h"
-#include "videochmcategorylistener.h"
-#include "CIptvServiceManagementClient.h"
-#include "videochpublishabledata.h"
-#include "videochpublisher.h"
-#include "videoahpluginconstants.h"
-
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::CVcxNsChIptvServerClient
-// -----------------------------------------------------------------------------
-//
-CVcxNsChIptvServerClient::CVcxNsChIptvServerClient( CVcxNsChPublisher* aPublisher,
-                                                    CVcxNsChPublishableData* aPublishableData ) :
-    iPublishableData( aPublishableData ),
-    iPublisher( aPublisher )                                                    
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::~CVcxNsChIptvServerClient
-// -----------------------------------------------------------------------------
-//
-CVcxNsChIptvServerClient::~CVcxNsChIptvServerClient()
-    {
-    delete iSmClient;
-    delete iAhCategoryListener;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::NewL
-// -----------------------------------------------------------------------------
-//
-CVcxNsChIptvServerClient* CVcxNsChIptvServerClient::NewL( 
-        CVcxNsChPublisher* aPublisher,
-        CVcxNsChPublishableData* aPublishableData )
-    {
-    CVcxNsChIptvServerClient* self = new (ELeave)CVcxNsChIptvServerClient( aPublisher,
-                                                                           aPublishableData );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChIptvServerClient::ConstructL()
-    {
-    TUid domain      = TUid::Uid( KVcxNsAhMediatorDomain );
-    TUid category    = TUid::Uid( KVcxNsAhMediatorCategory );
-    TVersion version = TVersion( KVcxNsAhEventVersion, 0, 0 );
-        
-    iAhCategoryListener = CVcxNsChMCategoryListener::NewL( this,
-                                                           domain,
-                                                           category,
-                                                           version );
-
-    TInt event = TInt( KVcxNsAhEventSuiteLoaded );
-    iAhCategoryListener->RegisterAndSubscribeL( event );
-        
-    event = TInt( KVcxNsAhEventSuiteUnloaded );
-    iAhCategoryListener->RegisterAndSubscribeL( event );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::HandleSmEvent
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChIptvServerClient::HandleSmEvent( CIptvSmEvent& aEvent )
-    {
-    if( aEvent.iEvent == CIptvSmEvent::EServiceDeleted || 
-        aEvent.iEvent == CIptvSmEvent::EServiceAdded )
-        {
-        TInt id( KErrNotFound );
-        
-        TRAPD( err, id = iPublishableData->GetIntDataL( EVCxNsCPContentServiceGroup,
-                                                        TPtrC8( KTvVideoId ) ) );
-        
-        if( err == KErrNone && id == aEvent.iServiceId )
-            {
-            if( aEvent.iEvent == CIptvSmEvent::EServiceDeleted )
-                {
-                // hide item:
-                // first backup then delete content
-                TRAPD( err, iPublisher->BackupContentL( EVCxNsCPContentServiceGroup ) );
-                if( err == KErrNone )
-                    {
-                    TRAP_IGNORE( iPublisher->DeleteContentL( EVCxNsCPContentServiceGroup ) );
-                    }
-                }
-            else 
-                {
-                // show item, just restore from backup                
-                TRAPD( err, iPublisher->RestoreBackupL( EVCxNsCPContentServiceGroup ) );
-                if( err == KErrNone )
-                    {
-                    TRAP_IGNORE( iPublisher->PublishContentL( EVCxNsCPContentServiceGroup ) );
-                    }
-                }
-            }        
-        }
-    // other events do not require our attention
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::StartIPTVServerInterfaceL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChIptvServerClient::StartIPTVServerInterfaceL()
-    {
-    if( !iSmClient )
-        {
-        iSmClient = CIptvServiceManagementClient::NewL( *this );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::StopIPTVServerInterface
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChIptvServerClient::StopIPTVServerInterface()
-    {
-    if( iSmClient )
-        {
-        delete iSmClient;
-        iSmClient = 0;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::GetServiceGroupIdL
-// -----------------------------------------------------------------------------
-//
-TInt CVcxNsChIptvServerClient::GetServiceGroupIdL( const TDesC& aServiceUri )
-    {
-    User::LeaveIfNull( iSmClient );
-    
-    TInt id( KErrNotFound );
-    if( aServiceUri.Length() <= 0 )
-        {
-        return id;
-        }    
-    MIptvServiceManagementClientObserver::TRespStatus respStatus;
-    CDesC8ArraySeg* services = NULL;
-    TInt error = iSmClient->GetServicesL( 0,
-                                          CIptvServiceManagementClient::EDisplayOrderAscending,
-                                          services,
-                                          respStatus );  
-    
-    if ( error == KErrNone && 
-         respStatus == MIptvServiceManagementClientObserver::ESucceeded )
-        {
-        CleanupStack::PushL( services );
-        
-        CIptvService* service = CIptvService::NewL();
-        CleanupStack::PushL( service );
-        TInt count( services->Count() );
-        for ( TInt i = 0; i < count; i++ )
-            {
-            service->SetL( services->MdcaPoint(i) );
-            
-            if( !aServiceUri.CompareF( service->GetAddress() ) )
-                {
-                id = service->GetId();  
-                
-                // service found, make sure it's subscribed                       
-                if ( !( service->GetFlags() & CIptvService::ESelected ) )
-                    {
-                    // factory settings changed to point service 
-                    // that is setted as unsubscribed.
-                    // save id, backup data and remove menu content
-                    iPublishableData->SetDataL( EVCxNsCPContentServiceGroup,
-                                                 TPtrC8( KTvVideoId ), id );
-                    iPublisher->BackupContentL( EVCxNsCPContentServiceGroup, EFalse );
-                    iPublisher->DeleteContentL( EVCxNsCPContentServiceGroup );
-                    id = KErrNotFound;
-                    }
-                break;
-                }
-            }
-        CleanupStack::PopAndDestroy( service );
-        CleanupStack::PopAndDestroy( services );
-        } 
-
-    return id;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChIptvServerClient::MediatorEventL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChIptvServerClient::MediatorEventL( TUid aDomain,
-                                               TUid aCategory, 
-                                               TInt aEventId, 
-                                               const TDesC8& /* aData */ )
-    {
-    if( aDomain    == TUid::Uid( KVcxNsAhMediatorDomain ) &&
-        aCategory  == TUid::Uid( KVcxNsAhMediatorCategory ) )
-        {
-        if( aEventId == KVcxNsAhEventSuiteLoaded )
-            {
-            StartIPTVServerInterfaceL();
-            }
-        if( aEventId == KVcxNsAhEventSuiteUnloaded )
-            {
-            StopIPTVServerInterface();
-            }
-        }
-    }
--- a/homescreenplugins/videochplugin/src/videochlastwatchedupdater.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVideoChLastWatchedUpdater class definition*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <e32def.h>
-#include <e32cmn.h>
-
-#include <videoplayercustommessage.h>
-
-#include <vcxmyvideosdefs.h>
-#include <vcxmyvideosuids.h>
-#include <mpxcommandgeneraldefs.h>
-
-#include "IptvDebug.h"
-// #include "iptvlastwatchedapi.h"
-// #include "iptvlastwatcheddata.h"
-#include "videochlastwatchedupdater.h"
-#include "videochpublishabledata.h"
-#include "videochpublisher.h"
-#include "vcxnsmediatorids.h" 
-#include "videochmcategorylistener.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CVcxNsChLastWatchedUpdater::CVcxNsChLastWatchedUpdater(  CVcxNsChPublishableData* aPublishableData,
-                                                         CVcxNsChPublisher* aPublisher ) :
-     iPublishableData( aPublishableData ),
-     iPublisher( aPublisher )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CVcxNsChLastWatchedUpdater::ConstructL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsChLastWatchedUpdater::ConstructL IN");
-    
-
-    TVersion mediatorVcxNsPlayerVersion = TVersion( KVcxNsMediatorPlayerVersion, 0, 0 );   
-    TUid domain = KVcxNsVideoCenterMediatorDomain;
-    TUid category = KVcxNsPlayerGeneralCategory;
-    iMPlayerCategoryListener = CVcxNsChMCategoryListener::NewL( this, 
-                                                                domain,
-                                                                category,
-                                                                mediatorVcxNsPlayerVersion );
-
-    iMPlayerCategoryListener->RegisterAndSubscribeL( KVcxNsMediatorEventPlayerLastWatch );
-    iMPlayerCategoryListener->RegisterAndSubscribeL( KVcxNsMediatorEventPreloadedLastWatch );
-    
-    domain = KVcxNsVideoCenterMediatorDomain;
-    category = KVcxNsIPTVGeneralCategory;
-    TVersion mediatorVcxNsIPTVVersion = TVersion( KVcxNsMediatorIPTVVersion, 0, 0 );
-    iMIPTVCategoryListener = CVcxNsChMCategoryListener::NewL( this, 
-                                                              domain,
-                                                              category,
-                                                              mediatorVcxNsIPTVVersion );
-    iMIPTVCategoryListener->RegisterAndSubscribeL( KVcxNsMediatorEventIPTVLastWatch );
-       
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsChLastWatchedUpdater::ConstructL OUT");
-    }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CVcxNsChLastWatchedUpdater* CVcxNsChLastWatchedUpdater::NewL( 
-                                     CVcxNsChPublishableData* aPublishableData,
-                                     CVcxNsChPublisher* aPublisher )
-    {
-    
-    CVcxNsChLastWatchedUpdater* self = new ( ELeave ) CVcxNsChLastWatchedUpdater( 
-                                                                     aPublishableData,
-                                                                     aPublisher  );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CVcxNsChLastWatchedUpdater::~CVcxNsChLastWatchedUpdater()
-    {   
-    delete iMPlayerCategoryListener;
-    delete iMIPTVCategoryListener;
-    }
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-//
-void CVcxNsChLastWatchedUpdater::MediatorEventL( TUid aDomain,
-                                                 TUid aCategory,
-                                                 TInt aEventId,
-                                                 const TDesC8& aData )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsChLastWatchedUpdater::MediatorEventL IN");
-    
-    if( aDomain == KVcxNsVideoCenterMediatorDomain )
-        {
-        
-        if( aCategory == KVcxNsPlayerGeneralCategory && 
-            aEventId  == KVcxNsMediatorEventPlayerLastWatch )
-            {       
-            // get data and publish to menu
-            TVideoPlayerCustomMessage* message = new (ELeave) TVideoPlayerCustomMessage;
-            CleanupStack::PushL( message );
-            TPckg< TVideoPlayerCustomMessage > paramsPckg( *message );
-                        
-            paramsPckg.Copy( aData );
-            
-            // save last watched name
-            iPublishableData->SetDataL( EVCxNsCPContentLastWatched, 
-                                        TPtrC8( KTvVideoName ),
-                                        message->iName );
-
-            // save last watched path
-            iPublishableData->SetDataL( EVCxNsCPContentLastWatched, 
-                                        TPtrC8( KTvVideoPath ),
-                                        message->iContent );
-            
-            // save possible icon
-            iPublishableData->SetDataL( EVCxNsCPContentLastWatched, 
-                                        TPtrC8( KTvVideoIconPath ),
-                                        message->iIcon );
-            
-            // save last watched content type, all other than IPTV
-            // can use "last watched" content type
-            iPublishableData->SetDataL( EVCxNsCPContentLastWatched, 
-                                        TPtrC8( KTvVideoLastWatchedType ),
-                                        EVCxNsCPContentLastWatched );
-            
-            CleanupStack::PopAndDestroy( message );
-            
-            }
-        else if( aCategory == KVcxNsPlayerGeneralCategory && 
-                 aEventId  == KVcxNsMediatorEventPreloadedLastWatch )
-            {
-            WritePreloadedToLastWatchedL();
-            
-            TPtrC name = 
-                    iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                                    TPtrC8( KTvVideoName ) );
-            // save last watched name
-            iPublishableData->SetDataL( EVCxNsCPContentLastWatched,
-                                        TPtrC8( KTvVideoName ),
-                                        name );
-           
-            TPtrC iconPath =
-                    iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                                    TPtrC8( KTvVideoIconPath ) );
-            // save possible icon
-            iPublishableData->SetDataL( EVCxNsCPContentLastWatched,
-                                        TPtrC8( KTvVideoIconPath ),
-                                        iconPath ); 
-            
-            // save last watched content type, all other than IPTV
-            // can use "last watched" content type
-            iPublishableData->SetDataL( EVCxNsCPContentLastWatched, 
-                                        TPtrC8( KTvVideoLastWatchedType ),
-                                        EVCxNsCPContentLastWatched );
-            }
-        else if( aCategory == KVcxNsIPTVGeneralCategory && 
-                 aEventId  == KVcxNsMediatorEventIPTVLastWatch )
-            {
-            TIPTVMediatorMsg message;
-            TPckg< TIPTVMediatorMsg > paramsPckg( message );
-            paramsPckg.Copy( aData );
-            
-            // save last watched name
-            iPublishableData->SetDataL( EVCxNsCPContentLastWatched,
-                                        TPtrC8( KTvVideoName ),
-                                        message.iChannelName );
-                       
- 
-             // save possible icon
-             iPublishableData->SetDataL( EVCxNsCPContentLastWatched,
-                                         TPtrC8( KTvVideoIconPath ),
-                                         message.iIconPath ); 
-
-
-            // save last watched type 
-             iPublishableData->SetDataL( EVCxNsCPContentLastWatched, 
-                                         TPtrC8( KTvVideoLastWatchedType ),
-                                         EVCxNsCPContentIPTV );
-            }
-        // publish data
-        iPublisher->PublishContentL( EVCxNsCPContentLastWatched ); 
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsChLastWatchedUpdater::MediatorEventL OUT");
-    }
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-//
-void CVcxNsChLastWatchedUpdater:: WritePreloadedToLastWatchedL()
-    {
-    /*
-    CIptvLastWatchedData* data =  CIptvLastWatchedData::NewL();
-    CleanupStack::PushL(data);
-    
-    TPtrC name =
-            iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                            TPtrC8( KTvVideoName ) );
-    TPtrC path =
-            iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                            TPtrC8( KTvVideoPath ) );
-    TPtrC iconPath = 
-            iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                            TPtrC8( KTvVideoIconPath ) );
-    
-    data->SetIconPathL( iconPath );
-    data->SetNameL( name );
-    data->SetUriL( path ); 
-    data->SetContentType( KViaPlayerContentTypeFile );
-    data->SetMpxId( KIdUndefined );
-    
-    
-    iPublishableData->LastWatchedApi().SetLastWatchedDataL( *data );
-    CleanupStack::PopAndDestroy(data);
-    */
-    }
--- a/homescreenplugins/videochplugin/src/videochmcategorylistener.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChMCategoryListener class definition*
-*/
-
-
-
-
-#include <MediatorEventConsumer.h>
-#include <MediatorEventProvider.h>
-#include <MediatorServiceDefs.h>
-
-#include "videochmcategorylistener.h"
-#include <vcxmyvideosdefs.h>
-#include <vcxmyvideosuids.h>
-
-// -----------------------------------------------------------------------------
-// CVcxNsChMCategoryListener::CVcxNsChMCategoryListener
-// -----------------------------------------------------------------------------
-//
-CVcxNsChMCategoryListener::CVcxNsChMCategoryListener( TUid& aMDomain,
-                                                      TUid& aMCategory,
-                                                      TVersion& aVersion) :
-    iMediatorDomain( aMDomain ),
-    iMediatorCat( aMCategory ),
-    iMVersion( aVersion )
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChMCategoryListener::~CVcxNsChMCategoryListener
-// -----------------------------------------------------------------------------
-//
-CVcxNsChMCategoryListener::~CVcxNsChMCategoryListener()
-    {
-    UnsubscribeAndDeregisterAll();
-    iEventArray.Close();
-    delete iEventConsumer;    
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChMCategoryListener::NewLC
-// -----------------------------------------------------------------------------
-//
-CVcxNsChMCategoryListener* CVcxNsChMCategoryListener::NewLC( MMediatorEventObserver* aObserver, 
-                                                             TUid& aMDomain,
-                                                             TUid& aMCategory,
-                                                             TVersion& aVersion)
-    {
-    if( !aObserver )
-        {
-        User::Leave( KErrNotFound );
-        }
-    
-    CVcxNsChMCategoryListener* self = 
-                new (ELeave)CVcxNsChMCategoryListener( aMDomain, aMCategory, aVersion );
-    
-    CleanupStack::PushL(self);
-    self->ConstructL( aObserver );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChMCategoryListener::NewL
-// -----------------------------------------------------------------------------
-//
-CVcxNsChMCategoryListener* CVcxNsChMCategoryListener::NewL( MMediatorEventObserver* aObserver, 
-                                                            TUid& aMDomain,
-                                                            TUid& aMCategory,
-                                                            TVersion& aVersion )
-    {
-    CVcxNsChMCategoryListener* self = 
-            CVcxNsChMCategoryListener::NewLC( aObserver, aMDomain,
-                                              aMCategory, aVersion );
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChMCategoryListener::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChMCategoryListener::ConstructL( MMediatorEventObserver* aObserver )
-    {
-    iEventConsumer = CMediatorEventConsumer::NewL( aObserver );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChMCategoryListener::RegisterAndSubscribe
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChMCategoryListener::RegisterAndSubscribeL( const TInt& aEvent )
-    {
-    
-    TCapabilitySet mediatorVcxNsCaps = TCapabilitySet( ECapabilityReadUserData ); 
-    CMediatorEventProvider* provider = CMediatorEventProvider::NewL();
-    
-    TInt ret = provider->RegisterEvent( iMediatorDomain, iMediatorCat, aEvent, 
-                                        iMVersion, mediatorVcxNsCaps );
-    delete provider;
-         
-    if( ret != KErrNone && ret != KErrMediatorEventAlreadyExists )
-        {        
-        User::Leave( ret );
-        }
-     
-    User::LeaveIfError( iEventConsumer->SubscribeEvent( iMediatorDomain, 
-                                                        iMediatorCat,
-                                                        aEvent, 
-                                                        iMVersion ) );
-
-    iEventArray.AppendL( aEvent );    
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChMCategoryListener::UnsubscribeAndDeregisterAll
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChMCategoryListener::UnsubscribeAndDeregisterAll()
-    {    
-    CMediatorEventProvider* provider = NULL;
-        
-    TRAPD( err, provider = CMediatorEventProvider::NewL() );
-    if( err != KErrNone )
-        {
-        return;
-        }
-    
-    TInt count = iEventArray.Count(); 
-    for( TInt i = 0; i < count; ++i )
-        {
-        iEventConsumer->UnsubscribeEvent( iMediatorDomain, 
-                                          iMediatorCat,
-                                          iEventArray[ i ] );
-        
-        provider->UnregisterEvent( iMediatorDomain,
-                                   iMediatorCat,
-                                   iEventArray[ i ] );        
-        }
-    delete provider;  
-    }
-// end of file
--- a/homescreenplugins/videochplugin/src/videochpssubscriber.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 to handle subscriptions from PS*
-*/
-
-
-
-#include "videochpssubscriber.h"
-
-
-// -----------------------------------------------------------------------------
-// CVcxNsCHPSSubscriber::CVcxConnUtilSubscriber()
-// -----------------------------------------------------------------------------
-//
-CVcxNsCHPSSubscriber::CVcxNsCHPSSubscriber( const TUid aUid, 
-                                            const TUint32 aKey, 
-                                            RProperty::TType aType,
-                                            MCHPSObserver* aObserver ) :
-    CActive( EPriorityStandard ), 
-    iUid( aUid ),
-    iKey( aKey ), 
-    iKeyType(aType),
-    iObserver( aObserver )
-    {
-        // NOP
-    }
- 
-// -----------------------------------------------------------------------------
-// CVcxNsCHPSSubscriber::NewL()
-// -----------------------------------------------------------------------------
-//
-CVcxNsCHPSSubscriber* CVcxNsCHPSSubscriber::NewL( const TUid aUid, 
-                                                  const TUint32 aKey,
-                                                  RProperty::TType aType, 
-                                                  MCHPSObserver* aObserver )
-    {
-    if( aType != RProperty::EInt )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    CVcxNsCHPSSubscriber* self =
-                      new( ELeave ) CVcxNsCHPSSubscriber( aUid, aKey, aType, aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
- 
-// -----------------------------------------------------------------------------
-// CVcxNsCHPSSubscriber::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CVcxNsCHPSSubscriber::ConstructL()
-    {
-    iInitialized = EFalse;
-    User::LeaveIfError( iProperty.Attach( iUid, iKey ) );
-    CActiveScheduler::Add( this );    
-    }
- 
-// -----------------------------------------------------------------------------
-// CVcxNsCHPSSubscriber::~CVcxNsCHPSSubscriber()
-// -----------------------------------------------------------------------------
-//
-CVcxNsCHPSSubscriber::~CVcxNsCHPSSubscriber()
-    {
-    if( IsActive() )
-        {
-        Cancel();
-        }
-    iProperty.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsCHPSSubscriber::Get()
-// -----------------------------------------------------------------------------
-//
-TInt CVcxNsCHPSSubscriber::Get( TInt& aValue )
-    {
-    return iProperty.Get( aValue );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVcxNsCHPSSubscriber::Start()
-// -----------------------------------------------------------------------------
-//
-void CVcxNsCHPSSubscriber::Start()
-    {
-    if( !IsActive() )
-        {
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        iInitialized = ETrue;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVcxNsCHPSSubscriber::DoCancel()
-// -----------------------------------------------------------------------------
-//
-void CVcxNsCHPSSubscriber::DoCancel()
-    {
-    if( IsActive() )
-        {
-        iProperty.Cancel();
-        }
-
-    iInitialized = EFalse;
-    }
- 
-// -----------------------------------------------------------------------------
-// CVcxNsCHPSSubscriber::RunL()
-// -----------------------------------------------------------------------------
-//
-void CVcxNsCHPSSubscriber::RunL()
-    {
-    // resubscribe before processing new 
-    // value to prevent missing updates
-    iProperty.Subscribe( iStatus );
-    SetActive();
-
-    if( iInitialized )
-        {
-        TInt intValue;
-    
-        if(iKeyType == RProperty::EInt )
-            {
-            if( iProperty.Get( intValue ) == KErrNone && iObserver )
-                {
-                iObserver->ValueChanged( iKey, intValue );
-                }
-            }       
-        }
-    iInitialized = ETrue;
-  }
-// end of file
--- a/homescreenplugins/videochplugin/src/videochpublishabledata.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChPublishableData class definition*
-*/
-
-
-#include <liwvariant.h>
-#include <e32hashtab.h>
-
-#include <videosuiteres.rsg>
-#include "videochpublishabledata.h"
-#include "videochpublishabledataitem.h"
-#include "iptvlastwatchedapi.h"
-
-
-// CONSTANTS
-
-// content type values for tvvideosuite
-// related data
-_LIT(KContentLastWatched, "lastwatchedcontent" );
-_LIT(KContentIPTV,        "iptvcontent" );
-_LIT(KContentMyVideos,    "myvideoscontent" );
-_LIT(KContentVideoFeeds,  "videofeedcontent" );
-_LIT(KContentPreloaded,   "preloadedcontent" );
-_LIT(KContentService,     "servicecontent");
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::CVcxNsChPublishableData
-// -----------------------------------------------------------------------------
-//
-CVcxNsChPublishableData::CVcxNsChPublishableData() 
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::~CVcxNsChPublishableData
-// -----------------------------------------------------------------------------
-//
-CVcxNsChPublishableData::~CVcxNsChPublishableData()
-    {
-    
-    delete iLastWatched;
-    
-    if( iData )
-        {
-        THashMapIter< TInt, CVcxNsPublishableDataItem* > iter( *iData );
-        for( CVcxNsPublishableDataItem* const* iValue = iter.NextValue(); 
-                            iValue; iValue = iter.NextValue() )
-            {
-            delete *iValue;
-            }
-    
-        iData->Close();
-        delete iData;
-        }
-    
-    iFs.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::NewLC
-// -----------------------------------------------------------------------------
-//
-CVcxNsChPublishableData* CVcxNsChPublishableData::NewLC()
-    {
-    CVcxNsChPublishableData* self = new ( ELeave )CVcxNsChPublishableData();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::NewL
-// -----------------------------------------------------------------------------
-//
-CVcxNsChPublishableData* CVcxNsChPublishableData::NewL()
-    {
-    CVcxNsChPublishableData* self = CVcxNsChPublishableData::NewLC();
-    CleanupStack::Pop( self ); // self;
-    self->iFs.Connect();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublishableData::ConstructL()
-    {
-    iData = new( ELeave )RHashMap< TInt, CVcxNsPublishableDataItem* >;
-    
-    CVcxNsPublishableDataItem* item = NULL;
-            
-    // Generate default values    
-    // Last watched
-    item = CVcxNsPublishableDataItem::NewLC( TPtrC( KContentLastWatched ) );   
-    item->SetDataL( TPtrC8( KTvVideoName ), KNullDesC );
-    item->SetDataL( TPtrC8( KTvVideoPath ), KNullDesC );
-    item->SetDataL( TPtrC8( KTvVideoIconPath ), KNullDesC ); 
-    item->SetDataL( TPtrC8( KTvVideoLastWatchedType ), 0 ); 
-    // ownership transferred
-    iData->InsertL( EVCxNsCPContentLastWatched, item );
-    CleanupStack::Pop( item );
-    
-    // iptv
-    item = CVcxNsPublishableDataItem::NewLC( TPtrC( KContentIPTV ) );   
-    item->SetDataL( TPtrC8( KTvVideoCount ), 0 );
-    // ownership transferred
-    iData->InsertL( EVCxNsCPContentIPTV, item );
-    CleanupStack::Pop( item );
-    
-    // My videos
-    item = CVcxNsPublishableDataItem::NewLC( TPtrC( KContentMyVideos ) );   
-    item->SetDataL( TPtrC8( KTvVideoName ), KNullDesC );
-    item->SetDataL( TPtrC8( KTvVideoCount ), 0 );
-    item->SetDataL( TPtrC8( KTvVideoHasNewVideos ), 0 );
-    // ownership transferred
-    iData->InsertL( EVCxNsCPContentMyVideos, item );
-    CleanupStack::Pop( item );
-    
-    // video feeds
-    item = CVcxNsPublishableDataItem::NewLC( TPtrC( KContentVideoFeeds ) );   
-    item->SetDataL( TPtrC8( KTvVideoCount ), 0 );
-    // ownership transferred
-    iData->InsertL( EVCxNsCPContentFeeds, item );
-    CleanupStack::Pop( item );
-    
-    // preloaded video
-    item = CVcxNsPublishableDataItem::NewLC( TPtrC( KContentPreloaded ) );   
-    item->SetDataL( TPtrC8( KTvVideoName ), KNullDesC );
-    item->SetDataL( TPtrC8( KTvVideoPath ), KNullDesC );
-    item->SetDataL( TPtrC8( KTvVideoIconPath ), KNullDesC ); 
-    // ownership transferred
-    iData->InsertL( EVCxNsCPContentPreloaded, item );
-    CleanupStack::Pop( item );
-    
-    // preloaded service group
-    item = CVcxNsPublishableDataItem::NewLC( TPtrC( KContentService ) );   
-    item->SetDataL( TPtrC8( KTvVideoName ), KNullDesC );
-    item->SetDataL( TPtrC8( KTvVideoPath ), KNullDesC );
-    item->SetDataL( TPtrC8( KTvVideoId ), -1 );
-    item->SetDataL( TPtrC8( KTvVideoIconPath ), KNullDesC ); 
-    // ownership transferred
-    iData->InsertL( EVCxNsCPContentServiceGroup, item );
-    CleanupStack::Pop( item );
-
-    iLastWatched = CIptvLastWatchedApi::NewL();
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::GetItemL
-// -----------------------------------------------------------------------------
-//
-CVcxNsPublishableDataItem* CVcxNsChPublishableData::GetItemL( TVCxNsCPContentType aContentType )
-    {
-    CVcxNsPublishableDataItem** item = iData->Find( aContentType );
-                          
-    if( !item || !( *item ) )
-        {
-        User::Leave( KErrNotFound );
-        }
-    return *item;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::ItemContentTypeNameL
-// -----------------------------------------------------------------------------
-//
-TPtrC CVcxNsChPublishableData::ItemContentTypeNameL( TVCxNsCPContentType aContentType )
-    {
-    return GetItemL( aContentType )->ContentType();
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::SetDataL
-// -----------------------------------------------------------------------------
-// 
-void CVcxNsChPublishableData::SetDataL(
-        TVCxNsCPContentType aContentType, 
-        TPtrC8 aValueKey,  
-        TInt aValue )
-    {
-    GetItemL( aContentType )->SetDataL( aValueKey, aValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::SetDataL
-// -----------------------------------------------------------------------------
-//    
-void CVcxNsChPublishableData::SetDataL( 
-        TVCxNsCPContentType aContentType, 
-        TPtrC8 aValueKey,  
-        const TDesC& aValue )
-    {
-    GetItemL( aContentType )->SetDataL( aValueKey, aValue );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::GetIntDataL
-// -----------------------------------------------------------------------------
-//  
-TInt CVcxNsChPublishableData::GetIntDataL( 
-        TVCxNsCPContentType aContentType, 
-        TPtrC8 aValueKey )
-    {
-    return GetItemL( aContentType )->GetIntDataL( aValueKey );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::GetDesCDataL
-// -----------------------------------------------------------------------------
-//   
-const TDesC& CVcxNsChPublishableData::GetDesCDataL( 
-        TVCxNsCPContentType aContentType, 
-        TPtrC8 aValueKey )
-    {
-    return GetItemL( aContentType )->GetDesCDataL( aValueKey );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::FillCPDataMapL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublishableData::FillCPDataMapL( TVCxNsCPContentType aContentType, 
-                                              CLiwDefaultMap& aDataMap )
-    {
-    GetItemL( aContentType )->FillCPDataMapL( aDataMap ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::ReadCPDataMapL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublishableData::ReadCPDataMapL( TVCxNsCPContentType aContentType, 
-                                              CLiwDefaultMap& aDataMap )
-    {  
-    GetItemL( aContentType )->ReadCPDataMapL( aDataMap );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::ClearData
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublishableData::ClearData( TVCxNsCPContentType aContentType )
-    {
-    CVcxNsPublishableDataItem* item( 0 );
-    TRAPD( err, item = GetItemL( aContentType ) );
-    if( err == KErrNone && item )
-        {
-        item->ClearData();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::FileExists
-// -----------------------------------------------------------------------------
-//
-TBool CVcxNsChPublishableData::FileExists( const TDesC& aFilePath )
-    {
-    if( BaflUtils::FileExists( iFs, aFilePath ) )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublishableData::LastWatchedApi
-// -----------------------------------------------------------------------------
-//
-CIptvLastWatchedApi& CVcxNsChPublishableData::LastWatchedApi()
-    {
-    return *iLastWatched;
-    }
-
--- a/homescreenplugins/videochplugin/src/videochpublishabledtaitem.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <e32std.h>
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <liwvariant.h>
-
-#include "videochpublishabledataitem.h"
-#include "videochpublishabledata.h"
-
-
-// -----------------------------------------------------------------------------
-// TPtrC8Hash()
-// Local function used to call hash function for creating hash value to
-// the key provided.
-// -----------------------------------------------------------------------------
-//
-TUint32 TPtrC8Hash(const TBuf8< KTvVideoMaxValueKeyLen >& aPtr)
-    {
-    return DefaultHash::Des8(aPtr);
-    }
-
-// -----------------------------------------------------------------------------
-// TPtrC8Ident()
-// Local function used to call indentification function for comparing items
-// -----------------------------------------------------------------------------
-//
-TBool TPtrC8Ident(const TBuf8< KTvVideoMaxValueKeyLen >& aL, 
-                  const TBuf8< KTvVideoMaxValueKeyLen >& aR)
-    {
-    return DefaultIdentity::Des8(aL, aR);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::NewLC
-// -----------------------------------------------------------------------------
-//
-CVcxNsPublishableDataItem* CVcxNsPublishableDataItem::NewLC( TPtrC aContentType )
-    {
-    CVcxNsPublishableDataItem* self = new ( ELeave )CVcxNsPublishableDataItem( aContentType );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::NewL
-// -----------------------------------------------------------------------------
-//
-CVcxNsPublishableDataItem* CVcxNsPublishableDataItem::NewL( TPtrC aContentType )
-    {
-    CVcxNsPublishableDataItem* self = CVcxNsPublishableDataItem::NewLC( aContentType );
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::CVcxNsPublishableDataItem
-// -----------------------------------------------------------------------------
-//
-CVcxNsPublishableDataItem::CVcxNsPublishableDataItem( TPtrC aContentType ) :
-iContentType( aContentType )
-    {
-    // NOP
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::~CVcxNsPublishableDataItem
-// -----------------------------------------------------------------------------
-//
-CVcxNsPublishableDataItem::~CVcxNsPublishableDataItem()
-    {
-    if( iIntData )
-        {
-        iIntData->Close();
-        delete iIntData;
-        }
-    
-    if( iDescData )
-        {
-        THashMapIter< TBuf8< KTvVideoMaxValueKeyLen >, HBufC* > iter( *iDescData );
-        for( HBufC* const* value = iter.NextValue(); value; value = iter.NextValue() )
-            {
-            delete *value;
-            }  
-        iDescData->Close();
-        delete iDescData; 
-        }
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsPublishableDataItem::ConstructL()
-    {
-        
-    iIntData  = 
-        new( ELeave )RHashMap< TBuf8< KTvVideoMaxValueKeyLen >, TInt >
-                (&TPtrC8Hash, &TPtrC8Ident);
-    
-    iDescData = 
-        new( ELeave )RHashMap< TBuf8< KTvVideoMaxValueKeyLen >, HBufC* >
-            (&TPtrC8Hash, &TPtrC8Ident); 
-    }
- 
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::ContentType
-// -----------------------------------------------------------------------------
-//
-TPtrC CVcxNsPublishableDataItem::ContentType() const
-    {
-    return iContentType;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::SetDataL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsPublishableDataItem::SetDataL( TPtrC8 aKey, TInt aValue )
-    {
-    iIntData->InsertL( aKey, aValue );
-    }
- 
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::SetDataL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsPublishableDataItem::SetDataL( TPtrC8 aKey, const TDesC& aData )
-    {
-    HBufC** item = iDescData->Find( aKey );
-    if( item && *item )
-        {
-        delete *item;
-        }
-    
-    iDescData->InsertL( aKey, aData.AllocL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::GetIntDataL
-// -----------------------------------------------------------------------------
-//
-TInt CVcxNsPublishableDataItem::GetIntDataL( TPtrC8 aKey ) const 
-    {
-    TInt* item = iIntData->Find( aKey );
-    if( !item )
-        {
-        User::Leave( KErrNotFound );
-        }
-    return *item;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::GetDesCDataL
-// -----------------------------------------------------------------------------
-//
-const TDesC& CVcxNsPublishableDataItem::GetDesCDataL( TPtrC8 aKey ) const
-    {
-    HBufC** item = iDescData->Find( aKey );
-    
-    if( !item || !( *item ) )
-        {
-        User::Leave( KErrNotFound );
-        }
-    return  **item;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::ClearData
-// -----------------------------------------------------------------------------
-//
-void CVcxNsPublishableDataItem::ClearData()
-    {
-
-    THashMapIter< TBuf8< KTvVideoMaxValueKeyLen >, HBufC* > descIter( *iDescData );
-    for( HBufC* const* value = descIter.NextValue(); value; value = descIter.NextValue() )
-        {        
-        TRAP_IGNORE( SetDataL( *( descIter.CurrentKey() ), KNullDesC ) );    
-        }
-    THashMapIter< TBuf8< KTvVideoMaxValueKeyLen >, TInt > intIter( *iIntData );
-    for( const TInt* intValue = intIter.NextValue(); intValue; intValue = intIter.NextValue() )
-        {
-        TRAP_IGNORE( SetDataL( *( intIter.CurrentKey() ), 0 ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::FillCPDataMapL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsPublishableDataItem::FillCPDataMapL( CLiwDefaultMap& aDataMap )
-    {
-    // fill descriptor data
-    THashMapIter< TBuf8< KTvVideoMaxValueKeyLen >, HBufC* > descIter( *iDescData );
-    for( HBufC* const* value = descIter.NextValue(); value; value = descIter.NextValue() )
-        {
-        aDataMap.InsertL( *( descIter.CurrentKey() ) , TLiwVariant( **value ) );
-        }
-    
-    THashMapIter< TBuf8< KTvVideoMaxValueKeyLen >, TInt > intIter( *iIntData );
-    TInt32 value;
-    for( const TInt* intValue = intIter.NextValue(); intValue; intValue = intIter.NextValue() )
-        {
-        value = *intValue;
-        aDataMap.InsertL( *( intIter.CurrentKey() ) , TLiwVariant( value ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::ReadCPDataMapL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsPublishableDataItem::ReadCPDataMapL( CLiwDefaultMap& aDataMap )
-    {
-    // read all data keys saved to this item, extract the corresponding 
-    // data from the liwdefaultmap and save it to this object
-    
-    // clear first
-    ClearData();
-    
-    TInt count = aDataMap.Count();
-    
-    for( TInt i = 0; i < count; i++ )
-        {
-        TPtrC8 key = aDataMap.AtL( i );
-
-        TLiwVariant variant;
-        variant.PushL();
-        ExtractVariant( key, aDataMap, variant );
-    
-        if( variant.TypeId() == LIW::EVariantTypeDesC )
-            {
-            SetDataL( key, variant.AsDes() );
-            }
-        else if(  variant.TypeId() == LIW::EVariantTypeTInt32 )
-            {
-            SetDataL( key, variant.AsTInt32() );
-            }
-        CleanupStack::PopAndDestroy( &variant );   
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsPublishableDataItem::ExtractVariant
-// -----------------------------------------------------------------------------
-//
-TInt CVcxNsPublishableDataItem::ExtractVariant( const TDesC8& aKey,  
-                                                CLiwDefaultMap& aDataMap, 
-                                                TLiwVariant& aVariant )
-    {
-    TInt err( KErrNotFound );
-    TBool found( EFalse );
-    TRAP( err, found = aDataMap.FindL( aKey, aVariant ) );
-    if( err == KErrNone && found )
-        {
-        return KErrNone;        
-        }
-    return err;
-    }
-
--- a/homescreenplugins/videochplugin/src/videochpublisher.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,351 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsChPublisher class definition*
-*/
-
-
-
-
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-#include <liwgenericparam.h>
-
-#include "videochpublishabledata.h"
-#include "videochpublisher.h"
-
-// CONSTANTS
-
-//////
-// names used as keys in maps to be passed to service api:
-
-// key name for item data
-_LIT8( KVcxNsSAKeyItem,    "item" );
-
-// key name for type data
-_LIT8( KVcxNsSAKeyType,    "type" );
-
-// key name for "add" command -data
-_LIT8( KVcxNsSAKeyCmdAdd,  "Add" );
-
-// key name for "delete" command -data
-_LIT8( KVcxNsSAKeyCmdDelete,  "Delete" );
-
-// key name for Get list command -data
-_LIT8 ( KVcxNsSAKeyCmdGetList,  "GetList" );
-
-// key name for publisher name data
-_LIT8( KVcxNsSAKeyPublisher,   "publisher" );
-
-// key name for content_type data
-_LIT8( KVcxNsSAKeyContentType, "content_type" );
-
-// key name for content id data
-_LIT8( KVcxNsSAKeyContentId,   "content_id" );
-
-// key name for actual data
-_LIT8( KVcxNsSAKeyDataMap, "data_map" );
-
-// value key name for results when reading 
-// from CP database
-_LIT8( KVcxNsSAKeyResults, "results" );
-
-/////////////////
-// common values used in result map:
-
-// value name used to identify data 
-// from the result liw map in homescreen's 
-// contentpublishing -plugin
-_LIT ( KVcxNsSapiCPData,  "cp_data" );
-
-// publisher value name used for tvvideosuite
-// related data
-_LIT( KTvVideoPublisher,   "tvvideopublisher" );
-
-// content id's
-// "normal" id for content used in the matrix menu
-_LIT( KContentMenuId, "menucontentid" );
-// this id can be used to maintain data in CP, but 
-// not show it in the matrix menu
-_LIT( KContentBackupId, "backupcontentid" );
-
-
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::CVcxNsChPublisher
-// -----------------------------------------------------------------------------
-//
-CVcxNsChPublisher::CVcxNsChPublisher( MLiwInterface* iCPSInterface, 
-                                      CVcxNsChPublishableData* aData ) :
-iCPSInterface( iCPSInterface ),                                      
-iPublishableData( aData ),
-iContentId( 0, 0 )
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::~CVcxNsChPublisher
-// -----------------------------------------------------------------------------
-//
-CVcxNsChPublisher::~CVcxNsChPublisher()
-    {
-    // No implementation required 
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::NewLC
-// -----------------------------------------------------------------------------
-//
-CVcxNsChPublisher* CVcxNsChPublisher::NewLC( MLiwInterface* aCPInterface,
-                                             CVcxNsChPublishableData* aData )
-    {
-    if( !aCPInterface || !aData )
-        {
-        User::Leave( KErrNotFound );
-        }
-    
-    CVcxNsChPublisher* self = new (ELeave)CVcxNsChPublisher( aCPInterface, aData );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::NewL
-// -----------------------------------------------------------------------------
-//
-CVcxNsChPublisher* CVcxNsChPublisher::NewL( MLiwInterface* aCPInterface, 
-                                            CVcxNsChPublishableData* aData )
-    {
-    CVcxNsChPublisher* self = CVcxNsChPublisher::NewLC( aCPInterface, aData );
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::ConstructL()
-    {
-    iContentId.Set( KContentMenuId );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::PublishAllL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::PublishAllL()
-    {
-    PublishContentL( EVCxNsCPContentLastWatched );
-    PublishContentL( EVCxNsCPContentLiveTV );
-    PublishContentL( EVCxNsCPContentIPTV );
-    PublishContentL( EVCxNsCPContentMyVideos );
-    PublishContentL( EVCxNsCPContentFeeds );
-    PublishContentL( EVCxNsCPContentPreloaded );
-    }
- 
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::PublishContentL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::PublishContentL( TVCxNsCPContentType aContentType )
-    {
-    CLiwGenericParamList* inParam = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* outParam = CLiwGenericParamList::NewLC();
-    ExecCPCommandL( aContentType, KVcxNsSAKeyCmdAdd,
-                    inParam, outParam);
-    CleanupStack::PopAndDestroy( outParam );
-    CleanupStack::PopAndDestroy( inParam );   
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::DeleteContentL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::DeleteContentL( TVCxNsCPContentType aContentType )    
-    {
-    CLiwGenericParamList* inParam = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* outParam = CLiwGenericParamList::NewLC();
-    ExecCPCommandL( aContentType, KVcxNsSAKeyCmdDelete,
-                    inParam, outParam );    
-    CleanupStack::PopAndDestroy( outParam );
-    CleanupStack::PopAndDestroy( inParam ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::ReadContentL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::ReadContentL( TVCxNsCPContentType aContentType )
-    {
-    TInt pos( 0 );
-    CLiwGenericParamList* inParam = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* outParam = CLiwGenericParamList::NewLC();
-    
-    ExecCPCommandL( aContentType, KVcxNsSAKeyCmdGetList, inParam, outParam );
-    
-    TLiwVariant variant;
-    variant.PushL();
-
-    outParam->FindFirst( pos, KVcxNsSAKeyResults );
-    if( pos != KErrNotFound )
-        {
-        variant = ( *outParam )[pos].Value();
-        // get the first iterator data. In tvvideo suite context
-        // we have only one level of data
-        CLiwIterable* iterable = variant.AsIterable();
-        iterable->Reset();
-        iterable->NextL( variant );
-        
-        CLiwDefaultMap* cpDataRootMap = CLiwDefaultMap::NewLC();
-        if( variant.Get( *cpDataRootMap ) )
-            {
-            ReadCPResultDataRootL( aContentType, cpDataRootMap );
-            }
-
-       CleanupStack::PopAndDestroy( cpDataRootMap );     
-       }                       
-    CleanupStack::PopAndDestroy( &variant );
-    CleanupStack::PopAndDestroy(outParam);
-    CleanupStack::PopAndDestroy(inParam); 
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::BackupContentL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::BackupContentL( TVCxNsCPContentType aContentType, TBool aRefreshFrDB )
-    {
-    if( aRefreshFrDB )
-        {
-        // read content data from default to backup        
-        iContentId.Set( KContentMenuId );
-        ReadContentL( aContentType );
-        }
-    iContentId.Set( KContentBackupId );
-    // trap to make sure the default id is switched back
-    // delete old backup
-    TRAPD( err, DeleteContentL( aContentType ) );
-    if( err == KErrNone )
-        {
-        TRAP( err, PublishContentL( aContentType ) );
-        }
-    iContentId.Set( KContentMenuId );
-    User::LeaveIfError( err );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::RestoreBackupL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::RestoreBackupL( TVCxNsCPContentType aContentType )
-    {
-    // read content data from backup to default        
-    iContentId.Set( KContentBackupId );
-    // trap to make sure the default id is swithced back
-    TRAPD( err, ReadContentL( aContentType ) );
-    if( err == KErrNone )
-        {
-        // delete old backup
-        TRAP( err, DeleteContentL( aContentType ) );
-        }
-    iContentId.Set( KContentMenuId );
-    User::LeaveIfError( err );
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::ReadCPResultDataRootL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::ReadCPResultDataRootL( TVCxNsCPContentType& aContentType, 
-                                              CLiwDefaultMap* aDataRootMap )
-    {
-    TLiwVariant variant;
-    variant.PushL();
-    if( aDataRootMap->FindL( KVcxNsSAKeyDataMap, variant ) )
-        {
-        CLiwDefaultMap* cpDataMap = CLiwDefaultMap::NewLC();
-        if( variant.Get( *cpDataMap ) )
-            {
-            iPublishableData->ReadCPDataMapL( aContentType, *cpDataMap );
-            }
-        CleanupStack::PopAndDestroy( cpDataMap );        
-        }
-    CleanupStack::PopAndDestroy( &variant );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxNsChPublisher::ExecCPCommandL
-// -----------------------------------------------------------------------------
-//
-void CVcxNsChPublisher::ExecCPCommandL( TVCxNsCPContentType& aContentType,   
-                                        const TDesC8& aCmd,
-                                        CLiwGenericParamList* aInParam,
-                                        CLiwGenericParamList* aOutParam )
-    {
-    // inParammlist -map organisation:
-    // results
-    //  |- KVcxNsSAKeyType, KVcxNsSapiCPData
-    //  |- KVcxNsSAKeyItem, cpDataRootMap
-    //                          |- KVcxNsSAKeyPublisher, KTvVideoPublisher
-    //                          |- KVcxNsSAKeyContentType, < resolved content name >
-    //                          |- KVcxNsSAKeyContentId, KContentMenuId (for visible content) OR
-    //                                                   KContentBackupId (for backed up content)
-    //                          |- KVcxNsSAKeyDataMap, cpDataMap
-    //                                                   |- contains data map generated 
-    //                                                      in CVcxNsChPublishableData
-    
-    
-        
-    // setup basic data type value
-    TLiwGenericParam cptype( KVcxNsSAKeyType, TLiwVariant( KVcxNsSapiCPData ));
-    aInParam->AppendL( cptype );
-    
-    CLiwDefaultMap* cpDataRootMap = CLiwDefaultMap::NewLC();
-    
-    // set up publisher 
-    cpDataRootMap->InsertL( KVcxNsSAKeyPublisher,   
-                            TLiwVariant( KTvVideoPublisher ));
-    // set up content_type 
-    TPtrC cType = iPublishableData->ItemContentTypeNameL( aContentType );
-    cpDataRootMap->InsertL( KVcxNsSAKeyContentType, 
-                            TLiwVariant( cType ) );
-    
-    // content_id, just use default value
-    cpDataRootMap->InsertL( KVcxNsSAKeyContentId,   
-                            TLiwVariant( iContentId ));
-    
-    CLiwDefaultMap* cpDataMap = CLiwDefaultMap::NewLC();
-    
-    // set the actual data from our data container
-    iPublishableData->FillCPDataMapL( aContentType, *cpDataMap );
-    
-    // save it to root
-    cpDataRootMap->InsertL( KVcxNsSAKeyDataMap, TLiwVariant( cpDataMap ) );
-        
-    // data ready, fill item and save it to input param
-    TLiwGenericParam item( KVcxNsSAKeyItem, TLiwVariant( cpDataRootMap ));        
-    aInParam->AppendL( item );
-
-    CleanupStack::PopAndDestroy( cpDataMap );
-    CleanupStack::PopAndDestroy( cpDataRootMap );
-    item.Reset();
-    cptype.Reset();
-
-    iCPSInterface->ExecuteCmdL( aCmd, *aInParam, *aOutParam );    
- 
-    }
-
--- a/homescreenplugins/videochplugin/src/videocontentharvestermpxclient.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,697 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <e32std.h>
-#include <mpxcollectionutility.h>
-#include <mpxmediacontainerdefs.h>
-#include <mpxmediageneraldefs.h>
-#include <mpxmessagegeneraldefs.h>
-#include <mpxcollectionmessagedefs.h>
-#include <mpxcollectionpath.h>
-#include <mpxmessage2.h>
-#include <mpxcollectionmessage.h>
-#include <mpxlog.h>
-#include <mpxitemid.h>
-#include <mpxmessagecontainerdefs.h>
-#include <vcxmyvideosdefs.h>
-#include <vcxmyvideosuids.h>
-#include <mpxcommandgeneraldefs.h>
-#include <mpxcollectioncommanddefs.h>
-#include "IptvDebug.h"
-
-#include "videocontentharvesterplugin.h"
-#include "videocontentharvestermpxclient.h"
-#include "videochpublishabledata.h"
-#include "videochpublisher.h"
-#include "videonotificationlauncher.h"
-#include "videochmcategorylistener.h"
-#include "videoahpluginconstants.h"
-#include "iptvlastwatchedapi.h"
-#include "iptvlastwatcheddata.h"
-
-const TInt KVcxMpxLevelCategories = 2;
-const TInt KVcxMpxLevelVideos     = 3;
-
-const TUint32 KVcxnsCHUid = 0x2001B2A8;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterMpxClient::CVcxNsContentHarvesterMpxClient( CVcxNsChPublisher* aPublisher,
-                                                                  CVcxNsChPublishableData* aPublishableData,
-                                                                  CVcxNsContentHarvesterPlugin* aPlugin ):
-    iCollectionOpenStatus( EVcxNsCollectionNotOpen ),
-    iPublisher( aPublisher ),
-    iPublishableData( aPublishableData ),
-    iPlugin( aPlugin )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::ConstructL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::ConstructL IN");
-    
-    TUid domain   = TUid::Uid( KVcxNsMpxMediatorDomain );
-    TUid category = TUid::Uid( KVcxNsMpxMediatorCategory );
-    TVersion version = TVersion( KVcxNsMpxEventVersion, 0, 0 );
-    
-    iMCategoryListener = CVcxNsChMCategoryListener::NewL( this,
-                                                          domain,
-                                                          category,
-                                                          version );
-    TInt event =  TInt( KVcxNsMpxEventDownloadStarted );
-    iMCategoryListener->RegisterAndSubscribeL( event );
-    
-    event = TInt( KVcxNsMpxEventAllDownloadsEnded );
-    iMCategoryListener->RegisterAndSubscribeL( event );
-
-    domain   = TUid::Uid( KVcxNsAhMediatorDomain );
-    category = TUid::Uid( KVcxNsAhMediatorCategory );
-    version = TVersion( KVcxNsAhEventVersion, 0, 0 );
-    
-    iAhCategoryListener= CVcxNsChMCategoryListener::NewL( this,
-                                                          domain,
-                                                          category,
-                                                          version );
-
-    event = TInt( KVcxNsAhEventSuiteLoaded );
-    iAhCategoryListener->RegisterAndSubscribeL( event );
-    
-    event = TInt( KVcxNsAhEventSuiteUnloaded );
-    iAhCategoryListener->RegisterAndSubscribeL( event );
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::ConstructL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterMpxClient* CVcxNsContentHarvesterMpxClient::NewL( CVcxNsChPublisher* aPublisher,
-                                                                        CVcxNsChPublishableData* aPublishableData,
-                                                                        CVcxNsContentHarvesterPlugin* aPlugin )
-    {
-    CVcxNsContentHarvesterMpxClient* self = new( ELeave ) CVcxNsContentHarvesterMpxClient( aPublisher,
-                                                                                           aPublishableData,
-                                                                                           aPlugin );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterMpxClient::~CVcxNsContentHarvesterMpxClient()
-     {
-     delete iMCategoryListener;
-     delete iAhCategoryListener;
-     
-     delete iObservedCategory;
-     CloseCollection();
-     }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleCollectionMediaL( 
-        const CMPXMedia& /*aMedia*/,
-        TInt /*aError*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleCollectionMessage( 
-        CMPXMessage* aMessage,
-        TInt aError )
-    {
-    TRAP_IGNORE( HandleCollectionMessageL( aMessage, aError ) );
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleCollectionMessageL( 
-        CMPXMessage* aMessage,
-        TInt aError )
-    {
-    HandleSingleCollectionMessageL( aMessage, aError );
-    
-    if ( aMessage->IsSupported( KMPXMessageArrayContents ) )
-        {
-        const CMPXMessageArray* messageArray =
-            aMessage->Value<CMPXMessageArray>( KMPXMessageArrayContents );
-        for( TInt i = 0; i < messageArray->Count(); i++ )
-            {
-            HandleSingleCollectionMessageL( (*messageArray)[i], KErrNone );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleSingleCollectionMessageL( 
-        CMPXMessage* aMessage,
-        TInt aError )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleSingleCollectionMessageL IN");
-    
-    if ( aMessage && aError == KErrNone )
-        {
-        switch ( *( aMessage->Value<TMPXMessageId>( KMPXMessageGeneralId ) ) )
-            {
-            case KVcxCommandIdMyVideos:
-                {
-                if ( aMessage->IsSupported( KVcxMediaMyVideosCommandId ) )
-                    {
-                    TInt mvMsgId = *(aMessage->Value<TInt>( KVcxMediaMyVideosCommandId ) );
-
-                    switch ( mvMsgId )
-                        {
-                        case KVcxMessageMyVideosItemsAppended:
-                            HandleMyVideosItemsAppendedL( aMessage, aError );
-                            break;
-                        case KVcxMessageMyVideosGetMediasByMpxIdResp:
-                            break;
-                        default:
-                            break;
-                        }
-                    }
-                }
-                break;
-            case KMPXMessageGeneral:
-                {
-                TInt event( *(aMessage->Value<TInt>( KMPXMessageGeneralEvent )) );
-                TInt data( *(aMessage->Value<TInt>( KMPXMessageGeneralData )) );
-
-                switch ( event )
-                    {
-                    case TMPXCollectionMessage::EPathChanged:
-                        {
-                        if ( data == EMcContainerOpened  )
-                            {
-                             if ( iCollectionOpenStatus == EVcxNsCollectionOpening )
-                                {
-                                iCollectionOpenStatus = EVcxNsCollectionOpened;
-                                }
-                             if( iCollectionUtility )
-                                 {
-                                 iCollectionUtility->Collection().OpenL();
-                                 }
-                            }
-                        }
-                        break;
-                        
-                    case TMPXCollectionMessage::ECollectionChanged:                     
-                    case TMPXCollectionMessage::EBroadcastEvent:
-                    case TMPXCollectionMessage::ENoEvent:
-                    case TMPXCollectionMessage::EError:
-                    case TMPXCollectionMessage::EMediaChanged:
-                    case TMPXCollectionMessage::EItemChanged:
-                    case TMPXCollectionMessage::EFocusChanged:
-                    case TMPXCollectionMessage::EAsyncOpComplete:
-                    case TMPXCollectionMessage::EExtendedMessage:
-                    default:
-                        break;
-                    }
-                }
-                break;
-            case KMPXMessageIdItemChanged:
-                {
-                HandleMyVideosItemsChangedL( aMessage, aError );
-                }
-                break;
-            
-            default:
-                break;
-            }
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleSingleCollectionMessageL OUT");
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleOpenL( 
-        const CMPXMedia& aEntries,
-        TInt /*aIndex*/,
-        TBool /*aComplete*/,
-        TInt aError )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleOpenL IN");
-    if ( aError == KErrNone )
-        {
-        TInt levels = CollectionLevelL();
-
-        // should the interesting level be the root?
-        if ( levels == KVcxMpxLevelCategories )
-            {
-            // Check that entry has an array of contents.
-            if ( aEntries.IsSupported( KMPXMediaArrayContents ) )
-                {
-                CMPXMediaArray* pointerArray = 
-                    aEntries.Value<CMPXMediaArray>(KMPXMediaArrayContents);
-                CMPXMediaArray* categoryArray = CMPXMediaArray::NewL( *pointerArray );
-                CleanupStack::PushL( categoryArray );
-
-                SearchAndStoreCategoryL( categoryArray );
-
-                CleanupStack::Pop( categoryArray );
-                }
-            }
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleOpenL OUT");
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//                      
-void CVcxNsContentHarvesterMpxClient::HandleOpenL( 
-        const CMPXCollectionPlaylist& /*aPlaylist*/,
-        TInt /*aError*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleCommandComplete( 
-        CMPXCommand* /*aCommandResult*/, 
-        TInt /*aError*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsAppendedL( CMPXMessage* /*aMessage*/,
-                                                                   TInt /*aError*/ )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsAppendedL IN");
-
-    TInt levels = CollectionLevelL();
-
-    if ( levels == KVcxMpxLevelCategories )
-        {
-        UpdateNewVideoCountL();       
-        }
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsAppendedL OUT");
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsChangedL( CMPXMessage* aMessage,
-                                                                   TInt /*aError*/ )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsChangedL IN");
-    
-    if( aMessage && aMessage->IsSupported( KMPXMessageChangeEventType ) )
-        {
-        TMPXChangeEventType eventType( 
-                *aMessage->Value<TMPXChangeEventType>( KMPXMessageChangeEventType ) );
-   
-       
-        if( eventType == EMPXItemDeleted )
-            {        
-            HandleContentModifiedL( aMessage );
-            }
-    
-        TMPXItemId eventData( 
-                *aMessage->Value<TMPXItemId>( KMPXMessageMediaGeneralId ) );
-
-        TInt levels = CollectionLevelL();
-
-        if ( levels == KVcxMpxLevelCategories )
-            {
-            UpdateNewVideoCountL();
-            }
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsChangedL OUT");
-    }
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleContentModifiedL( CMPXMessage* aMessage )
-    {
-    // check preloaded content allways, in case it's data still exists in the PS
-    TPtrC preloadedName = 
-        iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                        TPtrC8( KTvVideoName ) );
-    
-    TPtrC preloadedPath = 
-                       iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                                       TPtrC8( KTvVideoPath ) );
-    
-    TPtrC lastWatchedName = 
-            iPublishableData->GetDesCDataL( EVCxNsCPContentLastWatched,
-                                            TPtrC8( KTvVideoName ) );
-    TInt lastWType = 
-            iPublishableData->GetIntDataL( EVCxNsCPContentLastWatched,
-                                            TPtrC8( KTvVideoLastWatchedType ) );
-    if( preloadedName.Length() > 0 )
-        {
-        TPtrC filePath = 
-            iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                            TPtrC8( KTvVideoPath ) );
-        if( !iPublishableData->FileExists( filePath ) )
-            {
-            // file no longer exists, remove it's data from the CP
-            iPublisher->DeleteContentL( EVCxNsCPContentPreloaded );
-            } 
-        else
-            {
-            iPublisher->PublishContentL( EVCxNsCPContentPreloaded );
-            }
-        }
-    
-    // check last watched item
-    if( lastWatchedName.Length() > 0 && lastWType == EVCxNsCPContentLastWatched )
-        {
-        
-        TMPXItemId itemId = aMessage->ValueTObjectL< TMPXItemId >( KMPXMessageMediaGeneralId );      
-        // check if deleted was last watched
-        CIptvLastWatchedData* data =  CIptvLastWatchedData::NewL();
-        CleanupStack::PushL( data );
-        iPublishableData->LastWatchedApi().GetLastWatchedDataL( *data );
-        if( data->MpxId() == itemId.iId1 )
-            {
-            // last watched removed, clear data 
-            iPublishableData->ClearData( EVCxNsCPContentLastWatched );
-            iPublisher->PublishContentL( EVCxNsCPContentLastWatched );
-            }
-        else
-            {
-            // check if preloaded was last watched
-            if( preloadedName.Length() > 0 && !data->Uri().CompareF( preloadedPath ) )
-                {
-                // it was, so clear last watched
-                iPublishableData->ClearData( EVCxNsCPContentLastWatched );
-                iPublisher->PublishContentL( EVCxNsCPContentLastWatched );
-                }
-            
-            }
-        CleanupStack::PopAndDestroy( data );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::MediatorEventL( TUid aDomain,
-                                                      TUid aCategory,
-                                                      TInt aEventId,
-                                                      const TDesC8& )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::MediatorEventL IN");
-    
-    if( aDomain    == TUid::Uid( KVcxNsMpxMediatorDomain ) &&
-        aCategory  == TUid::Uid( KVcxNsMpxMediatorCategory ) )
-        {
-        if( aEventId == KVcxNsMpxEventDownloadStarted )
-            {
-            IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::MediatorEventL dl started");
-
-            iOngoingDownloads = ETrue;
-            }
-        if( aEventId == KVcxNsMpxEventAllDownloadsEnded )
-            {
-            IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::MediatorEventL dls finished");
-
-            iOngoingDownloads = EFalse;
-            }
-        }
-    
-    if( aDomain    == TUid::Uid( KVcxNsAhMediatorDomain ) &&
-        aCategory  == TUid::Uid( KVcxNsAhMediatorCategory ) )
-        {
-        if( aEventId == KVcxNsAhEventSuiteLoaded )
-            {
-            iTvVideoSuiteLoaded = ETrue;
-            }
-        if( aEventId == KVcxNsAhEventSuiteUnloaded )
-            {
-            iTvVideoSuiteLoaded = EFalse; 
-            
-            if( iOngoingDownloads )
-                {   
-                iPlugin->NotificationLauncher()->LaunchExitingNotificationL();
-                }
-            }
-        }
-    
-    if ( iCollectionOpenStatus == EVcxNsCollectionNotOpen )
-        {
-        if ( iTvVideoSuiteLoaded || iOngoingDownloads )
-            {
-            OpenCollectionL();
-            UpdateCategoryL();
-            }
-        }
-    else
-        {
-        if( !iTvVideoSuiteLoaded && !iOngoingDownloads  )
-            {
-            CloseCollection();
-            }
-        }       
-     
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::MediatorEventL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CVcxNsContentHarvesterMpxClient::CollectionLevelL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::CollectionLevelL");
-    
-    if ( iCollectionUtility )
-        {
-        CMPXCollectionPath* path = iCollectionUtility->Collection().PathL();
-        CleanupStack::PushL( path );
-        TInt levels = path->Levels();
-        CleanupStack::PopAndDestroy( path );
-        
-        return levels;
-        }
-
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::UpdateNewVideoCountL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::UpdateNewVideoCountL IN");
-    
-    if( iObservedCategory && 
-        iObservedCategory->IsSupported( KVcxMediaMyVideosCategoryNewItemCount ) &&
-        iObservedCategory->IsSupported( KVcxMediaMyVideosCategoryItemCount ) )
-        {
-        TInt newVideosCount = iObservedCategory->ValueTObjectL<TUint32>( KVcxMediaMyVideosCategoryNewItemCount );
-        TInt videoCount = iObservedCategory->ValueTObjectL<TUint32>( KVcxMediaMyVideosCategoryItemCount );
-        TBool hasNewVideos = newVideosCount > 0;
-
-        TBool hadNewVideos = 
-                iPublishableData->GetIntDataL( EVCxNsCPContentMyVideos,
-                                               TPtrC8( KTvVideoHasNewVideos ) );
-
-        TInt savedCount = 
-                iPublishableData->GetIntDataL( EVCxNsCPContentMyVideos,
-                                               TPtrC8( KTvVideoCount ) );
-        
-        if( hasNewVideos != hadNewVideos ||
-            ( hasNewVideos && newVideosCount != savedCount ) ||
-            ( !hasNewVideos && videoCount != savedCount ) )
-            {
-            if( hasNewVideos )
-                {
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoCount ),
-                                            newVideosCount );
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoHasNewVideos ),
-                                            ETrue );                                
-                TPtrC newVideoName( iObservedCategory->ValueText( KVcxMediaMyVideosCategoryNewItemName ) );
-                
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoName ),
-                                            newVideoName );     
-                }
-            else
-                {
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoCount ),
-                                            videoCount );
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoHasNewVideos ),
-                                            EFalse );
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoName ),
-                                            KNullDesC );
-                }
-            
-            iPublisher->PublishContentL( EVCxNsCPContentMyVideos );
-            }
-        }
-
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::UpdateNewVideoCountL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::UpdateCategoryL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::UpdateCategoryL IN");
-    
-    if ( iCollectionOpenStatus == EVcxNsCollectionNotOpen )
-        {
-        // Not opened, open the collection.
-        OpenCollectionL(); 
-        }
-    else
-        {
-        if ( !iCollectionUtility )
-            {
-            return;
-            }
-        
-        if ( CollectionLevelL() == KVcxMpxLevelVideos )
-            {
-            // Openend in video level, back
-            iCollectionUtility->Collection().BackL();
-            }
-        else
-            {
-            // Already open, refetch the data
-            iCollectionUtility->Collection().OpenL();
-            }
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::UpdateCategoryL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::SearchAndStoreCategoryL( CMPXMediaArray* categoryArray )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::SearchAndStoreCategoryL IN");
-    
-    if( categoryArray->Count() > 0 )
-        {
-        CMPXMedia* category = categoryArray->AtL( 0 );
-        
-        if( category )
-             {
-             if( iObservedCategory )
-                 {
-                 delete iObservedCategory;
-                 iObservedCategory = NULL;
-                 }
-             
-             iObservedCategory = CMPXMedia::NewL( *category );
-             
-             UpdateNewVideoCountL();
-             }
-        }
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::SearchAndStoreCategoryL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::OpenCollectionL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::OpenCollectionL IN");
-    
-    if( !iCollectionUtility )
-        {
-        // use our content harvester plugin's uid as a mode
-        // to prevent collection utility we use to be binded 
-        // into context of other possible collection utility clients
-        // in other content harvester plugins
-        TUid mode = TUid::Uid( KVcxnsCHUid );
-        iCollectionUtility = MMPXCollectionUtility::NewL( this, mode );
-        }
-
-    iCollectionOpenStatus = EVcxNsCollectionOpening;
-    
-    CMPXCollectionPath* path = CMPXCollectionPath::NewL();
-    CleanupStack::PushL( path );
-    path->AppendL( KVcxUidMyVideosMpxCollection ); //my videos
-    iCollectionUtility->Collection().OpenL( *path );
-    CleanupStack::PopAndDestroy( path );
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::OpenCollectionL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::CloseCollection()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::CloseCollection IN");
-    
-    if( iCollectionUtility )
-        {
-        iCollectionUtility->Close();
-        iCollectionUtility = NULL;
-        iCollectionOpenStatus = EVcxNsCollectionNotOpen;
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::CloseCollection OUT");
-    }
--- a/homescreenplugins/videochplugin/src/videocontentharvesterplugin.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    CVcxNsContentHarvesterPlugin class definition*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <e32def.h>
-#include <e32cmn.h>
-
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-#include <liwgenericparam.h>
-
-#include <vcxmyvideosdefs.h>
-#include <vcxmyvideosuids.h>
-
-#include <mpxcommandgeneraldefs.h>
-
-#include "IptvDebug.h"
-
-
-#include "videocontentharvesterplugin.h"
-#include "videocontentharvestermpxclient.h"
-#include "videocontentharvesterservicelistener.h"
-#include "videonotificationlauncher.h"
-#include "videochpublishabledata.h"
-#include "videochpublisher.h"
-#include "vcxnsmediatorids.h"
-#include "videochmcategorylistener.h"
-#include "videochiptvserverclient.h"
-#include "videochlastwatchedupdater.h"
-#include "iptvlastwatchedapi.h"
-#include "iptvlastwatcheddata.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterPlugin::CVcxNsContentHarvesterPlugin( MLiwInterface* aCPSInterface ) :
-    iCPSInterface( aCPSInterface )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterPlugin::ConstructL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterPlugin::ConstructL IN");
-    
-    iPublishableData = CVcxNsChPublishableData::NewL();
-    
-    iPublisher = CVcxNsChPublisher::NewL( iCPSInterface, iPublishableData );
-
-    iMpxClient = CVcxNsContentHarvesterMpxClient::NewL( iPublisher, iPublishableData, this );
-
-    iServiceListener = CVcxNsContentHarvesterServiceListener::NewL( iPublisher, iPublishableData );
-
-    iNotificationLauncer = CVcxNsNotificationLauncher::NewL( iPublishableData, iPublisher );
-    
-    iLwUpdater = CVcxNsChLastWatchedUpdater::NewL( iPublishableData, iPublisher );
-    
-    iIptvServerClient = CVcxNsChIptvServerClient::NewL( iPublisher, iPublishableData );
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterPlugin::ConstructL OUT");
-    }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterPlugin* CVcxNsContentHarvesterPlugin::NewL(  MLiwInterface* aCPSInterface )
-    {
-    CVcxNsContentHarvesterPlugin* self = new ( ELeave ) CVcxNsContentHarvesterPlugin( 
-                                                                             aCPSInterface );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterPlugin::~CVcxNsContentHarvesterPlugin()
-    {
-    delete iIptvServerClient;
-    delete iLwUpdater;      
-    delete iNotificationLauncer;    
-    delete iServiceListener;   
-    delete iMpxClient; 
-    delete iPublisher;
-    delete iPublishableData;
-    }
-
-// ----------------------------------------------------------------------------
-// CVcxNsContentHarvesterPlugin::UpdateL() 
-// ----------------------------------------------------------------------------
-//    
-void CVcxNsContentHarvesterPlugin::UpdateL() 
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterPlugin::UpdateL in");
-    // check and update data content that needs refreshing during boot.
-    // in case something fails, there's nothing to do
-    
-    // last watched  
-    UpdateLastWatchedL();
-    
-    // preloaded video
-    UpdatePreloadedVideoL();
-    
-    // predefined service group
-    iIptvServerClient->StartIPTVServerInterfaceL();
-    TRAPD( err, UpdatePredefinedServiceL() );
-    iIptvServerClient->StopIPTVServerInterface();
-    User::LeaveIfError( err );
-
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterPlugin::UpdateL out");
-    }
-
-// ----------------------------------------------------------------------------
-// CVcxNsContentHarvesterPlugin::UpdateLastWatchedL()        
-// ----------------------------------------------------------------------------
-//    
-void CVcxNsContentHarvesterPlugin::UpdateLastWatchedL()
-    {
-    iPublisher->ReadContentL( EVCxNsCPContentLastWatched );
-        
-    TPtrC name = iPublishableData->GetDesCDataL( EVCxNsCPContentLastWatched,
-                                                    TPtrC8( KTvVideoName ) );
-    TInt lastWType = 
-                    iPublishableData->GetIntDataL( EVCxNsCPContentLastWatched,
-                                                     TPtrC8( KTvVideoLastWatchedType ) );
-        
-    if( name.Length() > 0 && lastWType == EVCxNsCPContentLastWatched )
-        {
-        // check last watched from the filesystem
-        CIptvLastWatchedData* data = CIptvLastWatchedData::NewL();
-        CleanupStack::PushL( data );
-        iPublishableData->LastWatchedApi().GetLastWatchedDataL( *data );
-		
-        if( data->MpxId() != KIdUndefined &&
-            !iPublishableData->FileExists( data->Uri() ) )
-            {
-            // clear and publish empty content
-            iPublishableData->ClearData( EVCxNsCPContentLastWatched );
-            iPublisher->PublishContentL( EVCxNsCPContentLastWatched );
-            }
-        CleanupStack::PopAndDestroy( data );
-        }
-    else
-        {
-        // clear and publish empty content
-        iPublishableData->ClearData( EVCxNsCPContentLastWatched );
-        iPublisher->PublishContentL( EVCxNsCPContentLastWatched );
-        }         
-    }
-        
-// ----------------------------------------------------------------------------
-// CVcxNsContentHarvesterPlugin::UpdatePreloadedVideoL()        
-// ----------------------------------------------------------------------------
-// 
-void CVcxNsContentHarvesterPlugin::UpdatePreloadedVideoL()
-    {
-    // read preloaded content from the CP and from the filesystem  
-    iPublisher->ReadContentL( EVCxNsCPContentPreloaded );
-    
-    TPtrC preName = 
-                iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                                TPtrC8( KTvVideoName ) ); 
-    TPtrC prePath =
-                iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                                TPtrC8( KTvVideoPath ) ); 
-    
-    if( preName.Length() == 0 || 
-        !iPublishableData->FileExists( prePath ) ) 
-        {
-        // file does not exists, remove it's data from the CP so
-        // that item is not shown
-        iPublisher->DeleteContentL( EVCxNsCPContentPreloaded );
-        }              
-    }
-        
-// ----------------------------------------------------------------------------
-// CVcxNsContentHarvesterPlugin::UpdatePredefinedServiceL()        
-// ----------------------------------------------------------------------------
-// 
-void CVcxNsContentHarvesterPlugin::UpdatePredefinedServiceL()
-    {
-    iPublisher->ReadContentL( EVCxNsCPContentServiceGroup );
-
-    TPtrC serviceUri = iPublishableData->GetDesCDataL( EVCxNsCPContentServiceGroup,
-                                                                TPtrC8( KTvVideoPath ) ); 
-    TInt id = iIptvServerClient->GetServiceGroupIdL( serviceUri ); 
-        
-    if(id != KErrNotFound )
-        {                 
-        // save ID and publish
-        iPublishableData->SetDataL( EVCxNsCPContentServiceGroup,
-                                                TPtrC8( KTvVideoId ), id);
-        iPublisher->PublishContentL( EVCxNsCPContentServiceGroup );
-        }
-    else 
-        {   
-        // Restore backed up data
-        iPublisher->RestoreBackupL( EVCxNsCPContentServiceGroup );            
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CVcxNsContentHarvesterPlugin::NotificationLauncher()        
-// ----------------------------------------------------------------------------
-// 
-CVcxNsNotificationLauncher* CVcxNsContentHarvesterPlugin::NotificationLauncher()
-    {
-    return iNotificationLauncer;
-    }
-
--- a/homescreenplugins/videochplugin/src/videocontentharvesterpluginproxy.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    Plugin implementation proxy*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <e32def.h>
-#include <e32cmn.h>
-#include <ecom/implementationproxy.h>
-
-#include "videocontentharvesterplugin.h"
-#include "videocontentharvesterplugin.hrh"
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// Map the interface UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY( KVcxNsContentHarvesterPluginUid, 
-                                    CVcxNsContentHarvesterPlugin::NewL )
-    };
-
-// ----------------------------------------------------------------------------
-// Exported proxy for instantiation method resolution
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-                                                TInt& aTableCount )
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-    return ImplementationTable;
-    }
--- a/homescreenplugins/videochplugin/src/videocontentharvesterservicelistener.cpp	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <e32std.h>
-#include <e32base.h>
-
-#include "IptvDebug.h"
-#include "iptvactivespacepskeys.h"
-
-#include "videocontentharvesterplugin.h"
-#include "videocontentharvesterservicelistener.h"
-#include "videochpublishabledata.h"
-#include "videochpublisher.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterServiceListener::CVcxNsContentHarvesterServiceListener(
-        CVcxNsChPublisher* aPublisher,
-        CVcxNsChPublishableData* aPublishableData ) :
-                                                                  
-    iPublisher( aPublisher ),
-    iPublishableData( aPublishableData )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterServiceListener::ConstructL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterServiceListener::ConstructL IN");
-
-    iVodServiceCount = CVcxNsCHPSSubscriber::NewL( KPSUidIptvServer, KIptvAsVodCastFeedCount,  
-                                                    RProperty::EInt, this );
-    iVodServiceCount->Start();
-    
-    iLiveTvServiceCount = CVcxNsCHPSSubscriber::NewL( KPSUidIptvServer, KIptvLiveTVServiceCount,  
-                                                        RProperty::EInt, this );
-    iLiveTvServiceCount->Start();
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterServiceListener::ConstructL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterServiceListener* CVcxNsContentHarvesterServiceListener::NewL(
-        CVcxNsChPublisher* aPublisher,
-        CVcxNsChPublishableData* aPublishableData )
-    {
-    CVcxNsContentHarvesterServiceListener* self = 
-        new( ELeave ) CVcxNsContentHarvesterServiceListener( aPublisher, aPublishableData );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterServiceListener::~CVcxNsContentHarvesterServiceListener()
-     {
-     delete iVodServiceCount;
-     delete iLiveTvServiceCount;     
-     }
-
-// ---------------------------------------------------------------------------
-// CVcxNsContentHarvesterServiceListener::ValueChanged
-// From class MCHPSObserver.
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterServiceListener::ValueChanged( 
-        const TUint32& aKey, 
-        const TInt& aValue  )
-    {
-    if( aKey == KIptvAsVodCastFeedCount )
-        {
-        TRAP_IGNORE( iPublishableData->SetDataL( EVCxNsCPContentFeeds,
-                                                 TPtrC8( KTvVideoCount ),
-                                                 aValue ) );
-        
-        TRAP_IGNORE( iPublisher->PublishContentL( EVCxNsCPContentFeeds ) );
-        }
-        
-    // NOTE: LiveTV and IPTV means same thing in this context
-    else if( aKey == KIptvLiveTVServiceCount )
-        {
-        TRAP_IGNORE( iPublishableData->SetDataL( EVCxNsCPContentIPTV,
-                                                 TPtrC8( KTvVideoCount ),
-                                                 aValue ) );
-        if( aValue )
-            {
-            TRAP_IGNORE( iPublisher->PublishContentL( EVCxNsCPContentIPTV ) );
-            }
-        else
-            {
-            TRAP_IGNORE( iPublisher->DeleteContentL( EVCxNsCPContentIPTV ) );
-            iPublishableData->ClearData( EVCxNsCPContentIPTV );
-            }
-        }    
-    }
-
--- a/homescreenplugins/videochplugin/src/videonotificationlauncher.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-// Version : %version: 12 %
-
-
-#include <e32std.h>
-#include <e32base.h>
-#include <eikenv.h>
-#include <f32file.h>
-
-#include <avkon.hrh>
-#include <bautils.h>
-#include <akndiscreetpopup.h>
-#include <tultextresourceutils.h>
-#include <data_caging_path_literals.hrh>
-
-#include <vcxmyvideosdefs.h>
-#include <mpxmedia.h>
-#include <mpxmediageneraldefs.h>
-#include <vcxmyvideosuids.h>
-#include <videoplayeractivationmessage.h>
-#include <videocontentharvester.rsg>
-
-#include "videochmcategorylistener.h"
-#include "videocontentharvesterplugin.h"
-#include "videonotificationlauncher.h"
-#include "videochpublishabledata.h"
-#include "videochpublisher.h"
-#include "iptvlastwatchedapi.h"
-#include "iptvlastwatcheddata.h"
-#include "IptvDebug.h"
-
-// CONSTANTS
-const TInt KMediaExtSize( 8 );
-
-_LIT( KResourceFile, "videocontentharvester.rsc");
-
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-
-// ----------------------------------------------------------------------------
-// CVcxNsNotificationLauncher::CVcxNsNotificationLauncher
-// C++ default constructor
-// ----------------------------------------------------------------------------
-//
-CVcxNsNotificationLauncher::CVcxNsNotificationLauncher( CVcxNsChPublishableData* aPublishableData,
-                                                         CVcxNsChPublisher* aPublisher ) :
-    iPublishableData( aPublishableData ),
-    iPublisher( aPublisher )
-    {          
-    }
-
-// ----------------------------------------------------------------------------
-// CVcxNsNotificationLauncher::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CVcxNsNotificationLauncher::ConstructL()
-    {
-    iDownloadCompletedBuffer = LoadResourceStringL( R_IPTV_DOWNLOAD_COMPLETE );
-    
-    iDownloadsContinueBuffer = LoadResourceStringL( R_IPTV_UNFINISHED_DNLOADS_CONTINUE );
-    
-    TUid domain   = TUid::Uid( KVcxNsMpxMediatorDomain );
-    TUid category = TUid::Uid( KVcxNsMpxMediatorCategory );
-    TVersion version = TVersion( KVcxNsMpxEventVersion, 0, 0 );
-    iCatListener = CVcxNsChMCategoryListener::NewL( this, 
-                                                    domain,
-                                                    category,
-                                                    version );
-    
-    iCatListener->RegisterAndSubscribeL( KVcxNsMpxEventDownloadCompleted );
-    }
-
-// ----------------------------------------------------------------------------
-// CVcxNsNotificationLauncher::NewL
-// ----------------------------------------------------------------------------
-//
-CVcxNsNotificationLauncher* CVcxNsNotificationLauncher::NewL( 
-                                     CVcxNsChPublishableData* aPublishableData,
-                                     CVcxNsChPublisher* aPublisher )
-    {
-    CVcxNsNotificationLauncher* self = 
-        new( ELeave ) CVcxNsNotificationLauncher( aPublishableData, aPublisher );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CVcxNsNotificationLauncher::~CVcxNsNotificationLauncher
-// ----------------------------------------------------------------------------
-//
-CVcxNsNotificationLauncher::~CVcxNsNotificationLauncher()
-     {   
-     delete iCatListener;
-     delete iDownloadCompletedBuffer;
-     delete iDownloadsContinueBuffer;
-     }
-
-// ----------------------------------------------------------------------------
-// CVcxNsNotificationLauncher::MediatorEventL
-// ----------------------------------------------------------------------------
-//
-void CVcxNsNotificationLauncher::MediatorEventL( TUid aDomain,
-                                                 TUid aCategory,
-                                                 TInt aEventId,
-                                                 const TDesC8& aData )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("Cvcxnsnotificationlauncher::MediatorEventL IN");
-        
-    TBool validData( aData.Length() == KMediaExtSize );
-    TBool validDomain( aDomain == TUid::Uid( KVcxNsMpxMediatorDomain ) ); 
-    TBool validCategory( aCategory == TUid::Uid( KVcxNsMpxMediatorCategory ) );
-    TBool validEvent( aEventId == KVcxNsMpxEventDownloadCompleted  );
-    
-    if ( validDomain && validCategory && validEvent && validData )
-        {                
-        HBufC8* buffer = HBufC8::NewL( KMediaExtSize );
-        CleanupStack::PushL( buffer );
-
-        TPtr8 des = buffer->Des();
-        des.Copy( aData );
-        
-        RDesReadStream stream;
-        CleanupClosePushL( stream );
-        stream.Open( aData );
-
-        CMPXMedia* media = CMPXMedia::NewL();
-        CleanupStack::PushL( media );
-
-        media->InternalizeL( stream );
-
-        if ( media->IsSupported( KMPXMediaGeneralTitle ) )
-            {
-            DlCompletedNotificationL( *media );
-            }
-
-        CleanupStack::PopAndDestroy( media );
-        CleanupStack::PopAndDestroy( &stream );
-        CleanupStack::PopAndDestroy( buffer );
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("Cvcxnsnotificationlauncher::MediatorEventL OUT");
-    }
-
-// ----------------------------------------------------------------------------
-// CVcxNsNotificationLauncher::LaunchExitingNotificationL
-// ----------------------------------------------------------------------------
-//
-void CVcxNsNotificationLauncher::LaunchExitingNotificationL()
-    {
-    CAknDiscreetPopup::ShowGlobalPopupL( *iDownloadsContinueBuffer );
-    }
-
-// ----------------------------------------------------------------------------
-// CVcxNsNotificationLauncher::DlCompletedNotificationL 
-// ----------------------------------------------------------------------------
-//
-void CVcxNsNotificationLauncher::DlCompletedNotificationL( const CMPXMedia& aMedia )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsNotificationLauncher::DlCompletedNotificationL");            
-
-    TPtrC name = aMedia.ValueText( KMPXMediaGeneralTitle );
-
-    TUint popupFlags( KAknDiscreetPopupDurationLong );
-    
-    const TInt KMaxDlCompleteTextLength = 300;
-    
-    TBuf<KMaxDlCompleteTextLength> text;
-    
-    TulTextResourceUtils::Format( text, *iDownloadCompletedBuffer, -1, name );
-
-    CAknDiscreetPopup::ShowGlobalPopupL(
-           text,
-           KNullDesC,
-           KAknsIIDNone,
-           KNullDesC,
-           -1,
-           -1,
-           popupFlags );
-    }
-//
-// ----------------------------------------------------------
-//  LoadResourceString.
-// ----------------------------------------------------------
-//
-HBufC* CVcxNsNotificationLauncher::LoadResourceStringL( TInt aResourceId )
-    {
-    RFs fs;
-    User::LeaveIfError(fs.Connect());
-    CleanupClosePushL(fs);  
-
-    TFileName dllName;
-    Dll::FileName( dllName );
-    TParsePtrC parse( dllName );
-    
-    TFileName fileName;
-    fileName = parse.Drive();
-    fileName.Append( KDC_APP_RESOURCE_DIR );
-    fileName.Append( KResourceFile() );
-    
-    BaflUtils::NearestLanguageFile( fs, fileName );
-    
-    if( !BaflUtils::FileExists( fs, fileName ) )
-        {
-        User::Leave(KErrNotFound);
-        }
-    
-    RResourceFile resourceFile;
-    resourceFile.OpenL( fs,fileName );
-    CleanupClosePushL( resourceFile );
-    resourceFile.ConfirmSignatureL( 0 );
-
-    HBufC8* dataBuffer = resourceFile.AllocReadLC( aResourceId );
-    TResourceReader theReader;
-    theReader.SetBuffer( dataBuffer );
-    HBufC* locstring = theReader.ReadHBufCL();
-    
-    CleanupStack::PopAndDestroy( dataBuffer );
-    CleanupStack::PopAndDestroy( &resourceFile );
-    CleanupStack::PopAndDestroy( &fs );
-
-    return locstring;
-    }
--- a/homescreenplugins/videosuiteconf/bwins/dummyVideou.def	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?E32Main@@YAHXZ @ 1 NONAME ; int E32Main(void)
-
--- a/homescreenplugins/videosuiteconf/data/suite.xml	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd">
-
-    <mm:localization namespace="tvvideosuite_loc" source="videosuiteres.rsc"/>
-    <mm:suite template="logical_template_6a" type="list" genre="tvvideosuite" title="tvvideosuite_loc:R_VCXNS_MMENU_SUITE_TITLE">
-
-        <mm:event event="suite:load">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>
-                        <mm:key name="data">
-                            <mm:key name="message" type="string" value="ELoadTvVideoSuite"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="suite:unload">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>
-                        <mm:key name="data">
-                            <mm:key name="message" type="string" value="EUnloadTvVideoSuite"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <!-- common events for context sensitive options menu -->
-        <mm:event event="custom:vcxnslaunchsettings">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>
-                        <mm:key name="data">
-                            <mm:key name="message" type="string" value="EOpenVCSettings"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>    
-    
-        <!-- help launcher event for context sensitive options menu -->
-        <mm:event event="custom:vcxnslaunchhelp">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                    <mm:key name="plugin_id" type="uid" value="0x2001B285"/>
-                    <mm:key name="data">
-                        <mm:key name="help_uid" type="integer64" value="0x102750E2"/>
-                        <mm:key name="help_topic" type="string" value="IPTV_HLP_MAIN_STATE"/>
-                    </mm:key>            	    
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-    </mm:suite>   
-</mm:content>
-
--- a/homescreenplugins/videosuiteconf/data/vcns_matrix_items.xml	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,331 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mm:content xmlns:mm="http://nokia.com/mmenu" 
-            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-            xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd" genre="tvvideosuite">
-
-    <mm:localization namespace="tvvideosuite_loc" source="videosuiteres.rsc"/>
-    
-     <!-- last watched item definition -->               
-    <mm:item count="1" template="logical_template_6a" id="tvvideolastwatched">                                     
-        <mm:query namespace="tvvideoquery" service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command mode="sync" name="GetList">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="lastwatchedcontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command name="RequestNotification">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="lastwatchedcontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                  </mm:key>
-            </mm:command>
-        </mm:notify_request>
-                                               
-        <mm:output alias="mul_title" type="string" value="tvvideosuite_loc:R_VCXNS_MMENU_LAST_WATCHED_TITLE"/>     
-        <!-- show last watched name only if some data has published -->
-        <mm:output alias="mul_detail" type="string" condition="tvvideoquery:results/[$index]/data_map/tvvideolastwtype &gt; 0"> 
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_LAST_WATCHED_NAME">
-                <mm:param value="tvvideoquery:results/[$index]/data_map/tvvideonamevalue"/>
-            </mm:text> 
-        </mm:output> 
-        
-        <mm:output alias="mul_icon" condition="tvvideoquery:results/[$index]/data_map/tvvideoiconpath &gt; 0">
-            <mm:image file="tvvideoquery:results/[$index]/data_map/tvvideoiconpath"/> 
-        </mm:output> 
-        <mm:output alias="mul_icon" condition="tvvideoquery:results/[$index]/data_map/tvvideoiconpath = ">
-            <!-- Default last watched icon is qgn_prop_file_video.
-            AknsConstants.h defines KAknsIIDQgnPropFileVideo skin-ids.
-            And videosuite.mbg defines EMbmVideosuiteQgn_prop_file_video = 16384,
-                                       EMbmVideosuiteQgn_prop_file_video_mask = 16385 -->
-            <mm:image skinid_major="0x100056c6" skinid_minor="0x1080" bitmap_id="16384" mask_id="16385" mif_file="videosuite.mif"/>
-        </mm:output> 
-        
-        <mm:event event="key:select"> 
-            <!-- 3 == iptvcontent -->
-            <mm:action service="Service.ActionHandler" interface="IDataAction" condition="tvvideoquery:results/[$index]/data_map/tvvideolastwtype=3" >
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>                        
-                        <mm:key name="data">
-                            <mm:key name="message" type="string" value="EIPTVMessageLastWatched"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action> 
-            <!-- 1 == lastwatched content, meaning all other than iptv -->
-            <mm:action service="Service.ActionHandler" interface="IDataAction" condition="tvvideoquery:results/[$index]/data_map/tvvideolastwtype=1">
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>                
-                        <mm:key name="data">
-                            <mm:key name="message" type="string" value="ELaunchVideoToPlayer"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>      
-        
-        
-        <!-- show "play" in the options -menu, if there is item played   -->  
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_PLAY" event="key:select" position="0" condition="tvvideoquery:results/[$index]/data_map/tvvideolastwtype &gt; 0"/>
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_SETTINGS" event="custom:vcxnslaunchsettings" position="1"/>       
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_HELP" event="custom:vcxnslaunchhelp" position="2"/>        
-    </mm:item> 
-    
-    <!-- my videos item definition -->
-    <mm:item count="1" template="logical_template_6a" id="tvvideomyvideos">
-    
-        <mm:query namespace="tvvideoquery" service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command mode="sync" name="GetList">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="myvideoscontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command name="RequestNotification">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="myvideoscontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                  </mm:key>
-            </mm:command>
-        </mm:notify_request>
-        <mm:output alias="mul_title" type="string" value="tvvideosuite_loc:R_VCXNS_MMENU_MY_VIDEOS_TITLE"/>
-                        
-        <!-- detail if one new video -->
-        <mm:output alias="mul_detail" type="string" condition="tvvideoquery:results/[$index]/data_map/tvvideocountvalue = 1  &amp; 
-                                                          tvvideoquery:results/[$index]/data_map/tvvideohasnewvideos = 1">
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_ONE_NEW_VIDEO">
-                <mm:param value="tvvideoquery:results/[$index]/data_map/tvvideonamevalue"/>
-            </mm:text>
-        </mm:output> 
-        
-        <!-- detail if more than one new videos -->
-        <mm:output alias="mul_detail" type="string" condition="tvvideoquery:results/[$index]/data_map/tvvideocountvalue &gt; 1 &amp; 
-                                                          tvvideoquery:results/[$index]/data_map/tvvideohasnewvideos = 1">
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_N_NEW_VIDEOS">
-                <mm:param value="tvvideoquery:results/[$index]/data_map/tvvideocountvalue"/>
-                <mm:param value="tvvideoquery:results/[$index]/data_map/tvvideonamevalue"/>
-            </mm:text>
-        </mm:output>
-        
-        <!-- detail if no new videos but one video -->
-         <mm:output alias="mul_detail" type="string" condition="tvvideoquery:results/[$index]/data_map/tvvideocountvalue = 1 &amp;
-                                                                tvvideoquery:results/[$index]/data_map/tvvideohasnewvideos = 0">
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_ONE_VIDEO"/>
-        </mm:output> 
-        
-        <!-- detail if no new videos but more than one videos -->
-        <mm:output alias="mul_detail" type="string" condition="tvvideoquery:results/[$index]/data_map/tvvideocountvalue &gt; 1 &amp;
-                                                                tvvideoquery:results/[$index]/data_map/tvvideohasnewvideos = 0">
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_N_VIDEOS">
-                <mm:param value="tvvideoquery:results/[$index]/data_map/tvvideocountvalue"/>
-            </mm:text>
-        </mm:output> 
-        
-        <!-- no videos by default-->    
-        <mm:output alias="mul_detail" >
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_NO_VIDEOS"/>
-        </mm:output>
- 
-        <!-- My Videos icon is qgn_prop_mp_folder_video.
-        AknsConstants.h defines KAknsIIDQgnPropMpFolderVideo skin-ids.
-        And videosuite.mbg defines EMbmVideosuiteQgn_prop_mp_folder_video = 16386,
-                                   EMbmVideosuiteQgn_prop_mp_folder_video_mask = 16387 -->
-        <mm:output alias="mul_icon">
-            <mm:image skinid_major="0x101F86E3" skinid_minor="0x18ff" bitmap_id="16386" mask_id="16387" mif_file="videosuite.mif"/>
-        </mm:output> 
-
-        <mm:event event="key:select">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>
-                        <mm:key name="data">
-                            <mm:key name="message" type="string" value="EOpenVideoStorage"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event> 
- 
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_OPEN" event="key:select" position="0"/>        
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_SETTINGS" event="custom:vcxnslaunchsettings" position="1"/>              
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_HELP" event="custom:vcxnslaunchhelp" position="2"/>        
-    </mm:item>
-   
-    <!-- video feeds item -->
-    <mm:item count="1" template="logical_template_6a" id="tvvideovideofeeds">
-   
-        <mm:query namespace="tvvideoquery" service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command mode="sync" name="GetList">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="videofeedcontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command name="RequestNotification">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="videofeedcontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                </mm:key>
-            </mm:command>
-        </mm:notify_request>
-      
-        <mm:output alias="mul_title" type="string" value="tvvideosuite_loc:R_VCXNS_MMENU_VIDEO_FEEDS_TITLE"/> 
-        <!-- detail if one feed -->
-        <mm:output alias="mul_detail" type="string" condition="tvvideoquery:results/[$index]/data_map/tvvideocountvalue = 1">
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_ONE_FEED"/>
-        </mm:output> 
-        <!-- detail if more than one feed -->
-        <mm:output alias="mul_detail" type="string" condition="tvvideoquery:results/[$index]/data_map/tvvideocountvalue &gt; 1">
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_N_FEEDS">
-                <mm:param value="tvvideoquery:results/[$index]/data_map/tvvideocountvalue"/>
-            </mm:text>
-        </mm:output> 
-        <!-- detail no feeds -->
-        <mm:output alias="mul_detail">
-            <mm:text value="tvvideosuite_loc:R_VCXNS_MMENU_NO_FEEDS"/>
-        </mm:output>
-        
-        <!-- Video Feeds icon is qgn_prop_mp_video_feeds
-        AknsConstants.h defines KAknsIIDQgnPropMpVideoFeeds skin-ids.
-        And videosuite.mbg defines EMbmVideosuiteQgn_prop_mp_video_feeds = 16388,
-                                   EMbmVideosuiteQgn_prop_mp_video_feeds_mask = 16389 -->
-        <mm:output alias="mul_icon">
-            <mm:image skinid_major="0x101F86E3" skinid_minor="0x23d5" bitmap_id="16388" mask_id="16389" mif_file="videosuite.mif"/>
-        </mm:output> 
-
-        <mm:event event="key:select">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>
-                        <mm:key name="data">
-                               <mm:key name="message" type="string" value="EOpenInternetVideos"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action>                        
-        </mm:event>   
-
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_OPEN" event="key:select" position="0"/>        
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_SETTINGS" event="custom:vcxnslaunchsettings" position="1"/>         
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_HELP" event="custom:vcxnslaunchhelp" position="2"/>               
-    </mm:item> 
-      
-    <!-- preloaded video item definition -->  
-    <mm:item count="tvvideoquery:results/[$count]" template="logical_template_6a" id="tvvideopreloaded"> 
-                                      
-        <mm:query namespace="tvvideoquery" service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command mode="sync" name="GetList">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="preloadedcontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command name="RequestNotification">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="preloadedcontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                </mm:key>
-            </mm:command>
-        </mm:notify_request>
-                                               
-        <mm:output alias="mul_title" type="string" value="tvvideoquery:results/[$index]/data_map/tvvideonamevalue"/>    
-        <mm:output alias="mul_icon">
-            <mm:image file="tvvideoquery:results/[$index]/data_map/tvvideoiconpath"/> 
-        </mm:output> 
-        <mm:event event="key:select">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>
-                        <mm:key name="data">
-                            <mm:key name="message" type="string" value="ELaunchVideoToPlayer"/>
-                            <mm:key name="message_data" type="string" value="tvvideoquery:results/[$index]/data_map/tvvideopath"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action>    
-        </mm:event>
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_PLAY" event="key:select" position="0"/>
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_SETTINGS" event="custom:vcxnslaunchsettings" position="1"/>        
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_HELP" event="custom:vcxnslaunchhelp" position="2"/>       
-    </mm:item>
-
-    <!-- preloaded service group item definition -->
-    <mm:item count="tvvideoquery:results/[$count]" template="logical_template_6a" id="tvvideovideoservice">
-   
-       <mm:query namespace="tvvideoquery" service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command mode="sync" name="GetList">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="servicecontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
-            <mm:command name="RequestNotification">
-                <mm:key name="type" type="string" value="cp_data"/>
-                <mm:key name="filter">
-                    <mm:key name="publisher" type="string" value="tvvideopublisher"/>
-                    <mm:key name="content_type" type="string" value="servicecontent"/>
-                    <mm:key name="content_id" type="string" value="menucontentid"/> 
-                </mm:key>
-            </mm:command>
-        </mm:notify_request>
-         
-        <mm:output alias="mul_title" type="string" value="tvvideoquery:results/[$index]/data_map/tvvideonamevalue"/>
-        <mm:output alias="mul_icon">
-            <mm:image file="tvvideoquery:results/[$index]/data_map/tvvideoiconpath"/> 
-        </mm:output> 
-        
-        <mm:event event="key:select">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                    <mm:key>
-                        <mm:key name="plugin_id" type="uid" value="0x20016B9F"/>
-                        <mm:key name="data">
-                            <mm:key name="message" type="string" value="ELaunchVod"/>
-                            <mm:key name="message_data" type="integer" value="tvvideoquery:results/[$index]/data_map/tvvideoidvalue"/>
-                        </mm:key>
-                    </mm:key>
-                </mm:command>
-            </mm:action>    
-        </mm:event>
-        
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_OPEN" event="key:select" position="0"/>        
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_SETTINGS" event="custom:vcxnslaunchsettings" position="1"/>     
-        <mm:menuitem name="tvvideosuite_loc:R_VCXNS_MMENU_OPTIONS_HELP" event="custom:vcxnslaunchhelp" position="2"/>       
-    </mm:item>
-
-</mm:content>
-
-
--- a/homescreenplugins/videosuiteconf/data/videosuiteres.rss	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    contains localised resources to be used in video menu suite*
-*/
-
-
-NAME VODN
-
-#include <eikon.rsg>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-
-#include <ipvideo.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf=""; }
-
-
-RESOURCE TBUF r_vcxns_mmenu_suite_title
-    {
-    buf = qtn_vcx_title_suite;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_last_watched_title
-    {
-    buf = qtn_vcx_ns_list_last_watched;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_my_videos_title
-    {
-    buf = qtn_vcx_ns_list_my_videos;
-    }  
-    
-RESOURCE TBUF r_vcxns_mmenu_video_feeds_title
-    {
-    buf = qtn_vcx_ns_list_video_feeds;
-    }  
-    
-RESOURCE TBUF r_vcxns_mmenu_last_watched_name
-    {
-    buf = qtn_vcx_ns_list_last_watched_name;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_no_videos
-    {
-    buf = qtn_vcx_ns_list_no_videos;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_one_video
-    {
-    buf = qtn_vcx_ns_list_my_videos_amount_one;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_n_videos
-    {
-    buf = qtn_vcx_ns_list_my_videos_amount;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_one_new_video
-    {
-    buf = qtn_vcx_ns_one_new_video;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_n_new_videos
-    {
-    buf = qtn_vcx_ns_n_new_videos;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_no_feeds
-    {
-    buf = qtn_vcx_ns_no_feeds;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_one_feed
-    {
-    buf = qtn_vcx_ns_one_feed;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_n_feeds
-    {
-    buf = qtn_vcx_ns_list_video_feeds_amount;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_options_play
-    {
-    buf = qtn_iptv_play;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_options_open
-    {
-    buf = qtn_vcx_options_open;
-    }
-
-RESOURCE TBUF r_vcxns_mmenu_options_settings
-    {
-    buf = qtn_vcx_options_settings;
-    }
-
-RESOURCE TBUF R_vcxns_mmenu_options_help    
-    {
-    buf = qtn_options_help;
-    }
-
-
-// End of File
--- a/homescreenplugins/videosuiteconf/eabi/dummyVideou.def	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z7E32Mainv @ 1 NONAME
-
--- a/homescreenplugins/videosuiteconf/group/bld.inf	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:    bld.inf*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../rom/videomatrixmenu.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(videomatrixmenu.iby)
-
-../data/suite.xml /epoc32/release/winscw/udeb/z/private/101f4cd2/import/suites/tvvideosuite/suite.xml
-../data/vcns_matrix_items.xml /epoc32/release/winscw/udeb/z/private/101f4cd2/import/suites/tvvideosuite/vcns_matrix_items.xml
-
-../data/suite.xml /epoc32/data/z/private/101f4cd2/import/suites/tvvideosuite/suite.xml
-../data/vcns_matrix_items.xml /epoc32/data/z/private/101f4cd2/import/suites/tvvideosuite/vcns_matrix_items.xml
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE videosuite.mif
-  OPTION HEADERFILE videosuite.mbg
-  OPTION SOURCES \
-    -c8,8 qgn_prop_file_video \
-    -c8,8 qgn_prop_mp_folder_video \
-    -c8,8 qgn_prop_mp_video_feeds
-END
-
-PRJ_MMPFILES
-videosuiteconf.mmp
-#ifndef SBSV2
-gnumakefile export_videosuiteconf.mk
-#endif // SBSV2
-
-PRJ_EXTENSIONS
-#if defined(SBSV2) && defined(WINSCW)
-START EXTENSION general/copyheaderfile
-  SRCFILE videosuiteres.rsg
-END
-#endif // defined(SBSV2) && defined(WINSCW)
-
-PRJ_TESTMMPFILES
-PRJ_TESTEXPORTS
-
-//  End of File
--- a/homescreenplugins/videosuiteconf/group/export_videosuiteconf.mk	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +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 the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-
-FINAL :
-	echo Exporting .rsg files...
-	perl -S ecopyfile.pl /epoc32/include/videosuiteres.rsg /epoc32/release/winscw/udeb/Z/resource/apps/videosuiteres.rsg
-    
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
\ No newline at end of file
--- a/homescreenplugins/videosuiteconf/group/videosuiteconf.mmp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          dummyvideo.dll
-TARGETTYPE      dll
-
-CAPABILITY      CAP_GENERAL_DLL
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
-
-SOURCEPATH      ../src
-SOURCE          dummy.cpp
-
-SOURCEPATH      .
-
-START RESOURCE  ../data/videosuiteres.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-
-LANGUAGE_IDS
-END
-
-// End of file
--- a/homescreenplugins/videosuiteconf/rom/videomatrixmenu.iby	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 VIDEOPLMATRIXMENU_IBY
-#define VIDEOPLMATRIXMENU_IBY
-
-data=DATAZ_\resource\apps\videosuiteres.rsc		resource\apps\videosuiteres.rsc
-data=\epoc32\include\videosuiteres.rsg resource\apps\videosuiteres.rsg
-data=DATAZ_\resource\apps\videosuite.mif resource\apps\videosuite.mif
-data=\epoc32\data\z\private\101F4CD2\import\suites\tvvideosuite\suite.xml private\101F4CD2\import\suites\tvvideosuite\suite.xml
-data=\epoc32\data\z\private\101F4CD2\import\suites\tvvideosuite\vcns_matrix_items.xml private\101F4CD2\import\suites\tvvideosuite\vcns_matrix_items.xml
-
-#endif // VIDEOPLMATRIXMENU_IBY
\ No newline at end of file
--- a/homescreenplugins/videosuiteconf/src/dummy.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <e32def.h>
-
-EXPORT_C int E32Main()
-{
-	return 0;
-}
--- a/mediasettings/mediasettingsapp/inc/MPSettingsNetworkContainer.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Declares container control for application.*
-*/
-
-
-// Version : %version: 2 %
-
-
-
-#ifndef MPSETTINGSNETWORKCONTAINER_H
-#define MPSETTINGSNETWORKCONTAINER_H
-
-// INCLUDES
-#include    "MPSettingsBaseContainer.h"
-   
-// FORWARD DECLARATIONS
-class CMPSettingsNetworkSettingItemList;
-class CMPSettingsModelForROP;   
-
-// CLASS DECLARATION
-
-/**
-*  CMPSettingsNetworkContainer container control class.
-*  
-*  @lib MediaSettings.app
-*  @since 2.0
-*/
-class CMPSettingsNetworkContainer : public CMPSettingsBaseContainer
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        */
-        CMPSettingsNetworkContainer(CMPSettingsModelForROP* aModel);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CMPSettingsNetworkContainer();
-
-    public: // New
-
-        /**
-        * Edits current setting item.
-        * @since 2.0
-        */
-        void EditCurrentItemFromMenuL();
-
-    public: // Functions from base classes
-            
-        /**
-        * From CoeControl
-        */
-        void GetHelpContext(TCoeHelpContext& aContext) const;
-		void FocusChanged(TDrawNow /*aDrawNow*/);
-  		void SizeChanged();
-  		void HandleResourceChange(TInt aType);
-  
-    protected: // Functions from base classes 
-
-        /**
-        * From CMPSettingsBaseContainer
-        */
-        void ConstructComponentControlsL();
-
-    private:  // Functions from base classes
-
-        /**
-        * From CMPSettingsBaseContainer
-        */
-        TInt TitleResourceId();
-
-    private:
-        CMPSettingsNetworkSettingItemList* iSettingList;
-		CMPSettingsModelForROP* iModel;      
-    };
-
-#endif // MPSETTINGSNETWORKCONTAINER_H
-
-// End of File
--- a/mediasettings/mediasettingsapp/inc/MPSettingsNetworkSettingItemList.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Setting item list class for Network setting list view.*
-*/
-
-
-// Version : %version: 4 %
-
-
-
-
-#ifndef MPSETTINGSNETWORKSETTINGITEMLIST_H
-#define MPSETTINGSNETWORKSETTINGITEMLIST_H
-
-//  INCLUDES
-#include    <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-class CMPSettingsModelForROP;
-
-// CONSTANTS
-const TInt KMaxApNameLength = 255;
-
-// CLASS DECLARATION
-
-/**
-*  CMPSettingsNetworkSettingItemList
-*  Setting item list class for Network setting list view.
-*
-*  @lib MediaSettings.app
-*  @since 2.0
-*/
-class CMPSettingsNetworkSettingItemList : public CAknSettingItemList
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        */
-        CMPSettingsNetworkSettingItemList(CMPSettingsModelForROP* aModel);
-
-	    /**
-	    * 2nd-stage construction from resource id, replaces non-virtual base 
-        * class function.
-	    */
-	    void ConstructFromResourceL(TInt aResourceId);
-
-        /**
-        * From CCoeControl, 2nd-stage construction from constructed resource reader
-        */
-        void ConstructFromResourceL(TResourceReader& aReader);
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CMPSettingsNetworkSettingItemList();
-
-    public:     // Functions from base classes
-
-        /**
-        * From CAknSettingItemList
-        * @param aIndex Current item's (Visible) index in the list
-        * @param aCalledFromMenu True if function was called from Options menu.
-        */
-        void EditItemL(TInt aIndex, TBool aCalledFromMenu);
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From CAknSettingItemList
-        * Framework method to create a setting item based upon the user id aSettingId. The 
-        * client code decides what type to contruct.  new (ELeave) must then be used and the resulting 
-        * pointer returned. Ownership is thereafter base class's responsiblity.
-        *
-        * @param aSettingId ID to use to determine the type of the setting item
-        * @return a constructed (not 2nd-stage constructed) setting item.
-        */
-        CAknSettingItem* CreateSettingItemL(TInt aSettingId);
-
-    private: //New
-
-        /**
-        * Loads all setting values.
-        * @since 2.0
-        */
-        void LoadAllL();
- 
-        /**
-        * Loads a specific setting value.
-        * @since 2.0
-        * @param aSettingId ID of the setting to be loaded.
-        */
-        void LoadSettingL(TInt aSettingId);
-
-        /**
-        * Stores a specific setting value.
-        * @since 2.0
-        * @param aSettingId ID of the setting to be stored.
-        */
-        void StoreSettingL(TInt aSettingId);
-        
-        /**
-        * Launches the platform dialog for the connection selection.
-        *  
-        */
-        void LaunchConnectionSelectionL();        
-
-        /**
-        * Updates currently selected connection's name to setting item.
-        */
-        void UpdateSelectedConnectionNameL();
-    
-	private: // From MEikListBoxObserver
-
-        /**
-         * Event handling section
-         */
-        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aListBoxEvent );
-        
-    private:
-		CMPSettingsModelForROP* iModel;
-
-        TInt iBandwUsage;
-        TInt iConnTimeout;
-        TInt iSrvTimeout;
-        TUint32 iDefaultAP;
-        TInt iMinUDPPort;
-        TInt iMaxUDPPort;
-        
-        TBuf<KMaxApNameLength> iSelectedApName;
-        CAknTextSettingItem* iSettingConnectionItem;
-    };
-
-#endif      // MPSETTINGSNETWORKSETTINGITEMLIST_H   
-            
-// End of File
--- a/mediasettings/mediasettingsapp/inc/MPSettingsNetworkView.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Declares view for application.*
-*/
-
-
-// Version : %version: 2 %
-
-
-
-#ifndef MPSETTINGSNETWORKVIEW_H
-#define MPSETTINGSNETWORKVIEW_H
-
-// INCLUDES
-#include    "MPSettingsBaseView.h"
-
-// CLASS DECLARATION
-class CMPSettingsModelForROP;
-
-/**
-*  CMPSettingsNetworkView view class.
-* 
-*  @lib MediaSettings.app
-*  @since 2.0
-*/
-class CMPSettingsNetworkView : public CMPSettingsBaseView
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CMPSettingsNetworkView* NewLC(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CMPSettingsNetworkView();
-
-    public: // Functions from base classes
-        
-        /**
-        * From CAknView
-        */
-        TUid Id() const;
-
-        /**
-        * From MEikMenuObserver
-        */
-        void HandleCommandL(TInt aCommand);
-
-        /**
-        * Sets Navipane text
-        * @since 3.1
-        */
-        void SetNaviPaneL();
-        
-    protected: // From CMPSettingsBaseView
-
-        /**
-        * Creates new view specific container class.
-        * @return void
-        */
-        CMPSettingsBaseContainer* NewContainerL();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CMPSettingsNetworkView(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin);
-
-        /**
-        * Symbian 2nd phase constructor.
-        */
-        void ConstructL();
-
-    private: //Data
-    
-        CMPSettingsModelForROP* iModel;
-        TBool   iGsPlugin;
-
-    };
-
-#endif      // MPSETTINGSNETWORKVIEW_H
-
-// End of File
--- a/mediasettings/mediasettingsapp/inc/MPSettingsProxyContainer.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Declares container control for application.*
-*/
-
-
-// Version : %version: 2 %
-
-
-
-#ifndef MPSETTINGSPROXYCONTAINER_H
-#define MPSETTINGSPROXYCONTAINER_H
-
-// INCLUDES
-#include    "MPSettingsBaseContainer.h"
-   
-// FORWARD DECLARATIONS
-class CMPSettingsProxySettingItemList;
-class CMPSettingsModelForROP;
-   
-
-// CLASS DECLARATION
-
-/**
-*  CMPSettingsProxyContainer  container control class.
-*  
-*  @lib MediaSettings.app
-*  @since 2.0
-*/
-class CMPSettingsProxyContainer : public CMPSettingsBaseContainer
-    {
-    public:     // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        */
-        CMPSettingsProxyContainer(CMPSettingsModelForROP* aModel);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CMPSettingsProxyContainer();
-
-    public:     // New
-
-        /**
-        * Edits current setting item.
-        * @since 2.0
-        */
-        void EditCurrentItemFromMenuL(TBool iMenuOption);
-
-    public: // Functions from base classes
-            
-        /**
-        * From CoeControl
-        */
-        void GetHelpContext(TCoeHelpContext& aContext) const;
-		void FocusChanged(TDrawNow /*aDrawNow*/);
-  		void SizeChanged();
-  		void HandleResourceChange(TInt aType);
-  
-    protected:  // Functions from base classes 
-
-        /**
-        * From CMPSettingsBaseContainer
-        */
-        void ConstructComponentControlsL();
-
-    private:    // Functions from base classes
-
-        /**
-        * From CMPSettingsBaseContainer
-        */
-        TInt TitleResourceId();
-
-    private:
-        CMPSettingsProxySettingItemList* iSettingList;
-		CMPSettingsModelForROP* iModel;      
-    };
-
-#endif // MPSETTINGSPROXYCONTAINER_H
-
-// End of File
--- a/mediasettings/mediasettingsapp/inc/MPSettingsProxySettingItemList.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Setting item list class for Proxy setting list view.*
-*/
-
-
-// Version : %version: 3 %
-
-
-
-
-#ifndef MPSETTINGSPROXYSETTINGITEMLIST_H
-#define MPSETTINGSPROXYSETTINGITEMLIST_H
-
-//  INCLUDES
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-class CMPSettingsModelForROP;
-
-// CLASS DECLARATION
-
-/**
-*  CMPSettingsProxySettingItemList
-*  Setting item list class for Proxy setting list view.
-*
-*  @lib MediaSettings.app
-*  @since 2.0
-*/
-class CMPSettingsProxySettingItemList : public CAknSettingItemList
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        */
-        CMPSettingsProxySettingItemList(CMPSettingsModelForROP* aModel);
-
-	    /**
-	    * 2nd-stage construction from resource id
-	    */
-	    void ConstructFromResourceL(TInt aResourceId);
-
-        /**
-        * From CCoeControl, 2nd-stage construction from constructed resource reader
-        */
-        void ConstructFromResourceL(TResourceReader& aReader);
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CMPSettingsProxySettingItemList();
-
-    public:     // Functions from base classes
-
-        /**
-        * From CAknSettingItemList
-        */
-        void EditItemL(TInt aIndex, TBool aCalledFromMenu);
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From CAknSettingItemList
-        */
-        CAknSettingItem* CreateSettingItemL(TInt aSettingId);
-
-    private: //New
-
-        /**
-        * Sets Proxy host and Proxy port item visibility according to Proxy mode.
-        * @since 2.0
-        */
-        void SetItemVisibilityL();
-
-        /**
-        * Loads all setting values.
-        * @since 2.0
-        */
-        void LoadAllL();
-
-        /**
-        * Loads a specific setting value.
-        * @since 2.0
-        * @param aSettingId ID of the setting to be loaded.
-        */
-        void LoadSettingL(TInt aSettingId);
-
-        /**
-        * Stores a specific setting value.
-        * @since 2.0
-        * @param aSettingId ID of the setting to be stored.
-        */
-        void StoreSettingL(TInt aSettingId);
-
-    private:
-        CMPSettingsModelForROP* iModel;
-
-        TBool iProxyMode;
-        HBufC* iProxyHost;
-        TPtr iProxyHostPtr;
-        TInt iProxyPort;
-    };
-
-#endif      // MPSETTINGSPROXYSETTINGITEMLIST_H   
-            
-// End of File
--- a/mediasettings/mediasettingsapp/inc/MPSettingsProxyView.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Declares view for application*
-*/
-
-
-// Version : %version: 2 %
-
-
-
-#ifndef MPSETTINGSPROXYVIEW_H
-#define MPSETTINGSPROXYVIEW_H
-
-// INCLUDES
-#include    "MPSettingsBaseView.h"
-
-// CLASS DECLARATION
-class CMPSettingsModelForROP;
-/**
-*  CMPSettingsProxyView view class.
-* 
-*  @lib MediaSettings.app
-*  @since 2.0
-*/
-class CMPSettingsProxyView : public CMPSettingsBaseView
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CMPSettingsProxyView* NewLC(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CMPSettingsProxyView();
-
-    public: // Functions from base classes
-        
-        /**
-        * From CAknView
-        */
-        TUid Id() const;
-
-        /**
-        * From MEikMenuObserver
-        */
-        void HandleCommandL(TInt aCommand);
-
-        /**
-        * Sets Navipane text
-        * @since 3.1
-        */
-        void SetNaviPaneL();
-        
-    protected: // From CMPSettingsBaseView
-
-        /**
-        * Creates new view specific container class.
-        * @return void
-        */
-        CMPSettingsBaseContainer* NewContainerL();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CMPSettingsProxyView(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin);
-    
-        /**
-        * Symbian 2nd phase constructor.
-        */
-        void ConstructL();
-
-    private: //Data
-    
-        CMPSettingsModelForROP* iModel;
-        TBool   iGsPlugin;
-
-    };
-
-#endif      // MPSETTINGSPROXYVIEW_H
-
-// End of File
--- a/mediasettings/mediasettingsapp/loc/mediasettings.loc	Mon Mar 15 12:40:47 2010 +0200
+++ b/mediasettings/mediasettingsapp/loc/mediasettings.loc	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 */
 
 
-// Version : %version: 6 %
+// Version : %version: 7 %
 
 
 
@@ -41,7 +41,7 @@
 //l:list_single_large_graphic_pane_t1
 //r:5.2
 //
-#define qtn_set_folder_media_player "Video Player"
+#define qtn_set_folder_media_player "Videos"
 
 
 // ** MAIN view **
--- a/mediasettings/mediasettingsapp/src/MPSettingsNetworkContainer.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies 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 class for Network setting list view.*
-*/
-
-
-// Version : %version: 7 %
-
-
-
-// INCLUDE FILES
-#include    <aknlists.h>
-#include    <barsread.h>
-#include    <MediaSettings.rsg>
-#include    <csxhelp/iptv.hlp.hrh>
-
-#include    "MPSettingsApp.h"
-#include    "MPSettingsNetworkContainer.h"
-#include    "MPSettingsNetworkSettingItemList.h"
-#include    "MPSettingsConstants.h"
-#include	"mpxlog.h"
-
-class CMPSettingsModelForROP;
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkContainer::CMPSettingsNetworkContainer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMPSettingsNetworkContainer::CMPSettingsNetworkContainer(CMPSettingsModelForROP* aModel) : iModel( aModel)
-    {
-	MPX_FUNC("#MS# CMPSettingsNetworkContainer::CMPSettingsNetworkContainer()");
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkContainer::~CMPSettingsNetworkContainer
-// Destructor
-// ---------------------------------------------------------
-//
-CMPSettingsNetworkContainer::~CMPSettingsNetworkContainer()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkContainer::~CMPSettingsNetworkContainer()");
-	if (iSettingList) 
-		{
-		delete iSettingList;
-		}
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkContainer::EditCurrentItemFromMenuL
-// ---------------------------------------------------------
-//
-void CMPSettingsNetworkContainer::EditCurrentItemFromMenuL()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkContainer::EditCurrentItemFromMenuL()");
-    TInt index = iListBox->CurrentItemIndex();
-    iSettingList->EditItemL(index, ETrue);
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkContainer::ConstructComponentControlsL
-// ---------------------------------------------------------
-//
-void CMPSettingsNetworkContainer::ConstructComponentControlsL()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkContainer::ConstructComponentControlsL()");
-    iSettingList = new(ELeave) CMPSettingsNetworkSettingItemList(iModel);
-
-    iSettingList->SetContainerWindowL(*this);
-
-    iSettingList->ConstructFromResourceL(R_MPSETT_NETWORK_SETTING_ITEM_LIST);
-
-    iComponentControl = iSettingList;
-    iListBox = iSettingList->ListBox();
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkContainer::TitleResourceId
-// ---------------------------------------------------------
-//
-TInt CMPSettingsNetworkContainer::TitleResourceId()
-    {
-    return R_MPSETT_NETWORK_VIEW_TITLE;
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkContainer::GetHelpContext
-// ---------------------------------------------------------
-//
-void CMPSettingsNetworkContainer::GetHelpContext(TCoeHelpContext& aContext) const
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkContainer::GetHelpContext()");
-    aContext.iMajor = KIptvHelpContextUid;
-    aContext.iContext = KIPTV_HLP_SETTINGS;
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CMPSettingsNetworkContainer::FocusChanged(TDrawNow /*aDrawNow*/)
-	{
-		if( iListBox)
-        {
-        iListBox->SetFocus( IsFocused() );
-        }
-
-		if( iComponentControl)
-        {
-        iComponentControl->SetFocus( IsFocused() );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// CMPSettingsNetworkContainer::SizeChanged()
-// Called by framwork when the view size is changed
-// ---------------------------------------------------------------------------
-//
-void CMPSettingsNetworkContainer::SizeChanged()
-    {
-		if (iListBox)
-        {
-        iListBox->SetRect(Rect());
-        }
-
-		if( iComponentControl)
-        {
-        iComponentControl->SetRect(Rect());
-        }
-    }
-    
-// ---------------------------------------------------------
-// CMPSettingsNetworkContainer::HandleResourceChange
-// Handles a resource relative event 
-// ---------------------------------------------------------
-//
-void CMPSettingsNetworkContainer::HandleResourceChange( TInt aType )
-    {
-		MPX_DEBUG2(_L("#MS# CMPSettingsNetworkContainer::HandleResourceChange(0x%X)"),aType);
-		if ( aType == KEikDynamicLayoutVariantSwitch ) //Handle change in layout orientation
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
-        SetRect( mainPaneRect );
-		DrawNow();
-		}
-		CCoeControl::HandleResourceChange( aType );  
-    }
-// End of File  
--- a/mediasettings/mediasettingsapp/src/MPSettingsNetworkSettingItemList.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,340 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Setting item list class for Network setting list view.*
-*/
-
-
-// Version : %version: 10 %
-
-
-
-
-// INCLUDE FILES
-#include    <eikappui.h>
-#include    <MediaSettings.rsg>
-#include    <barsread.h>
-
-#include <cmmanagerext.h>
-#include <cmdestinationext.h>
-#include <cmapplicationsettingsui.h>
-
-#include "mediasettings.hrh"
-#include "MPSettingsNetworkSettingItemList.h"
-#include "MPSettingsSliderSettingItem.h"
-#include "MPSettingsUDPPortSettingItem.h"
-#include "MPSettingsModelForROP.h"
-#include "mpxlog.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::CMPSettingsNetworkSettingItemList
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMPSettingsNetworkSettingItemList::CMPSettingsNetworkSettingItemList(CMPSettingsModelForROP* aModel) 
-	: iModel( aModel)
-    {
-	MPX_FUNC("#MS# CMPSettingsNetworkSettingItemList::CMPSettingsNetworkSettingItemList()");
-    }
-    
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::ConstructFromResourceL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::ConstructFromResourceL(TInt aResourceId) 
-    {
-	MPX_DEBUG2(_L("#MS# CMPSettingsNetworkSettingItemList::ConstructFromResourceL(0x%X)"),aResourceId);
-	TResourceReader reader;
-	iCoeEnv->CreateResourceReaderLC(reader, aResourceId);
-	ConstructFromResourceL(reader);
-    CleanupStack::PopAndDestroy(); // reader
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::ConstructFromResourceL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::ConstructFromResourceL(TResourceReader& aReader) 
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkSettingItemList::ConstructFromResourceL()");
-    LoadAllL();
-    CAknSettingItemList::ConstructFromResourceL(aReader);
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::~CMPSettingsNetworkSettingItemList
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CMPSettingsNetworkSettingItemList::~CMPSettingsNetworkSettingItemList()
-    {  
-    MPX_FUNC("#MS# CMPSettingsNetworkSettingItemList::~CMPSettingsNetworkSettingItemList()");
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::EditItemL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::EditItemL(TInt aIndex, TBool aCalledFromMenu)
-    {
-    MPX_DEBUG3(_L("#MS# CMPSettingsNetworkSettingItemList::EditItemL(%d,%d)"),aIndex,aCalledFromMenu);
-    CAknSettingItem* settingItem = SettingItemArray()->At(aIndex);
-    TInt identifier = settingItem->Identifier();
-
-    if ( identifier == EMPSettDefaultAPSettingId )
-        {
-        LaunchConnectionSelectionL();
-        }
-    else
-        {
-        // Call base call's method
-        CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
-        }
-
-    // Store setting value to settings model
-    settingItem->StoreL();   
-    StoreSettingL(identifier);
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::CreateSettingItemL
-// -----------------------------------------------------------------------------
-//
-CAknSettingItem* CMPSettingsNetworkSettingItemList::CreateSettingItemL(TInt aSettingId)
-    {   
-    MPX_DEBUG2(_L("#MS# CMPSettingsNetworkSettingItemList::CreateSettingItemL(%d)"),aSettingId);
-    CAknSettingItem* settingItem = NULL;
-
-    switch (aSettingId)
-        {
-        case EMPSettDefaultAPSettingId:        
-            iSettingConnectionItem = new (ELeave) CAknTextSettingItem( aSettingId, iSelectedApName);
-            settingItem = iSettingConnectionItem;
-            break;
-        
-        /*case EMPSettConnTimeoutSettingId:
-            settingItem = new(ELeave) CMPSettingsSliderSettingItem(aSettingId, iConnTimeout,
-                                        R_MPSETT_TIMEOUT_SLIDER);
-            break;
-        case EMPSettServerTimeoutSettingId:
-            settingItem = new(ELeave) CMPSettingsSliderSettingItem(aSettingId, iSrvTimeout,
-                                        R_MPSETT_TIMEOUT_SLIDER);
-            break;*/
-        case EMPSettMinUDPPortSettingId:
-            settingItem = new(ELeave) CMPSettingsUDPPortSettingItem(aSettingId, iMinUDPPort, iMaxUDPPort);
-            break;            
-        case EMPSettMaxUDPPortSettingId:
-            settingItem = new(ELeave) CMPSettingsUDPPortSettingItem(aSettingId, iMaxUDPPort, iMinUDPPort);
-            break;            
-        default:
-            break;
-        }
-
-    return settingItem;   
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::LoadAllL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::LoadAllL()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkSettingItemList::LoadAllL()");
-    iModel->LoadSettingsL(EConfigUser);
-    LoadSettingL(EMPSettDefaultAPSettingId);
-    LoadSettingL(EMPSettConnTimeoutSettingId);
-    LoadSettingL(EMPSettServerTimeoutSettingId);
-    LoadSettingL(EMPSettMinUDPPortSettingId);
-    LoadSettingL(EMPSettMaxUDPPortSettingId);
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::LoadSettingL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::LoadSettingL(TInt aSettingId)
-    {
-    MPX_DEBUG2(_L("#MS# CMPSettingsNetworkSettingItemList::LoadSettingL(%d)"),aSettingId);
-    switch (aSettingId)
-        {
-        case EMPSettDefaultAPSettingId:
-            {
-            iModel->GetDefaultAp( iDefaultAP );
-
-            if ( iDefaultAP != 0 ) 
-                {
-                RCmManagerExt cmManager;
-                CleanupClosePushL( cmManager );
-                cmManager.OpenL();
-        
-                HBufC* tmpBuf = cmManager.GetConnectionMethodInfoStringL( iDefaultAP, CMManager::ECmName);
-                if( tmpBuf && tmpBuf->Length() < KMaxApNameLength )
-                    {
-                    iSelectedApName = *tmpBuf;
-                    }
-                CleanupStack::PopAndDestroy( &cmManager );
-                }
-            }
-            break;
-        case EMPSettConnTimeoutSettingId:
-            iModel->GetConnectionTimeout(iConnTimeout);
-            break;
-        case EMPSettServerTimeoutSettingId:
-            iModel->GetServerTimeout(iSrvTimeout);
-            break;
-        case EMPSettMinUDPPortSettingId:
-            iModel->GetMinUDPPort(iMinUDPPort);
-            break;
-        case EMPSettMaxUDPPortSettingId:
-            iModel->GetMaxUDPPort(iMaxUDPPort);
-            break;
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::StoreSettingL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::StoreSettingL(TInt aSettingId)
-    {
-	MPX_DEBUG2(_L("#MS# CMPSettingsNetworkSettingItemList::StoreSettingL(%d)"),aSettingId);
-    switch (aSettingId)
-        {
-        case EMPSettDefaultAPSettingId:
-            iModel->SetDefaultAp(iDefaultAP);
-            break;
-        case EMPSettConnTimeoutSettingId:
-            iModel->SetConnectionTimeout(iConnTimeout);
-            break;
-        case EMPSettServerTimeoutSettingId:
-            iModel->SetServerTimeout(iSrvTimeout);
-            break;
-        case EMPSettMinUDPPortSettingId:
-            iModel->SetMinUDPPort(iMinUDPPort);
-            break;
-        case EMPSettMaxUDPPortSettingId:
-            iModel->SetMaxUDPPort(iMaxUDPPort);
-            break;
-        default:
-            break;
-        }
-    
-    iModel->StoreSettingsL();
-    }
-
-// --------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::HandleListBoxEventL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::HandleListBoxEventL(
-    CEikListBox* aListBox,
-    TListBoxEvent aListBoxEvent )
-    {
-    if ( ( aListBoxEvent == EEventEnterKeyPressed ) ||
-	     ( aListBoxEvent == EEventItemSingleClicked ) ||
-         ( aListBoxEvent == EEventItemDoubleClicked ) )
-        {
-        CAknSettingItemList::HandleListBoxEventL( aListBox, aListBoxEvent );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::LaunchConnectionSelectionL()
-// --------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::LaunchConnectionSelectionL()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkSettingItemList::LaunchConnectionSelectionL()");
-    
-    CCmApplicationSettingsUi* settingsUi = CCmApplicationSettingsUi::NewL();
-    CleanupStack::PushL ( settingsUi );
-    
-    TCmSettingSelection selection;
-    selection.iId = iDefaultAP;
-    selection.iResult = CMManager::EConnectionMethod;
-    
-    TUint listItems = CMManager::EShowConnectionMethods;
-    
-    TBearerFilterArray filters;
-    
-    TBool retVal = settingsUi->RunApplicationSettingsL( selection, listItems, filters );
-
-    if ( retVal )
-        {
-        switch ( selection.iResult )
-            {
-            case CMManager::EDestination:
-            case CMManager::EAlwaysAsk:
-                break;
-
-            case CMManager::EConnectionMethod:
-                {
-                iDefaultAP = selection.iId;
-                }
-                break;
-
-            default:
-                break;
-            }
-        
-        UpdateSelectedConnectionNameL( );
-        
-        if ( iSettingConnectionItem )
-            {
-            iSettingConnectionItem->LoadL ( );
-            iSettingConnectionItem->UpdateListBoxTextL ( );
-            }
-        DrawDeferred();
-        }
-    
-    CleanupStack::PopAndDestroy ( settingsUi );
-    }
-
-// --------------------------------------------------------------------------
-// CMPSettingsNetworkSettingItemList::UpdateSelectedConnectionNameL
-// --------------------------------------------------------------------------
-//
-void CMPSettingsNetworkSettingItemList::UpdateSelectedConnectionNameL()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkSettingItemList::UpdateSelectedConnectionNameL()");
-    
-    RCmManagerExt cmManager;
-    RCmConnectionMethodExt connMethod;
-
-    CleanupClosePushL( cmManager );
-    CleanupClosePushL( connMethod );
-    
-    cmManager.OpenL();
-
-    // This leaves if conn method is not found.
-    TRAPD( leave, connMethod = cmManager.ConnectionMethodL( iDefaultAP ) );
-    if ( KErrNone == leave )
-        {
-        // HBufC* tmpBuf = destination.NameLC();
-        HBufC* tmpBuf = cmManager.GetConnectionMethodInfoStringL( iDefaultAP, CMManager::ECmName);
-
-        if( tmpBuf && tmpBuf->Length() < KMaxApNameLength )
-            {
-            iSelectedApName = *tmpBuf;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &connMethod );
-    CleanupStack::PopAndDestroy( &cmManager );
-    }
-//  End of File  
--- a/mediasettings/mediasettingsapp/src/MPSettingsNetworkView.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   View class for Network settings list view.*
-*/
-
-
-// Version : %version: 6 %
-
-
-
-// INCLUDE FILES
-#include    <aknViewAppUi.h>
-#include    <hlplch.h>             // For HlpLauncher
-#include    <featmgr.h>
-#include    <MediaSettings.rsg>
-#include    "mediasettings.hrh"
-#include    "MPSettingsNaviPaneController.h"
-#include    "MPSettingsNetworkView.h"
-#include    "MPSettingsNetworkContainer.h"
-#include    "MPSettingsConstants.h" 
-#include    "mpxlog.h"
-
-class CMPSettingsModelForROP;
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkView::CMPSettingsNetworkView
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMPSettingsNetworkView::CMPSettingsNetworkView(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin) 
-    : iModel( aModel), iGsPlugin(iConstructAsGsPlugin)
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkView::CMPSettingsNetworkView()");
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkView::ConstructL(const TRect& aRect)
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------
-//
-void CMPSettingsNetworkView::ConstructL()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkView::ConstructL()");
-    BaseConstructL(R_MPSETT_NETWORK_VIEW);
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsNetworkView::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CMPSettingsNetworkView* CMPSettingsNetworkView::NewLC(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin)
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkView::NewLC()");
-    CMPSettingsNetworkView* self = new(ELeave) CMPSettingsNetworkView(aModel,iConstructAsGsPlugin);
-    
-    CleanupStack::PushL(self);
-    self->ConstructL();
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkView::~CMPSettingsNetworkView()
-// Destructor
-// ---------------------------------------------------------
-//
-CMPSettingsNetworkView::~CMPSettingsNetworkView()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkView::~CMPSettingsNetworkView()");
-    }
-
-// ---------------------------------------------------------
-// TUid CMPSettingsNetworkView::Id
-// ---------------------------------------------------------
-//
-TUid CMPSettingsNetworkView::Id() const
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkView::Id()");
-    return KMPSettNetworkViewId;
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsNetworkView::HandleCommandL
-// ---------------------------------------------------------
-//
-void CMPSettingsNetworkView::HandleCommandL(TInt aCommand)
-    {   
-    MPX_DEBUG2(_L("#MS# CMPSettingsNetworkView::HandleCommandL(%d)"),aCommand);
-    switch (aCommand)
-        {
-        case EMPSettCmdChange:
-            static_cast<CMPSettingsNetworkContainer*>(iContainer)->EditCurrentItemFromMenuL();
-            break;
-        case EMPSettCmdAdvancedSett:
-            AppUi()->ActivateLocalViewL(KMPSettAdvancedBwViewId);
-            break;
-        case EAknSoftkeyBack:
-            AppUi()->ActivateLocalViewL(KMPSettStreamingViewId);
-            break;
-        case EMPSettCmdHelp:
-            if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-                HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
-            }
-            break;
-        default:
-            AppUi()->HandleCommandL(aCommand);
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CMPSettingsNetworkView::NewContainerL
-// ---------------------------------------------------------------------------
-//
-CMPSettingsBaseContainer* CMPSettingsNetworkView::NewContainerL()
-    {
-    MPX_FUNC("#MS# CMPSettingsNetworkView::NewContainerL()");
-    return new(ELeave) CMPSettingsNetworkContainer(iModel);
-    }  
-
-// ---------------------------------------------------------------------------
-// CMPSettingsNetworkView::SetNaviPaneL
-// Sets Navipane texts.
-// ---------------------------------------------------------------------------
-//
-void CMPSettingsNetworkView::SetNaviPaneL()
-    {
-    MPX_DEBUG2(_L("#MS# CMPSettingsNetworkView::SetNaviPaneL() iGsPlugin(%d)"),iGsPlugin);
-    if (!iGsPlugin)
-        {
-        iNaviPaneContext = NULL;
-        CMPSettingsBaseView::SetNaviPaneL();
-        }
-    CMPSettingsBaseView::SetMiddleSoftKeyLabelL(R_MEDIASETTING_MSK_CHANGE,EMPSettCmdChange);
-    }
-// End of File
-
--- a/mediasettings/mediasettingsapp/src/MPSettingsProxyContainer.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies 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 class for Proxy settings list view.*
-*/
-
-
-// Version : %version: 7 %
-
-
-
-// INCLUDE FILES
-#include    <aknlists.h>
-#include    <barsread.h>
-#include    <MediaSettings.rsg>
-#include    <csxhelp/iptv.hlp.hrh>
-
-#include    "MPSettingsApp.h"
-#include    "MPSettingsProxyContainer.h"
-#include    "MPSettingsProxySettingItemList.h"
-#include    "MPSettingsConstants.h"
-#include	"mpxlog.h"
-
-class CMPSettingsModelForROP;
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxyContainer::CMPSettingsProxyContainer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMPSettingsProxyContainer::CMPSettingsProxyContainer(CMPSettingsModelForROP* aModel) 
-	: iModel( aModel)
-    {
-	MPX_FUNC("#MS# CMPSettingsProxyContainer::CMPSettingsProxyContainer()");
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyContainer::~CMPSettingsProxyContainer
-// Destructor
-// ---------------------------------------------------------
-//
-CMPSettingsProxyContainer::~CMPSettingsProxyContainer()
-    {
-    MPX_FUNC("#MS# CMPSettingsProxyContainer::~CMPSettingsProxyContainer()");
-	if (iSettingList) 
-		{
-		delete iSettingList;
-		}
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyContainer::EditCurrentItemFromMenuL
-// ---------------------------------------------------------
-//
-void CMPSettingsProxyContainer::EditCurrentItemFromMenuL(TBool iMenuOption)
-    {
-	MPX_DEBUG2(_L("#MS# CMPSettingsProxyContainer::EditCurrentItemFromMenuL(%d)"),iMenuOption);
-    TInt index = iListBox->CurrentItemIndex();
-    iSettingList->EditItemL(index, iMenuOption);
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyContainer::ConstructComponentControlsL
-// ---------------------------------------------------------
-//
-void CMPSettingsProxyContainer::ConstructComponentControlsL()
-    {
-    MPX_FUNC("#MS# CMPSettingsProxyContainer::ConstructComponentControlsL()");
-    iSettingList = new(ELeave) CMPSettingsProxySettingItemList(iModel);
-    iSettingList->SetContainerWindowL(*this);
-    iSettingList->ConstructFromResourceL(R_MPSETT_PROXY_SETTING_ITEM_LIST);
-
-    iComponentControl = iSettingList;
-    iListBox = iSettingList->ListBox();
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyContainer::TitleResourceId
-// ---------------------------------------------------------
-//
-TInt CMPSettingsProxyContainer::TitleResourceId()
-    {
-    return R_MPSETT_PROXY_VIEW_TITLE;
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyContainer::GetHelpContext
-// ---------------------------------------------------------
-//
-void CMPSettingsProxyContainer::GetHelpContext(TCoeHelpContext& aContext) const
-    {
-    MPX_FUNC("#MS# CMPSettingsProxyContainer::GetHelpContext()");
-    aContext.iMajor = KIptvHelpContextUid;
-    aContext.iContext = KIPTV_HLP_SETTINGS;
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CMPSettingsProxyContainer::FocusChanged(TDrawNow /*aDrawNow*/)
-	{
-		if( iListBox)
-        {
-        iListBox->SetFocus( IsFocused() );
-        }
-
-		if( iComponentControl)
-        {
-        iComponentControl->SetFocus( IsFocused() );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// CMPSettingsProxyContainer::SizeChanged()
-// Called by framwork when the view size is changed
-// ---------------------------------------------------------------------------
-//
-void CMPSettingsProxyContainer::SizeChanged()
-    {
-		if (iListBox)
-        {
-        iListBox->SetRect(Rect());
-        }
-
-		if (iComponentControl)
-        {
-        iComponentControl->SetRect(Rect());
-        }
-    }
-    
-// ---------------------------------------------------------
-// CMPSettingsProxyContainer::HandleResourceChange
-// Handles a resource relative event 
-// ---------------------------------------------------------
-//
-void CMPSettingsProxyContainer::HandleResourceChange( TInt aType )
-    {
-	MPX_DEBUG2(_L("#MS# CMPSettingsProxyContainer::HandleResourceChange(0x%X)"),aType);
-	if ( aType == KEikDynamicLayoutVariantSwitch ) //Handle change in layout orientation
-		{
-		TRect mainPaneRect;
-		AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
-		SetRect( mainPaneRect );
-		DrawNow();
-		}
-	CCoeControl::HandleResourceChange( aType );  
-    }
-// End of File  
--- a/mediasettings/mediasettingsapp/src/MPSettingsProxySettingItemList.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-// Version : %version: 3 %
-
-
-
-
-// INCLUDE FILES
-#include    <eikappui.h>
-#include    <akntextsettingpage.h>
-#include    <barsread.h>
-
-#include    "mediasettings.hrh"
-#include    "MPSettingsProxySettingItemList.h"
-#include    "MPSettingsModelForROP.h"
-#include	"mpxlog.h"
-
-// CONSTANTS
-const   TInt    KMPSettProxyHostListItemId  =   1;
-const   TInt    KMPSettProxyPortListItemId  =   2;
-const   TInt    KMPSettProxyHostMaxLength = 1000;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::CMPSettingsProxySettingItemList
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMPSettingsProxySettingItemList::CMPSettingsProxySettingItemList(CMPSettingsModelForROP* aModel) 
-	: iModel( aModel), iProxyHostPtr(NULL, 0)
-    {
-    MPX_DEBUG1(_L("#MS# CMPSettingsProxySettingItemList::CMPSettingsProxySettingItemList()"));
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::ConstructFromResourceL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsProxySettingItemList::ConstructFromResourceL(TInt aResourceId) 
-    {
-    MPX_DEBUG2(_L("#MS# CMPSettingsProxySettingItemList::ConstructFromResourceL(0x%X)"),aResourceId);
-	TResourceReader reader;
-	iCoeEnv->CreateResourceReaderLC(reader, aResourceId);
-	ConstructFromResourceL(reader);
-    CleanupStack::PopAndDestroy(); // reader
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::ConstructFromResourceL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsProxySettingItemList::ConstructFromResourceL(TResourceReader& aReader) 
-    {
-    MPX_DEBUG1(_L("#MS# CMPSettingsProxySettingItemList::ConstructFromResourceL()"));
-    LoadAllL();
-    CAknSettingItemList::ConstructFromResourceL(aReader);
-    SetItemVisibilityL();
-    }
-  
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::~CMPSettingsProxySettingItemList
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CMPSettingsProxySettingItemList::~CMPSettingsProxySettingItemList()
-    {
-    MPX_DEBUG1(_L("#MS# CMPSettingsProxySettingItemList::~CMPSettingsProxySettingItemList()"));
-	if (iProxyHost) 
-		{
-		delete iProxyHost;
-		}
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::EditItemL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsProxySettingItemList::EditItemL(TInt aIndex, TBool aCalledFromMenu)
-    {
-    MPX_DEBUG3(_L("#MS# CMPSettingsProxySettingItemList::EditItemL(%d,%d)"),aIndex,aCalledFromMenu);
-    CAknSettingItem* settingItem = SettingItemArray()->At(aIndex);
-    TInt identifier = settingItem->Identifier();
-
-    // Load current value from settings model
-//    LoadSettingL(identifier);
-//    settingItem->LoadL();
-
-    // Call base call's method
-    CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
-
-    // Store setting value to settings model
-    settingItem->StoreL();   
-    StoreSettingL(identifier);
-
-    // Hide/unhide Proxy port & Proxy host settings according to Proxy mode.
-    if (identifier == EMPSettProxyModeSettingId)
-        {
-        SetItemVisibilityL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::CreateSettingItemL
-// -----------------------------------------------------------------------------
-//
-CAknSettingItem* CMPSettingsProxySettingItemList::CreateSettingItemL(TInt aSettingId)
-    {
-    MPX_DEBUG2(_L("#MS# CMPSettingsProxySettingItemList::CreateSettingItemL(%d)"),aSettingId);
-    __ASSERT_DEBUG(iProxyHost, User::Leave(KErrAbort));
-
-    CAknSettingItem* settingItem  = NULL;
-
-    switch (aSettingId)
-        {
-        case EMPSettProxyModeSettingId:
-            settingItem = new(ELeave) CAknBinaryPopupSettingItem(aSettingId, iProxyMode);
-            break;
-        case EMPSettProxyHostSettingId:
-            {
-            settingItem = new(ELeave) CAknTextSettingItem(aSettingId, iProxyHostPtr);
-            settingItem->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed);
-            break;
-            }
-        case EMPSettProxyPortSettingId:
-            settingItem = new(ELeave) CAknIntegerEdwinSettingItem(aSettingId, iProxyPort);
-            break;            
-        default:
-            break;
-        }
-
-    return settingItem;   
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::SetItemVisibilityL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsProxySettingItemList::SetItemVisibilityL()
-    {
-    MPX_DEBUG2(_L("#MS# CMPSettingsProxySettingItemList::SetItemVisibilityL() iProxyMode(%d)"),iProxyMode);
-    if (iProxyMode)
-        {
-        SettingItemArray()->At(KMPSettProxyHostListItemId)->SetHidden(EFalse);
-        SettingItemArray()->At(KMPSettProxyPortListItemId)->SetHidden(EFalse);
-        }
-    else
-       {
-       SettingItemArray()->At(KMPSettProxyHostListItemId)->SetHidden(ETrue);
-       SettingItemArray()->At(KMPSettProxyPortListItemId)->SetHidden(ETrue);
-       }
-
-    HandleChangeInItemArrayOrVisibilityL();
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::LoadAllL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsProxySettingItemList::LoadAllL()
-    {
-    MPX_DEBUG1(_L("#MS# CMPSettingsProxySettingItemList::LoadAllL()"));
-    iModel->LoadSettingsL(EConfigUser);
-    LoadSettingL(EMPSettProxyModeSettingId);
-    LoadSettingL(EMPSettProxyHostSettingId);
-    LoadSettingL(EMPSettProxyPortSettingId);
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::LoadSettingL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsProxySettingItemList::LoadSettingL(TInt aSettingId)
-    {
-    MPX_DEBUG2(_L("#MS# CMPSettingsProxySettingItemList::LoadSettingL(%d)"),aSettingId);
-    switch (aSettingId)
-        {
-        case EMPSettProxyModeSettingId:
-            iModel->GetProxyMode(iProxyMode);
-            break;
-        case EMPSettProxyHostSettingId:
-            {
-            if (!iProxyHost)
-                {
-                iProxyHost = HBufC::NewL(KMPSettProxyHostMaxLength);
-                iProxyHostPtr.Set(iProxyHost->Des());
-                }
-
-            iModel->GetProxyHostName(iProxyHostPtr);
-            break;
-            }
-        case EMPSettProxyPortSettingId:
-            iModel->GetProxyPort(iProxyPort);
-            break;
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxySettingItemList::StoreSettingL
-// -----------------------------------------------------------------------------
-//
-void CMPSettingsProxySettingItemList::StoreSettingL(TInt aSettingId)
-    {
-    MPX_DEBUG2(_L("#MS# CMPSettingsProxySettingItemList::StoreSettingL(%d)"),aSettingId);
-    switch (aSettingId)
-        {
-        case EMPSettProxyModeSettingId:
-            iModel->SetProxyMode(iProxyMode);
-            break;
-        case EMPSettProxyHostSettingId:
-            iModel->SetProxyHostNameL(*iProxyHost);
-            break;
-        case EMPSettProxyPortSettingId:
-            iModel->SetProxyPort(iProxyPort);
-            break;
-        default:
-            break;
-        }
-
-    iModel->StoreSettingsL();
-    }
-
-
-//  End of File  
--- a/mediasettings/mediasettingsapp/src/MPSettingsProxyView.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   View class for Proxy setting list view.*
-*/
-
-
-// Version : %version: 6 %
-
-
-
-// INCLUDE FILES
-#include    <aknViewAppUi.h>
-#include    <hlplch.h>             // For HlpLauncher
-#include    <featmgr.h>
-#include    <MediaSettings.rsg>
-#include    "mediasettings.hrh"
-#include    "MPSettingsNaviPaneController.h"
-#include    "MPSettingsProxyView.h"
-#include    "MPSettingsProxyContainer.h"
-#include    "MPSettingsConstants.h" 
-#include    "mpxlog.h"
-
-class CMPSettingsModelForROP;
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxyView::CMPSettingsProxyView
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMPSettingsProxyView::CMPSettingsProxyView(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin) 
-    : iModel( aModel), iGsPlugin(iConstructAsGsPlugin)
-    {
-        MPX_FUNC("#MS# CMPSettingsProxyView::CMPSettingsProxyView()");
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyView::ConstructL(const TRect& aRect)
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------
-//
-void CMPSettingsProxyView::ConstructL()
-    {
-    MPX_FUNC("#MS# CMPSettingsProxyView::ConstructL()");
-    BaseConstructL(R_MPSETT_PROXY_VIEW);
-    }
-
-// -----------------------------------------------------------------------------
-// CMPSettingsProxyView::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CMPSettingsProxyView* CMPSettingsProxyView::NewLC(CMPSettingsModelForROP* aModel, TBool iConstructAsGsPlugin)
-    {
-    MPX_FUNC("#MS# CMPSettingsProxyView::NewLC()");
-    CMPSettingsProxyView* self = new(ELeave) CMPSettingsProxyView(aModel,iConstructAsGsPlugin);
-    
-    CleanupStack::PushL(self);
-    self->ConstructL();
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyView::~CMPSettingsProxyView()
-// Destructor
-// ---------------------------------------------------------
-//
-CMPSettingsProxyView::~CMPSettingsProxyView()
-    {
-    MPX_FUNC("#MS# CMPSettingsProxyView::~CMPSettingsProxyView()");
-    }
-
-// ---------------------------------------------------------
-// TUid CMPSettingsProxyView::Id
-// ---------------------------------------------------------
-//
-TUid CMPSettingsProxyView::Id() const
-    {
-    MPX_FUNC("#MS# CMPSettingsProxyView::Id()");
-    return KMPSettProxyViewId;
-    }
-
-// ---------------------------------------------------------
-// CMPSettingsProxyView::HandleCommandL
-// ---------------------------------------------------------
-//
-void CMPSettingsProxyView::HandleCommandL(TInt aCommand)
-    {   
-    MPX_DEBUG2(_L("#MS# CMPSettingsProxyView::HandleCommandL(%d)"),aCommand);
-    switch (aCommand)
-        {
-        case EMPSettCmdChange:
-            static_cast<CMPSettingsProxyContainer*>(iContainer)->EditCurrentItemFromMenuL(ETrue);
-            break;
-        case EMPMiddleSoftKeyChange:
-            static_cast<CMPSettingsProxyContainer*>(iContainer)->EditCurrentItemFromMenuL(EFalse);
-            break;
-        case EAknSoftkeyBack:
-            AppUi()->ActivateLocalViewL(KMPSettStreamingViewId);
-            break;
-        case EMPSettCmdHelp:
-            if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-                HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
-            }
-            break;
-        default:
-            AppUi()->HandleCommandL(aCommand);
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CMPSettingsProxyView::NewContainerL
-// ---------------------------------------------------------------------------
-//
-CMPSettingsBaseContainer* CMPSettingsProxyView::NewContainerL()
-    {
-    MPX_FUNC("#MS# CMPSettingsProxyView::NewContainerL()");
-    return new(ELeave) CMPSettingsProxyContainer(iModel);
-    }  
-
-// ---------------------------------------------------------------------------
-// CMPSettingsProxyView::SetNaviPaneL
-// Sets Navipane texts.
-// ---------------------------------------------------------------------------
-//
-void CMPSettingsProxyView::SetNaviPaneL()
-    {
-    MPX_DEBUG2(_L("#MS# CMPSettingsProxyView::SetNaviPaneL() iGsPlugin(%d)"),iGsPlugin);
-    if (!iGsPlugin)
-        {
-        iNaviPaneContext = NULL;
-        CMPSettingsBaseView::SetNaviPaneL();
-        }
-    CMPSettingsBaseView::SetMiddleSoftKeyLabelL(R_MEDIASETTING_MSK_CHANGE,EMPMiddleSoftKeyChange);
-    }
-// End of File
-
--- a/package_definition.xml	Mon Mar 15 12:40:47 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="videoplayer" name="Video Player Apps" levels="support apps">
-    <collection id="lwplayer" name="Lightweight Player" level="apps">
-      <component id="lwplayer_build" filter="s60" name="Lightweight Player Build">
-        <unit bldFile="lwplayer/group"/>
-      </component>
-    </collection>
-    <collection id="mediaplayer" name="Media Player" level="apps">
-      <component id="mediaplayer_build" filter="s60" name="Media Player Build">
-        <unit bldFile="mediaplayer/group"/>
-      </component>
-    </collection>
-    <collection id="mediasettings" name="Media Settings" level="support">
-      <component id="mediasettings_build" filter="s60" name="Media Settings Build">
-        <unit bldFile="mediasettings/group"/>
-      </component>
-    </collection>
-    <collection id="videoplayer_info" name="Video Player Apps Info" level="apps">
-      <component id="videoplayer_help" filter="s60" name="Video Player Apps Help">
-        <unit bldFile="help/group"/>
-      </component>
-      <component id="videoplayer_plat" filter="s60" name="Video Player Apps Platform Interfaces" class="api">
-        <unit bldFile="videoplayer_plat/group"/>
-		<!-- can only have one unit, need to #include the following from the above -->
-        <unit bldFile="videoplayer_plat/media_player_engine_api/tsrc/group"/>
-        <unit bldFile="videoplayer_plat/media_player_file_details_dialog_api/tsrc/group"/>
-      </component>
-      <component id="videoplayer_test" filter="s60" purpose="development" name="Video Player Apps Test">
-		<!-- should this be uncommented? -->
-        <!-- <unit bldFile="tsrc/group"/> -->
-      </component>
-      <component id="videoplayer_build" filter="s60" name="Video Player Apps Build">
-		<!-- consider moving exports to the other components -->
-        <unit bldFile="group"/>
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>
--- a/tsrc/fusionmpxplayer_test/Bwins/FusionMpxPlayer_ApiTestu.def	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * LibEntryL(class CTestModuleIf &)
-
--- a/tsrc/fusionmpxplayer_test/EABI/FusionMpxPlayer_ApiTestu.def	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/data/FusionMpxPlayerTestExeUi.rss	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-
-NAME HELL
-
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.rsg>
-
-#include "FusionPlayerTestApp.hrh"
-
-// ---------------------------------------------------------
-//
-//    Define the resource file signature
-//    This resource should be empty.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------
-//
-//    Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name { buf=""; }
-
-// ---------------------------------------------------------
-//
-//    Define default menu and CBA key.
-//
-// ---------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_fusionmpxplayertestexeui_menubar;
-    cba = R_AVKON_SOFTKEYS_CLOSE;
-    //cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
-    }
-
-// ---------------------------------------------------------
-//
-//   r_fusionmpxplayertestexeui_menubar
-//   Menubar for Settings Example
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_fusionmpxplayertestexeui_menubar
-    {
-    titles =
-        {
-        MENU_TITLE 
-            {
-            menu_pane = r_fusionmpxplayertestexeui_menu;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//   r_fusionmpxplayertestexeui_menu
-//   Menu for "Options"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_fusionmpxplayertestexeui_menu
-    {
-    items =
-        {
-        MENU_ITEM
-		    {
-			command = ESettingCmdPlayVideo;
-			txt = "Play video";
-			},
-        MENU_ITEM
-		    {
-			command = EAknSoftkeyExit;
-			txt = "Exit";
-			}
-        };
-    }
-
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/data/FusionMpxPlayerTestExeUi_reg.rss	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <appinfo.rh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x101FB3E3
-
-RESOURCE APP_REGISTRATION_INFO
-{
-  app_file="FusionMpxPlayerTestExeUi";
-  embeddability=KAppNotEmbeddable;
-  newfile=KAppDoesNotSupportNewFile;
-}
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/group/FusionPlayerTestApp.mmp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <platform_paths.hrh>
-
-TARGET            FusionMpxPlayerTestExeUi.exe
-TARGETTYPE        exe
-UID               0x00000000 0x101FB3E3
-EPOCSTACKSIZE     0x8000
-
-CAPABILITY        CAP_GENERAL_DLL -DRM -AllFiles
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE     /Epoc32/include/ecom
-
-START RESOURCE    ../data/FusionMpxPlayerTestExeUi.rss
-	HEADER
-	TARGETPATH    /resource/apps
-	LANG		  SC
-END
-
-START RESOURCE	  ../data/FusionMpxPlayerTestExeUi_reg.rss
-	TARGETPATH	  /private/10003a3f/apps
-END
-
-SOURCEPATH        ../src
-SOURCE		      FusionPlayerTestApp.cpp
-SOURCE		      FusionPlayerTestAppApplication.cpp
-SOURCE		      FusionPlayerTestAppUi.cpp
-SOURCE		      FusionPlayerTestAppDocument.cpp
-SOURCE            FusionMpxPlayerTester.cpp
-SOURCE            FusionMpxPlayerTestCmdListener.cpp 
-SOURCE            FusionMpxPlayerTesterDescFunctions.cpp
-
-USERINCLUDE       ../inc
-USERINCLUDE       ../../inc
-USERINCLUDE       ../../../../videoplayback/inc
-USERINCLUDE       ../../../VCXTestCommon/inc
-USERINCLUDE       ../../../../inc
-
-LIBRARY		      euser.lib
-LIBRARY		      apparc.lib
-LIBRARY	          cone.lib
-LIBRARY		      eikcore.lib
-LIBRARY		      avkon.lib
-LIBRARY		      insock.lib
-LIBRARY		      eikcoctl.lib
-LIBRARY		      estor.lib
-LIBRARY 	      efsrv.lib
-
-LIBRARY           apgrfx.lib
-LIBRARY           ws32.lib
-LIBRARY           fbscli.lib
-
-LIBRARY           centralrepository.lib
-LIBRARY           mpxcommon.lib
-LIBRARY           mpxcollectionhelper.lib
-LIBRARY           mpxcommonui.lib
-LIBRARY           mpxplaybackutility.lib
-LIBRARY           mpxcollectionutility.lib
-LIBRARY           mpxviewutility.lib
-LIBRARY           VCXTestCommon.lib
-LIBRARY           FLOGGER.lib
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/group/bld.inf	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-
-PRJ_TESTMMPFILES
-
-FusionPlayerTestApp.mmp
-
-
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionMpxPlayerTestCmdListener.h	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FUSIONMPXPLAYERTESTCMDLISTENER_H
-#define FUSIONMPXPLAYERTESTCMDLISTENER_H
-
-
-//  INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include <e32msgqueue.h>
-#include "VCXTestPSObserver.h"
-
-#include "FusionMpxPlayerTester.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class CVCXTestPSSubscriber;
-
-class MFusionMpxPlayerTestShutdownObserver
-    {
-public:
-
-    virtual void ShutdownCommandReceived() = 0;
-
-    };
-
-/**
-*  @since
-*/
-class CFusionMpxPlayerTestCmdListener : public CBase, 
-                                        public MVCXTestPSObserver,
-                                        public MFusionMpxPlayerTesterObserver
-                                        
-    {
-    public:  // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CFusionMpxPlayerTestCmdListener * NewL( TUint aProcessId, MFusionMpxPlayerTestShutdownObserver* aObserver );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CFusionMpxPlayerTestCmdListener();
-
-    public: // New functions
-        
-        TInt PlayLocalVideo( const TDesC& aFileName );
-        
-    private: // New functions
-        
-        void SendResponse( const TInt aResponse, TInt aError );
-        
-    private: // From base classes
-
-        void ValueChangedL( const TUid& aUid, const TUint32& aKey, const TInt& aValue );
-
-        void ValueChangedL( const TUid& aUid, const TUint32& aKey, const TDesC& aValue );
-
-        void TesterCommandComplete();
-        
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CFusionMpxPlayerTestCmdListener();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( TUint aProcessId, MFusionMpxPlayerTestShutdownObserver* aObserver );
-
-    private:    // Data
-        CFusionMpxPlayerTester* iTester;
-
-        CVCXTestPSSubscriber* iGlobalShutdownSubcriber;
-
-        CVCXTestPSSubscriber* iCmdSubcriber;
-
-        TInt iPSKeyBase;
-
-        MFusionMpxPlayerTestShutdownObserver* iObserver;
-    };
-
-#endif // FUSIONMPXPLAYERTESTCMDLISTENER_H
-
-// End of File
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionMpxPlayerTester.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FUSIONMPXPLAYERTESTER_H
-#define FUSIONMPXPLAYERTESTER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-#include <mpxvideoplaybackdefs.h>
-#include <mpxplaybackobserver.h>
-#include <mpxviewactivationobserver.h>
-
-// FORWARD DECLARATIONS
-class CVcxConnectionUtility;
-class MMPXPlaybackUtility;
-class MMPXViewUtility;
-class CIptvTestActiveWait;
-
-// DATA TYPES
-const TInt KTestUndefined = 10001;
-const TInt KFusionTestMsgNone = -66666;
-
-// CLASS DECLARATION
-class TExpectedGeneralMessage
-    {
-    public:
-        TExpectedGeneralMessage( TInt aEvent, TInt aType, TInt aData )
-            {
-            iEvent = aEvent;
-            iType = aType;
-            iData = aData;
-            }
-    public:
-        TInt iEvent;
-        TInt iType;
-        TInt iData;
-    };
-
-class MFusionMpxPlayerTesterObserver
-    {
-    public:
-        /**
-         * Sent when expected message list is empty. 
-         */
-        virtual void TesterCommandComplete() = 0;
-    };
-
-/**
-* 
-*/
-class CFusionMpxPlayerTester : public CBase,
-                               public MMPXPlaybackObserver,
-                               public MMPXViewActivationObserver,
-                               public MMPXPlaybackCallback
-    {
-    public:
-        /**
-        * Two-phased constructor.
-        */
-        static CFusionMpxPlayerTester* NewL( MFusionMpxPlayerTesterObserver* aObserver );
-
-        /**
-        * C++ default constructor.
-        */
-        CFusionMpxPlayerTester();
-
-        /**
-        * Destructor.
-        */
-        ~CFusionMpxPlayerTester();
-
-    public: // New functions
-
-        TInt OpenLocalFile( const TDesC& aFileName );
-        
-        void OpenUrlL( const TDesC& aUrl, TInt aIapID );
-
-        void CreateGeneralPlaybackCommandL( TMPXPlaybackCommand aCmd, TInt aData = KTestUndefined );
-        
-        void CreateVideoPlaybackCommandL( TMPXVideoPlaybackCommand aCmd );
-        
-        /**
-         * Checks that all expected messages have been gotten.
-         */
-        TInt CheckExpectedMessages();
-        
-        void AddExpectedGeneralPlaybackCommandMessages( TMPXPlaybackCommand aCmd, TInt &aData );
-        void AddExpectedVideoPlaybackCommandMessages( TMPXVideoPlaybackCommand aCmd );
-        TInt ExpectedMessageCount() { return iExpectedGeneralMessages.Count(); };
-        void PrepareCloseL();
-    
-    private: // New functions
-
-        void GetGeneralPlaybackCommandDes( TMPXPlaybackCommand aCmd, TDes& aDes );
-        void GetVideoPlaybackCommandDes( TMPXVideoPlaybackCommand aCmd, TDes& aDes );
-        void GetGeneralPlaybackEventDes( TInt aEvent, TDes& aDes );
-        void GetStateDes( TMPXPlaybackState aState, TDes& aDes );
-        void GetPropertyDes( TMPXPlaybackProperty aProperty, TDes& aDes );        
-        
-    private: // Constructors and destructor
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( MFusionMpxPlayerTesterObserver* aObserver );
-
-    private: // Functions from base classes
-
-        /**
-        *  Handle playback message.
-        *  Note: only one of HandlePlaybackMessage callback can be implemented.
-        *  Note: change into pure virtual when all clients updated.
-        *
-        *  @since S60 3.2.3
-        *  @param aMsg playback message, ownership not transferred.
-        *         Please check aMsg is not NULL before using it. If aErr is not
-        *         KErrNone, plugin might still call back with more info in the aMsg.
-        *  @param aErr system error code.
-        */
-        virtual void HandlePlaybackMessage( CMPXMessage* aMsg, TInt aErr );
-
-        void DoHandleGeneralPlaybackMessageL( const CMPXMessage& aMessage );
-        
-        void DoHandleVideoPlaybackMessageL( const CMPXMessage& aMessage );
-
-        void DoHandleStateChangeL( TMPXPlaybackState aState );
-        
-        void DoHandlePropertyChangeL( TInt aProperty, TInt aValue );
-        
-        /**
-         * Handle view activation.
-         *
-         * @since S60 3.2.3
-         * @param aCurrentViewType Current view type Uid.
-         * @param aPreviousViewType Previous view type Uid.
-         */
-        virtual void HandleViewActivation( const TUid& aCurrentViewType, const TUid& aPreviousViewType );
-
-        /**
-         * Called in case a view plugin is added/updated/removed through a SIS install.
-         *
-         * @since S60 3.2.3
-         * @param aViewUid view UID
-         * @param aUpdateEvent Defines the update type (addition/update/removal).
-         * @param aLoaded ETrue if the view plugin is loaded, EFalse otherwise. It is recommended
-         *          that client applications exit when loaded plugins are updated or removed.
-         *          This would normally be handled in the AppUi.
-         * @param aData Its meaning depends on the update event:
-         *            EViewPluginAdd - new view plugin version
-         *            EViewPluginUpdate - new view plugin version
-         *            EViewPluginRemove - old view plugin version
-         */
-        virtual void HandleViewUpdate( TUid aViewUid, TViewUpdateEvent aUpdateEvent, 
-                TBool aLoaded, TInt aData );
-
-        /**
-        *  Handle playback property.
-        *
-        *  @since S60 3.2.3
-        *  @param aProperty the property
-        *  @param aValue the value of the property
-        *  @param aError error code
-        */
-        virtual void HandlePropertyL(TMPXPlaybackProperty aProperty,
-                                     TInt aValue, 
-                                     TInt aError);
-        
-        /**
-        *  Method is called continously until aComplete=ETrue, signifying that 
-        *  it is done and there will be no more callbacks.
-        *  Only new items are passed each time.
-        *
-        *  @since S60 3.2.3
-        *  @param aPlayer UID of the subplayer
-        *  @param aSubPlayers a list of sub players
-        *  @param aComplete ETrue no more sub players. EFalse more subplayer
-        *                   expected
-        *  @param aError error code
-        */
-        virtual void HandleSubPlayerNamesL(TUid aPlayer, 
-                                           const MDesCArray* aSubPlayers,
-                                           TBool aComplete,
-                                           TInt aError);
-        
-        /**
-        *  Call back of media request.
-        *
-        *  @since S60 3.2.3
-        *  @param aMedia media 
-        *  @param aError error code    
-        */
-        virtual void HandleMediaL(const CMPXMedia& aProperties,
-                                  TInt aError);
-        
-        /**
-         *  Handle completion of a asynchronous command.
-         *  Note: All clients should implement this callback.
-         *
-         *  @since S60 3.2.3
-         *  @param aCommandResult result of the command, NULL if error
-         *  @param aError error code    
-         */
-        virtual void HandlePlaybackCommandComplete( CMPXCommand* /*aCommandResult*/, 
-                                                   TInt /*aError*/ );
-        
-    private: // Data
-        MFusionMpxPlayerTesterObserver* iObserver;
-        
-        MMPXPlaybackUtility*      iPlaybackUtility;
-
-        MMPXViewUtility*          iViewUtility;
-        
-        RArray<TExpectedGeneralMessage> iExpectedGeneralMessages;
-        
-        TMPXPlaybackState iState;
-        
-        TInt iVolume;
-        TInt iVolumeBeforeMute;
-        
-        TBool iInitComplete;
-        
-        CIptvTestActiveWait* iWait;
-        };
-
-#endif // FUSIONMPXPLAYERTESTER_H
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionPlayerTestApp.hrh	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FUSIONPLAYERTESTAPP_HRH
-#define FUSIONPLAYERTESTAPP_HRH
-
-/**
- * TMenuCommands - identifiers for commands called from the menu
- */
-enum TMenuCommands
-{
-	ESettingCmdPlayVideo = 0x1000	// value out of range of other commands
-};
-
-#endif // FUSIONPLAYERTESTAPP_HRH
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionPlayerTestAppApplication.h	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FUSIONPLAYERTESTAPPAPPLICATION_H
-#define FUSIONPLAYERTESTAPPAPPLICATION_H
-
-#include <aknapp.h>
-
-/**
-  *Class:		CFusionPlayerTestAppApplication
-  */
-class CFusionPlayerTestAppApplication : public CAknApplication
-    {
-public:  // from CApaApplication
-
-/**
-  *Function:	AppDllUid
-  *
-  *Discussion:	Returns the application DLL UID value
-  *
-  *Returns:		the UID of this Application/Dll
-  *
-  */
-    TUid AppDllUid() const;
-
-protected: // from CEikApplication
-/**
-  *Function:	CreateDocumentL
-  *
-  *Discussion:	Create a CApaDocument object and return a pointer to it
-  *
-  *Returns:		a pointer to the created document
-  *
-  */
-    CApaDocument* CreateDocumentL();
-    };
-
-#endif // FUSIONPLAYERTESTAPPAPPLICATION_H
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionPlayerTestAppDocument.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FUSIONPLAYERTESTAPPDOCUMENT_H__
-#define FUSIONPLAYERTESTAPPDOCUMENT_H__
-
-
-#include <akndoc.h>
-
-// Forward references
-class CEikApplication;
-class MMPXViewUtility;
-
-/**
- * Class:		CFusionPlayerTestAppDocument
- */
-class CFusionPlayerTestAppDocument : public CAknDocument
-    {
-public:
-
- /**
-  *Function:	NewL
-  *
-  *Discussion:  Construct a CFusionPlayerTestAppDocument for the AVKON application
-  *				aApp using two phase construction, and return a pointer to
-  *				the created object
-  *
-  *Param:		aApp -  application creating this document
-  *
-  *Returns:		a pointer to the created instance of CFusionPlayerTestAppDocument
-  *
-  */
-    static CFusionPlayerTestAppDocument* NewL(CEikApplication& aApp);
-
- /**
-  *Function:	NewLC
-  *
-  *Discussion:	Construct a CFusionPlayerTestAppDocument for the AVKON application
-  *				aApp using two phase construction, and return a pointer to the
-  *				created object. Pointer to object is left on the cleanup stack
-  *
-  *Param:		aApp application creating this document
-  *
-  *Returns:		a pointer to the created instance of CFusionPlayerTestAppDocument
-  *
-  */
-    static CFusionPlayerTestAppDocument* NewLC(CEikApplication& aApp);
-
- /**
-  *Function:	~CFusionPlayerTestAppDocument
-  *
-  *Discussion:	 Destroy the object and release all memory objects
-  *
-  */
-    ~CFusionPlayerTestAppDocument();
-
- /**
-  *Function:	CreateAppUiL
-  *
-  *Discussion:	Create a CFusionPlayerTestAppAppUi object and return a pointer to it
-  *Returns :	a pointer to the created instance of the AppUi created
-  */
-    CEikAppUi* CreateAppUiL();
-private:
-
- /**
-  *Function:	ConstructL
-  *
-  *Discussion:	Perform the second phase construction of a CFusionPlayerTestAppDocument object
-  */
-    void ConstructL();
-
- /**
-  *Function:	CFusionPlayerTestAppDocument
-  *
-  *Discussion:	Perform the first phase of two phase construction
-  *
-  *Param:		aApp application creating this document
-  */
-    CFusionPlayerTestAppDocument(CEikApplication& aApp);
-
-    MMPXViewUtility* iViewUtility;
-    
-    };
-
-
-#endif // FUSIONPLAYERTESTAPPDOCUMENT_H__
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/inc/FusionPlayerTestAppUi.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FUSIONPLAYERTESTAPPAPPUI_H
-#define FUSIONPLAYERTESTAPPAPPUI_H
-
-#include <aknviewappui.h>
-#include <aknnavi.h>
-
-#include "FusionMpxPlayerTestCmdListener.h"
-
-/**
- * Class:		CFusionPlayerTestAppAppUi
- */
-class CFusionPlayerTestAppAppUi : public CAknViewAppUi,
-                                  public MFusionMpxPlayerTestShutdownObserver
-    {
-public:
-	/**
-	 * Function : ConstructL
-	 *
-	 * Discussion : Performs the second phase construction of a
-	 *				CFusionPlayerTestAppAppUi object	this needs to be public due to
-	 *				the way the framework constructs the AppUi
-	 */
-    void ConstructL();
-
-	/**
-	 * Function :	CFusionPlayerTestAppAppUi
-	 *
-	 * Discussion : Perform the first phase of two phase construction.
-	 *				This needs to be public due to the way the framework
-	 *				constructs the AppUi
-	 */
-    CFusionPlayerTestAppAppUi();
-
-	/**
-	 * Function :	~CFusionPlayerTestAppAppUi
-	 *
-	 * Discussion :	Hidden virtual destructor. Destroys object and releases
-	 *				all associated memory.
-	 *
-	 */
-    ~CFusionPlayerTestAppAppUi();
-
-
-public:
-
-    // from CEikAppUi
-	/**
-	 * Function :
-	 *
-	 * Discussion :	Handle user menu selections
-	 *
-	 * Params :		aCommand - the enumerated code for the option selected
-	 *
-	 * Returns :
-	 *
-	 */
-	void HandleCommandL(TInt aCommand);
-
-
-	// From MFusionMpxPlayerTestShutdownObserver
-	void ShutdownCommandReceived();
-	
-private:
-
-    CFusionMpxPlayerTestCmdListener* iCmdListener;
-
-    TInt iPSKeyBase;
-	};
-
-#endif // FUSIONPLAYERTESTAPPAPPUI_H
-
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionMpxPlayerTestCmdListener.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <mmf/common/mmfcontrollerpluginresolver.h> // CleanupResetAndDestroyPushL
-#include <e32property.h>
-
-#include "VCXTestLog.h"
-#include "VCXTestCommon.h"
-#include "VCXTestPSSubscriber.h"
-#include "VCXTestPSObserver.h"
-
-#include "FusionMpxPlayerTestCommon.h"
-#include "FusionMpxPlayerTestCmdListener.h"
-#include "FusionMpxPlayerTester.h"
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CFusionMpxPlayerTestCmdListener* CFusionMpxPlayerTestCmdListener::NewL( TUint aProcessId, MFusionMpxPlayerTestShutdownObserver* aObserver )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTestCmdListener::NewL");
-    CFusionMpxPlayerTestCmdListener* self = new (ELeave) CFusionMpxPlayerTestCmdListener();
-    CleanupStack::PushL(self);
-    self->ConstructL( aProcessId, aObserver );
-    CleanupStack::Pop( self );
-    VCXLOGLO1("<<<CFusionMpxPlayerTestCmdListener::NewL");
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::~CFusionMpxPlayerTestCmdListener
-// -----------------------------------------------------------------------------
-//
-CFusionMpxPlayerTestCmdListener::~CFusionMpxPlayerTestCmdListener()
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTestCmdListener::~CFusionMpxPlayerTestCmdListener");
-
-    delete iGlobalShutdownSubcriber;
-    iGlobalShutdownSubcriber = NULL;
-
-    delete iCmdSubcriber;
-    iCmdSubcriber = NULL;
-
-    delete iTester;
-    iTester = NULL;
-    
-    VCXLOGLO1("<<<CFusionMpxPlayerTestCmdListener::~CFusionMpxPlayerTestCmdListener");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::CFusionMpxPlayerTestCmdListener
-// -----------------------------------------------------------------------------
-//
-CFusionMpxPlayerTestCmdListener::CFusionMpxPlayerTestCmdListener()
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTestCmdListener::CFusionMpxPlayerTestCmdListener");
-
-    VCXLOGLO1("<<<CFusionMpxPlayerTestCmdListener::CFusionMpxPlayerTestCmdListener");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTestCmdListener::ConstructL( TUint aProcessId, MFusionMpxPlayerTestShutdownObserver* aObserver )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTestCmdListener::ConstructL");
-
-    iObserver = aObserver;
-    iTester = CFusionMpxPlayerTester::NewL( this );
-
-    TInt key( 0 );
-    
-    // Define and listen global shutdown key.
-    RProperty::Define( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExeGlobalShutdownKey, RProperty::EInt );
-    
-    iGlobalShutdownSubcriber = CVCXTestPSSubscriber::NewL( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExeGlobalShutdownKey, RProperty::EInt, this );
-    iGlobalShutdownSubcriber->Start();
-    VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Listening P&S key KFusionMpxPlayerTestExeGlobalShutdownKey: %d", KFusionMpxPlayerTestExeGlobalShutdownKey);
-    
-    // Get PS key base.
-    
-    iPSKeyBase = 0;
-    
-    TInt err( KErrNone );
-    
-    err = CVCXTestCommon::GetPSProperty( 
-            KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExeGlobalTesterCount, iPSKeyBase );
-    if( err == KErrNotFound )
-        {
-        User::LeaveIfError( RProperty::Define( 
-                KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExeGlobalTesterCount, RProperty::EInt ) );
-        User::LeaveIfError( CVCXTestCommon::SetPSProperty( 
-                KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExeGlobalTesterCount, 1 ) );
-        }
-    else
-    if( err != KErrNone ) 
-        {
-        User::Leave( err );
-        }
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( 
-            KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExeGlobalTesterCount, ++iPSKeyBase ) );
-    
-    iPSKeyBase = iPSKeyBase * 1000 + aProcessId;
-
-    VCXLOGLO2("CVCXConnUtilTestExeTester:: iPSKeyBase: %d", iPSKeyBase);    
-    
-    // Define private P&S keys.
-
-    key = KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase;
-    RProperty::Define( KFusionMpxPlayerTestPScategory, key, RProperty::EInt );
-    VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Defined KFusionMpxPlayerTestPScategory P&S key %d", key);
-    
-    key = KFusionMpxPlayerTestExePsKeyCmdIntParam1 + iPSKeyBase;
-    RProperty::Define( KFusionMpxPlayerTestPScategory, key, RProperty::EInt );
-    VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Defined KFusionMpxPlayerTestExePsKeyCmdIntParam1 P&S key %d", key);
-    
-    key = KFusionMpxPlayerTestExePsKeyCmdIntParam2 + iPSKeyBase;
-    RProperty::Define( KFusionMpxPlayerTestPScategory, key, RProperty::EInt );
-    VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Defined KFusionMpxPlayerTestExePsKeyCmdIntParam2 P&S key %d", key);
-    
-    key = KFusionMpxPlayerTestExePsKeyCmdDescParam1 + iPSKeyBase;
-    RProperty::Define( KFusionMpxPlayerTestPScategory, key, RProperty::EText );
-    VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Defined KFusionMpxPlayerTestExePsKeyCmdDescParam1 P&S key %d", key);
-    
-    key = KFusionMpxPlayerTestExePsKeyResponse + iPSKeyBase;
-    RProperty::Define( KFusionMpxPlayerTestPScategory, key, RProperty::EInt );
-    VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Defined KFusionMpxPlayerTestExePsKeyResponse P&S key %d", key);
-
-    key = KFusionMpxPlayerTestExePsKeyResponseError + iPSKeyBase;
-    RProperty::Define( KFusionMpxPlayerTestPScategory, key, RProperty::EInt );
-    VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Defined P&S KFusionMpxPlayerTestExePsKeyResponseError key %d", key);
-    
-    // Subscribe P&S command key.
-
-    iCmdSubcriber = CVCXTestPSSubscriber::NewL( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase, RProperty::EInt, this );
-    iCmdSubcriber->Start();
-    VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Listening P&S key KFusionMpxPlayerTestExePsKeyCmd: %d", 
-            KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase);
-
-    VCXLOGLO1("<<<CFusionMpxPlayerTestCmdListener::ConstructL");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::PlayLocalVideo
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayerTestCmdListener::PlayLocalVideo( const TDesC& aFileName )
-    {
-    return iTester->OpenLocalFile( aFileName );
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::SendResponse
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTestCmdListener::SendResponse( const TInt aResponse, TInt aError )
-    {
-    // Set response that cmd has been gotten.
-    VCXLOGLO3("CFusionMpxPlayerTestCmdListener:: Sending response %d, err: %d ----->", aResponse, aError);
-    CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyResponseError + iPSKeyBase, aError );
-    CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory, 
-            KFusionMpxPlayerTestExePsKeyResponse + iPSKeyBase, aResponse );
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::ValueChangedL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTestCmdListener::ValueChangedL( const TUid& aUid, const TUint32& aKey, const TInt&  aValue )
-    {
-    // Right now this is only category we are subscribing for.
-    if( aUid != KFusionMpxPlayerTestPScategory )
-        {
-        return;
-        }
-
-    if( aKey == KFusionMpxPlayerTestExeGlobalShutdownKey )
-        {
-        if( aValue == 1 )
-            {
-            VCXLOGLO1("CFusionMpxPlayerTestCmdListener::ValueChangedL: cmd GLOBAL SHUTDOWN ----->");
-
-            if( iObserver )
-                {
-                iObserver->ShutdownCommandReceived();
-                }
-            }
-        return;
-        }
-
-    VCXLOGLO1(">>>CFusionMpxPlayerTestCmdListener::ValueChangedL TInt");
-
-    // Store possible parameters.
-    TInt intParam1(0);
-    TInt intParam2(0);
-    TBuf<256> descParam1;
-
-    CVCXTestCommon::GetPSProperty( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyCmdIntParam1 + iPSKeyBase, intParam1 );
-    CVCXTestCommon::GetPSProperty( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyCmdIntParam2 + iPSKeyBase, intParam2 );
-    CVCXTestCommon::GetPSProperty( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyCmdDescParam1 + iPSKeyBase, descParam1 );
-
-    TInt err( KErrNone );
-    
-    // Handle commands.
-    if( aKey == KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase )
-        {
-        switch( aValue )
-            {
-            case EVcxFusionMpxPlayerCommandShutdown:
-                {
-                VCXLOGLO1("CFusionMpxPlayerTestCmdListener:: cmd EVcxFusionMpxPlayerCommandShutdown ----->");
-
-                err = iTester->CheckExpectedMessages();
-
-                iTester->PrepareCloseL();
-                
-                if( iObserver )
-                    {
-                    iObserver->ShutdownCommandReceived();
-                    }
-                }
-                break;
-
-            case EVcxFusionMpxPlayerCommandOpenLocalFile:
-                {
-                VCXLOGLO1("CFusionMpxPlayerTestCmdListener:: cmd EVcxFusionMpxPlayerCommandOpenLocalFile ----->");
-                err = PlayLocalVideo( descParam1 );  
-                }
-                break;
-                        
-            case EVcxFusionMpxPlayerCommandOpenUrl:
-                {
-                VCXLOGLO1("CFusionMpxPlayerTestCmdListener:: cmd EVcxFusionMpxPlayerCommandOpenUrl ----->");
-                TRAP( err, iTester->OpenUrlL( descParam1, intParam1 ) );
-                }
-                break;
-                
-            case EVcxFusionMpxPlayerCommandGeneralPlaybackCommand:
-                {
-                switch( intParam1 )
-                    {
-                    // List commands here which need 1 int param.
-                    case EPbCmdSetVolume:
-                        {
-                        TRAP( err, iTester->CreateGeneralPlaybackCommandL( 
-                                static_cast<TMPXPlaybackCommand>( intParam1 ), intParam2 ) );
-                        }
-                        break;
-                        
-                    // List commands without params here.
-                    default:
-                        TRAP( err, iTester->CreateGeneralPlaybackCommandL( 
-                                static_cast<TMPXPlaybackCommand>( intParam1 ) ) );
-                        break;
-                    }
-                }
-                break;
-                
-            case EVcxFusionMpxPlayerCommandVideoPlaybackCommand:
-                {
-                TRAP( err, 
-                        iTester->CreateVideoPlaybackCommandL( static_cast<TMPXVideoPlaybackCommand>( intParam1 ) ) );
-                }
-                break;
-                
-            default:
-                {
-                SendResponse( EVcxFusionMpxPlayerResponseCommandComplete, KErrGeneral );                
-                VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: UNKNOWN cmd %d! ----->", aValue);
-                }
-                break;
-            }
-        }
-    
-    if( err )
-        {
-        VCXLOGLO2("CFusionMpxPlayerTestCmdListener:: Error handling the command: %d.", err);
-        SendResponse( EVcxFusionMpxPlayerResponseCommandComplete, err );
-        }
-
-    VCXLOGLO1("<<<CFusionMpxPlayerTestCmdListener::ValueChangedL TInt");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::ValueChangedL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTestCmdListener::ValueChangedL( const TUid& /* aUid */, const TUint32& /* aKey */, const TDesC& /* aValue */ )
-    {
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTestCmdListener::TesterCommandComplete
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTestCmdListener::TesterCommandComplete()
-    {
-    VCXLOGLO1("CFusionMpxPlayerTestCmdListener:: Command complete ----->");
-    SendResponse( EVcxFusionMpxPlayerResponseCommandComplete, KErrNone );
-    }
-
-//  End of File
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionMpxPlayerTester.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1198 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <S32STRM.H>
-#include <S32MEM.H>
-
-#include "VCXTestLog.h"
-#include "CIptvTestActiveWait.h"
-#include "VCXTestCommon.h"
-
-#include "FusionMpxPlayerTester.h"
-#include "FusionMpxPlayerTestCommon.h"
-
-#include <mpxplaybackutility.h>
-#include <mpxplaybackmessage.h>
-#include <mpxmessagegeneraldefs.h>
-#include <mpxcommandgeneraldefs.h>
-#include <mpxplaybackframeworkdefs.h>
-#include <mpxviewutility.h>
-#include <mpxmediabase.h>
-#include <mpxcommandgeneraldefs.h>
-#include <mpxcollectionutility.h>
-#include <mpxmediacontainerdefs.h>
-#include <mpxmediageneraldefs.h>
-#include <mpxcollectionplaylist.h>
-
-#include <mpxvideoplaybackdefs.h>
-#include <vcxmyvideosuids.h>
-#include <vcxmyvideosdefs.h>
-
-// CONSTANTS
-// From mpxvideoplayerconstants.h
-const TUid KVideoPlaybackViewUid = { 0x200159AD };
-_LIT8( KDATATYPEVIDEOHELIX, "video/videohelix" );
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::NewL
-// -----------------------------------------------------------------------------
-//
-CFusionMpxPlayerTester* CFusionMpxPlayerTester::NewL( MFusionMpxPlayerTesterObserver* aObserver )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::NewL");
-    CFusionMpxPlayerTester* self = new (ELeave) CFusionMpxPlayerTester();
-    CleanupStack::PushL(self);
-    self->ConstructL( aObserver );
-    CleanupStack::Pop(self);
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::NewL");
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::CFusionMpxPlayerTester
-// -----------------------------------------------------------------------------
-//
-CFusionMpxPlayerTester::CFusionMpxPlayerTester()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::ConstructL( MFusionMpxPlayerTesterObserver* aObserver )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::ConstructL");
-
-    iWait = CIptvTestActiveWait::NewL();
-    
-    iObserver = aObserver;
-    
-    iViewUtility = MMPXViewUtility::UtilityL();
-    iViewUtility->AddObserverL( this );
-    iViewUtility->ConstructDefaultViewHistoryL();
-
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::ConstructL");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::~CFusionMpxPlayerTester
-// -----------------------------------------------------------------------------
-//
-CFusionMpxPlayerTester::~CFusionMpxPlayerTester()
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::~CFusionMpxPlayerTester");
-
-    if ( iViewUtility )
-        {
-        iViewUtility->RemoveObserver( this );
-        iViewUtility->Close();
-        VCXLOGLO1("CFusionMpxPlayerTester::~CFusionMpxPlayerTester - viewUtility destroyed.");
-        }
-    
-    if( iPlaybackUtility )
-        {
-        TRAP_IGNORE( iPlaybackUtility->RemoveObserverL( *this ) ); 
-        iPlaybackUtility->Close();
-        VCXLOGLO1("CFusionMpxPlayerTester::~CFusionMpxPlayerTester - playbackutility destroyed.");
-        }
-
-    iExpectedGeneralMessages.Reset();
-    
-    delete iWait;
-    iWait = NULL;    
-    
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::~CFusionMpxPlayerTester");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::OpenLocalFile
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayerTester::OpenLocalFile( const TDesC& aFileName )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::OpenLocalFile");
-    
-    VCXLOGLO2("CFusionMpxPlayerTester::OpenLocalFileL: aFileName: %S", &aFileName);
-  
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EPlayerChanged, KFusionTestMsgNone, KFusionTestMsgNone ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateInitialising, KFusionTestMsgNone ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EMediaChanged, KFusionTestMsgNone, KFusionTestMsgNone ) );
-    // Start playback is always true
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EInitializeComplete, KFusionTestMsgNone, 1 ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateInitialised, KFusionTestMsgNone ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyPosition, 0 ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateBuffering, KFusionTestMsgNone ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePlaying, KFusionTestMsgNone ) );
-
-    if( !iPlaybackUtility )
-        {
-        iPlaybackUtility = MMPXPlaybackUtility::UtilityL( EMPXCategoryVideo, KPbModeNewPlayer );
-        iPlaybackUtility->AddObserverL( *this );
-        iPlaybackUtility->CommandL( EPbCmdSetAutoResume, EFalse );
-        }
-    
-    TInt err( KErrNone );
-    
-    TRAP( err, iViewUtility->PreLoadViewL( KVideoPlaybackViewUid ) );
-    if( err == KErrNone ) 
-        {       
-        TRAP( err, iPlaybackUtility->InitL( aFileName ) );
-        }
-    else
-        {
-        VCXLOGLO2("CFusionMpxPlayerTester:: PreLoadViewL left: %d", err);
-        }
-
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::OpenLocalFile");
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::OpenUrlL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::OpenUrlL( const TDesC& aUrl, TInt aIapId )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::OpenUrlL");
-    
-    VCXLOGLO2("CFusionMpxPlayerTester::OpenUrlL: aUrl: %S", &aUrl);
-    VCXLOGLO2("CFusionMpxPlayerTester::OpenUrlL: aIapId: %d", aIapId);
-    
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EPlayerChanged, KFusionTestMsgNone, KFusionTestMsgNone ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateInitialising, KFusionTestMsgNone ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EMediaChanged, KFusionTestMsgNone, KFusionTestMsgNone ) );
-    // Start playback is always true
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EInitializeComplete, KFusionTestMsgNone, 1 ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateInitialised, KFusionTestMsgNone ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyPosition, 0 ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateBuffering, KFusionTestMsgNone ) );
-    iExpectedGeneralMessages.Append( 
-            TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePlaying, KFusionTestMsgNone ) );
-    
-    if( !iPlaybackUtility )
-        {
-        iPlaybackUtility = MMPXPlaybackUtility::UtilityL( EMPXCategoryVideo, KPbModeNewPlayer );
-        iPlaybackUtility->AddObserverL( *this );
-        iPlaybackUtility->CommandL( EPbCmdSetAutoResume, EFalse );
-        }
-    
-    TInt err( KErrNone );
-    
-    TRAP( err, iViewUtility->PreLoadViewL( KVideoPlaybackViewUid ) );
-    if( err == KErrNone ) 
-        {       
-        iPlaybackUtility->InitStreamingL( aUrl,
-                                      (TDesC8*)(&KDATATYPEVIDEOHELIX),
-                                      aIapId );
-        }
-    else
-        {
-        VCXLOGLO2("CFusionMpxPlayerTester:: PreLoadViewL left: %d", err);
-        }    
-
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::OpenUrlL");
-    }
-
-// -------------------------------------------------------------------------------------------------
-//   CFusionMpxPlayerTester::CreateGeneralPlaybackCommandL()
-// -------------------------------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::CreateGeneralPlaybackCommandL( TMPXPlaybackCommand aCmd, TInt aData )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::CreateGeneralPlaybackCommandL");
-    
-    TBuf<256> cmdName;
-    GetGeneralPlaybackCommandDes( aCmd, cmdName );
-    VCXLOGLO2(">>>CFusionMpxPlayerTester:: cmd: %S", &cmdName);
-
-    CMPXCommand* cmd = CMPXCommand::NewL();
-    CleanupStack::PushL( cmd );
-
-    cmd->SetTObjectValueL<TBool>( KMPXCommandGeneralDoSync, ETrue );
-    cmd->SetTObjectValueL<TBool>( KMPXCommandPlaybackGeneralNoBuffer, ETrue );
-    cmd->SetTObjectValueL<TInt>( KMPXCommandGeneralId, KMPXCommandIdPlaybackGeneral );
-    cmd->SetTObjectValueL<TInt>( KMPXCommandPlaybackGeneralType, aCmd );
-    
-    AddExpectedGeneralPlaybackCommandMessages( aCmd, aData );
-    
-    if( aData != KTestUndefined )
-        {
-        cmd->SetTObjectValueL<TInt>( KMPXCommandPlaybackGeneralData, aData );
-        }
-
-    iPlaybackUtility->CommandL( *cmd );
-
-    CleanupStack::PopAndDestroy( cmd );
-    
-    if( iExpectedGeneralMessages.Count() == 0 )
-        {
-        iObserver->TesterCommandComplete();
-        }
-
-    VCXLOGLO2("<<<CFusionMpxPlayerTester::CreateGeneralPlaybackCommandL (%d)", aCmd );
-    }
-
-// -------------------------------------------------------------------------------------------------
-// CFusionMpxPlayerTester::CreateVideoPlaybackCommandL
-// -------------------------------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::CreateVideoPlaybackCommandL( TMPXVideoPlaybackCommand aCmd )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::CreateVideoPlaybackCommandL");
-
-    TBuf<256> cmdName;
-    GetVideoPlaybackCommandDes( aCmd, cmdName );
-    VCXLOGLO2(">>>CFusionMpxPlayerTester:: cmd: %S", &cmdName);
-
-    CMPXCommand* cmd = CMPXCommand::NewL();
-    CleanupStack::PushL( cmd );
-
-    cmd->SetTObjectValueL<TBool>( KMPXCommandGeneralDoSync, ETrue );
-    cmd->SetTObjectValueL<TInt>( KMPXCommandGeneralId, KMPXMediaIdVideoPlayback );
-    cmd->SetTObjectValueL<TMPXVideoPlaybackCommand>(KMPXMediaVideoPlaybackCommand, aCmd );
-    
-    AddExpectedVideoPlaybackCommandMessages( aCmd );
-    
-    iPlaybackUtility->CommandL( *cmd );
-
-    CleanupStack::PopAndDestroy( cmd );
-    
-    if( iExpectedGeneralMessages.Count() == 0 )
-        {
-        iObserver->TesterCommandComplete();
-        }
-
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::CreateVideoPlaybackCommandL");
-    }
-
-// -------------------------------------------------------------------------------------------------
-// CFusionMpxPlayerTester::CheckExpectedMessages
-// -------------------------------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayerTester::CheckExpectedMessages()
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::CheckExpectedMessages");
-    
-    TInt err( KErrNone );
-    
-    if( iExpectedGeneralMessages.Count() > 0 )
-        {
-        err = KErrCorrupt;
-        VCXLOGLO1("CFusionMpxPlayerTester:: Did not get all expected general messages, error!");
-        
-        for( TInt i=0; i<iExpectedGeneralMessages.Count(); i++ )
-            {
-            TBuf<256> eventBuff( _L("") );
-            TBuf<256> typeBuff( _L("") );
-            TBuf<64> dataBuff( _L("") );
-            
-            TInt event = iExpectedGeneralMessages[i].iEvent;
-            
-            GetGeneralPlaybackEventDes( event, eventBuff );
-
-            if( iExpectedGeneralMessages[i].iData != KFusionTestMsgNone )
-                {
-                dataBuff.AppendNum( iExpectedGeneralMessages[i].iData );
-                }
-            
-            if( event == TMPXPlaybackMessage::EStateChanged )
-                {
-                GetStateDes( static_cast<TMPXPlaybackState>(iExpectedGeneralMessages[i].iType), typeBuff );
-                }
-            
-            if( event == TMPXPlaybackMessage::EPropertyChanged )
-                {
-                GetPropertyDes( static_cast<TMPXPlaybackProperty>(iExpectedGeneralMessages[i].iType), typeBuff );
-                }
-            
-            VCXLOGLO4("CFusionMpxPlayerTester:: event %S = %S ( %S )", &eventBuff, &typeBuff, &dataBuff);
-            }
-        }
-    
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::CheckExpectedMessages");
-    return err;
-    }
-
-// -------------------------------------------------------------------------------------------------
-// CFusionMpxPlayerTester::AddExpectedGeneralPlaybackCommandMessages
-// -------------------------------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::AddExpectedGeneralPlaybackCommandMessages( TMPXPlaybackCommand aCmd, TInt &aData )
-    {
-    switch( aCmd )
-        {
-        case EPbCmdPlay: // 0 Play which ever track is currently stopped, paused etc.
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePlaying, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbCmdPlayWithFadeIn: // 1 uses KPbFadeInDuration
-            {
-            
-            }
-            break;
-        case EPbCmdPause:    // 2
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePaused, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbCmdStop:     // 3
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateStopped, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbCmdNext:     // 4 No effect if no next track
-            {
-            
-            }
-            break;
-        case EPbCmdPrevious: // 5 No effect if no previous track;
-                        //   if pos>KPbReplayThreshold, replays current track
-            {
-            
-            }
-            break;
-        case EPbCmdReplay:   // 6 Restart current track at beginning
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyPosition, 0 ) );           
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePlaying, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbCmdStartSeekForward:  // 7
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateSeekingForward, KFusionTestMsgNone ) );
-            
-            }
-            break;
-        case EPbCmdStartSeekBackward: // 8
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateSeekingBackward, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbCmdStopSeeking:       // 9
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePlaying, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbCmdIncreaseVolume:    // 10
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: Getting volume.");
-            // Get volume.
-            iPlaybackUtility->PropertyL( *this, EPbPropertyVolume );
-            iWait->Start();
-            
-            TInt vol = iVolume + 10;
-            if( vol > 100 ) vol = 100;
-                        
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyVolume, vol ) );           
-            }
-            break;
-        case EPbCmdDecreaseVolume:    // 11
-            {
-            // Get volume.
-            iPlaybackUtility->PropertyL( *this, EPbPropertyVolume );
-            iWait->Start();
-            
-            TInt vol = iVolume - 10;
-            if( vol < 0 ) 
-                {
-                vol = 0;
-                }
-
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyVolume, vol ) );           
-            }
-            break;
-        case EPbCmdMuteVolume:        // 12
-            {
-            // Get volume.
-            iPlaybackUtility->PropertyL( *this, EPbPropertyVolume );
-            iWait->Start();
-            
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyVolume, 0 ) );
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyMute, 1 ) );
-            
-            iVolumeBeforeMute = iVolume;
-            }
-            break;
-        case EPbCmdUnMuteVolume:      // 13
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyVolume, iVolumeBeforeMute ) );
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyMute, 0 ) );
-            }
-            break;
-        case EPbCmdClose:             // 14
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateStopped, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbApplyEffect:          // 15 Apply an effect to the current playback,
-                                 //    aData used to identify effect
-            {
-            
-            }
-            break;
-        case EPbCmdPreservePosition:  // 16 Preserve playback position
-            {
-            
-            }
-            break;
-        case EPbCmdPreserveState:     // 17 Preserve playback state
-            {
-            
-            }
-            break;
-        case EPbCmdCloseItem:         // 18 Request to close the file handle
-            {
-            
-            }
-            break;
-        case EPbCmdPlayPause:         // 19 Play/Pause toggle command
-            {
-            if( iState == EPbStatePlaying )
-                {
-                iExpectedGeneralMessages.Append( 
-                        TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePaused, KFusionTestMsgNone ) );
-                }
-            else
-            if( iState == EPbStatePaused )
-                {
-                iExpectedGeneralMessages.Append( 
-                        TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePlaying, KFusionTestMsgNone ) );
-                }
-            }
-            break;
-        case EPbCmdCancelInit:         // 20
-            {
-            if( !iInitComplete )
-                {
-                iExpectedGeneralMessages.Reset();
-                iExpectedGeneralMessages.Append( 
-                        TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStateStopped, KFusionTestMsgNone ) );
-                }
-            }
-            break;
-        case EPbCmdResetPreserveState: // 21
-            {
-            
-            }
-            break;
-        case EPbCmdUnloadNonActivePlugin: // 22 KMPXCommandPlaybackGeneralData is TUid.iUid
-            {
-            
-            }
-            break;
-        case EPbCmdClearKeyBuffer:        // 23 Clear all media key commands
-            {
-            
-            }
-            break;
-        case EPbCmdDisableEffect:
-            {
-            
-            }
-            break;
-        case EPbCmdSetVolume:             // 25 Set volume to the value specified by aData
-            {
-            // Get volume.
-            iPlaybackUtility->PropertyL( *this, EPbPropertyVolume );
-            iWait->Start();
-            // Make sure volume changes.
-            if( aData == iVolume ) 
-                {
-                aData += 10;
-                if( aData > 100 ) aData -= 20;
-                }
-            VCXLOGLO3("CFusionMpxPlayerTester:: volume before: %d, set to: %d", iVolume, aData );
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EPropertyChanged, EPbPropertyVolume, aData ) );           
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-// -------------------------------------------------------------------------------------------------
-// CFusionMpxPlayerTester::AddExpectedVideoPlaybackCommandMessages
-// -------------------------------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::AddExpectedVideoPlaybackCommandMessages( TMPXVideoPlaybackCommand aCmd )
-    {
-    switch( aCmd )
-        {
-        case EPbCmdInitView:
-            {
-            
-            }
-            break;
-        case EPbCmdAbortDSA:
-            {
-            
-            }
-            break;
-        case EPbCmdRestartDSA:
-            {
-            
-            }
-            break;
-        case EPbCmdSetDisplayWindow:
-            {
-            
-            }
-            break;
-        case EPbCmdStartVideoSeekingForward:
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePluginSeeking, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbCmdStartVideoSeekingBackward:
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePluginSeeking, KFusionTestMsgNone ) );
-            }
-            break;
-        case EPbCmdStopVideoSeeking:
-            {
-            iExpectedGeneralMessages.Append( 
-                    TExpectedGeneralMessage( TMPXPlaybackMessage::EStateChanged, EPbStatePlaying, KFusionTestMsgNone ) );            
-            }
-            break;
-        case EPbCmdHandleForeground:
-            {
-            
-            }
-            break;
-        case EPbCmdHandleBackground:
-            {
-            
-            }
-            break;
-        case EPbCmdNaturalAspectRatio:
-            {
-            
-            }
-            break;
-        case EPbCmdZoomAspectRatio:
-            {
-            
-            }
-            break;
-        case EPbCmdStretchAspectRatio:
-            {
-            
-            }
-            break;
-        case EPbCmdSetDefaultAspectRatio:
-            {
-            
-            }
-            break;        
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::PrepareCloseL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::PrepareCloseL()
-    {
-    if( iPlaybackUtility )
-        {
-        MMPXPlayerManager& manager = iPlaybackUtility->PlayerManager();
-        TRAP_IGNORE( manager.ClearSelectPlayersL() );
-        iPlaybackUtility->CommandL( EPbCmdClose );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::HandlePlaybackMessage
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::HandlePlaybackMessage( CMPXMessage* aMessage, TInt aError )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::HandlePlaybackMessage");
-    if( aError == KErrNone && aMessage )
-        {
-        TMPXMessageId id( *aMessage->Value<TMPXMessageId>( KMPXMessageGeneralId ) );    
-
-        if ( id == KMPXMessageGeneral )
-            {
-            TRAP_IGNORE( DoHandleGeneralPlaybackMessageL( *aMessage ) );
-            }
-        else
-        if( id == KMPXMediaIdVideoPlayback )
-            {
-            TRAP_IGNORE( DoHandleVideoPlaybackMessageL( *aMessage ) );
-            }
-        }
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::HandlePlaybackMessage");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::DoHandleGeneralPlaybackMessageL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::DoHandleGeneralPlaybackMessageL( const CMPXMessage& aMessage )
-    {
-    VCXLOGLO1("CFusionMpxPlayerTester:: ----------------------------");
-    VCXLOGLO1("CFusionMpxPlayerTester::  KMPXMessageGeneral message ");
-    VCXLOGLO1("CFusionMpxPlayerTester:: ----------------------------");
-    
-    TInt event = *aMessage.Value<TInt>( KMPXMessageGeneralEvent );
-    TInt type = *aMessage.Value<TInt>( KMPXMessageGeneralType );
-    TInt data = *aMessage.Value<TInt>( KMPXMessageGeneralData );
-    
-    for( TInt i=0; i<iExpectedGeneralMessages.Count(); i++ )
-        {
-        if( iExpectedGeneralMessages[i].iEvent == event && 
-            ( iExpectedGeneralMessages[i].iType == type || iExpectedGeneralMessages[i].iType == KFusionTestMsgNone ) &&  
-            ( iExpectedGeneralMessages[i].iData == data || iExpectedGeneralMessages[i].iData == KFusionTestMsgNone ) )
-            {
-            iExpectedGeneralMessages.Remove( i );
-            
-            if( iExpectedGeneralMessages.Count() == 0 && iObserver )
-                {
-                iObserver->TesterCommandComplete();
-                }
-            break;
-            }
-        }
-    
-    switch ( event )
-        {
-        case TMPXPlaybackMessage::ENoEvent:
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ENoEvent");
-            break;
-            }
-        case TMPXPlaybackMessage::EError: // EError must be 1. iData is error originating from player: iType=event type
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EError ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: type: %d", type);
-            VCXLOGLO2("CFusionMpxPlayerTester:: data: %d", data);
-            break;
-            }
-        case TMPXPlaybackMessage::ECommandReceived: // iType=TMPXPlaybackCommand
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ECommandReceived");
-            break;
-            }
-        case TMPXPlaybackMessage::ECommandComplete: // iType=TMPXPlaybackCommand
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ECommandComplete ------>");
-            break;
-            }
-        case TMPXPlaybackMessage::EPropertyChanged: // iType=TMPXPlaybackProperty; iData=new value
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EPropertyChanged ------>");
-            DoHandlePropertyChangeL( type, data );
-            break;
-            }
-        case TMPXPlaybackMessage::EStateChanged: // iType=TMPXPlaybackState
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EStateChanged ------>");
-            DoHandleStateChangeL( static_cast<TMPXPlaybackState>( type ) );
-            break;
-            }
-        case TMPXPlaybackMessage::ESongCorrupt:
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ESongCorrupt");
-            break;
-            }
-        case TMPXPlaybackMessage::ESongContainerChanged: // Need to call MMPXMedia::CollectionPathL() to get new path
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ESongContainerChanged");
-            break;
-            }
-        case TMPXPlaybackMessage::EInitializeComplete: // iData = ETrue if init was to start playback: else EFalse.
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EInitializeComplete ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (start playback): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::ESongChanged: // iData=new index; need to query to get new properties (e.g. duration: title etc.)
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ESongChanged ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data: %d", data);
-            break;
-            }
-        case TMPXPlaybackMessage::EPlayerChanged:
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EPlayerChanged ------>");
-            
-            MMPXPlayer* player = iPlaybackUtility->PlayerManager().CurrentPlayer();
-
-            TUid pluginUid( KNullUid );
-            RArray<TUid> array;
-
-            CleanupClosePushL( array );
-
-            if ( player )
-                {
-                pluginUid = player->UidL();
-                array.AppendL( pluginUid );
-                VCXLOGLO1("CFusionMpxPlayerTester:: UID added for ActivateViewL");
-                }
-            
-            TRAPD( err, iViewUtility->ActivateViewL( array ) );
-            if( err != KErrNone )
-                {
-                VCXLOGLO2("CFusionMpxPlayerTester:: ActivateViewL left: %d", err);
-                }
-            
-            CleanupStack::PopAndDestroy( &array );            
-            break;
-            }
-        case TMPXPlaybackMessage::EActivePlayerChanged: // iData=active/inactive (ETrue/EFalse); iType (ETrue:rebind to  ActivePlayerMode)
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EActivePlayerChanged ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: type (rebind): %d", type);
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (active): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::ESubPlayersChanged: // Need to query to get new list of sub players
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ESubPlayersChanged");
-            break;
-            }
-        case TMPXPlaybackMessage::EPlayerSelectionChanged: // Need to query MMPXPlayerManager::GetSelectionL()
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EPlayerSelectionChanged");
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadStarted: // iData=total expected bytes
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EDownloadStarted ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (expected bytes): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadUpdated: // iData=total bytes so far
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EDownloadUpdated ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: type (rebind): %d", type);
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (bytes downloaded): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadComplete: // iData=total bytes downloaded
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EDownloadComplete ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (bytes downloaded): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadPositionChanged: // iData=total bytes so far
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EDownloadPositionChanged ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (bytes downloaded): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadStateChanged: // iData=TMPXPlaybackPdDownloadState
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EDownloadStateChanged ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (download state): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadCmdPauseDownload: // iData=transaction ID
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EDownloadCmdPauseDownload ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (id): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadCmdResumeDownload: // iData=transaction ID
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EDownloadCmdResumeDownload ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (id): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadCmdCancelDownload: // iData=transaction ID
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EDownloadCmdCancelDownload ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (id): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::EAccessoryChanged: // iType=TAccessoryMode
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EAccessoryChanged ------>");
-            VCXLOGLO2("CFusionMpxPlayerTester:: type (accessory type): %d", type);
-            break;
-            }
-        case TMPXPlaybackMessage::EMediaChanged: // When the song/playlist hasn't: but data may become available
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EMediaChanged ------>");
-            break;
-            }
-        case TMPXPlaybackMessage::ESkipping: //skipping event: iData=+1: skipping forward: -1: skipping backward
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ESkipping");
-            VCXLOGLO2("CFusionMpxPlayerTester:: data (skipping): %d", data);                
-            break;
-            }
-        case TMPXPlaybackMessage::ESkipEnd: //skipping end
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: ESkipEnd");
-            break;
-            }
-        case TMPXPlaybackMessage::EPlayerUnavailable:
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EPlayerUnavailable");
-            break;
-            }
-        case TMPXPlaybackMessage::EPlaylistUpdated: // playlist updated
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EPlaylistUpdated");
-            break;
-            }
-        case TMPXPlaybackMessage::EReachedEndOfPlaylist: // playback or skipping forward has reached end of playlist
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester::DoHandlePlaybackMessageL: EReachedEndOfPlaylist");
-            break;
-            }
-
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::DoHandleVideoPlaybackMessageL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::DoHandleVideoPlaybackMessageL( const CMPXMessage& aMessage )
-    {
-    VCXLOGLO1("CFusionMpxPlayerTester:: ----------------------------------");
-    VCXLOGLO1("CFusionMpxPlayerTester::  KMPXMediaIdVideoPlayback message ");
-    VCXLOGLO1("CFusionMpxPlayerTester:: ----------------------------------");
-    
-    TMPXVideoPlaybackCommand message =
-        ( *(aMessage.Value<TMPXVideoPlaybackCommand>(KMPXMediaVideoPlaybackCommand)) );
-    
-    switch ( message )
-        {
-        case EPbCmdPluginError:
-            {
-            TInt error( *aMessage.Value<TInt>( KMPXMediaVideoError ) );
-            VCXLOGLO2("CFusionMpxPlayerTester:: EPbCmdPluginError: %d", error);
-            }
-            break;
-            
-        case EPbCmdTvOutEvent:
-            {
-            TBool connected( *aMessage.Value<TInt>( KMPXMediaVideoTvOutConnected ) );
-            TBool playbackAllowed( EFalse );
-            if( connected )
-                {
-                TBool playbackAllowed = *aMessage.Value<TInt>( KMPXMediaVideoTvOutPlayAllowed );
-                }
-            VCXLOGLO3("CFusionMpxPlayerTester:: EPbCmdTvOutEvent: connected: %d, playback allowed: %d", connected, playbackAllowed);
-            }
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::DoHandleStateChangeL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::DoHandleStateChangeL( TMPXPlaybackState aState )
-    {
-    iState = aState;
-    
-    switch ( aState )
-        {
-        case EPbStateNotInitialised:
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateNotInitialised ------>");            
-            }
-            break;            
-        case EPbStateInitialising:   
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateInitialising ------>");
-            }
-            break;
-        case EPbStatePlaying:        
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStatePlaying ------>");
-            }
-            break;
-        case EPbStatePaused:         
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStatePaused ------>");
-            }
-            break;
-        case EPbStateStopped:        
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateStopped ------>");
-            }
-            break;
-        case EPbStateSeekingForward: 
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateSeekingForward ------>");
-            }
-            break;
-        case EPbStateSeekingBackward:
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateSeekingBackward ------>");
-            }
-            break;
-        case EPbStateShuttingDown:   
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateShuttingDown ------>");
-            }
-            break;
-        case EPbStateBuffering:      
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateBuffering ------>");
-            }
-            break;
-        case EPbStateDownloading:    
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateDownloading ------>");
-            }
-            break;
-        case EPbStateInitialised:        
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStateInitialised ------>");
-            iInitComplete = ETrue;
-            }
-            break;
-        case EPbStatePluginSeeking:   
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: EPbStatePluginSeeking ------>");
-            }
-            break;
-        default:
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: state: UKNOWN! ------>");
-            }
-            break;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::DoHandlePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::DoHandlePropertyChangeL( TInt aProperty, TInt aValue )
-    {
-    switch( static_cast<TMPXPlaybackProperty>( aProperty ) )
-        {
-        case EPbPropertyVolume:    // 0 volume level values 0-KPbPlaybackVolumeLevelMax
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyVolume: %d ------>", aValue);
-            iVolume = aValue;
-            }
-            break;
-        case EPbPropertyMaxVolume: // 1 read only, KPbPlaybackVolumeLevelMax
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyMaxVolume: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyVolumeRamp:// 2
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyVolumeRamp: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyMute:      // 3 values 0(normal), 1(muted)
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyMute: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyBalance:   // 4 values -100(left) - 0 - +100(right)
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyBalance: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyEmbeddedMode:// 5
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyEmbeddedMode: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyCrossFade:   // 6
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyCrossFade: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyRandomMode:  // 7
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyRandomMode: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyRepeatMode:  // 8
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyRepeatMode: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyAccessPoint: // 9
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyAccessPoint: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyPosition:    // 10 depends on the plugin, it's safer to pause
-                                // the playing item before setting position
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyPosition: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyDuration:    // 11 read only, millisecond
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyDuration: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertySongValid:   // 12
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertySongValid: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyRemote:      // 13
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyRemote: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertySupportedFeatures:// 14 read only
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertySupportedFeatures: %d ------>", aValue);
-            }
-            break;
-        case EPbPropertyNum:               // 15 Last
-            {
-            VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyNum: %d ------>", aValue);
-            }
-            break;
-        
-        default:
-            {
-            VCXLOGLO1("CFusionMpxPlayerTester:: property: UNKNOWN! ------>");
-            }
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::HandleViewActivation
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::HandleViewActivation( const TUid& /* aCurrentViewType */, const TUid& /* aPreviousViewType */ )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::HandleViewActivation ------>");
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::HandleViewActivation <------");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::HandleViewUpdate
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::HandleViewUpdate( TUid /* aViewUid */, TViewUpdateEvent /* aUpdateEvent */, 
-        TBool /* aLoaded */, TInt /* aData */ )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::DoHandlePlaybackMessageL ------>");
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::DoHandlePlaybackMessageL <------");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::HandleViewUpdate
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::HandlePropertyL( TMPXPlaybackProperty aProperty,
-                                     TInt aValue, 
-                                     TInt aError )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayerTester::HandlePropertyL ------>");
-    if( aError == KErrNone )
-        {
-        switch( aProperty )
-            {
-            case EPbPropertyVolume:    // 0 volume level values 0-KPbPlaybackVolumeLevelMax
-                {
-                VCXLOGLO2("CFusionMpxPlayerTester:: property: EPbPropertyVolume: %d ------>", aValue);
-                iVolume = aValue;
-                }
-                break;
-            default:
-                break;
-            }    
-        }
-    
-    iWait->Stop();
-    VCXLOGLO1("<<<CFusionMpxPlayerTester::HandlePropertyL ------>");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::HandleViewUpdate
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::HandleSubPlayerNamesL(TUid aPlayer, 
-                           const MDesCArray* aSubPlayers,
-                           TBool aComplete,
-                           TInt aError)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::HandleViewUpdate
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::HandleMediaL(const CMPXMedia& aProperties,
-                                  TInt aError)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::HandleViewUpdate
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::HandlePlaybackCommandComplete(CMPXCommand* /*aCommandResult*/, 
-                                                  TInt /*aError*/)
-    {
-    }
-
-// EOF
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionMpxPlayerTesterDescFunctions.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,591 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <e32base.h>
-
-#include "FusionMpxPlayerTester.h"
-
-#include <mpxplaybackutility.h>
-#include <mpxplaybackmessage.h>
-#include <mpxmessagegeneraldefs.h>
-#include <mpxcommandgeneraldefs.h>
-#include <mpxplaybackframeworkdefs.h>
-#include <mpxviewutility.h>
-
-#include "mpxmediavideodefs.h"
-#include <mpxvideoplaybackdefs.h>
-
-// -------------------------------------------------------------------------------------------------
-// CFusionMpxPlayerTester::GetGeneralPlaybackMessageDes
-// -------------------------------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::GetGeneralPlaybackCommandDes( TMPXPlaybackCommand aCmd, TDes& aDes )
-    {
-    switch( aCmd )
-        {
-        case EPbCmdPlay: // 0 Play which ever track is currently stopped, paused etc.
-            {
-            aDes.Copy( _L("EPbCmdPlay" ) );
-            }
-            break;
-        case EPbCmdPlayWithFadeIn: // 1 uses KPbFadeInDuration
-            {
-            aDes.Copy( _L("EPbCmdPlayWithFadeIn" ) );
-            }
-            break;
-        case EPbCmdPause:    // 2
-            {
-            aDes.Copy( _L("EPbCmdPause" ) );
-            }
-            break;
-        case EPbCmdStop:     // 3
-            {
-            aDes.Copy( _L("EPbCmdStop" ) );
-            }
-            break;
-        case EPbCmdNext:     // 4 No effect if no next track
-            {
-            aDes.Copy( _L("EPbCmdNext" ) );
-            }
-            break;
-        case EPbCmdPrevious: // 5 No effect if no previous track;
-                        //   if pos>KPbReplayThreshold, replays current track
-            {
-            aDes.Copy( _L("EPbCmdPrevious" ) );
-            }
-            break;
-        case EPbCmdReplay:   // 6 Restart current track at beginning
-            {
-            aDes.Copy( _L("EPbCmdReplay" ) );
-            }
-            break;
-        case EPbCmdStartSeekForward:  // 7
-            {
-            aDes.Copy( _L("EPbCmdStartSeekForward" ) );
-            }
-            break;
-        case EPbCmdStartSeekBackward: // 8
-            {
-            aDes.Copy( _L("EPbCmdStartSeekBackward" ) );
-            }
-            break;
-        case EPbCmdStopSeeking:       // 9
-            {
-            aDes.Copy( _L("EPbCmdStopSeeking" ) );
-            }
-            break;
-        case EPbCmdIncreaseVolume:    // 10
-            {
-            aDes.Copy( _L("EPbCmdIncreaseVolume" ) );
-            }
-            break;
-        case EPbCmdDecreaseVolume:    // 11
-            {
-            aDes.Copy( _L("EPbCmdDecreaseVolume" ) );
-            }
-            break;
-        case EPbCmdMuteVolume:        // 12
-            {
-            aDes.Copy( _L("EPbCmdMuteVolume" ) );
-            }
-            break;
-        case EPbCmdUnMuteVolume:      // 13
-            {
-            aDes.Copy( _L("EPbCmdUnMuteVolume" ) );
-            }
-            break;
-        case EPbCmdClose:             // 14
-            {
-            aDes.Copy( _L("EPbCmdClose" ) );
-            }
-            break;
-        case EPbApplyEffect:          // 15 Apply an effect to the current playback,
-                                 //    aData used to identify effect
-            {
-            aDes.Copy( _L("EPbApplyEffect" ) );
-            }
-            break;
-        case EPbCmdPreservePosition:  // 16 Preserve playback position
-            {
-            aDes.Copy( _L("EPbCmdPreservePosition" ) );
-            }
-            break;
-        case EPbCmdPreserveState:     // 17 Preserve playback state
-            {
-            aDes.Copy( _L("EPbCmdPreserveState" ) );
-            }
-            break;
-        case EPbCmdCloseItem:         // 18 Request to close the file handle
-            {
-            aDes.Copy( _L("EPbCmdCloseItem" ) );
-            }
-            break;
-        case EPbCmdPlayPause:         // 19 Play/Pause toggle command
-            {
-            aDes.Copy( _L("EPbCmdPlayPause" ) );
-            }
-            break;
-        case EPbCmdCancelInit:         // 20
-            {
-            aDes.Copy( _L("EPbCmdCancelInit" ) );
-            }
-            break;
-        case EPbCmdResetPreserveState: // 21
-            {
-            aDes.Copy( _L("EPbCmdResetPreserveState" ) );
-            }
-            break;
-        case EPbCmdUnloadNonActivePlugin: // 22 KMPXCommandPlaybackGeneralData is TUid.iUid
-            {
-            aDes.Copy( _L("EPbCmdUnloadNonActivePlugin" ) );
-            }
-            break;
-        case EPbCmdClearKeyBuffer:        // 23 Clear all media key commands
-            {
-            aDes.Copy( _L("EPbCmdClearKeyBuffer" ) );
-            }
-            break;
-        case EPbCmdDisableEffect:
-            {
-            aDes.Copy( _L("EPbCmdDisableEffect" ) );
-            }
-            break;
-        case EPbCmdSetVolume:             // 25 Set volume to the value specified by aData
-            {
-            aDes.Copy( _L("EPbCmdSetVolume" ) );
-            }
-            break;
-        case EPbCmdEnd:                    // Mark for the end of command        
-            {
-            aDes.Copy( _L("EPbCmdEnd" ) );
-            }
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::GetGeneralPlaybackMessageDes
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::GetGeneralPlaybackEventDes( TInt aEvent, TDes& aDes )
-    {
-    switch ( aEvent )
-        {
-        case TMPXPlaybackMessage::ENoEvent:
-            {
-            aDes.Copy( _L("ENoEvent" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EError: // EError must be 1. iData is error originating from player: iType=event type
-            {
-            aDes.Copy( _L("EError" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::ECommandReceived: // iType=TMPXPlaybackCommand
-            {
-            aDes.Copy( _L("ECommandReceived" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::ECommandComplete: // iType=TMPXPlaybackCommand
-            {
-            aDes.Copy( _L("ECommandComplete" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EPropertyChanged: // iType=TMPXPlaybackProperty; iData=new value
-            {
-            aDes.Copy( _L("EPropertyChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EStateChanged: // iType=TMPXPlaybackState
-            {
-            aDes.Copy( _L("EStateChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::ESongCorrupt:
-            {
-            aDes.Copy( _L("ESongCorrupt" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::ESongContainerChanged: // Need to call MMPXMedia::CollectionPathL() to get new path
-            {
-            aDes.Copy( _L("ESongContainerChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EInitializeComplete: // iData = ETrue if init was to start playback: else EFalse.
-            {
-            aDes.Copy( _L("EInitializeComplete" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::ESongChanged: // iData=new index; need to query to get new properties (e.g. duration: title etc.)
-            {
-            aDes.Copy( _L("ESongChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EPlayerChanged: // Need to call MMPXPlaybackUtility::CurrentPlayer() to get new features
-            {
-            aDes.Copy( _L("EPlayerChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EActivePlayerChanged: // iData=active/inactive (ETrue/EFalse) ); iType (ETrue:rebind to  ActivePlayerMode)
-            {
-            aDes.Copy( _L("EActivePlayerChanged" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::ESubPlayersChanged: // Need to query to get new list of sub players
-            {
-            aDes.Copy( _L("ESubPlayersChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EPlayerSelectionChanged: // Need to query MMPXPlayerManager::GetSelectionL()
-            {
-            aDes.Copy( _L("EPlayerSelectionChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadStarted: // iData=total expected bytes
-            {
-            aDes.Copy( _L("EDownloadStarted" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadUpdated: // iData=total bytes so far
-            {
-            aDes.Copy( _L("EDownloadUpdated" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadComplete: // iData=total bytes downloaded
-            {
-            aDes.Copy( _L("EDownloadComplete" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadPositionChanged: // iData=total bytes so far
-            {
-            aDes.Copy( _L("EDownloadPositionChanged" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadStateChanged: // iData=TMPXPlaybackPdDownloadState
-            {
-            aDes.Copy( _L("EDownloadStateChanged" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadCmdPauseDownload: // iData=transaction ID
-            {
-            aDes.Copy( _L("EDownloadCmdPauseDownload" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadCmdResumeDownload: // iData=transaction ID
-            {
-            aDes.Copy( _L("EDownloadCmdResumeDownload" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::EDownloadCmdCancelDownload: // iData=transaction ID
-            {
-            aDes.Copy( _L("EDownloadCmdCancelDownload" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::EAccessoryChanged: // iType=TAccessoryMode
-            {
-            aDes.Copy( _L("EAccessoryChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EMediaChanged: // When the song/playlist hasn't: but data may become available
-            {
-            aDes.Copy( _L("EMediaChanged" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::ESkipping: //skipping event: iData=+1: skipping forward: -1: skipping backward
-            {
-            aDes.Copy( _L("ESkipping" ) );                
-            break;
-            }
-        case TMPXPlaybackMessage::ESkipEnd: //skipping end
-            {
-            aDes.Copy( _L("ESkipEnd" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EPlayerUnavailable:
-            {
-            aDes.Copy( _L("EPlayerUnavailable" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EPlaylistUpdated: // playlist updated
-            {
-            aDes.Copy( _L("EPlaylistUpdated" ) );
-            break;
-            }
-        case TMPXPlaybackMessage::EReachedEndOfPlaylist: // playback or skipping forward has reached end of playlist
-            {
-            aDes.Copy( _L("EReachedEndOfPlaylist" ) );
-            break;
-            }
-
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::GetVideoPlaybackCommandDes
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::GetVideoPlaybackCommandDes( TMPXVideoPlaybackCommand aCmd, TDes& aDes )
-    {
-    switch ( aCmd )
-        {
-        case EPbCmdInitView:
-            {
-            aDes.Copy( _L("EPbCmdInitView") );
-            }
-            break;
-        case EPbCmdAbortDSA:
-            {
-            aDes.Copy( _L("EPbCmdAbortDSA") );
-            }
-            break;
-        case EPbCmdRestartDSA:
-            {
-            aDes.Copy( _L("EPbCmdRestartDSA") );
-            }
-            break;
-        case EPbCmdSetDisplayWindow:
-            {
-            aDes.Copy( _L("EPbCmdSetDisplayWindow") );
-            }
-            break;
-        case EPbCmdStartVideoSeekingForward:
-            {
-            aDes.Copy( _L("EPbCmdStartVideoSeekingForward") );
-            }
-            break;
-        case EPbCmdStartVideoSeekingBackward:
-            {
-            aDes.Copy( _L("EPbCmdStartVideoSeekingBackward") );
-            }
-            break;
-        case EPbCmdStopVideoSeeking:
-            {
-            aDes.Copy( _L("EPbCmdStopVideoSeeking") );
-            }
-            break;
-        case EPbCmdHandleForeground:
-            {
-            aDes.Copy( _L("EPbCmdHandleForeground") );
-            }
-            break;
-        case EPbCmdHandleBackground:
-            {
-            aDes.Copy( _L("EPbCmdHandleBackground") );
-            }
-            break;
-        case EPbCmdNaturalAspectRatio:
-            {
-            aDes.Copy( _L("EPbCmdNaturalAspectRatio") );
-            }
-            break;
-        case EPbCmdZoomAspectRatio:
-            {
-            aDes.Copy( _L("EPbCmdZoomAspectRatio") );
-            }
-            break;
-        case EPbCmdStretchAspectRatio:
-            {
-            aDes.Copy( _L("EPbCmdStretchAspectRatio") );
-            }
-            break;
-        case EPbCmdSetDefaultAspectRatio:
-            {
-            aDes.Copy( _L("EPbCmdSetDefaultAspectRatio") );
-            }
-            break;
-        case EPbCmdTvOutEvent:
-            {
-            aDes.Copy( _L("EPbCmdTvOutEvent") );
-            }
-            break;
-        case EPbCmdPluginError:
-            {
-            aDes.Copy( _L("EPbCmdPluginError") );
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::GetStateDes
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::GetStateDes( TMPXPlaybackState aState, TDes& aDes )
-    {
-    switch ( aState )
-        {
-        case EPbStateNotInitialised:
-            {            
-            aDes.Copy( _L("EPbStateNotInitialised") );            
-            }
-            break;            
-        case EPbStateInitialising:   
-            {
-            aDes.Copy( _L("EPbStateInitialising") );
-            }
-            break;
-        case EPbStatePlaying:        
-            {
-            aDes.Copy( _L("EPbStatePlaying") );
-            }
-            break;
-        case EPbStatePaused:         
-            {
-            aDes.Copy( _L("EPbStatePaused") );
-            }
-            break;
-        case EPbStateStopped:        
-            {
-            aDes.Copy( _L("EPbStateStopped") );
-            }
-            break;
-        case EPbStateSeekingForward: 
-            {
-            aDes.Copy( _L("EPbStateSeekingForward") );
-            }
-            break;
-        case EPbStateSeekingBackward:
-            {
-            aDes.Copy( _L("EPbStateSeekingBackward") );
-            }
-            break;
-        case EPbStateShuttingDown:   
-            {
-            aDes.Copy( _L("EPbStateShuttingDown") );
-            }
-            break;
-        case EPbStateBuffering:      
-            {
-            aDes.Copy( _L("EPbStateBuffering") );
-            }
-            break;
-        case EPbStateDownloading:    
-            {
-            aDes.Copy( _L("EPbStateDownloading") );
-            }
-            break;
-        case EPbStateInitialised:        
-            {
-            aDes.Copy( _L("EPbStateInitialised") );
-            }
-            break;
-        case EPbStatePluginSeeking:   
-            {
-            aDes.Copy( _L("EPbStatePluginSeeking") );
-            }
-            break;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayerTester::GetPropertyDes
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayerTester::GetPropertyDes( TMPXPlaybackProperty aProperty, TDes& aDes )
-    {
-    switch( aProperty )
-        {
-        case EPbPropertyVolume:    // 0 volume level values 0-KPbPlaybackVolumeLevelMax
-            {
-            aDes.Copy( _L("EPbPropertyVolume") );
-            }
-            break;
-        case EPbPropertyMaxVolume: // 1 read only, KPbPlaybackVolumeLevelMax
-            {
-            aDes.Copy( _L("EPbPropertyMaxVolume") );
-            }
-            break;
-        case EPbPropertyVolumeRamp:// 2
-            {
-            aDes.Copy( _L("EPbPropertyVolumeRamp") );
-            }
-            break;
-        case EPbPropertyMute:      // 3 values 0(normal), 1(muted)
-            {
-            aDes.Copy( _L("EPbPropertyMute") );
-            }
-            break;
-        case EPbPropertyBalance:   // 4 values -100(left) - 0 - +100(right)
-            {
-            aDes.Copy( _L("EPbPropertyBalance") );
-            }
-            break;
-        case EPbPropertyEmbeddedMode:// 5
-            {
-            aDes.Copy( _L("EPbPropertyEmbeddedMode") );
-            }
-            break;
-        case EPbPropertyCrossFade:   // 6
-            {
-            aDes.Copy( _L("EPbPropertyCrossFade") );
-            }
-            break;
-        case EPbPropertyRandomMode:  // 7
-            {
-            aDes.Copy( _L("EPbPropertyRandomMode") );
-            }
-            break;
-        case EPbPropertyRepeatMode:  // 8
-            {
-            aDes.Copy( _L("EPbPropertyRepeatMode") );
-            }
-            break;
-        case EPbPropertyAccessPoint: // 9
-            {
-            aDes.Copy( _L("EPbPropertyAccessPoint") );
-            }
-            break;
-        case EPbPropertyPosition:    // 10 depends on the plugin, it's safer to pause
-                                // the playing item before setting position
-            {
-            aDes.Copy( _L("EPbPropertyPosition") );
-            }
-            break;
-        case EPbPropertyDuration:    // 11 read only, millisecond
-            {
-            aDes.Copy( _L("EPbPropertyDuration") );
-            }
-            break;
-        case EPbPropertySongValid:   // 12
-            {
-            aDes.Copy( _L("EPbPropertySongValid") );
-            }
-            break;
-        case EPbPropertyRemote:      // 13
-            {
-            aDes.Copy( _L("EPbPropertyRemote") );
-            }
-            break;
-        case EPbPropertySupportedFeatures:// 14 read only
-            {
-            aDes.Copy( _L("EPbPropertySupportedFeatures") );
-            }
-            break;
-        case EPbPropertyNum:               // 15 Last
-            {
-            aDes.Copy( _L("EPbPropertyNum") );
-            }
-            break;
-        }
-    }
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionPlayerTestApp.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 "FusionPlayerTestAppApplication.h"
-#include <eikstart.h>
-
-// Create an application, and return a pointer to it
-EXPORT_C CApaApplication* NewApplication()
-    {
-    return new CFusionPlayerTestAppApplication;
-    }
-
-// ---------------------------------------------------------
-// E32Main()
-// Entry point function for new (>= 9.0) EPOC Apps (exe)
-// Returns: System Wide error codes or KErrNone if all goes well
-// ---------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionPlayerTestAppApplication.cpp	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies 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 "FusionPlayerTestAppDocument.h"
-#include "FusionPlayerTestAppApplication.h"
-
-// local constants
-static const TUid KUidFusionPlayerTestAppApp = {0x101FB3E3};
-
-CApaDocument* CFusionPlayerTestAppApplication::CreateDocumentL()
-    {
-    // Create an FusionPlayerTestApp document, and return a pointer to it
-    CApaDocument* document = CFusionPlayerTestAppDocument::NewL(*this);
-    return document;
-    }
-
-TUid CFusionPlayerTestAppApplication::AppDllUid() const
-    {
-    // Return the UID for the FusionPlayerTestApp application
-    return KUidFusionPlayerTestAppApp;
-    }
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionPlayerTestAppDocument.cpp	Mon Mar 15 12:40:47 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 the License "Eclipse Public License v1.0"
-* which accompanies 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 "FusionPlayerTestAppUi.h"
-#include "FusionPlayerTestAppDocument.h"
-#include <mpxviewutility.h>
-
-// implementation is purely framework code. Document class not customised
-// in this application
-
-CFusionPlayerTestAppDocument* CFusionPlayerTestAppDocument::NewL(CEikApplication& aApp)
-    {
-    CFusionPlayerTestAppDocument* self = NewLC(aApp);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CFusionPlayerTestAppDocument* CFusionPlayerTestAppDocument::NewLC(CEikApplication& aApp)
-    {
-    CFusionPlayerTestAppDocument* self = new (ELeave) CFusionPlayerTestAppDocument(aApp);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-void CFusionPlayerTestAppDocument::ConstructL()
-    {
-    // Get view utility. View utility must be created before AppUi.
-    iViewUtility = MMPXViewUtility::UtilityL();
-    }
-
-CFusionPlayerTestAppDocument::CFusionPlayerTestAppDocument(CEikApplication& aApp) : CAknDocument(aApp)
-    {
-    }
-
-CFusionPlayerTestAppDocument::~CFusionPlayerTestAppDocument()
-    {
-    if ( iViewUtility )
-        {
-        iViewUtility->Close();
-        }    
-    }
-
-CEikAppUi* CFusionPlayerTestAppDocument::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it
-    CEikAppUi* appUi = new (ELeave) CFusionPlayerTestAppAppUi;
-    return appUi;
-    }
-
--- a/tsrc/fusionmpxplayer_test/FusionMpxPlayerTestExeUi/src/FusionPlayerTestAppUi.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <aknutils.h>
-#include <S32FILE.H>
-#include <f32file.h>
-#include <EIKAPP.H>
-
-#include "VCXTestLog.h"
-#include "VCXTestCommon.h"
-#include "FusionMpxPlayerTestCommon.h"
-#include "FusionPlayerTestApp.hrh"
-#include "FusionPlayerTestAppUi.h"
-
-// Constants
-
-// ConstructL is called by the application framework
-void CFusionPlayerTestAppAppUi::ConstructL()
-    {
-	BaseConstructL(EAknEnableSkin);
-
-	RProcess process;
-	
-	iCmdListener = CFusionMpxPlayerTestCmdListener::NewL( process.Id(), this );
-	
-    User::LeaveIfError( CVCXTestCommon::GetPSProperty( KFusionMpxPlayerTestPScategory, 
-            KFusionMpxPlayerTestExeGlobalTesterCount, iPSKeyBase ) );
-    iPSKeyBase = iPSKeyBase * 1000 + process.Id();    
-    }
-
-CFusionPlayerTestAppAppUi::CFusionPlayerTestAppAppUi()
-    {
-    }
-
-CFusionPlayerTestAppAppUi::~CFusionPlayerTestAppAppUi()
-    {
-    VCXLOGLO1(">>>CFusionPlayerTestAppAppUi::~CFusionPlayerTestAppAppUi");
-    
-    RProcess process;
-	
-    delete iCmdListener;
-	iCmdListener = NULL;
-	
-    VCXLOGLO2("CFusionPlayerTestAppAppUi:: Sending EVcxFusionMpxPlayerResponseShutdown (%d) ----->", 
-            KFusionMpxPlayerTestExePsKeyResponse + iPSKeyBase );
-    
-    CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyResponse + iPSKeyBase, EVcxFusionMpxPlayerResponseShutdown );
-    
-    VCXLOGLO1("<<<CFusionPlayerTestAppAppUi::~CFusionPlayerTestAppAppUi");
-    }
-
-// handle menu commands
-void CFusionPlayerTestAppAppUi::HandleCommandL(TInt aCommand)
-    {
-    VCXLOGLO1(">>>CFusionPlayerTestAppAppUi::HandleCommandL");
-    
-    TInt err( KErrNone );
-    
-    switch( aCommand )
-        {
-        case EEikCmdExit:
-		case EAknSoftkeyExit:	// only softkey handled at this level
-            Exit();
-            break;
-		
-		case ESettingCmdPlayVideo:
-		    err = iCmdListener->PlayLocalVideo( _L("e:\\testing\\data\\prettyfu.3gp") );
-		    if( err != KErrNone )
-		        {
-		        VCXLOGLO2("CFusionPlayerTestAppAppUi:: PlayLocalVideo returned err: %d", err);
-		        }
-		    break;
-		
-		default:        
-            break;
-        }
-        
-    VCXLOGLO1("<<<CFusionPlayerTestAppAppUi::HandleCommandL");
-    }
-
-void CFusionPlayerTestAppAppUi::ShutdownCommandReceived()
-    {
-    VCXLOGLO1("CFusionPlayerTestAppAppUi::ShutdownCommandReceived ------> ");
-    Exit();
-    }
-
-//EOF
--- a/tsrc/fusionmpxplayer_test/conf/atsconf.txt	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-;Run \vado\videoplayer\tsrc\testing\tools\genATSdrop.pl from 
-;the tsrc folder to create ATS3 drop.
-[DROP]
-NAME VaDo - videoplayer - mpx_fusion_api
-DEVICE INSERT_DEVICE
-FLASH INSERT_FLASH_IMAGE
-FLASH INSERT_FLASH_IMAGE
-FLASH INSERT_FLASH_IMAGE
-SIS \VideoApp_Domain\videoplayer\videoplayerapp\mpxvideoplayer\sis\VideoPlayer.sisx
-PKG group\FusionMpxPlayer_ApiTest.pkg
-INI init\TestFramework.ini 300
-EMAIL INSERT_EMAIL
-RUN
-[ENDDROP]
--- a/tsrc/fusionmpxplayer_test/conf/ui_FusionMpxPlayer_ApiTest.cfg	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,616 +0,0 @@
-[Define]
-URL1 "rtsp:\/\/vishnu.wipsl.com/StarWreck_256.3gp"
-
-3G_IAP "Internet"
-EMULATOR_IAP "Ethernet with Daemon Dynamic IP"
-[Enddefine]
-
-[Test]
-title Setup
-
-create VCXTestUtilModule Util
-// Copies some known 3G AP to "Internet" destination with "Internet" name for the AP.
-Util CopyMethod "Internet" "Internet" "Internet"
-// Disable connection dialog for "Internet" destination.
-Util SetConnectionMethodIntAttribute "Internet" "Internet" 507 2 // 507 is ECmSeamlessnessLevel
-delete Util
-
-[Endtest]
-
-[Test]
-title Create and delete
-create FusionMpxPlayer_ApiTest test
-test Create
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - OpenLocalFile
-create FusionMpxPlayer_ApiTest test
-test Create
-pause 3000
-test OpenRandomFile
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - SetVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test SetVolume 10
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Play
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-pause 4000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - PlayWithFadeIn
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test PlayWithFadeIn
-pause 4000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Pause
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-pause 3000
-test Pause
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Stop
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-pause 3000
-test Stop
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Pause and Play
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-pause 3000
-test Pause
-pause 2000
-test Play
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - PlayPause
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test PlayPause
-pause 3000
-test PlayPause
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Next
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Next
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Previous
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Previous
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Replay
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Replay
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - StartSeekForward
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-pause 3000
-test StartSeekForward
-pause 2000
-test StopSeeking
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - StartSeekBackward
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-pause 3000
-test StartSeekBackward
-pause 2000
-test StopSeeking
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-
-[Test]
-title Local file - General seek stress
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-loop 10
-test StartSeekForward
-pause 1500
-test StartSeekBackward
-pause 500
-endloop
-test StopSeeking
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-
-[Test]
-title Local file - DecreaseVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test SetVolume 20
-pause 3000
-test DecreaseVolume
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - IncreaseVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test IncreaseVolume
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - MuteVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 1000
-test SetVolume 20
-pause 3000
-test MuteVolume
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - UnMuteVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test SetVolume 20
-pause 2000
-test MuteVolume
-pause 1000
-test UnMuteVolume
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - SetVolume STRESS
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test SetVolume 1
-pause 1000
-test SetVolume 100
-pause 1000
-test SetVolume 20
-pause 1000
-test SetVolume 80
-pause 1000
-test SetVolume 40
-pause 1000
-test SetVolume 10
-pause 1000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Volume STRESS
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-loop 12
-print LOOP_COUNTER
-test IncreaseVolume
-test DecreaseVolume
-endloop
-
-test SetVolume 10
-
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Close
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Close
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - ApplyEffect
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test ApplyEffect 2
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - DisableEffect
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test DisableEffect
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - ApplyEffect and DisableEffect
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test ApplyEffect 2
-pause 2000
-test DisableEffect
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - PreservePosition
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test PreservePosition
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - PreserveState
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test PreserveState
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - CloseItem
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test CloseItem
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - CancelInit
-create FusionMpxPlayer_ApiTest test
-test Create
-test SetCommandCompletionWait 0
-test OpenRandomFile
-test CancelInit
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - CancelInit after init
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test CancelInit
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - ResetPreserveState
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 2000
-test ResetPreserveState
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - UnloadNonActivePlugin
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 2000
-test UnloadNonActivePlugin
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - ClearKeyBuffer
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 2000
-test ClearKeyBuffer
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - VideoSeekForward
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-pause 3000
-test VideoSeekForward
-pause 2000
-test VideoEndSeek
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - VideoSeekBackward
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 3000
-test Play
-pause 3000
-test VideoSeekBackward
-pause 2000
-test VideoEndSeek
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - VideoNaturalAspectRatio
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 1000
-test Play
-pause 3000
-test VideoNaturalAspectRatio
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - VideoZoomAspectRatio
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 1000
-test Play
-pause 3000
-test VideoZoomAspectRatio
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - VideoStretchAspectRatio
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 1000
-test Play
-pause 3000
-test VideoStretchAspectRatio
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - VideoDefaultAspectRatio
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 1000
-test Play
-pause 3000
-test VideoDefaultAspectRatio
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - Aspect Ratio STRESS
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 1000
-test Play
-pause 500
-
-loop 5
-print LOOP_COUNTER
-test VideoNaturalAspectRatio
-pause 200
-test VideoZoomAspectRatio
-pause 200
-test VideoStretchAspectRatio
-pause 200
-endloop
-
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - VideoHandleForeground
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 1000
-test Play
-pause 500
-
-test VideoHandleForeground
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Local file - VideoHandleBackground
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenRandomFile
-pause 1000
-test Play
-pause 500
-
-test VideoHandleBackground
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream test
-create FusionMpxPlayer_ApiTest test
-test Create
-pause 3000
-test OpenUrl URL1 3G_AP
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
--- a/tsrc/fusionmpxplayer_test/conf/ui_FusionMpxPlayer_ApiTestStreams.cfg	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,623 +0,0 @@
-[Define]
-URL1 "rtsp:\/\/vishnu.wipsl.com/StarWreck_256.3gp"
-
-3G_AP "Internet"
-EMULATOR_IAP "Ethernet with Daemon Dynamic IP"
-[Enddefine]
-
-[Test]
-title Setup
-
-create VCXTestUtilModule Util
-// Copies some known 3G AP to "Internet" destination with "Internet" name for the AP.
-Util CopyMethod "Internet" "Internet" "Internet"
-// Disable connection dialog for "Internet" destination.
-Util SetConnectionMethodIntAttribute "Internet" "Internet" 507 2 // 507 is ECmSeamlessnessLevel
-delete Util
-
-[Endtest]
-
-[Test]
-title Stream - OpenUrl
-create FusionMpxPlayer_ApiTest test
-test Create
-pause 3000
-test OpenUrl URL1 3G_AP
-pause 30000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - SetVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test SetVolume 10
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Play
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 4000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - PlayWithFadeIn
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test PlayWithFadeIn
-pause 4000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Pause
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 3000
-test Pause
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Stop
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 3000
-test Stop
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Pause and Play
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 3000
-test Pause
-pause 2000
-test Play
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - PlayPause
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test PlayPause
-pause 3000
-test PlayPause
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Next
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Next
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Previous
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Previous
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Replay
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Replay
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - StartSeekForward
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 3000
-test StartSeekForward
-pause 2000
-test StopSeeking
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - StartSeekBackward
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 3000
-test StartSeekBackward
-pause 2000
-test StopSeeking
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - General seek stress
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-loop 10
-test StartSeekForward
-pause 1500
-test StartSeekBackward
-pause 500
-endloop
-test StopSeeking
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-
-[Test]
-title Stream - DecreaseVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test SetVolume 20
-pause 3000
-test DecreaseVolume
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - IncreaseVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test IncreaseVolume
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - MuteVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test SetVolume 20
-pause 2000
-test MuteVolume
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - UnMuteVolume
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test SetVolume 20
-pause 2000
-test MuteVolume
-pause 1000
-test UnMuteVolume
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - SetVolume STRESS
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test SetVolume 1
-pause 1000
-test SetVolume 100
-pause 1000
-test SetVolume 20
-pause 1000
-test SetVolume 80
-pause 1000
-test SetVolume 40
-pause 1000
-test SetVolume 10
-pause 1000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Volume STRESS
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-loop 12
-print LOOP_COUNTER
-test IncreaseVolume
-test DecreaseVolume
-endloop
-
-test SetVolume 10
-
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Close
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Close
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - ApplyEffect
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test ApplyEffect 2
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - DisableEffect
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test DisableEffect
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - ApplyEffect and DisableEffect
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test ApplyEffect 2
-pause 2000
-test DisableEffect
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - PreservePosition
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test PreservePosition
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - PreserveState
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test PreserveState
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - CloseItem
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test CloseItem
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - CancelInit
-create FusionMpxPlayer_ApiTest test
-test Create
-test SetCommandCompletionWait 0
-test OpenUrl URL1 3G_AP
-test CancelInit
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - CancelInit after init
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test CancelInit
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - ResetPreserveState
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 2000
-test ResetPreserveState
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - UnloadNonActivePlugin
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 2000
-test UnloadNonActivePlugin
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - ClearKeyBuffer
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 2000
-test ClearKeyBuffer
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoSeekForward
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 3000
-test VideoSeekForward
-pause 2000
-test VideoEndSeek
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoSeekBackward
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 3000
-test VideoSeekBackward
-pause 2000
-test VideoEndSeek
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoSeek STRESS
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 3000
-test Play
-pause 2000
-
-loop 6
-
-test VideoSeekForward
-pause 2500
-test VideoEndSeek
-
-test VideoSeekBackward
-pause 500
-test VideoEndSeek
-
-test Play
-pause 2000
-
-endloop
-
-pause 2000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoNaturalAspectRatio
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 1000
-test Play
-pause 3000
-test VideoNaturalAspectRatio
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoZoomAspectRatio
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 1000
-test Play
-pause 3000
-test VideoZoomAspectRatio
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoStretchAspectRatio
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 1000
-test Play
-pause 3000
-test VideoStretchAspectRatio
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoDefaultAspectRatio
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 1000
-test Play
-pause 3000
-test VideoDefaultAspectRatio
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - Aspect Ratio STRESS
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 1000
-test Play
-pause 500
-
-loop 5
-print LOOP_COUNTER
-test VideoNaturalAspectRatio
-pause 200
-test VideoZoomAspectRatio
-pause 200
-test VideoStretchAspectRatio
-pause 200
-endloop
-
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoHandleForeground
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 1000
-test Play
-pause 500
-
-test VideoHandleForeground
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
-
-[Test]
-title Stream - VideoHandleBackground
-create FusionMpxPlayer_ApiTest test
-test Create
-test OpenUrl URL1 3G_AP
-pause 1000
-test Play
-pause 500
-
-test VideoHandleBackground
-pause 3000
-test ShutdownTester
-delete test
-[Endtest]
\ No newline at end of file
--- a/tsrc/fusionmpxplayer_test/custom/postrun_custom.xml	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-<step name="Fetch Test module Report" harness="STIF" enabled="true" passrate="100" significant="false">
-       <command>fetch-log</command>
-       <params>
-	    <param type="text"/>
-	    <param delete="true"/>
-	    <param path="C:\Logs\TestFramework\*"/>
-       </params>
-</step>
-<step name="Fetch Fusion logs" harness="STIF" enabled="true" passrate="100" significant="false">
-       <command>fetch-log</command>
-       <params>
-	    <param type="text"/>
-	    <param delete="true"/>
-	    <param path="c:\logs\Fusion\*"/>
-       </params>
-</step>
-<step name="Fetch Livetv logs" harness="STIF" enabled="true" passrate="100" significant="false">
-       <command>fetch-log</command>
-       <params>
-	    <param type="text"/>
-	    <param delete="true"/>
-	    <param path="c:\logs\Livetv\*"/>
-       </params>
-</step>
-<step name="Fetch IPTV logs" harness="STIF" enabled="true" passrate="100" significant="false">
-       <command>fetch-log</command>
-       <params>
-	    <param type="text"/>
-	    <param delete="true"/>
-	    <param path="c:\logs\iptv\*"/>
-       </params>
-</step>
-<step name="Fetch verify files" harness="STIF" enabled="true" passrate="100" significant="false">
-       <command>fetch-log</command>
-       <params>
-	    <param type="text"/>
-	    <param delete="true"/>
-	    <param path="c:\testing\data\verifynew\*"/>
-       </params>
-</step>
-<step name="Fetch TestScripter logs" harness="STIF" enabled="true" passrate="100" significant="false">
-       <command>fetch-log</command>
-       <params>
-	    <param type="text"/>
-	    <param delete="true"/>
-	    <param path="C:\Logs\TestFramework\TestScripter\*"/>
-       </params>
-</step>
-<step name="Fetch Testengine logs" harness="STIF" enabled="true" passrate="100" significant="false">
-       <command>fetch-log</command>
-       <params>
-	    <param type="text"/>
-	    <param delete="true"/>
-	    <param path="C:\Logs\TestFramework\Testengine\*"/>
-       </params>
-</step>
-<step name="Fetch Testserver logs" harness="STIF" enabled="true" passrate="100" significant="false">
-       <command>fetch-log</command>
-       <params>
-	    <param type="text"/>
-	    <param delete="true"/>
-	    <param path="C:\Logs\TestFramework\Testserver\*"/>
-       </params>
-</step>
--- a/tsrc/fusionmpxplayer_test/custom/prerun_custom.xml	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-<step name="Create log directory for testmodule" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\logs\testframework"/>
-    	</params>
-</step>
-<step name="Create log directory for fusion" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\logs\Fusion"/>
-    	</params>
-</step>
-<step name="Create log directory for livetv" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\logs\Livetv"/>
-    	</params>
-</step>
-<step name="Create log directory for iptv" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\logs\iptv"/>
-    	</params>
-</step>
-<step name="Create directory for verify files" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\testing\data\verifyzip"/>
-    	</params>
-</step>
-<step name="Create directory for verify files" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\testing\data\verifynew"/>
-    	</params>
-</step>
-<step name="Create directory for TestScripter logs" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\logs\testframework\TestScripter"/>
-    	</params>
-</step>
-<step name="Create directory for Testengine logs" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\logs\testframework\Testengine"/>
-    	</params>
-</step>
-<step name="Create directory for Testserver logs" harness="STIF" enabled="true" passrate="100" significant="false">
-    	<command>makedir</command>
-    	<params>
-        <param dir="c:\logs\testframework\Testserver"/>
-    	</params>
-</step>
Binary file tsrc/fusionmpxplayer_test/data/mmc/5thelement_mpeg4.mp4 has changed
Binary file tsrc/fusionmpxplayer_test/data/mmc/SufferWell.3gp has changed
Binary file tsrc/fusionmpxplayer_test/data/mmc/happytreefriends_mpeg4.mp4 has changed
Binary file tsrc/fusionmpxplayer_test/data/mmc/prettyfu.3gp has changed
Binary file tsrc/fusionmpxplayer_test/data/mmc/sotajumala1.3gp has changed
--- a/tsrc/fusionmpxplayer_test/group/FusionMpxPlayer_ApiTest.mmp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*TYPE TESTCLASS*//*
-* 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 the License "Eclipse Public License v1.0"
-* which accompanies 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 <platform_paths.hrh>
-
-TARGET          FusionMpxPlayer_ApiTest.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         FusionMpxPlayer_ApiTest.def
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../VCXTestCommon/inc
-
-//OS_LAYER_SYSTEMINCLUDE
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-
-SOURCE          FusionMpxPlayer_ApiTest.cpp
-SOURCE          FusionMpxPlayer_ApiTestBlocks.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-LIBRARY         VCXTestCommon.lib
-LIBRARY         FLOGGER.lib
-LIBRARY         efsrv.lib
-LIBRARY         bafl.lib
-
-LANG            SC
-
-// Other possible keywords:
-
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-
-// DEFFILE ?filename
-// AIF ?filename
-
-// End of File
--- a/tsrc/fusionmpxplayer_test/group/FusionMpxPlayer_ApiTest.pkg	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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 the License "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:  Package file for Mpx Player STIF tests;
-
-; Languages
-&EN
-
-; Provide value for uid
-#{"FusionMpxPlayer_Test"},(0x00000000),1,1,0,TYPE=SA
-
-; Series60 product id for S60 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Logo
-; None
-
-; Package signature - Optional
-; None
-
-; Start of Package body
-
-; Condition blocks
-; None
-
-; Options list
-; None
-
-; Install files
-"\epoc32\release\armv5\udeb\FusionMpxPlayer_ApiTest.dll"                  -   "!:\Sys\Bin\FusionMpxPlayer_ApiTest.dll"
-"\epoc32\release\armv5\udeb\VCXTestCommon.dll"                            -   "!:\Sys\Bin\VCXTestCommon.dll"
-"\epoc32\release\armv5\udeb\VCXTestUtilModule.dll"                       -   "!:\Sys\Bin\VCXTestUtilModule.dll"
-"\epoc32\release\armv5\udeb\FusionMpxPlayerTestExeUi.exe"                 -   "!:\Sys\Bin\FusionMpxPlayerTestExeUi.exe"
-"\epoc32\data\z\resource\apps\FusionMpxPlayerTestExeUi.rsc"               -   "!:\resource\apps\FusionMpxPlayerTestExeUi.rsc"
-"\epoc32\data\Z\private\10003a3f\apps\FusionMpxPlayerTestExeUi_reg.rsc"   -   "!:\private\10003a3f\import\apps\FusionMpxPlayerTestExeUi_reg.rsc"
-"..\init\testframework.ini"                                              -   "c:\testframework\testframework.ini"
-"..\conf\ui_FusionMpxPlayer_ApiTest.cfg"                                  -   "c:\testframework\ui_FusionMpxPlayer_ApiTest.cfg"
-"..\conf\ui_FusionMpxPlayer_ApiTestStreams.cfg"                           -   "c:\testframework\ui_FusionMpxPlayer_ApiTestStreams.cfg"
-"..\data\mmc\prettyfu.3gp"                                               -   "e:\testing\data\prettyfu.3gp"
-"..\data\mmc\sotajumala1.3gp"                                            -   "e:\testing\data\sotajumala1.3gp"
-"..\data\mmc\SufferWell.3gp"                                             -   "e:\testing\data\SufferWell.3gp"
-"..\data\mmc\5thelement_mpeg4.mp4"                                       -   "e:\testing\data\5thelement_mpeg4.mp4"
-"..\data\mmc\happytreefriends_mpeg4.mp4"                                 -   "e:\testing\data\happytreefriends_mpeg4.mp4"
-
-
-; Embedded SIS
-; None
-
-; End of Package body
-
-; PKG dependencies
-; None
-
-; PKG capabilities
-; None
--- a/tsrc/fusionmpxplayer_test/group/bld.inf	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTEXPORTS
-../conf/ui_FusionMpxPlayer_ApiTest.cfg           /epoc32/winscw/c/testframework/ui_FusionMpxPlayer_ApiTest.cfg
-../conf/ui_FusionMpxPlayer_ApiTestStreams.cfg    /epoc32/winscw/c/testframework/ui_FusionMpxPlayer_ApiTestStreams.cfg
-../data/mmc/prettyfu.3gp                         /epoc32/winscw/c/testing/data/prettyfu.3gp
-../data/mmc/sotajumala1.3gp                      /epoc32/winscw/c/testing/data/sotajumala1.3gp
-../data/mmc/SufferWell.3gp                       /epoc32/winscw/c/testing/data/SufferWell.3gp
-../data/mmc/5thelement_mpeg4.mp4                 /epoc32/winscw/c/testing/data/5thelement_mpeg4.mp4
-../data/mmc/happytreefriends_mpeg4.mp4           /epoc32/winscw/c/testing/data/happytreefriends_mpeg4.mp4
-PRJ_EXPORTS
-
-PRJ_TESTMMPFILES
-FusionMpxPlayer_ApiTest.mmp
-../FusionMpxPlayerTestExeUi/group/FusionPlayerTestApp.mmp
-
-PRJ_MMPFILES
-
-//  End of File
--- a/tsrc/fusionmpxplayer_test/inc/FusionMpxPlayerTestCommon.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FUSIONMPXPLAYERTESTCOMMON_H
-#define FUSIONMPXPLAYERTESTCOMMON_H
-
-// Category for PS keys used by tests. Test module and exe must both use this.
-const TUid KFusionMpxPlayerTestPScategory = { 0x101FB3E3 };
-
-const TUint KFusionMpxPlayerTestExeGlobalTesterCount = 1;
-
-// Set this to 1 to inform all the tester exe's for shutdown.
-const TInt KFusionMpxPlayerTestExeGlobalShutdownKey = 2;
-
-/**
- *  P&S key for commands, created by tester exe which adds it's own process id to this.
- */
-const TUint KFusionMpxPlayerTestExePsKeyCmd = 10; // Observed for changes by tester exe.
-
-/**
- *  Parameters for the commands, created by tester exe which adds it's own process id to these.
- */
-const TUint KFusionMpxPlayerTestExePsKeyCmdIntParam1 = 11;
-const TUint KFusionMpxPlayerTestExePsKeyCmdIntParam2 = 12;
-const TUint KFusionMpxPlayerTestExePsKeyCmdDescParam1 = 13;
-
-/**
- *  P&S keys for responses, created by tester exe which adds it's own process id to these.
- */
-// This is sent after tester exe has received the cmd.
-// Contains symbian error code.
-const TUint KFusionMpxPlayerTestExePsKeyResponse = 20;
-const TUint KFusionMpxPlayerTestExePsKeyResponseError = 21;
-
-/**
- * List of commands to tester exe.
- */
-enum TVcxFusionMpxPlayerCommand
-    {
-    // Params: none
-    EVcxFusionMpxPlayerCommandShutdown, 
-
-    // Descparam1: filename and path
-    // Intparam1: start playback
-    EVcxFusionMpxPlayerCommandOpenLocalFile,
-
-    // Descparam1: url
-    // Intparam1: iapId
-    EVcxFusionMpxPlayerCommandOpenUrl,
-    
-    // Issues general playback command to player
-    // Params: intparam1: command from mpxplaybackcommanddefs.h
-    //         others: as needed
-    EVcxFusionMpxPlayerCommandGeneralPlaybackCommand,  
-    
-    // Issues video playback command to player
-    // Params: intparam1: command from  mpxvideoplaybackdefs.h
-    //         others: as needed
-    EVcxFusionMpxPlayerCommandVideoPlaybackCommand, 
-    };
-
-/**
- * List of responses from tester exe.
- */
-enum TVcxFusionMpxPlayerResponse
-    {
-    // Sent after receiving command.
-    EVcxFusionMpxPlayerResponseGeneralError = 1,
-    // Sent after completing the command.
-    EVcxFusionMpxPlayerResponseCommandComplete,
-    // Sent after tester class is destroyed. 
-    EVcxFusionMpxPlayerResponseShutdown,
-    };
-
-#endif // FUSIONMPXPLAYERTESTCOMMON_H
--- a/tsrc/fusionmpxplayer_test/inc/FusionMpxPlayer_ApiTest.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-// wait until command is complete( no more expected messages )
-
-#ifndef MPXFUSIONPLAYER_APITEST_H
-#define MPXFUSIONPLAYER_APITEST_H
-
-//  INCLUDES
-#include "VCXTestLog.h"
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <TestclassAssert.h>
-
-#include <f32file.h>
-
-#include "MIptvTestTimerObserver.h"
-#include "VCXTestPSObserver.h"
-
-// CONSTANTS
-const TInt KTimeoutTimerId = 0;
-const TUint KFusionTestCommandTimeout = 60*1000000;
-
-// MACROS
-//#define ?macro ?macro_def
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-// Logging path
-_LIT( KFusionMpxPlayer_ApiTestLogPath, "\\logs\\testframework\\FusionMpxPlayer_ApiTest\\" );
-// Log file
-_LIT( KFusionMpxPlayer_ApiTestLogFile, "FusionMpxPlayer_ApiTest.txt" );
-_LIT( KFusionMpxPlayer_ApiTestLogFileWithTitle, "FusionMpxPlayer_ApiTest_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class CFusionMpxPlayer_ApiTest;
-class CIptvTestTimer;
-class CIptvTestActiveWait;
-class CVCXTestCommon;
-class CVCXTestPSSubscriber;
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-enum  TFusionPlayerTestSeekType
-{
-    EFusionPlayerTestSeekForward,
-    EFusionPlayerTestSeekBackward,
-    EFusionPlayerTestSeekStop,
-} ;
-// CLASS DECLARATION
-
-
-/**
-*  CFusionMpxPlayer_ApiTest test class for STIF Test Framework TestScripter.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS(CFusionMpxPlayer_ApiTest) : public CScriptBase,
-                                              public MVCXTestPSObserver,
-                                              public MIptvTestTimerObserver
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CFusionMpxPlayer_ApiTest* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CFusionMpxPlayer_ApiTest();
-
-    public: // New functions
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-        /**
-        * From MIptvTestTimerObserver Handles timer completion
-        * @since
-        * @param aTimerId
-        * @param aError
-        */
-        void TimerComplete(TInt aTimerId, TInt aError);
-
-        /**
-         * From MVCXConnUtilTestPSObserver, called when P&S key changes.
-         */
-        void ValueChangedL( const TUid& aUid, const TUint32& aKey, const TInt&  aValue );
-
-        /**
-         * From MVCXConnUtilTestPSObserver, called when P&S key changes.
-         */
-        void ValueChangedL( const TUid& aUid, const TUint32& aKey, const TDesC& aValue );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CFusionMpxPlayer_ApiTest( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
-
-        /**
-        * Test methods are listed below.
-        */
-
-        /**
-         * Set 0 to stop wait for command completion message from tester exe. 
-         */
-        virtual TInt SetCommandCompletionWaitL( CStifItemParser& aItem );
-        
-        /**
-         * Call this before CreateL. Will try to shutdown all possible tester exes.
-         */
-        virtual TInt PrepareCaseL( CStifItemParser& aItem );
-
-        /**
-         * Called at module deletion. Shutdowns tester exe.
-         */
-        virtual TInt ShutdownTesterL( CStifItemParser& aItem );
-
-        /**
-         * Creates the test module.
-         */
-        virtual TInt CreateL( CStifItemParser& aItem );
-
-        /**
-         * Starts playing a random local file using MMPXPlaybackUtility::InitL and activates
-         * player view.
-         * @param filename
-         */
-        virtual TInt OpenRandomFileL( CStifItemParser& aItem );        
-        
-        /**
-         * Starts playing a local file using MMPXPlaybackUtility::InitL and activates
-         * player view.
-         * @param filename
-         */
-        virtual TInt OpenLocalFileL( CStifItemParser& aItem );
-
-        /**
-         * Starts playing stream.
-         * @param URL
-         * @param IAP
-         */
-        virtual TInt OpenUrlL( CStifItemParser& aItem );
-        
-        /**
-         * These map to commands defined in mpxplaybackcommanddefs.h
-         */
-
-        virtual TInt PlayL( CStifItemParser& aItem );
-        virtual TInt PlayWithFadeInL( CStifItemParser& aItem );
-        virtual TInt PauseL( CStifItemParser& aItem );
-        virtual TInt StopL( CStifItemParser& aItem );
-        virtual TInt PlayPauseL( CStifItemParser& aItem );
-
-        virtual TInt NextL( CStifItemParser& aItem );
-        virtual TInt PreviousL( CStifItemParser& aItem );
-        virtual TInt ReplayL( CStifItemParser& aItem );
-        virtual TInt StartSeekForwardL( CStifItemParser& aItem );
-        virtual TInt StartSeekBackwardL( CStifItemParser& aItem );
-        virtual TInt StopSeekingL( CStifItemParser& aItem );
-        virtual TInt DecreaseVolumeL( CStifItemParser& aItem );
-        virtual TInt IncreaseVolumeL( CStifItemParser& aItem );
-        virtual TInt MuteVolumeL( CStifItemParser& aItem );
-        virtual TInt UnMuteVolumeL( CStifItemParser& aItem );
-        virtual TInt SetVolumeL( CStifItemParser& aItem );
-
-        virtual TInt CloseL( CStifItemParser& aItem );
-        virtual TInt ApplyEffectL( CStifItemParser& aItem );
-        virtual TInt DisableEffectL( CStifItemParser& aItem );
-        virtual TInt PreservePositionL( CStifItemParser& aItem );
-        virtual TInt PreserveStateL( CStifItemParser& aItem );
-        virtual TInt CloseItemL( CStifItemParser& aItem );
-        virtual TInt CancelInitL( CStifItemParser& aItem );
-        virtual TInt ResetPreserveStateL( CStifItemParser& aItem );
-        virtual TInt UnloadNonActivePluginL( CStifItemParser& aItem );
-        virtual TInt ClearKeyBufferL( CStifItemParser& aItem );
-
-        /**
-         * These map to commands defined in mpxvideoplaybackdefs.h
-         */
-
-        virtual TInt VideoSeekForwardL( CStifItemParser& aItem );
-        virtual TInt VideoSeekBackwardL( CStifItemParser& aItem );
-        virtual TInt VideoEndSeekL( CStifItemParser& aItem );
-        virtual TInt VideoNaturalAspectRatioL( CStifItemParser& aItem );
-        virtual TInt VideoZoomAspectRatioL( CStifItemParser& aItem );
-        virtual TInt VideoStretchAspectRatioL( CStifItemParser& aItem );
-        virtual TInt VideoDefaultAspectRatioL( CStifItemParser& aItem );
-        virtual TInt VideoHandleForegroundL( CStifItemParser& aItem );
-        virtual TInt VideoHandleBackgroundL( CStifItemParser& aItem );
-
-        /**
-         * Method used to log version of test class
-         */
-        void SendTestClassVersion();
-
-        //ADD NEW METHOD DEC HERE
-        //[TestMethods] - Do not remove
-
-    private:
-        void TesterExeAliveL();
-
-        void SendExeCmdL( TInt aCmd );
-        void SendExeCmdL( TInt aCmd, TInt aIntParam1 );
-        void SendExeCmdL( TInt aCmd, TInt aIntParam1, TInt aIntParam2 );
-        void SendExeCmdL( TInt aCmd, const TDesC& aDescParam1 );
-        void SendExeCmdL( TInt aCmd, const TDesC& aDescParam1, TInt aIntParam1 );
-        void WaitForCommandL();
-        
-    private:    // Data
-        CVCXTestCommon* iTestCommon;
-
-        TBool iShutdownCalled;
-
-        CVCXTestPSSubscriber* iTesterGetAckResponseSubscriber;
-        CVCXTestPSSubscriber* iTesterGetMessageListResponseSubscriber;
-
-        // Testexe
-        RProcess iProcess;
-
-        // Timeout timer
-        CIptvTestTimer* iTimeoutTimer;
-
-        CIptvTestActiveWait* iWait;
-
-        TInt64 iRandomSeed;
-        
-        RFs iFs;
-        
-        TBool iCommandComplete;
-        
-        TInt iError;
-        
-        TBool iCommandWait;
-        
-        TInt iPSKeyBase;
-    };
-
-#endif      // MPXFUSIONPLAYER_APITEST_H
-
-// End of File
--- a/tsrc/fusionmpxplayer_test/init/TestFramework.ini	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-# - Set Test Reporting mode. TestReportMode's possible values are:
-#     + 'Summary': Summary of the tested test cases.
-#     + 'Environment': Hardware and software info.
-#     + 'TestCases': Test case report.
-#     + 'FullReport': Set of all above ones.
-#     + Example 'TestReportMode= Summary TestCases'
-#
-#     - CreateTestReport setting controls report creation mode
-#     + YES, Test report will created.
-#     + NO, No Test report.
-#
-#     - File path indicates the base path of the test report.
-#     - File name indicates the name of the test report.
-#
-#     - File format indicates the type of the test report.
-#     + TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#     + HTML, Test report will be html type, for example 'TestReport.html'.
-#
-#     - File output indicates output source of the test report.
-#     + FILE, Test report logging to file.
-#     + RDEBUG, Test report logging to using rdebug.
-#
-#     - File Creation Mode indicates test report overwriting if file exist.
-#     + OVERWRITE, Overwrites if the Test report file exist.
-#     + APPEND, Continue logging after the old Test report information if 
-#           report exist.
-
-[Engine_Defaults]
-
-TestReportMode= FullReport    # Possible values are: 
-                              # 'Summary', 'Environment', 'TestCases' or 'FullReport'
-
-CreateTestReport= YES         # Possible values: YES or NO
-
-TestReportFilePath= C:\Logs\Fusion\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT         # Possible values: TXT or HTML
-TestReportOutput= FILE        # Possible values: FILE or RDEBUG
-TestReportFileCreationMode= APPEND # Possible values: OVERWRITE or APPEND
-UITestingSupport= Yes
-SeparateProcesses= YES
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-[New_Module]
-ModuleName= testscripter
-TestCaseFile= c:\testframework\ui_FusionMpxPlayer_ApiTest.cfg
-TestCaseFile= c:\testframework\ui_FusionMpxPlayer_ApiTestStreams.cfg
-[End_Module]
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#     + YES, Event ranking number added to each line in log file(s). Ranking number 
-#       depends on environment's tics, for example(includes time stamp also)
-#       '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-#	- Will write log file in unicode format.
-#		+ YES, Log file will be written in unicode format
-#		+ NO, Log will be written as normal, not unicode, file.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' 
-
-CreateLogDirectories= YES    # Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML         # Possible values: TXT or HTML
-#EmulatorOutput= FILE         # Possible values: FILE or RDEBUG
-
-#HardwareBasePath=  C:\
-#HardwareFormat= TXT			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-FileCreationMode= APPEND  # Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES      # Possible values: YES or NO
-#WithTimeStamp= YES          # Possible values: YES or NO
-#WithLineBreak= YES          # Possible values: YES or NO
-#WithEventRanking= YES       # Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/tsrc/fusionmpxplayer_test/src/FusionMpxPlayer_ApiTest.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FILES
-#include <Stiftestinterface.h>
-#include "FusionMpxPlayer_ApiTest.h"
-#include <SettingServerClient.h>
-
-#include <coeaui.h>
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::CFusionMpxPlayer_ApiTest
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CFusionMpxPlayer_ApiTest::CFusionMpxPlayer_ApiTest(
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::ConstructL()
-    {    
-    //Read logger settings to check whether test case name is to be
-    //appended to log file name.
-    RSettingServer settingServer;
-    TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings;
-    // Parse StifLogger defaults from STIF initialization file.
-    ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Close Setting server session
-    settingServer.Close();
-
-    TFileName logFileName;
-
-    if(loggerSettings.iAddTestCaseTitle)
-        {
-        TName title;
-        TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KFusionMpxPlayer_ApiTestLogFileWithTitle, &title);
-        }
-    else
-        {
-        logFileName.Copy(KFusionMpxPlayer_ApiTestLogFile);
-        }
-
-    iLog = CStifLogger::NewL( KFusionMpxPlayer_ApiTestLogPath,
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-
-    SendTestClassVersion();
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CFusionMpxPlayer_ApiTest* CFusionMpxPlayer_ApiTest::NewL(
-    CTestModuleIf& aTestModuleIf )
-    {
-    CFusionMpxPlayer_ApiTest* self = new (ELeave) CFusionMpxPlayer_ApiTest( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-CFusionMpxPlayer_ApiTest::~CFusionMpxPlayer_ApiTest()
-    {
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog;
-
-    }
-
-//-----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::SendTestClassVersion()
-	{
-	TVersion moduleVersion;
-	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
-	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
-	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-
-	TFileName moduleName;
-	moduleName = _L("FusionMpxPlayer_ApiTest.dll");
-
-	TBool newVersionOfMethod = ETrue;
-	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL(
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) CFusionMpxPlayer_ApiTest::NewL( aTestModuleIf );
-
-    }
-
-
-//  End of File
--- a/tsrc/fusionmpxplayer_test/src/FusionMpxPlayer_ApiTestBlocks.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1255 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include "FusionMpxPlayer_ApiTest.h"
-#include "FusionMpxPlayerTestCommon.h"
-
-#include "VCXTestLog.h"
-#include "VCXTestCommon.h"
-#include "VCXTestPSSubscriber.h"
-#include "CIptvTestTimer.h"
-#include "CIptvTestActiveWait.h"
-#include "VCXTestTimerWait.h"
-#include <mpxvideoplaybackdefs.h>
-
-#include <e32math.h>
-#include <mpxplaybackutility.h>
-#include <mpxplaybackmessage.h>
-#include <mpxmessagegeneraldefs.h>
-#include <mpxcommandgeneraldefs.h>
-#include <mpxviewutility.h>
-#include <mpxcollectionplaylist.h>
-
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::Delete
-// Delete here all resources allocated and opened from test methods.
-// Called from destructor.
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::Delete()
-    {
-    VCXLOGLO1("CFusionMpxPlayer_ApiTest::Delete");
-
-    if( !iShutdownCalled )
-        {
-        CStifItemParser* fakeParser = NULL;
-        TRAP_IGNORE( ShutdownTesterL( *fakeParser ) );
-        }
-
-    delete iTestCommon;
-    iTestCommon = NULL;
-
-    if( iTimeoutTimer )
-        {
-        iTimeoutTimer->CancelTimer();
-        delete iTimeoutTimer;
-        iTimeoutTimer = NULL;
-        }
-
-    delete iWait;
-    iWait = NULL;    
-    
-    delete iTesterGetAckResponseSubscriber;
-    iTesterGetAckResponseSubscriber = NULL;
-    
-    delete iTesterGetMessageListResponseSubscriber;
-    iTesterGetMessageListResponseSubscriber = NULL;
-    
-    iFs.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::RunMethodL(
-    CStifItemParser& aItem )
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {
-        // Copy this line for every implemented function.
-        // First string is the function name used in TestScripter script file.
-        // Second is the actual implementation member function.
-
-        ENTRY( "SetCommandCompletionWait", CFusionMpxPlayer_ApiTest::SetCommandCompletionWaitL ),
-        ENTRY( "PrepareCase", CFusionMpxPlayer_ApiTest::PrepareCaseL ),
-        ENTRY( "ShutdownTester", CFusionMpxPlayer_ApiTest::ShutdownTesterL ),
-
-        ENTRY( "Create", CFusionMpxPlayer_ApiTest::CreateL ),
-
-        ENTRY( "OpenRandomFile", CFusionMpxPlayer_ApiTest::OpenRandomFileL ),
-        ENTRY( "OpenLocalFile", CFusionMpxPlayer_ApiTest::OpenLocalFileL ),
-        ENTRY( "OpenUrl", CFusionMpxPlayer_ApiTest::OpenUrlL ),
-
-        ENTRY( "Play", CFusionMpxPlayer_ApiTest::PlayL ),
-        ENTRY( "PlayWithFadeIn", CFusionMpxPlayer_ApiTest::PlayWithFadeInL ),
-        ENTRY( "Pause", CFusionMpxPlayer_ApiTest::PauseL ),
-        ENTRY( "Stop", CFusionMpxPlayer_ApiTest::StopL ),
-        ENTRY( "PlayPause", CFusionMpxPlayer_ApiTest::PlayPauseL ),
-        ENTRY( "Next", CFusionMpxPlayer_ApiTest::NextL ),
-        ENTRY( "Previous", CFusionMpxPlayer_ApiTest::PreviousL ),
-        ENTRY( "Replay", CFusionMpxPlayer_ApiTest::ReplayL ),
-        ENTRY( "StartSeekForward", CFusionMpxPlayer_ApiTest::StartSeekForwardL ),
-        ENTRY( "StartSeekBackward", CFusionMpxPlayer_ApiTest::StartSeekBackwardL ),
-        ENTRY( "StopSeeking", CFusionMpxPlayer_ApiTest::StopSeekingL ),
-        ENTRY( "DecreaseVolume", CFusionMpxPlayer_ApiTest::DecreaseVolumeL ),
-        ENTRY( "IncreaseVolume", CFusionMpxPlayer_ApiTest::IncreaseVolumeL ),
-        ENTRY( "MuteVolume", CFusionMpxPlayer_ApiTest::MuteVolumeL ),
-        ENTRY( "UnMuteVolume", CFusionMpxPlayer_ApiTest::UnMuteVolumeL ),
-        ENTRY( "SetVolume", CFusionMpxPlayer_ApiTest::SetVolumeL ),
-        ENTRY( "Close", CFusionMpxPlayer_ApiTest::CloseL ),
-        ENTRY( "ApplyEffect", CFusionMpxPlayer_ApiTest::ApplyEffectL ),
-        ENTRY( "DisableEffect", CFusionMpxPlayer_ApiTest::DisableEffectL ),
-        ENTRY( "PreservePosition", CFusionMpxPlayer_ApiTest::PreservePositionL ),
-        ENTRY( "PreserveState", CFusionMpxPlayer_ApiTest::PreserveStateL ),
-        ENTRY( "CloseItem", CFusionMpxPlayer_ApiTest::CloseItemL ),
-        ENTRY( "CancelInit", CFusionMpxPlayer_ApiTest::CancelInitL ),
-        ENTRY( "ResetPreserveState", CFusionMpxPlayer_ApiTest::ResetPreserveStateL ),
-        ENTRY( "UnloadNonActivePlugin", CFusionMpxPlayer_ApiTest::UnloadNonActivePluginL ),
-        ENTRY( "ClearKeyBuffer", CFusionMpxPlayer_ApiTest::ClearKeyBufferL ),
-
-        ENTRY( "VideoSeekForward", CFusionMpxPlayer_ApiTest::VideoSeekForwardL ),
-        ENTRY( "VideoSeekBackward", CFusionMpxPlayer_ApiTest::VideoSeekBackwardL ),
-        ENTRY( "VideoEndSeek", CFusionMpxPlayer_ApiTest::VideoEndSeekL ),
-        ENTRY( "VideoNaturalAspectRatio", CFusionMpxPlayer_ApiTest::VideoNaturalAspectRatioL ),
-        ENTRY( "VideoZoomAspectRatio", CFusionMpxPlayer_ApiTest::VideoZoomAspectRatioL ),
-        ENTRY( "VideoStretchAspectRatio", CFusionMpxPlayer_ApiTest::VideoStretchAspectRatioL ),
-        ENTRY( "VideoDefaultAspectRatio", CFusionMpxPlayer_ApiTest::VideoDefaultAspectRatioL ),
-        ENTRY( "VideoHandleForeground", CFusionMpxPlayer_ApiTest::VideoHandleForegroundL ),
-        ENTRY( "VideoHandleBackground", CFusionMpxPlayer_ApiTest::VideoHandleBackgroundL ),
-        
-        //ADD NEW ENTRY HERE
-        // [test cases entries] - Do not remove
-
-        };
-
-    const TInt count = sizeof( KFunctions ) /
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::PrepareCaseL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::PrepareCaseL( CStifItemParser& /* aItem */ )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::PrepareCaseL ------>");
-    // Print to UI
-    _LIT( KTestModule, "CFusionMpxPlayer_ApiTest" );
-    _LIT( KWhere, "In PrepareCaseL" );
-    TestModuleIf().Printf( 0, KTestModule, KWhere );
-    // Print to log file
-    iLog->Log( KWhere );
-
-    TInt err = CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExeGlobalShutdownKey, 1 );
-    if( err != KErrNone )
-        {
-        VCXLOGLO2("CFusionMpxPlayer_ApiTest:: Could not read KFusionMpxPlayerTestExeGlobalShutdownKey from PS. err: %d", err);
-        }
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::PrepareCaseL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::SetCommandCompletionWaitL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::SetCommandCompletionWaitL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::SetCommandCompletionWaitL ------>");
-    // Print to UI
-    _LIT( KTestModule, "CFusionMpxPlayer_ApiTest" );
-    _LIT( KWhere, "In SetCommandCompletionWaitL" );
-    TestModuleIf().Printf( 0, KTestModule, KWhere );
-    // Print to log file
-    iLog->Log( KWhere );
-    
-    TInt ack;
-    User::LeaveIfError( aItem.GetNextInt( ack ) );
-    
-    iCommandWait = static_cast<TBool>( ack );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::SetCommandCompletionWaitL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::ShutdownTesterL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::ShutdownTesterL( CStifItemParser& /* aItem */ )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::ShutdownTesterL ------>");
-    // Print to UI
-    _LIT( KTestModule, "CFusionMpxPlayer_ApiTest" );
-    _LIT( KWhere, "In ShutdownTesterL" );
-    TestModuleIf().Printf( 0, KTestModule, KWhere );
-    // Print to log file
-    iLog->Log( KWhere );
-
-    iShutdownCalled = ETrue;
-
-    // Tell tester exe to shutdown.
-    if( iProcess.ExitReason() == KErrNone && iProcess.ExitType() == EExitPending )
-        {
-        VCXLOGLO1("CFusionMpxPlayer_ApiTest:: Setting cmd EVcxFusionMpxPlayerCommandShutdown and waiting response ----->");
-        TRAP_IGNORE( SendExeCmdL( EVcxFusionMpxPlayerCommandShutdown ) );
-        User::After( 3000 );
-        }
-    
-    // Check the shutdown.
-    VCXLOGLO2("CFusionMpxPlayer_ApiTest:: Exit type: %d", iProcess.ExitType());
-    VCXLOGLO2("CFusionMpxPlayer_ApiTest:: Exit reason: %d", iProcess.ExitReason());
-    TExitCategoryName exitCatName = iProcess.ExitCategory();
-    VCXLOGLO2("CFusionMpxPlayer_ApiTest:: Exit category: %S", &exitCatName);
-
-    TInt err = iProcess.ExitReason();
-
-    if( err == KErrNone && iProcess.ExitType() != EExitKill && exitCatName.Length() == 0 )
-        {
-        VCXLOGLO1("CFusionMpxPlayer_ApiTest:: No exit error, no panic but exit type is unusual or exe is stil running.");
-        //err = KErrGeneral; // We don't care, test classes have been destroyed by now.
-        }        
-
-    // Stop listening P&S changes.
-    delete iTesterGetAckResponseSubscriber;
-    iTesterGetAckResponseSubscriber = NULL;
-    
-    delete iTesterGetMessageListResponseSubscriber;
-    iTesterGetMessageListResponseSubscriber = NULL;
-    
-    // Remove the P&S keys for this process.
-    RProperty::Delete( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase);
-    RProperty::Delete( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyCmdIntParam1 + iPSKeyBase);
-    RProperty::Delete( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyCmdIntParam2 + iPSKeyBase);
-    RProperty::Delete( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyCmdDescParam1 + iPSKeyBase);
-    RProperty::Delete( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyResponse + iPSKeyBase);
-    RProperty::Delete( KFusionMpxPlayerTestPScategory, KFusionMpxPlayerTestExePsKeyResponseError + iPSKeyBase);
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::ShutdownTesterL");
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::CreateL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::CreateL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::CreateL ------>");
-    
-    // Print to UI
-    _LIT( KFusionMpxPlayer_ApiTest, "FusionMpxPlayer_ApiTest" );
-    _LIT( KWhere, "In Create" );
-    TestModuleIf().Printf( 0, KFusionMpxPlayer_ApiTest, KWhere );
-    // Print to log file
-    iLog->Log( KWhere );
-
-    iCommandWait = ETrue;
-    
-    User::LeaveIfError( iFs.Connect() );
-    
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    iTestCommon = CVCXTestCommon::NewL();
-    iWait = CIptvTestActiveWait::NewL();
-    iTimeoutTimer = CIptvTestTimer::NewL( *this, KTimeoutTimerId );
-
-    // Start tester exe process
-    User::LeaveIfError( iProcess.Create( _L("FusionMpxPlayerTestExeUi.exe"), _L("") ) );
-    User::After( 2000000 );
-    iProcess.Resume();
-    User::After( 2000000 );
-
-    TesterExeAliveL();
-
-    VCXLOGLO1("CFusionMpxPlayer_ApiTest:: tester exe started ok ------>");
-
-    User::LeaveIfError( CVCXTestCommon::GetPSProperty( KFusionMpxPlayerTestPScategory, 
-            KFusionMpxPlayerTestExeGlobalTesterCount, iPSKeyBase ) );
-    iPSKeyBase = iPSKeyBase * 1000 + iProcess.Id();
-
-    // Start listening P&S for the tester responses.
-    iTesterGetAckResponseSubscriber = CVCXTestPSSubscriber::NewL( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyResponse + iPSKeyBase, RProperty::EInt, this );
-    iTesterGetAckResponseSubscriber->Start();
-    VCXLOGLO2("CFusionMpxPlayer_ApiTest:: Listening P&S key KFusionMpxPlayerTestExePsKeyResponse: %d", KFusionMpxPlayerTestExePsKeyResponse + iPSKeyBase);
-    
-    TTime time;
-    time.HomeTime();
-    iRandomSeed = time.Int64();
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::CreateL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::OpenRandomFileL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::OpenRandomFileL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::OpenRandomFileL ------>");
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    
-    TInt fileNum = ( Math::Rand( iRandomSeed ) % 5 );
-    TBuf<256> file( _L(":\\testing\\data\\") );
-
-    switch( fileNum )
-        {
-        case 0:
-            {
-            file.Append( _L("sotajumala1.3gp") );
-            }
-            break;
-        case 1:
-            {
-            file.Append( _L("happytreefriends_mpeg4.mp4") );
-            }
-            break;
-        case 2:
-            {
-            file.Append( _L("prettyfu.3gp") );
-            }
-            break;
-        case 3:
-            {
-            file.Append( _L("SufferWell.3gp") );
-            }
-            break;
-        case 4:
-            {
-            file.Append( _L("5thelement_mpeg4.mp4") );
-            }
-            break;
-        default:
-            {
-            file.Append( _L("5thelement_mpeg4.mp4") );
-            }
-            break;
-        }
-
-    // Find which drive the file is on.
-    TBuf<256> path;
-    path.Copy( _L("c") );
-    path.Append( file );
-    if( !BaflUtils::FileExists( iFs, path ) )
-        {
-        path.Copy( _L("e") );
-        path.Append( file );
-        if( !BaflUtils::FileExists( iFs, path ) )
-            {
-            path.Copy( _L("f") );
-            path.Append( file );
-            if( !BaflUtils::FileExists( iFs, path ) )
-                {
-                VCXLOGLO1("CFusionMpxPlayer_ApiTest:: Error! Test video not found!");
-                User::Leave( KErrNotFound );
-                }
-            }
-        }
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandOpenLocalFile, path );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::OpenRandomFileL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::OpenLocalFileL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::OpenLocalFileL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::OpenLocalFileL ------>");
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    TPtrC file;
-    User::LeaveIfError( aItem.GetNextString( file ) );
-    
-    SendExeCmdL( EVcxFusionMpxPlayerCommandOpenLocalFile, file );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::OpenLocalFileL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::OpenUrlL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::OpenUrlL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::OpenUrlL ------>");
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    TPtrC url;
-    User::LeaveIfError( aItem.GetNextString( url ) );
-
-    TPtrC iapName;
-    User::LeaveIfError( aItem.GetNextString( iapName ) );
-
-    TUint32 iapId;
-    User::LeaveIfError( iTestCommon->GetIapIdL( iapName, iapId ) );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandOpenUrl, url, iapId );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::OpenUrlL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::PlayL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::PlayL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::PlayL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdPlay );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::PlayL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::PlayWithFadeInL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::PlayWithFadeInL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::PlayWithFadeInL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdPlayWithFadeIn );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::PlayWithFadeInL");
-    return KErrNone;
-    }
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::PauseL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::PauseL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::PauseL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdPause );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::PauseL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::StopL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::StopL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::StopL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdStop );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::StopL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::PlayPauseL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::PlayPauseL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::PlayPauseL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdPlayPause );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::PlayPauseL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::NextL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::NextL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::NextL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdNext );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::NextL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::PreviousL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::PreviousL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::PreviousL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdPrevious );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::PreviousL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::ReplayL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::ReplayL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::ReplayL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdReplay );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::ReplayL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::StartSeekForwardL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::StartSeekForwardL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::StartSeekForwardL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdStartSeekForward );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::StartSeekForwardL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::StartSeekBackwardL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::StartSeekBackwardL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::StartSeekBackwardL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdStartSeekBackward );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::StartSeekBackwardL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::StopSeekingL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::StopSeekingL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::StopSeekingL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdStopSeeking );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::StopSeekingL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::DecreaseVolumeL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::DecreaseVolumeL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::DecreaseVolumeL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdDecreaseVolume );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::DecreaseVolumeL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::IncreaseVolumeL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::IncreaseVolumeL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::IncreaseVolumeL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdIncreaseVolume );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::IncreaseVolumeL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::MuteVolumeL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::MuteVolumeL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::MuteVolumeL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdMuteVolume );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::MuteVolumeL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::UnMuteVolumeL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::UnMuteVolumeL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::UnMuteVolumeL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdUnMuteVolume );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::UnMuteVolumeL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::SetVolumeL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::SetVolumeL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::SetVolumeL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    TInt volume;
-    User::LeaveIfError( aItem.GetNextInt( volume ) );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdSetVolume, volume );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::SetVolumeL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::CloseL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::CloseL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::CloseL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdClose );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::CloseL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::ApplyEffectL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::ApplyEffectL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::ApplyEffectL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    TInt effect;
-    User::LeaveIfError( aItem.GetNextInt( effect ) );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbApplyEffect, effect );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::ApplyEffectL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::DisableEffectL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::DisableEffectL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::DisableEffectL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdDisableEffect );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::DisableEffectL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::PreservePositionL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::PreservePositionL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::PreservePositionL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdPreservePosition );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::PreservePositionL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::PreserveStateL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::PreserveStateL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::PreserveStateL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdPreserveState );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::PreserveStateL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::CloseItemL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::CloseItemL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::CloseItemL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdCloseItem );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::CloseItemL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::CancelInitL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::CancelInitL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::CancelInitL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdCancelInit );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::CancelInitL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::ResetPreserveStateL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::ResetPreserveStateL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::ResetPreserveStateL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdResetPreserveState );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::ResetPreserveStateL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::UnloadNonActivePluginL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::UnloadNonActivePluginL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::UnloadNonActivePluginL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdUnloadNonActivePlugin );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::UnloadNonActivePluginL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::ClearKeyBufferL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::ClearKeyBufferL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::ClearKeyBufferL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    
-    SendExeCmdL( EVcxFusionMpxPlayerCommandGeneralPlaybackCommand, EPbCmdClearKeyBuffer );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::ClearKeyBufferL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoSeekForwardL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoSeekForwardL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoSeekForwardL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdStartVideoSeekingForward );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoSeekForwardL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoSeekBackwardL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoSeekBackwardL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoSeekBackwardL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdStartVideoSeekingBackward );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoSeekBackwardL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoEndSeekL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoEndSeekL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoEndSeekL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdStopVideoSeeking );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoEndSeekL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoNaturalAspectRatioL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoNaturalAspectRatioL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoNaturalAspectRatioL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdNaturalAspectRatio );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoNaturalAspectRatioL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoZoomAspectRatioL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoZoomAspectRatioL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoZoomAspectRatioL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdZoomAspectRatio );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoZoomAspectRatioL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoStretchAspectRatioL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoStretchAspectRatioL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoStretchAspectRatioL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdStretchAspectRatio );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoStretchAspectRatioL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoDefaultAspectRatioL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoDefaultAspectRatioL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoDefaultAspectRatioL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdSetDefaultAspectRatio );
-    
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoDefaultAspectRatioL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoHandleForegroundL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoHandleForegroundL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoHandleForegroundL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdHandleForeground );
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoHandleForegroundL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::VideoHandleBackgroundL
-// -----------------------------------------------------------------------------
-//
-TInt CFusionMpxPlayer_ApiTest::VideoHandleBackgroundL( CStifItemParser& aItem )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::VideoHandleBackgroundL ------>");
-
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-
-    SendExeCmdL( EVcxFusionMpxPlayerCommandVideoPlaybackCommand, EPbCmdHandleBackground);
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::VideoHandleBackgroundL");
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::ValueChangedL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::ValueChangedL( const TUid& aUid, const TUint32& aKey, const TInt&  aValue )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::ValueChangedL ------>");
-
-    if( aUid == KFusionMpxPlayerTestPScategory )
-        {
-        if( aKey == KFusionMpxPlayerTestExePsKeyResponse + iPSKeyBase )
-            {
-            switch( aValue )
-                {
-                case EVcxFusionMpxPlayerResponseGeneralError:
-                    VCXLOGLO1("CFusionMpxPlayer_ApiTest:: received response EVcxFusionMpxPlayerResponseGeneralError ------>");
-                    iTimeoutTimer->Cancel();
-                    iWait->Stop();
-                    break;
-                    
-                case EVcxFusionMpxPlayerResponseCommandComplete:
-                    VCXLOGLO1("CFusionMpxPlayer_ApiTest:: received response EVcxFusionMpxPlayerResponseCommandComplete ------>");
-                    iTimeoutTimer->Cancel();
-                    iWait->Stop();
-                    iCommandComplete = ETrue;
-                    break;
-                
-                case EVcxFusionMpxPlayerResponseShutdown:
-                    VCXLOGLO1("CFusionMpxPlayer_ApiTest:: received response EVcxFusionMpxPlayerResponseShutdown ------>");
-                    iTimeoutTimer->Cancel();
-                    iWait->Stop();
-                    iCommandComplete = ETrue;
-                    break;
-
-                default:
-                    break;
-                }
-            
-            CVCXTestCommon::GetPSProperty( KFusionMpxPlayerTestPScategory, 
-                    KFusionMpxPlayerTestExePsKeyResponseError + iPSKeyBase, iError );
-            
-            if( iError != KErrNone )
-                {
-                VCXLOGLO2("CFusionMpxPlayer_ApiTest:: response error: %d ----->", iError);
-                User::Leave( iError );
-                }
-            }
-        }
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::ValueChangedL");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::ValueChangedL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::ValueChangedL( const TUid& aUid, const TUint32& /* aKey */, const TDesC& /* aValue */ )
-    {
-    VCXLOGLO1(">>>CFusionMpxPlayer_ApiTest::ValueChangedL ------>");
-
-    if( aUid == KFusionMpxPlayerTestPScategory )
-        {
-
-        }
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::ValueChangedL");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::TimerComplete
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::TimerComplete( TInt aTimerId, TInt aError )
-    {
-    VCXLOGLO2(">>>CFusionMpxPlayer_ApiTest::TimerComplete, err: %d ------>", aError);
-
-    if( aError == KErrNone && aTimerId == KTimeoutTimerId )
-        {
-        iError = KErrTimedOut;
-        iWait->Stop();
-        VCXLOGLO1("CFusionMpxPlayer_ApiTest:: TIMEOUT!");
-        }
-
-    VCXLOGLO1("<<<CFusionMpxPlayer_ApiTest::TimerComplete");
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::TesterExeAliveL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::TesterExeAliveL()
-    {
-    if( iProcess.ExitType() != EExitPending || iProcess.ExitReason() != KErrNone )
-        {
-        VCXLOGLO1("CFusionMpxPlayer_ApiTest:: ERROR: Tester process has terminated!");
-        VCXLOGLO2("CFusionMpxPlayer_ApiTest:: Exit type: %d", iProcess.ExitType());
-        VCXLOGLO2("CFusionMpxPlayer_ApiTest:: Exit reason: %d", iProcess.ExitReason());
-        TExitCategoryName exitCatName = iProcess.ExitCategory();
-        VCXLOGLO2("CFusionMpxPlayer_ApiTest:: Exit category: %S", &exitCatName);
-        User::Leave( KErrGeneral );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::SendExeCmdL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::SendExeCmdL( TInt aCmd )
-    {
-    iCommandComplete = EFalse;
-    
-    VCXLOGLO2("CFusionMpxPlayer_ApiTest::SendExeCmdL aCmd: %d", aCmd);
-    
-    // Set the cmd.
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase, aCmd ) );
-    
-    WaitForCommandL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::SendExeCmdL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::SendExeCmdL( TInt aCmd, TInt aParam1 )
-    {
-    iCommandComplete = EFalse;
-
-    VCXLOGLO3("CFusionMpxPlayer_ApiTest::SendExeCmdL aCmd: %d, aParam1: %d", aCmd, aParam1);
-    
-    // Set parameter for the command
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmdIntParam1 + iPSKeyBase, aParam1 ) );
-    
-    // Set the cmd.
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase, aCmd ) );
-    
-    WaitForCommandL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::SendExeCmdL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::SendExeCmdL( TInt aCmd, TInt aParam1, TInt aParam2 )
-    {
-    iCommandComplete = EFalse;
-   
-    VCXLOGLO4("CFusionMpxPlayer_ApiTest::SendExeCmdL aCmd: %d, aParam1: %d, aParam2: %d", aCmd, aParam1, aParam2);
-    
-    // Set parameter for the command
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmdIntParam1 + iPSKeyBase, aParam1 ) );
-    
-    // Set parameter for the command
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmdIntParam2 + iPSKeyBase, aParam2 ) );
-    
-    // Set the cmd.
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase, aCmd ) );
-
-    WaitForCommandL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::SendExeCmdL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::SendExeCmdL( TInt aCmd, const TDesC& aParam1 )
-    {
-    iCommandComplete = EFalse;
-
-    VCXLOGLO3("CFusionMpxPlayer_ApiTest::SendExeCmdL aCmd: %d, aParam1: '%S'", aCmd, &aParam1);
-    
-    // Set parameter for the command
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmdDescParam1 + iPSKeyBase, aParam1 ) );
-    
-    // Set the cmd.
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase, aCmd ) );
-
-    WaitForCommandL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::SendExeCmdL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::SendExeCmdL( TInt aCmd, const TDesC& aParam1, TInt aParam2 )
-    {
-    iCommandComplete = EFalse;
-    
-    VCXLOGLO4("CFusionMpxPlayer_ApiTest::SendExeCmdL aCmd: %d, aParam1: '%S', aParam2: %d", aCmd, &aParam1, aParam2);
-    
-    // Set parameter for the command
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmdDescParam1 + iPSKeyBase, aParam1 ) );
-    
-    // Set parameter for the command
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmdIntParam1 + iPSKeyBase, aParam2 ) );
-    
-    // Set the cmd.
-    User::LeaveIfError( CVCXTestCommon::SetPSProperty( KFusionMpxPlayerTestPScategory,
-            KFusionMpxPlayerTestExePsKeyCmd + iPSKeyBase, aCmd ) );
-
-    WaitForCommandL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFusionMpxPlayer_ApiTest::WaitForCommandL
-// -----------------------------------------------------------------------------
-//
-void CFusionMpxPlayer_ApiTest::WaitForCommandL()
-    {
-    if( !iCommandWait ) return;
-    
-    if( !iCommandComplete )
-        {
-        VCXLOGLO1("CFusionMpxPlayer_ApiTest:: Waiting for command ------>");
-        iTimeoutTimer->After( KFusionTestCommandTimeout );        
-        iWait->Start();
-        VCXLOGLO1("CFusionMpxPlayer_ApiTest:: Wait done");
-        }
-    
-    User::LeaveIfError( iError );        
-    }
-
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-//  [End of File] - Do not remove
--- a/videocollection/hgmyvideos/icons/qgn_prop_captured_thumbnail_video.svg	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
-<rect fill="none" width="90" height="60"/>
-<rect x="18.418" y="4.259" fill="none" width="52.122" height="52.122"/>
-<path fill="#FFFFFF" d="M65.31,13.55c-2.023,0-3.423,1.02-3.423,2.896c0,1.878,1.438,2.895,3.423,2.895
-	c1.981,0,3.418-1.016,3.418-2.895C68.728,14.609,67.213,13.55,65.31,13.55z"/>
-<polygon fill="#FFFFFF" points="18.387,5.143 63.849,14.281 63.376,56.156 20.192,44.013 "/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-78.396" y1="-86.4761" x2="-35.0569" y2="-102.2478" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M24.586,13.188c0,9.118,0,17.046,0,26.335l25.559,6.7c0-9.29,0-18.583,0-27.879L24.586,13.188z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-32.5571" y1="-91.5874" x2="-62.8272" y2="-102.6096" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_2_)" d="M63.75,21.084l-13.602-2.742c0,9.296,0,18.591,0,27.881l13.268,3.484L63.75,21.084z"/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-80.7158" y1="-88.146" x2="-42.7518" y2="-92.6767" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_3_)" d="M18.811,12.021l1.147,26.29l4.628,1.209c0-9.283,0-17.218,0-26.333L18.811,12.021z"/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-87.5044" y1="-71.4497" x2="7.3703" y2="-71.4497" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4_)" points="68.468,12.439 23.254,3.676 18.459,5.105 63.952,14.5 "/>
-<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-69.998" y1="-59.1743" x2="-56.0859" y2="-106.7536" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E6EEF4"/>
-	<stop  offset="0.44" style="stop-color:#A3740A"/>
-	<stop  offset="0.94" style="stop-color:#474105"/>
-</linearGradient>
-<path fill="url(#SVGID_5_)" d="M18.416,5.102l45.436,9.312l-0.474,41.733l-43.18-11.93L18.416,5.102z M60.782,19.716l3.069,0.664
-	l0.015-3.684l-3.086-0.647L60.782,19.716z M55.989,18.599l2.531,0.592l-0.015-3.66l-2.545-0.569L55.989,18.599z M51.172,17.507
-	l2.541,0.583l-0.037-3.636l-2.555-0.567L51.172,17.507z M46.331,16.425l2.556,0.572l-0.063-3.608l-2.564-0.551L46.331,16.425z
-	 M41.486,15.361l2.56,0.557l-0.091-3.58l-2.571-0.543L41.486,15.361z M36.622,14.322l2.573,0.543l-0.119-3.556l-2.58-0.537
-	L36.622,14.322z M31.747,13.289l2.574,0.531l-0.133-3.52l-2.59-0.532L31.747,13.289z M26.852,12.267l2.592,0.533L29.28,9.294
-	l-2.598-0.519L26.852,12.267z M18.649,10.6l1.21,0.245l-0.209-3.45l-1.125-0.217L18.649,10.6z M21.954,11.267l2.588,0.522
-	l-0.186-3.471l-2.607-0.516L21.954,11.267z M60.762,53.112l2.663,0.74l0.014-3.685l-2.685-0.727L60.762,53.112z M56.158,51.801
-	l2.436,0.691l-0.025-3.661l-2.438-0.677L56.158,51.801z M51.538,50.502l2.441,0.685l-0.038-3.638l-2.452-0.678L51.538,50.502z
-	 M46.91,49.217l2.452,0.673l-0.065-3.602l-2.458-0.668L46.91,49.217z M42.263,47.947l2.458,0.673l-0.088-3.587l-2.468-0.651
-	L42.263,47.947z M37.599,46.694l2.466,0.664l-0.111-3.562l-2.472-0.646L37.599,46.694z M32.92,45.465l2.472,0.646l-0.133-3.524
-	l-2.484-0.643L32.92,45.465z M28.225,44.244l2.483,0.644l-0.159-3.514l-2.494-0.628L28.225,44.244z M23.52,43.031L26,43.667
-	l-0.182-3.485l-2.495-0.617L23.52,43.031z M20.07,42.154l1.22,0.313l-0.202-3.453l-1.109-0.25L20.07,42.154z M52.52,44.762
-	l11.042,2.85l0.217-24.509L52.29,20.499L52.52,44.762z M27.251,38.416l22.191,5.717l-0.247-24.291l-22.94-4.979L27.251,38.416z
-	 M19.925,36.588l4.208,1.096l-1.121-23.487l-4.202-0.852L19.925,36.588z"/>
-<polygon fill="#6D5607" points="63.347,56.193 67.168,52.854 68.457,12.343 63.849,14.414 "/>
-<polygon fill="#B18E3B" points="63.82,16.711 68.385,14.307 68.255,17.839 63.786,20.37 "/>
-<polygon fill="#B18E3B" points="63.435,50.198 63.388,53.853 67.213,50.846 67.335,47.532 "/>
-<polygon fill="#B18E3B" points="63.778,23.102 63.477,47.642 67.396,45.062 68.154,20.514 "/>
-<g>
-	<g>
-		<g>
-			<g>
-				<polygon fill="#D7CEE6" points="67.4,37.886 46.539,34.358 39.658,36.028 60.445,40.311 				"/>
-				
-					<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-326.4976" y1="268.4814" x2="-324.271" y2="259.7819" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#E6EEF4"/>
-					<stop  offset="0.4438" style="stop-color:#9646AC"/>
-					<stop  offset="0.9382" style="stop-color:#3D013F"/>
-					<stop  offset="1" style="stop-color:#3D013F"/>
-				</linearGradient>
-				<polygon fill="url(#SVGID_6_)" points="60.435,56.22 40.54,50.237 39.729,36.009 60.438,40.32 				"/>
-				<polygon fill="#5E1B67" points="67.4,37.886 67.017,52.912 60.435,56.22 60.375,40.259 				"/>
-				
-					<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-321.27" y1="265.4365" x2="-323.5245" y2="265.3849" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#E6EEF4"/>
-					<stop  offset="0.4438" style="stop-color:#9646AC"/>
-					<stop  offset="0.9382" style="stop-color:#3D013F"/>
-					<stop  offset="1" style="stop-color:#3D013F"/>
-				</linearGradient>
-				<polygon fill="url(#SVGID_7_)" points="71.882,39.104 71.704,49.168 66.875,47.629 66.962,40.535 				"/>
-				
-					<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-322.0967" y1="264.4336" x2="-323.9386" y2="264.623" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#E6EEF4"/>
-					<stop  offset="0.4438" style="stop-color:#9646AC"/>
-					<stop  offset="0.9382" style="stop-color:#3D013F"/>
-					<stop  offset="1" style="stop-color:#3D013F"/>
-				</linearGradient>
-				<polygon fill="url(#SVGID_8_)" points="64.784,52.058 71.704,49.168 66.875,47.629 61.888,49.559 				"/>
-				<polygon fill="#D7CEE6" points="61.548,41.969 64.839,41.611 71.912,39.058 67.288,39.938 				"/>
-				
-					<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-323.2153" y1="264.9941" x2="-323.9428" y2="265.0305" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#DEDEED"/>
-					<stop  offset="1" style="stop-color:#9646AC"/>
-				</linearGradient>
-				<polygon fill="url(#SVGID_9_)" points="64.839,41.611 64.784,52.058 61.521,49.64 61.503,41.945 				"/>
-			</g>
-			<g>
-				
-					<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-326.3232" y1="269.0459" x2="-325.7381" y2="267.1254" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#E6EEF4"/>
-					<stop  offset="0.4438" style="stop-color:#9646AC"/>
-					<stop  offset="0.9382" style="stop-color:#3D013F"/>
-					<stop  offset="1" style="stop-color:#3D013F"/>
-				</linearGradient>
-				<path fill="url(#SVGID_10_)" d="M52.494,23.124c-2.063-4.789-6.943-6.644-12.077-4.489l6.333,17.14
-					C52.765,34.408,54.853,28.592,52.494,23.124z"/>
-				
-					<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="-327.689" y1="269.3701" x2="-326.3289" y2="267.4271" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#DEDEED"/>
-					<stop  offset="1" style="stop-color:#9646AC"/>
-				</linearGradient>
-				<path fill="url(#SVGID_11_)" d="M51.601,28.602c-0.158,4.882-3.8,8.203-8.141,7.417c-4.336-0.784-7.723-5.38-7.569-10.26
-					c0.158-4.882,3.801-8.202,8.139-7.414C48.369,19.13,51.759,23.723,51.601,28.602z"/>
-				
-					<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="-326.5342" y1="267.6699" x2="-326.8742" y2="267.9529" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#E6EEF4"/>
-					<stop  offset="0.4438" style="stop-color:#9646AC"/>
-					<stop  offset="0.9382" style="stop-color:#3D013F"/>
-					<stop  offset="1" style="stop-color:#3D013F"/>
-				</linearGradient>
-				<path fill="url(#SVGID_12_)" d="M42.647,24.875c-3.204,1.842,0.591,6.933,2.785,4.07L42.647,24.875z"/>
-				<path fill="#D7CEE6" d="M42.663,24.891c-1.263,1.828,0.845,4.791,2.77,4.055C46.83,26.33,44.181,24.064,42.663,24.891z"/>
-			</g>
-			<g>
-				
-					<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="-323.8936" y1="268.6123" x2="-323.2906" y2="266.6335" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#E6EEF4"/>
-					<stop  offset="0.4438" style="stop-color:#9646AC"/>
-					<stop  offset="0.9382" style="stop-color:#3D013F"/>
-					<stop  offset="1" style="stop-color:#3D013F"/>
-				</linearGradient>
-				<path fill="url(#SVGID_13_)" d="M69.249,26.204c-2.126-4.933-7.153-6.845-12.437-4.625l6.522,17.654
-					C69.528,37.825,71.679,31.834,69.249,26.204z"/>
-				<path fill="#A15EB6" d="M68.331,31.846c-0.166,5.028-3.916,8.448-8.388,7.64c-4.465-0.806-7.954-5.542-7.793-10.567
-					c0.16-5.027,3.914-8.449,8.382-7.636C65.003,22.088,68.492,26.819,68.331,31.846z"/>
-				
-					<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="-324.1118" y1="267.1934" x2="-324.4622" y2="267.4848" gradientTransform="matrix(6.8182 0 0 -6.8182 2270.9502 1853.7356)">
-					<stop  offset="0" style="stop-color:#E6EEF4"/>
-					<stop  offset="0.4438" style="stop-color:#9646AC"/>
-					<stop  offset="0.9382" style="stop-color:#3D013F"/>
-					<stop  offset="1" style="stop-color:#3D013F"/>
-				</linearGradient>
-				<path fill="url(#SVGID_14_)" d="M59.107,28.007c-3.299,1.896,0.609,7.139,2.869,4.192L59.107,28.007z"/>
-				<path fill="#D7CEE6" d="M59.124,28.022c-1.234,1.839,0.802,4.966,2.853,4.175C63.396,29.501,60.668,27.167,59.124,28.022z"/>
-			</g>
-		</g>
-	</g>
-</g>
-</svg>
--- a/videocollection/hgmyvideos/icons/qgn_prop_download_thumbnail_video.svg	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
-<rect fill="none" width="90" height="60"/>
-<rect x="18.418" y="4.259" fill="none" width="52.122" height="52.122"/>
-<path fill="#FFFFFF" d="M65.31,13.55c-2.023,0-3.423,1.02-3.423,2.896c0,1.878,1.438,2.895,3.423,2.895
-	c1.981,0,3.418-1.016,3.418-2.895C68.728,14.609,67.213,13.55,65.31,13.55z"/>
-<polygon fill="#FFFFFF" points="18.387,5.143 63.849,14.281 63.376,56.156 20.192,44.013 "/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-78.396" y1="-86.4761" x2="-35.0569" y2="-102.2478" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M24.586,13.188c0,9.118,0,17.046,0,26.335l25.559,6.7c0-9.29,0-18.583,0-27.879L24.586,13.188z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-32.5571" y1="-91.5874" x2="-62.8272" y2="-102.6096" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_2_)" d="M63.75,21.084l-13.602-2.742c0,9.296,0,18.591,0,27.881l13.268,3.484L63.75,21.084z"/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-80.7158" y1="-88.146" x2="-42.7518" y2="-92.6767" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_3_)" d="M18.811,12.021l1.147,26.29l4.628,1.209c0-9.283,0-17.218,0-26.333L18.811,12.021z"/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-87.5044" y1="-71.4497" x2="7.3703" y2="-71.4497" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4_)" points="68.468,12.439 23.254,3.676 18.459,5.105 63.952,14.5 "/>
-<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-69.998" y1="-59.1743" x2="-56.0859" y2="-106.7536" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E6EEF4"/>
-	<stop  offset="0.44" style="stop-color:#A3740A"/>
-	<stop  offset="0.94" style="stop-color:#474105"/>
-</linearGradient>
-<path fill="url(#SVGID_5_)" d="M18.416,5.102l45.436,9.312l-0.474,41.733l-43.18-11.93L18.416,5.102z M60.782,19.716l3.069,0.664
-	l0.015-3.684l-3.086-0.647L60.782,19.716z M55.989,18.599l2.531,0.592l-0.015-3.66l-2.545-0.569L55.989,18.599z M51.172,17.507
-	l2.541,0.583l-0.037-3.636l-2.555-0.567L51.172,17.507z M46.331,16.425l2.556,0.572l-0.063-3.608l-2.564-0.551L46.331,16.425z
-	 M41.486,15.361l2.56,0.557l-0.091-3.58l-2.571-0.543L41.486,15.361z M36.622,14.322l2.573,0.543l-0.119-3.556l-2.58-0.537
-	L36.622,14.322z M31.747,13.289l2.574,0.531l-0.133-3.52l-2.59-0.532L31.747,13.289z M26.852,12.267l2.592,0.533L29.28,9.294
-	l-2.598-0.519L26.852,12.267z M18.649,10.6l1.21,0.245l-0.209-3.45l-1.125-0.217L18.649,10.6z M21.954,11.267l2.588,0.522
-	l-0.186-3.471l-2.607-0.516L21.954,11.267z M60.762,53.112l2.663,0.74l0.014-3.685l-2.685-0.727L60.762,53.112z M56.158,51.801
-	l2.436,0.691l-0.025-3.661l-2.438-0.677L56.158,51.801z M51.538,50.502l2.441,0.685l-0.038-3.638l-2.452-0.678L51.538,50.502z
-	 M46.91,49.217l2.452,0.673l-0.065-3.602l-2.458-0.668L46.91,49.217z M42.263,47.947l2.458,0.673l-0.088-3.587l-2.468-0.651
-	L42.263,47.947z M37.599,46.694l2.466,0.664l-0.111-3.562l-2.472-0.646L37.599,46.694z M32.92,45.465l2.472,0.646l-0.133-3.524
-	l-2.484-0.643L32.92,45.465z M28.225,44.244l2.483,0.644l-0.159-3.514l-2.494-0.628L28.225,44.244z M23.52,43.031L26,43.667
-	l-0.182-3.485l-2.495-0.617L23.52,43.031z M20.07,42.154l1.22,0.313l-0.202-3.453l-1.109-0.25L20.07,42.154z M52.52,44.762
-	l11.042,2.85l0.217-24.509L52.29,20.499L52.52,44.762z M27.251,38.416l22.191,5.717l-0.247-24.291l-22.94-4.979L27.251,38.416z
-	 M19.925,36.588l4.208,1.096l-1.121-23.487l-4.202-0.852L19.925,36.588z"/>
-<polygon fill="#6D5607" points="63.347,56.193 67.168,52.854 68.457,12.343 63.849,14.414 "/>
-<polygon fill="#B18E3B" points="63.82,16.711 68.385,14.307 68.255,17.839 63.786,20.37 "/>
-<polygon fill="#B18E3B" points="63.435,50.198 63.388,53.853 67.213,50.846 67.335,47.532 "/>
-<polygon fill="#B18E3B" points="63.778,23.102 63.477,47.642 67.396,45.062 68.154,20.514 "/>
-<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-264.3301" y1="560.7861" x2="-267.7697" y2="577.4745" gradientTransform="matrix(-1 0 0 -1 -227.7041 603.3203)">
-	<stop  offset="0" style="stop-color:#DCE8E4"/>
-	<stop  offset="1" style="stop-color:#43910A"/>
-</linearGradient>
-<polygon fill="url(#SVGID_6_)" points="36.484,27.486 36.352,21.844 42.903,23.604 42.811,29.112 46.287,29.899 39.382,37.714 
-	32.875,26.491 "/>
-</svg>
--- a/videocollection/hgmyvideos/icons/qgn_prop_ovi_thumbnail_video.svg	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
-<rect fill="none" width="90" height="60"/>
-<rect x="18.418" y="4.259" fill="none" width="52.122" height="52.122"/>
-<rect x="18.418" y="4.259" fill="#44A51C" width="52.122" height="52.122"/>
-<path fill="#FFFFFF" d="M30.699,21.384c-6.723,0-10.255,4.613-10.255,11.183c0,6.648,2.6,11.881,10.187,11.881
-	c6.987,0,10.22-4.733,10.22-11.734C40.851,26.031,37.664,21.384,30.699,21.384z M30.628,40.856c-3.583,0-3.74-5.087-3.74-8.418
-	c0-3.245,0.271-7.463,3.74-7.463c3.304,0,3.768,4.46,3.768,7.463C34.396,36.311,34.202,40.856,30.628,40.856z"/>
-<path fill="#FFFFFF" d="M49.429,44.447c2.729,0,3.691-1.367,4.339-3.355l5.883-19.393h-5.487l-4.206,16.777l-3.964-16.777h-6.495
-	l5.58,19.393C45.691,43.08,46.693,44.447,49.429,44.447z"/>
-<path fill="#FFFFFF" d="M65.31,13.55c-2.023,0-3.423,1.02-3.423,2.896c0,1.878,1.438,2.895,3.423,2.895
-	c1.981,0,3.418-1.016,3.418-2.895C68.728,14.609,67.213,13.55,65.31,13.55z"/>
-<path fill="#FFFFFF" d="M63.046,43.828c0.454,0.331,1.184,0.619,2.204,0.619c1.069,0,1.77-0.292,2.229-0.619
-	c0.879-0.625,0.879-1.677,0.879-2.243V21.699h-6.124c0,0-0.227,0-0.423,0c-0.592,0-1.089,0.013-1.427,0.477
-	c-0.168,0.216-0.393,0.611-0.393,1.318c0,0.738,0.225,1.093,0.393,1.316c0.338,0.47,0.835,0.474,1.427,0.474
-	c0.196,0,0.362-0.003,0.362-0.003v16.305C62.167,42.151,62.167,43.203,63.046,43.828z"/>
-</svg>
--- a/videocollection/hgmyvideos/icons/qgn_prop_recent_thumbnail_video.svg	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
-<rect fill="none" width="90" height="60"/>
-<rect x="18.418" y="4.259" fill="none" width="52.122" height="52.122"/>
-<path fill="#FFFFFF" d="M65.31,13.55c-2.023,0-3.423,1.02-3.423,2.896c0,1.878,1.438,2.895,3.423,2.895
-	c1.981,0,3.418-1.016,3.418-2.895C68.728,14.609,67.213,13.55,65.31,13.55z"/>
-<polygon fill="#FFFFFF" points="18.387,5.143 63.849,14.281 63.376,56.156 20.192,44.013 "/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-78.396" y1="-86.4761" x2="-35.0569" y2="-102.2478" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M24.586,13.188c0,9.118,0,17.046,0,26.335l25.559,6.7c0-9.29,0-18.583,0-27.879L24.586,13.188z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-32.5571" y1="-91.5874" x2="-62.8272" y2="-102.6096" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_2_)" d="M63.75,21.084l-13.602-2.742c0,9.296,0,18.591,0,27.881l13.268,3.484L63.75,21.084z"/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-80.7158" y1="-88.146" x2="-42.7518" y2="-92.6767" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<path fill="url(#SVGID_3_)" d="M18.811,12.021l1.147,26.29l4.628,1.209c0-9.283,0-17.218,0-26.333L18.811,12.021z"/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-87.5044" y1="-71.4497" x2="7.3703" y2="-71.4497" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E2E6E4"/>
-	<stop  offset="1" style="stop-color:#A3740A"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4_)" points="68.468,12.439 23.254,3.676 18.459,5.105 63.952,14.5 "/>
-<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-69.998" y1="-59.1743" x2="-56.0859" y2="-106.7536" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-	<stop  offset="0" style="stop-color:#E6EEF4"/>
-	<stop  offset="0.44" style="stop-color:#A3740A"/>
-	<stop  offset="0.94" style="stop-color:#474105"/>
-</linearGradient>
-<path fill="url(#SVGID_5_)" d="M18.416,5.102l45.436,9.312l-0.474,41.733l-43.18-11.93L18.416,5.102z M60.782,19.716l3.069,0.664
-	l0.015-3.684l-3.086-0.647L60.782,19.716z M55.989,18.599l2.531,0.592l-0.015-3.66l-2.545-0.569L55.989,18.599z M51.172,17.507
-	l2.541,0.583l-0.037-3.636l-2.555-0.567L51.172,17.507z M46.331,16.425l2.556,0.572l-0.063-3.608l-2.564-0.551L46.331,16.425z
-	 M41.486,15.361l2.56,0.557l-0.091-3.58l-2.571-0.543L41.486,15.361z M36.622,14.322l2.573,0.543l-0.119-3.556l-2.58-0.537
-	L36.622,14.322z M31.747,13.289l2.574,0.531l-0.133-3.52l-2.59-0.532L31.747,13.289z M26.852,12.267l2.592,0.533L29.28,9.294
-	l-2.598-0.519L26.852,12.267z M18.649,10.6l1.21,0.245l-0.209-3.45l-1.125-0.217L18.649,10.6z M21.954,11.267l2.588,0.522
-	l-0.186-3.471l-2.607-0.516L21.954,11.267z M60.762,53.112l2.663,0.74l0.014-3.685l-2.685-0.727L60.762,53.112z M56.158,51.801
-	l2.436,0.691l-0.025-3.661l-2.438-0.677L56.158,51.801z M51.538,50.502l2.441,0.685l-0.038-3.638l-2.452-0.678L51.538,50.502z
-	 M46.91,49.217l2.452,0.673l-0.065-3.602l-2.458-0.668L46.91,49.217z M42.263,47.947l2.458,0.673l-0.088-3.587l-2.468-0.651
-	L42.263,47.947z M37.599,46.694l2.466,0.664l-0.111-3.562l-2.472-0.646L37.599,46.694z M32.92,45.465l2.472,0.646l-0.133-3.524
-	l-2.484-0.643L32.92,45.465z M28.225,44.244l2.483,0.644l-0.159-3.514l-2.494-0.628L28.225,44.244z M23.52,43.031L26,43.667
-	l-0.182-3.485l-2.495-0.617L23.52,43.031z M20.07,42.154l1.22,0.313l-0.202-3.453l-1.109-0.25L20.07,42.154z M52.52,44.762
-	l11.042,2.85l0.217-24.509L52.29,20.499L52.52,44.762z M27.251,38.416l22.191,5.717l-0.247-24.291l-22.94-4.979L27.251,38.416z
-	 M19.925,36.588l4.208,1.096l-1.121-23.487l-4.202-0.852L19.925,36.588z"/>
-<polygon fill="#6D5607" points="63.347,56.193 67.168,52.854 68.457,12.343 63.849,14.414 "/>
-<polygon fill="#B18E3B" points="63.82,16.711 68.385,14.307 68.255,17.839 63.786,20.37 "/>
-<polygon fill="#B18E3B" points="63.778,23.102 63.477,47.642 67.396,45.062 68.154,20.514 "/>
-<g>
-	<polygon fill="#B18E3B" points="61.264,19.599 61.204,24.216 66.038,20.417 66.191,16.231 	"/>
-	<g>
-		<g>
-			<g>
-				<g>
-					<path fill="#496DA2" d="M59.977,25.915c-5.335,0-9.675-4.347-9.675-9.683c0-5.337,4.34-9.678,9.675-9.678
-						c5.338,0,9.68,4.341,9.68,9.678C69.656,21.566,65.314,25.915,59.977,25.915L59.977,25.915z"/>
-					<path fill="#FFFFFF" d="M59.98,8.568c4.231,0,7.661,3.431,7.661,7.665c0,4.232-3.43,7.665-7.661,7.665
-						c-4.233,0-7.665-3.433-7.665-7.665C52.315,11.999,55.747,8.568,59.98,8.568 M59.98,4.536c-6.449,0-11.696,5.249-11.696,11.697
-						S53.531,27.93,59.98,27.93c6.446,0,11.692-5.249,11.692-11.697S66.427,4.536,59.98,4.536L59.98,4.536z"/>
-				</g>
-			</g>
-		</g>
-	</g>
-	<polygon fill="#FFFFFF" points="61.001,10.717 59.434,10.717 59.434,15.583 55.907,15.583 55.907,17.156 60.35,17.156 
-		60.35,17.154 61.001,17.154 	"/>
-</g>
-</svg>
--- a/videocollection/hgmyvideos/icons/qgn_prop_service_thumbnail_video.svg	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="90px" height="60px" viewBox="0 0 90 60" enable-background="new 0 0 90 60" xml:space="preserve">
-<g>
-	
-		<radialGradient id="SVGID_1_" cx="-53.6362" cy="-75.792" r="47.1888" fx="-54.4808" fy="-77.886" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)" gradientUnits="userSpaceOnUse">
-		<stop  offset="0" style="stop-color:#FFFFFF"/>
-		<stop  offset="0.5337" style="stop-color:#A2C2DD"/>
-		<stop  offset="0.8652" style="stop-color:#6C83BB"/>
-		<stop  offset="1" style="stop-color:#003D6D"/>
-	</radialGradient>
-	<path fill="url(#SVGID_1_)" d="M49.838,29.932h19.516c0-0.021,0.002-0.038,0.002-0.057c0-14.088-11.418-25.505-25.502-25.505
-		S18.348,15.787,18.348,29.875c0,14.083,11.422,25.502,25.506,25.502c2.063,0,4.061-0.272,5.984-0.733V29.932z"/>
-	
-		<radialGradient id="SVGID_2_" cx="-271.7451" cy="749.8672" r="39.4641" gradientTransform="matrix(1 0 0 1 317.04 -723.0391)" gradientUnits="userSpaceOnUse">
-		<stop  offset="0" style="stop-color:#A2C2DD"/>
-		<stop  offset="0.1" style="stop-color:#A2C2DD"/>
-		<stop  offset="0.7135" style="stop-color:#6C83BB"/>
-		<stop  offset="0.9888" style="stop-color:#003D6D"/>
-		<stop  offset="1" style="stop-color:#003D6D"/>
-	</radialGradient>
-	<path fill="url(#SVGID_2_)" d="M31.033,7.786c-1.16,0.691-4.26,2.886-4.303,3.748c-0.041,0.857,0.891-1.011,1.766-0.692
-		c0.174,0,1.242-1.498,3.229-2.454c0.863-0.816,2.414-0.345,2.414-0.345s4.604-1.721,4.346-1.29
-		c-0.701,1.175-4.393,1.851-4.953,2.109c-0.559,0.26-3.658,2.326-1.074,1.506c0.475-0.042,1.807-0.085,2.455,0.133
-		c0.648,0.212,1.701-0.917,2.971-0.649c0.52-0.262,1.551-0.819,1.811-0.819c0.258,0,1.207-0.086,1.162-1.201
-		c0,0,0.693-1.579,0.904-2.2c0.58-0.158,1.25-1.075,1.25-1.075c-1.809-0.259-6.158,0.907-6.801,1.075
-		C36.07,5.762,32.412,7.445,31.033,7.786z"/>
-	
-		<radialGradient id="SVGID_3_" cx="-269.1685" cy="743.6016" r="28.9131" gradientTransform="matrix(1 0 0 1 317.04 -723.0391)" gradientUnits="userSpaceOnUse">
-		<stop  offset="0" style="stop-color:#A2C2DD"/>
-		<stop  offset="0.1" style="stop-color:#A2C2DD"/>
-		<stop  offset="0.7135" style="stop-color:#6C83BB"/>
-		<stop  offset="0.9888" style="stop-color:#003D6D"/>
-		<stop  offset="1" style="stop-color:#003D6D"/>
-	</radialGradient>
-	<path fill="url(#SVGID_3_)" d="M45.375,47.486l-0.863,0.606c0,0-0.795,0.013-0.904,0.345c-0.389,1.193-0.258,2.794,0.686,2.582
-		c0.949-0.218,1.207-1.641,1.207-1.641S46.451,47.271,45.375,47.486z"/>
-	
-		<radialGradient id="SVGID_4_" cx="-271.4248" cy="-808.7124" r="39.553" fx="-270.6078" fy="-808.8184" gradientTransform="matrix(1 0 0 -1 317.04 -796.3809)" gradientUnits="userSpaceOnUse">
-		<stop  offset="0" style="stop-color:#E6EEF4"/>
-		<stop  offset="0.4438" style="stop-color:#4A9900"/>
-		<stop  offset="0.9382" style="stop-color:#0E4E58"/>
-		<stop  offset="1" style="stop-color:#0E4E58"/>
-	</radialGradient>
-	<path fill="url(#SVGID_4_)" d="M56.785,8.346l1.334,2.888l3.098,1.117c0,0,0.777,0.945,1.035,1.162
-		c0.387,1.723,1.248,3.573,1.42,3.659c0.17,0.085,0.945,0.341,1.207,0.299c0.17,0.95-0.09,0.95-0.09,0.95l-1.248-0.605l0.514,2.112
-		l2.41,4.09c-0.301,0.646-1.463,4.478-1.463,4.478s0.633,0.58,1.02,1.4c-2.135,0-16.184,0.036-16.184,0.036
-		s-0.078,0.647-0.078,1.491c-0.756,0.083-1.406,0.191-1.291,0.306c1.725,1.205,1.035,2.067,1.035,2.067l-2.713,2.41
-		c0,0-2.283,1.035-2.971,1.204c-1.248,0.774,0.127,1.079,1.506,0.734c1.377-0.344,1.248,0.217,1.033,0.777
-		c-0.775,1.892-2.15,3.096-3.059,3.441c-1.891,1.335-2.324,3.316-1.42,4.134c0,0,0.086,1.938-0.561,1.978
-		c-0.645,0.044-1.551,0.733-1.551,1.032c0,0.304-0.686,1.551-0.947,1.764c-0.904,1.162-2.068,1.033-2.586,0.775
-		c-2.369,0.467-4.346-3.356-4.475-3.701c-0.129-0.344-1.852-1.203-1.291-2.755c0.555-1.553-2.072-5.394-3.447-8.74
-		c-0.176-0.15-2.023-0.607-3.012-0.904c-0.99-0.302-1.422-2.668-1.854-3.662c-0.428-0.991,0.732-4.82,0.775-5.082
-		c0.045-0.257,4.867-3.743,4.867-3.743l-0.178-1.51c0,0,1.555-2.109,1.85-1.42c0.301,0.688,1.814,0.558,1.68-0.429
-		c-0.129-0.991,0.219-1.468,0.602-1.508c0.389-0.044,0.045-0.859-0.428-1.466c-0.471-0.602,0.732-0.775,1.51-1.506
-		c0.777-0.733,0.215,1.594,0.215,2.368c0,0.775,2.627-1.292,2.754-1.42c-0.299-1.506,0.908-1.896,1.25-1.938
-		c0.346-0.044,1.896-0.948,2.283-1.337c0.385-0.385,1.465-0.385,1.811-0.344c0.342,0.041,1.891,1.291,2.279,1.291
-		s3.447-0.818,3.533-1.378c0.086-0.561,0.385-0.862,0.947-1.075c0.559-0.216,0.646-2.027,0.646-2.027s2.582-0.602,2.969-0.731
-		C51.91,8.9,51.566,8.126,51.439,7.78c0.471-1.031-1.98-2.045-1.08-1.981C53.898,6.065,56.395,7.743,56.785,8.346z M28.193,23.59
-		l0.344,0.432c0,0,1.781,0.182,3.543,0.865c0.266,0.271-0.055,1.545-0.055,1.545s1.893,2.582,2.279,2.113
-		c0.385-0.478,0.904-0.909,1.506-0.478c0.605,0.43,2.068,0.946,2.801,0.946c0.305,0.086,1.807,0.561,1.764-1.72
-		c-0.592-0.821-2.109-0.687-2.367-0.905c-0.258-0.217-0.773-1.767-0.773-1.767l-0.518,0.13c0,0-0.086,1.076-0.387,1.076
-		c-0.303,0-0.949-1.634-0.949-1.634l0.09-0.862l-0.99-1.201c0,0-0.648,0.297,0.602,1.893c0,0-0.863,0.903-1.504,0.943
-		c0.17-0.213,0.561-1.204,0.561-1.204s-1.969-2.436-2.371-2.108c-0.471,0.387-1.848,1.117-1.848,1.117l-0.906,0.775L28.193,23.59z
-		 M38.613,15.581c-0.926,1.492-2.273,1.916-2.154,2.451c0.047,0.221,1.338,0.521,1.551-0.083c0.217-0.605,0.992-0.733,0.992-0.991
-		S38.734,15.386,38.613,15.581z M40.379,22.943c-0.215-0.086-0.645-0.86-1.162-0.304c-0.516,0.561-1.164,1.81-0.516,1.897
-		c0.645,0.087,1.594-0.259,1.805-0.088c0.219,0.175,1.865,0.852,2.115,0C43.041,23.006,40.379,22.943,40.379,22.943z M39.516,30.735
-		c-0.018,0.264,1.078,2.846,1.078,2.846s-0.09,0.858,0.129,1.161c0.217,0.304,0.99,1.895,1.852,2.153
-		c1.242-1.435-1.16-3.314-1.16-3.314l-0.09-0.735C41.324,32.846,39.604,29.53,39.516,30.735z M45.283,29.963l0.045,0.731
-		l1.553,1.721c0,0,1.422-0.127,1.164-1.158l-1.25-0.435L45.283,29.963z"/>
-	<g>
-		<rect x="51.773" y="31.872" fill="#FFFFFF" width="20.475" height="24.349"/>
-		<rect x="68.531" y="39.467" fill="none" width="1.857" height="1.859"/>
-		<rect x="68.527" y="43.194" fill="none" width="1.861" height="1.857"/>
-		<rect x="68.527" y="35.744" fill="none" width="1.861" height="1.857"/>
-		<rect x="53.637" y="35.744" fill="none" width="1.861" height="1.857"/>
-		<rect x="68.531" y="46.91" fill="none" width="1.857" height="1.862"/>
-		<rect x="53.637" y="50.639" fill="none" width="1.861" height="1.858"/>
-		<rect x="68.527" y="50.639" fill="none" width="1.861" height="1.858"/>
-		<rect x="53.637" y="39.467" fill="none" width="1.861" height="1.859"/>
-		<rect x="53.635" y="43.189" fill="none" width="1.863" height="1.857"/>
-		<rect x="53.635" y="46.914" fill="none" width="1.863" height="1.858"/>
-		<polygon fill="#A2C2DD" points="66.664,56.229 66.664,31.879 57.359,31.879 57.359,56.149 		"/>
-		<path fill="#496DA2" d="M70.385,31.863v2.019h-1.857v-2.019h-1.863v0.016v5.723h-9.307v-5.723v-0.016h-1.861v2.019h-1.861v-2.019
-			h-1.863v24.351h1.863v-1.858h1.859v1.858h1.861v-0.024v-5.554h9.307v5.554v0.031h1.859v-1.858h1.859v1.858h1.867V31.863H70.385z
-			 M68.531,46.91h1.857v1.862h-1.857V46.91z M70.385,41.326h-1.857v-1.859h1.857V41.326z M70.385,43.189v1.862h-1.857v-1.862H70.385
-			z M70.385,35.744v1.857h-1.857v-1.857H70.385z M57.359,39.467h9.311v9.311h-9.311V39.467z M55.498,35.744v1.857h-1.861v-1.857
-			H55.498z M53.637,45.052v-1.862h1.859v1.862H53.637L53.637,45.052z M55.498,46.91v1.862h-1.861V46.91H55.498z M53.637,41.326
-			v-1.859h1.859v1.859H53.637z M53.637,52.497v-1.861h1.859v1.861H53.637z M68.531,52.497v-1.861h1.857v1.861H68.531z"/>
-	</g>
-	
-		<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-77.3623" y1="-73.5371" x2="-40.5434" y2="-110.3551" gradientTransform="matrix(1 0 0 -1 102.52 -62.3613)">
-		<stop  offset="0" style="stop-color:#A2C2DD"/>
-		<stop  offset="0.1" style="stop-color:#A2C2DD"/>
-		<stop  offset="0.7135" style="stop-color:#6C83BB"/>
-		<stop  offset="0.9888" style="stop-color:#003D6D"/>
-		<stop  offset="1" style="stop-color:#003D6D"/>
-	</linearGradient>
-	<path fill="url(#SVGID_5_)" d="M49.838,54.549c-1.924,0.466-3.922,0.742-5.984,0.742c-14.012,0-25.414-11.4-25.414-25.416
-		c0-14.015,11.4-25.418,25.414-25.418c14.012,0,25.414,11.401,25.414,25.417c0,0.02-0.004,0.037-0.004,0.056h0.688
-		c0-0.02,0.004-0.038,0.004-0.056c0-14.394-11.707-26.104-26.1-26.104S17.754,15.48,17.754,29.874
-		c0,14.395,11.709,26.103,26.102,26.103c2.061,0,4.059-0.266,5.984-0.721v-0.707H49.838z"/>
-</g>
-<rect fill="none" width="90" height="60"/>
-</svg>
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideoscategorymodelhandler.h	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideoscategorymodelhandler.h	Wed Mar 31 21:34:36 2010 +0300
@@ -34,6 +34,7 @@
 class CMPXMedia;
 class CMyVideosIndicator;
 class CVcxHgMyVideosThumbnailManager;
+class TAknsItemID;
 
 // ENUMERATIONS
 enum TVcxHgMyVideosCategoryItemType
@@ -328,12 +329,14 @@
         /**
          * Create hg list icon from file
          * 
+         * @param aSkinId Skin-Id of the icon
          * @param aFileName mif file name
-         * @param aBitmapId bitmap index in mif file
-         * @param aMaskId mask index in mif file
+         * @param aBitmapId bitmap index in mif file (used if skin-Id is not found)
+         * @param aMaskId mask index in mif file (used if skin-Id is not found)
          * @return Icon
          */
         CGulIcon* CreateHgListIconL(
+                const TAknsItemID& aSkinId,
                 const TFileName& aFileName,
                 TInt aBitmapId,
                 TInt aMaskId );
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosvideomodelhandler.h	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosvideomodelhandler.h	Wed Mar 31 21:34:36 2010 +0300
@@ -172,10 +172,10 @@
         /**
          * Returns video's name.
          * 
-         * @param aIndex Video's index on UI list.
+         * @param aId Video's unique id.
          * @return Video's name or empty string.
          */
-        const TDesC& GetVideoName( TInt aIndex );
+        const TDesC& GetVideoName( TInt aId );
         
         /**
          * Returns video's URI.
--- a/videocollection/hgmyvideos/inc/vcxhgtelephonyclient.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies 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 client component.*
-*/
-
-
-
-
-#ifndef VCXHGTELEPHONYCLIENT_H
-#define VCXHGTELEPHONYCLIENT_H
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <etelmm.h>
-
-
-/**
-* Class connects to ETel for asking lock code from user.
-* Copied from vcnsuis/vcnssettings/vcnssettingsengine.
-*/
-NONSHARABLE_CLASS( CVcxHgTelephonyClient ) : public CBase
-    { 
-
-    public:
-
-        /**
-         * Constructor.
-         */
-        CVcxHgTelephonyClient();
-
-        /**
-         * Closes the ETel connection.
-         */
-        virtual ~CVcxHgTelephonyClient();
-
-        /**
-         * Check the lock code 
-         *
-         * @return ETrue if the user enters the correct lock code
-         */
-        TBool CheckLockCodeL();
-  
-    private: // data
-         
-        /**
-         * Flag that tells when connection has been made.
-         */
-        TBool iPhoneConnected;
-        
-        /**
-         * Telephony server session.
-         */
-        RTelServer iServer;
-        
-        /**
-         * Access to mobile phone functionality.
-         */
-        RMobilePhone iPhone;
-
-    };
-
-#endif // VCXHGTELEPHONYCLIENT_H
-
--- a/videocollection/hgmyvideos/src/vcxhgmyvideoscategorymodelhandler.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideoscategorymodelhandler.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -237,6 +237,7 @@
     IPTVLOGSTRING2_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::GetCategoryIconL() Enter! Category id = %d", aCategoryId );
 
     CGulIcon* icon( NULL );
+    TAknsItemID skinId = KAknsIIDNone;
     TInt bitmapId( 0 );
     TInt maskId( 0 );
     TInt key( KErrNotFound );
@@ -248,26 +249,23 @@
         case KVcxMvcCategoryIdDownloads:    // fall through
         case KVcxMvcCategoryIdAll:          // fall through
         case KVcxMvcCategoryIdOther:
+            skinId.Set( KAknsIIDQgnPropDownloadThumbnailVideo );
             iconFile = KVcxHgMyVideosMifFile;
             bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_download_thumbnail_video;
             maskId = EMbmVcxhgmyvideosiconsQgn_prop_download_thumbnail_video_mask;
             break;
         case KVcxMvcCategoryIdCaptured:
+            skinId.Set( KAknsIIDQgnPropCapturedThumbnailVideo );
             iconFile = KVcxHgMyVideosMifFile;
             bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_captured_thumbnail_video;
             maskId = EMbmVcxhgmyvideosiconsQgn_prop_captured_thumbnail_video_mask;
             break;
         case KCategoryIdLastWatched:
-            // If no last watched, dont show default icon
-            if ( iLastWatched )
-                {
-                iconFile = KVcxHgMyVideosMifFile;
-                bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_recent_thumbnail_video;
-                maskId = EMbmVcxhgmyvideosiconsQgn_prop_recent_thumbnail_video_mask;
-                }
+            // Dont set default lw icon here, it'd just blink.
             break;
         case KCategoryIdExtraItem1:
             // ExtraItem1 is always interpreted as Ovi Store
+            skinId.Set( KAknsIIDQgnPropOviThumbnailVideo );
             iconFile = KVcxHgMyVideosMifFile;
             bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_ovi_thumbnail_video;
             maskId = EMbmVcxhgmyvideosiconsQgn_prop_ovi_thumbnail_video_mask;
@@ -298,6 +296,7 @@
             }
         else
             { // Use default service icon
+            skinId.Set( KAknsIIDQgnPropServiceThumbnailVideo );
             iconFile = KVcxHgMyVideosMifFile;
             bitmapId = EMbmVcxhgmyvideosiconsQgn_prop_service_thumbnail_video;
             maskId = EMbmVcxhgmyvideosiconsQgn_prop_service_thumbnail_video_mask;
@@ -318,7 +317,7 @@
             iconFile = parse.FullName();
             IPTVLOGSTRING3_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::GetCategoryIconLC() get %d from file %S", bitmapId, &iconFile );
 
-            icon = CreateHgListIconL( iconFile, bitmapId, maskId );
+            icon = CreateHgListIconL( skinId, iconFile, bitmapId, maskId );
             }
         else
             {
@@ -944,6 +943,11 @@
 
         iModel.SetAppState( CVcxHgMyVideosModel::EVcxMyVideosAppStatePlayer );
         }
+    else
+        {
+        // Refresh the list to remove the highlight.
+        iScroller.DrawDeferred();
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -1051,7 +1055,9 @@
         else
             {
             TFileName iconFile( KVcxHgMyVideosMifFile );
-            thumbnail = CreateHgListIconL( iconFile, 
+            thumbnail = CreateHgListIconL( 
+                KAknsIIDQgnPropRecentThumbnailVideo,
+                iconFile, 
                 EMbmVcxhgmyvideosiconsQgn_prop_recent_thumbnail_video, 
                 EMbmVcxhgmyvideosiconsQgn_prop_recent_thumbnail_video_mask );
 
@@ -1134,10 +1140,12 @@
 // -----------------------------------------------------------------------------
 // 
 CGulIcon* CVcxHgMyVideosCategoryModelHandler::CreateHgListIconL(
+        const TAknsItemID& aSkinId,
         const TFileName& aFileName,
         TInt aBitmapId,
         TInt aMaskId )
     {
+    IPTVLOGSTRING3_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::CreateHgListIconL() skin major=%d, skin minor=%d", aSkinId.iMajor, aSkinId.iMinor );
     IPTVLOGSTRING4_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::CreateHgListIconL() bitmap=%d mask=%d file %S", aBitmapId, aMaskId, &aFileName );
     
     CFbsBitmap* bitmap( NULL );
@@ -1145,7 +1153,9 @@
     CGulIcon* icon( NULL );
 
     // Create default icon for Hg list.
-    AknIconUtils::CreateIconLC(
+    AknsUtils::CreateIconLC(
+            AknsUtils::SkinInstance(),
+            aSkinId,
             bitmap,
             mask,
             aFileName, 
@@ -1167,7 +1177,7 @@
 
     // Ownership of bitmap and mask is transferred to icon.
     icon = CGulIcon::NewL( bitmap, mask );
-    CleanupStack::Pop( 2, bitmap ); // mask and bitmap
+    CleanupStack::Pop( 2 ); // mask and bitmap
 
     IPTVLOGSTRING2_LOW_LEVEL( "CVcxHgMyVideosCategoryModelHandler::CreateHgListIconL() icon=0x%08x", icon );
 
--- a/videocollection/hgmyvideos/src/vcxhgmyvideoscollectionclient.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideoscollectionclient.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -1007,8 +1007,8 @@
 
         for ( TInt i = 0; i < messageArray->Count(); i++ )
             {
-            if ( messageArray->AtL( i )->ValueTObjectL<TInt32>( KVcxMediaMyVideosInt32Value )
-                 != KErrNone )
+            TInt err = messageArray->AtL( i )->ValueTObjectL<TInt32>( KVcxMediaMyVideosInt32Value );
+            if ( err != KErrNone && err != KErrAlreadyExists )
                 {
                 failedCount++;
 
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideolistimpl.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -321,7 +321,7 @@
     OperationTargetsToMpxIdsL( operationTargetIndexes, operationTargetIds );
 
     if ( ConfirmDeleteVideosL( operationTargetIndexes.Count(),
-                               iVideoModel->GetVideoName( operationTargetIndexes[0] ) ) )
+                               iVideoModel->GetVideoName( operationTargetIds[0] ) ) )
         {
         HandleMarkCommandL( EVcxHgMyVideosCmdUnmarkAll );
 
--- a/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideosvideomodelhandler.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -461,9 +461,9 @@
 // CVcxHgMyVideosVideoModelHandler::GetVideoName()
 // -----------------------------------------------------------------------------
 //
-const TDesC& CVcxHgMyVideosVideoModelHandler::GetVideoName( TInt aIndex )
+const TDesC& CVcxHgMyVideosVideoModelHandler::GetVideoName( TInt aId )
     {
-    CMPXMedia* media = iVideoArray->MPXMedia( aIndex );
+    CMPXMedia* media = iVideoArray->MPXMediaByMPXItemId( TMPXItemId( aId, 0 ) );
 
     if ( media && media->IsSupported( KMPXMediaGeneralTitle ) )
         {
@@ -1193,15 +1193,7 @@
     TInt videoCount = iVideoArray->VideoCount();         
     if (  videoCount > 0 )
         {
-        if ( videoCount == iScroller.ItemCount() )
-	        {
-            iScroller.DisableScrollBuffer();
-            iScroller.EnableScrollBufferL( *this, KHgBufferSize, KHgBufferTreshold );
-            }
-        else
-	        {
-            ResizeScrollerL( iVideoArray->VideoCount() );
-            }
+        ResizeScrollerL( videoCount );
             		
         TInt highlight( KErrNotFound );
 		
@@ -1285,6 +1277,7 @@
                     {                    
                     // Re-fetch current list completely, MMC card has 
                     // removed or inserted.
+                    IPTVLOGSTRING_LOW_LEVEL( "MPX My Videos UI # VideoModifiedL - Re-fetching list" );
                     iModel.CollectionClient().GetVideoListL( iCurrentCategoryIndex );
                     }
                 }
--- a/videocollection/hgmyvideos/src/vcxhgtelephonyclient.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies 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 a telephony client.*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <mmtsy_names.h>
-#include <secui.h>
-#include <secuisecurityhandler.h>
-
-#include "vcxhgtelephonyclient.h"
-
-// CONSTANTS
-const TInt KTimeBeforeRetryingServerConnection = 50000;
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// CVcxHgTelephonyClient::CVcxHgTelephonyClient()
-// ---------------------------------------------------------------------------
-//
-CVcxHgTelephonyClient::CVcxHgTelephonyClient()
-     : iPhoneConnected( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CVcxHgTelephonyClient::~CVcxHgTelephonyClient()
-// ---------------------------------------------------------------------------
-//
-CVcxHgTelephonyClient::~CVcxHgTelephonyClient()
-    {
-    if ( iPhoneConnected )
-        {
-        // Close phone
-        if ( iPhone.SubSessionHandle() )
-            {
-            iPhone.Close();
-            }
-
-        // Close ETel connection
-        if ( iServer.Handle() )
-            {
-            iServer.UnloadPhoneModule( KMmTsyModuleName );
-            iServer.Close();
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CVcxHgTelephonyClient::CheckLockCodeL()
-// ---------------------------------------------------------------------------
-//   
-TBool CVcxHgTelephonyClient::CheckLockCodeL()
-    {
-    TBool lockCodeAccepted = EFalse ;
-    
-    if ( !iPhoneConnected )
-        {
-        // Connect to ETel server
-        // All server connections are retried because occasional
-        // fails on connections are possible, at least on some servers.
-        TInt err = iServer.Connect();
-        if ( err != KErrNone )
-            {
-            User::After( KTimeBeforeRetryingServerConnection );
-            TInt err = iServer.Connect();
-            }
-        User::LeaveIfError( err );
-        User::LeaveIfError( iServer.SetExtendedErrorGranularity(
-            RTelServer::EErrorExtended ) );
-
-        // Load TSY.
-        err = iServer.LoadPhoneModule( KMmTsyModuleName );
-        if ( KErrAlreadyExists != err )
-            {
-            // May also return KErrAlreadyExists if something else
-            // has already loaded the TSY module. And that is
-            // not an error.
-            User::LeaveIfError( err );
-            }
-
-        // Open phones
-        User::LeaveIfError( iPhone.Open( iServer, KMmTsyPhoneName ) );
-        iPhoneConnected = ETrue;
-        }
-
-#ifndef __WINS__
-    // Initialize sec ui.
-    CSecurityHandler* handler = new( ELeave ) CSecurityHandler( iPhone );
-    CleanupStack::PushL( handler );
-    TSecUi::InitializeLibL();
-
-    lockCodeAccepted = handler->AskSecCodeL();
-
-    // Uninitialize security ui.
-    CleanupStack::PopAndDestroy( handler );
-    TSecUi::UnInitializeLib();
-#else
-    lockCodeAccepted = ETrue;
-#endif
-
-    return lockCodeAccepted;
-    }
-
--- a/videocollection/mpxmyvideoscollection/group/vcxmyvideoscollectionplugin.mmp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/group/vcxmyvideoscollectionplugin.mmp	Wed Mar 31 21:34:36 2010 +0300
@@ -44,6 +44,7 @@
 SOURCE          vcxmyvideosdrivemonitorevent.cpp
 SOURCE          vcxmyvideosactivetask.cpp
 SOURCE          vcxmyvideosopenhandler.cpp
+SOURCE          vcxmyvideosasyncfilecopy.cpp
 
 SOURCEPATH      ../download/src
 SOURCE          vcxmyvideosdownloadutil.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/mpxmyvideoscollection/inc/vcxmyvideosasyncfilecopy.h	Wed Mar 31 21:34:36 2010 +0300
@@ -0,0 +1,180 @@
+/*
+* 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 the License "Eclipse Public License v1.0"
+* which accompanies 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 file copy, implemented with several small sync block copies.*
+*/
+
+
+
+
+#ifndef VCXMYVIDEOSASYNCFILECOPY_H
+#define VCXMYVIDEOSASYNCFILECOPY_H
+
+// INCLUDES
+
+// FORWARD DECLARATIONS
+
+// CONSTANTS
+
+// CLASS DECLARATION
+
+/**
+* @lib mpxmyvideoscollectionplugin.lib
+*/
+NONSHARABLE_CLASS(CVcxMyVideosAsyncFileCopy) :
+    public CBase
+    {    
+    public: // Constructors and destructor
+
+        /**
+        * Two-phased constructor
+        * @return object constructed
+        */
+        static CVcxMyVideosAsyncFileCopy* NewL( RFs& aFs );
+
+        /**
+        * Destructor
+        */
+        virtual ~CVcxMyVideosAsyncFileCopy();
+
+    public:
+        /**
+        * Copies aSourceFileName to aSourceFileName. Leaves with KErrNotReady
+        * if there is already copy operation going on.
+        *
+        * @param aSourceFileName  Full path and name of the source file.
+        * @param aTargetFileName  Full path and name of the target file.
+        * @return                 ETrue if copy was finished. If EFalse, then
+        *                         user must do DoNextBlockCopyL calls to
+        *                         continue copying.
+        */
+        TBool CopyL( const TDesC& aSourceFileName, const TDesC& aTargetFileName );
+        
+        /**
+        * Checks if there is copy going on.
+        *
+        * @return ETrue if copy is going on, EFalse otherwise.
+        */
+        TBool CopyIsOngoing();
+        
+        /**
+        * Copies next block from the current copy operation.
+        *
+        * @return System wide error code.
+        */
+        TInt DoNextBlockCopy();
+
+        /**
+        * Cancels current copy operation (if any). Does nothing if copy
+        * operation is not going on. Cancel removes the possible target file
+        * which has been created during the current copy operation.
+        */
+        void Cancel();
+        
+    private:
+        /**
+        * Constructor
+        */
+        CVcxMyVideosAsyncFileCopy( RFs& aFs );
+
+        /**
+        * Symbian 2nd phase constructor.
+        */
+        void ConstructL ();
+        
+        /**
+        * Allocates buffer from RAM (iFileBlockBuffer) for a file block.
+        * 
+        * @param aFileSize  Size of the file to be copied.
+        */
+        void AllocateFileBlockBufferL( TInt aFileSize );
+        
+        /**
+        * Closes file handles and resets variables.
+        *
+        * @param aRemoveTargetFile If ETrue then the target file is removed.
+        */
+        void EndCopy( TBool aRemoveTargetFile );
+                
+    private:
+
+        /**
+        * File server session.
+        */
+        RFs& iFs;
+
+#ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
+
+        /**
+        * File in which we are copying from.
+        */ 
+        RFile64 iSourceFile;
+        
+        /**
+        * File which is being copied to.
+        */ 
+        RFile64 iTargetFile;
+
+        /**
+        * How much data is left for copying.
+        */
+        TInt64 iDataRemaining;
+        
+        /**
+        * Current read position in source file. 
+        */
+        TInt64 iReadPos;                      
+#else
+
+        /**
+        * File in which we are copying from.
+        */ 
+        RFile iSourceFile;
+        
+        /**
+        * File which is being copied to.
+        */ 
+        RFile iTargetFile;
+
+        /**
+        * How much data is left for copying.
+        */
+        TInt iDataRemaining;
+        
+        /**
+        * Current read position in source file. 
+        */
+        TInt iReadPos;                      
+
+#endif
+        /**
+        * Set to ETrue when copy starts and EFalse when copying ends.
+        */
+        TBool iIsCopying;
+        
+        /**
+        * Space for the one file block. Own
+        */
+        HBufC8* iFileBlockBuffer;
+
+#ifdef _DEBUG
+        /**
+        * Used to calculate copying speed.
+        */
+        TTime iStartTime;
+#endif        
+    };
+
+#endif   // VCXMYVIDEOSASYNCFILECOPY_H
+
+
--- a/videocollection/mpxmyvideoscollection/inc/vcxmyvideosasyncfileoperations.h	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/inc/vcxmyvideosasyncfileoperations.h	Wed Mar 31 21:34:36 2010 +0300
@@ -33,6 +33,7 @@
 
 // FORWARD DECLARATIONS
 class CVcxMyVideosCollectionPlugin;
+class CVcxMyVideosAsyncFileCopy;
 
 // CONSTANTS
 
@@ -92,9 +93,8 @@
         *
         * @param aMdsId        MDS id of the item to be moved.
         * @param aTargetDrive  Target drive.
-        * @param aMove         If ETrue, the source file is deleted.
         */
-        void MoveOrCopyVideoL( TUint32 aMdsId, TInt aTargetDrive, TBool aMove );
+        void MoveOrCopyVideoL( TUint32 aMdsId, TInt aTargetDrive );
                        
         /**
         * Generates and sends resp message for Move,Copy and Delete operations.
@@ -143,6 +143,29 @@
         void GenerateTargetPathForMoveOrCopyL(
                 const TDesC& aSourcePath, TDes& aTargetPath, TInt aTargetDrive );
 
+        /**
+        * Initializes member variables for the Copy or Move operations.
+        *
+        * @param aCmd  Command received from collection client.
+        */                
+        void InitMoveOrCopyOperationsL( CMPXMedia& aCmd );
+        
+        /**
+        * Called when file copying completes in Move or Copy operations.
+        *
+        * @param aErr Result code of the file copy.
+        */
+        void HandleFileCopyCompletedL( TInt aErr );
+        
+        /**
+        * Initializes MDS and collection cache before the actual file copy.
+        * Does some sanity checks also.
+        *
+        * @param aMdsId        MDS ID of the video being moved/copied.
+        * @param aTargetDrive  Target drive.
+        */
+        void InitSingleMoveOrCopyL( TUint32 aMdsId, TInt aTargetDrive );
+
     public:
 
         /**
@@ -174,9 +197,51 @@
         TInt iTargetDrive;
 
         /**
+        * Set to ETrue if current operation is Move.
+        */
+        TBool IsMoveOperation;
+        
+        /**
         * Owner of this class.
         */
         CVcxMyVideosCollectionPlugin& iCollection;
+        
+        /**
+        * Performs single file copy in multiple steps.
+        * Used to avoid long blockings when copying large files.
+        * Own.
+        */
+        CVcxMyVideosAsyncFileCopy* iFileCopier;
+        
+        /**
+        * New media which is created to collection cache in copy operation.
+        * It is stored in memeber variable in case that file operations
+        * fail and we have to roll MDS and cache back. Own.
+        */
+        CMPXMedia* iMediaForCopyOp;
+        
+        /**
+        * Updated media which is changed in move operation.
+        * It is stored in memeber variable in case that file operations
+        * fail and we have to roll MDS and cache back. Own.
+        */        
+        CMPXMedia* iMediaForMoveOp;
+        
+        /**
+        * Source path for move or copy operation.
+        */
+        TFileName iSourcePath;
+        
+        /**
+        * Target path for move or copy operation.
+        */
+        TFileName iTargetPath;
+        
+        /**
+        * Flag for move operation is stored just to avoid accessing
+        * CMPXMedia object too much.
+        */
+        TBool iIsMoveOperation;
                                 
     };
 
--- a/videocollection/mpxmyvideoscollection/inc/vcxmyvideosmdsdb.h	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/inc/vcxmyvideosmdsdb.h	Wed Mar 31 21:34:36 2010 +0300
@@ -300,6 +300,21 @@
     void DoHandleQueryNewResultsL(CMdEQuery& aQuery,
             TInt aFirstNewItemIndex, TInt aNewItemCount);
 
+    /**
+     * Sets Creation Date and Modified properties to object. Uses current date
+     * value.
+     * 
+     * @param aObject  Object to modify.
+     */
+    void SetCreationAndModifiedDatesL( CMdEObject& aObject );
+
+    /**
+     * Sets creation date to aObject from aVideo.
+     * 
+     * @param aVideo  Creation date is copied from here.
+     * @param aObject Creation date is written here.
+     */
+    void SetCreationDateToObjectL( const CMPXMedia& aVideo, CMdEObject& aObject );
 public:
 
     /**
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideosasyncfilecopy.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -0,0 +1,294 @@
+/*
+* 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 the License "Eclipse Public License v1.0"
+* which accompanies 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 file copy, implemented with several small sync block copies.*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <mpxlog.h>
+#include <bautils.h>
+#include "vcxmyvideosasyncfilecopy.h"
+
+/**
+* One block shouldn't take more than 1 second to copy to keep cancel
+* response fast enough. On the otherhand, the deleting the already
+* copied data may take several seconds. 
+*
+* Copying speed tests (from massmemory to memorycard):
+*
+* Block size       speed        response time
+*   6MB        ->  3.20 MB/s    ~2sec    (unacceptable response time, full speed)
+*   3MB        ->  3.17 MB/s    ~1sec    (poor response time, almost full speed)
+*   1MB        ->  3.16 MB/s    ~0.3sec  (good response time, almost full speed)
+* 0.5MB        ->  2.60 MB/s    ~0.19sec (good response time, some speed loss)
+*
+* -> 1MB is the best.
+*
+* * Copying speed tests (from memorycard to massmemory):
+*
+* Block size       speed        response time
+*   3MB        ->  5.470 MB/s    0.548sec
+*   1MB        ->  4.393 MB/s    0.228sec
+*
+* 1M gives slightly reduced speed, great response time. 3MB would be better than
+* 1M but can't use it since it gives 1sec response time in memorycard writing.
+*/
+const TInt KBigBufSize    = 1024 * 1024; // 1MB
+const TInt KMediumBufSize = 512 * 1024;  // 0.5MB
+const TInt KSmallBufSize  = 100 * 1024;  // 0.1MB
+
+// ============================ MEMBER FUNCTIONS ==============================
+
+// ----------------------------------------------------------------------------
+// Two-phased constructor.
+// ----------------------------------------------------------------------------
+//
+CVcxMyVideosAsyncFileCopy* CVcxMyVideosAsyncFileCopy::NewL( RFs& aFs )
+    {
+    CVcxMyVideosAsyncFileCopy* self = new (ELeave) CVcxMyVideosAsyncFileCopy( aFs );
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ----------------------------------------------------------------------------
+// Destructor.
+// ----------------------------------------------------------------------------
+//
+CVcxMyVideosAsyncFileCopy::~CVcxMyVideosAsyncFileCopy()
+    {
+    iSourceFile.Close();
+    iTargetFile.Close();
+    delete iFileBlockBuffer;
+    }
+
+// ----------------------------------------------------------------------------
+// Constructor.
+// ----------------------------------------------------------------------------
+//
+CVcxMyVideosAsyncFileCopy::CVcxMyVideosAsyncFileCopy( RFs& aFs )
+: iFs( aFs )
+    {
+    }
+
+// ----------------------------------------------------------------------------
+// Symbian 2nd phase constructor can leave.
+// ----------------------------------------------------------------------------
+//
+void CVcxMyVideosAsyncFileCopy::ConstructL ()
+    {
+    }
+
+// ----------------------------------------------------------------------------
+// CVcxMyVideosAsyncFileCopy::CopyL
+// ----------------------------------------------------------------------------
+//
+TBool CVcxMyVideosAsyncFileCopy::CopyL( const TDesC& aSourceFileName,
+        const TDesC& aTargetFileName )
+    {
+    MPX_DEBUG1("CVcxMyVideosAsyncFileCopy::CopyL() start");
+    
+    if ( iIsCopying )
+        {
+        User::Leave( KErrNotReady );
+        }
+
+    TInt error = iSourceFile.Open( iFs, aSourceFileName, EFileRead | EFileShareReadersOnly );
+
+    User::LeaveIfError( error );
+
+    error = iTargetFile.Replace( iFs, aTargetFileName, EFileWrite | EFileWriteDirectIO
+            | EFileShareExclusive );
+
+    if ( error == KErrPathNotFound )
+        {
+        error = iFs.MkDirAll( aTargetFileName );
+        if ( error == KErrNone )
+            {
+            error = iTargetFile.Create( iFs, aTargetFileName, EFileWrite
+                    | EFileWriteDirectIO | EFileShareExclusive );
+            }
+        }
+
+    User::LeaveIfError( error );
+    User::LeaveIfError( iSourceFile.Size( iDataRemaining ) );
+    User::LeaveIfError( iTargetFile.SetSize( iDataRemaining ) );
+    
+    TInt suggestBlockSize;
+    if ( iDataRemaining > KBigBufSize )
+        {
+        suggestBlockSize = KBigBufSize;
+        }
+    else
+        {
+        suggestBlockSize = iDataRemaining;
+        }
+    AllocateFileBlockBufferL( suggestBlockSize );
+
+    iReadPos   = 0;
+    iIsCopying = ETrue;
+
+#ifdef _DEBUG
+    iStartTime.UniversalTime();
+#endif
+
+    DoNextBlockCopy();
+
+    MPX_DEBUG1("CVcxMyVideosAsyncFileCopy::CopyL() exit");    
+    return !iIsCopying;
+    }
+    
+// ----------------------------------------------------------------------------
+// CVcxMyVideosAsyncFileCopy::CopyIsOngoing
+// ----------------------------------------------------------------------------
+//
+TBool CVcxMyVideosAsyncFileCopy::CopyIsOngoing()
+    {
+    return iIsCopying;
+    }
+
+// ----------------------------------------------------------------------------
+// CVcxMyVideosAsyncFileCopy::DoNextBlockCopy
+// ----------------------------------------------------------------------------
+//
+TInt CVcxMyVideosAsyncFileCopy::DoNextBlockCopy()
+    {    
+	TInt err = KErrNone;
+	TPtr8 fileBufPtr = iFileBlockBuffer->Des();
+
+	TInt bytesToCopy = Min( iDataRemaining, fileBufPtr.MaxSize() );
+
+	err = iSourceFile.Read( iReadPos, fileBufPtr, bytesToCopy );
+	if ( err == KErrNone && fileBufPtr.Length() != bytesToCopy )
+	    {
+		err = KErrCorrupt;
+	    }
+	if ( err == KErrNone )
+	    {
+		err = iTargetFile.Write( iReadPos, fileBufPtr, bytesToCopy );
+	    }
+	if ( err != KErrNone )
+		{
+		EndCopy( ETrue /* remove target file */);
+		return err;
+		}
+
+	iReadPos       += bytesToCopy;
+	iDataRemaining -= bytesToCopy;
+
+	if ( iDataRemaining == 0 )
+		{
+		EndCopy( EFalse /* keep target file */);
+		}
+
+	return KErrNone;
+    }
+
+// ----------------------------------------------------------------------------
+// CVcxMyVideosAsyncFileCopy::Cancel
+// ----------------------------------------------------------------------------
+//
+void CVcxMyVideosAsyncFileCopy::Cancel()
+    {
+    MPX_DEBUG1("CVcxMyVideosAsyncFileCopy::Cancel() start");
+    
+    if ( iIsCopying )
+        {
+        EndCopy( ETrue /* remove target file */ );
+        }
+    MPX_DEBUG1("CVcxMyVideosAsyncFileCopy::Cancel() exit");
+    }
+
+// ----------------------------------------------------------------------------
+// CVcxMyVideosAsyncFileCopy::AllocateFileBlockBufferL
+// ----------------------------------------------------------------------------
+//
+void CVcxMyVideosAsyncFileCopy::AllocateFileBlockBufferL( TInt aFileSize )
+	{
+    delete iFileBlockBuffer;
+    iFileBlockBuffer = NULL;
+    
+	TInt big = Min( aFileSize, KBigBufSize );
+	iFileBlockBuffer = HBufC8::New( big );
+	if ( !iFileBlockBuffer )
+	    {
+		iFileBlockBuffer = HBufC8::New( KMediumBufSize );
+		}
+	if ( !iFileBlockBuffer )
+	    {
+		iFileBlockBuffer = HBufC8::NewL( KSmallBufSize );
+		}
+	}
+
+void CVcxMyVideosAsyncFileCopy::EndCopy( TBool aRemoveTargetFile )
+	{
+    MPX_DEBUG1("CVcxMyVideosAsyncFileCopy::EndCopy() start");
+
+    TTime modified;
+    iSourceFile.Modified( modified );
+    iTargetFile.SetModified( modified );
+
+#ifdef _DEBUG
+
+    TDateTime dT = modified.DateTime();
+    TBuf<200> buf;
+    buf.Format(_L("CVcxMyVideosAsyncFileCopy:: setting file modified date: %2d.%2d.%4d %2d:%2d:%2d"),
+            dT.Day()+1, dT.Month()+1, dT.Year(), dT.Hour(), dT.Minute(), dT.Second() ); 
+    MPX_DEBUG2("%S", &buf ); 
+
+    const TInt megaBytes = 0x100000;
+    const TInt kiloBytes = 1024;
+    TInt dataCopiedInMegaBytes = iReadPos / megaBytes;
+    TTime now;
+    now.UniversalTime();
+    TTimeIntervalSeconds interval;
+    now.SecondsFrom( iStartTime, interval );
+    TInt copyingSpeed = 0;
+    if ( interval.Int() > 0 )
+        {
+        copyingSpeed = (iReadPos / kiloBytes) / interval.Int();
+        }
+    MPX_DEBUG3("CVcxMyVideosAsyncFileCopy:: Data copied: %d (MB), %d kB/s", dataCopiedInMegaBytes, copyingSpeed);
+#endif
+	    
+	delete iFileBlockBuffer;
+	iFileBlockBuffer = NULL;
+	iReadPos       = 0;
+	iDataRemaining = 0;
+	iSourceFile.Close();
+	iIsCopying = EFalse;
+
+	if ( aRemoveTargetFile )
+	    {
+	    TFileName fileName;
+	    TInt err = iTargetFile.FullName( fileName );
+
+        iTargetFile.Close();	
+	    
+	    if ( err == KErrNone )
+	        {
+            MPX_DEBUG2("CVcxMyVideosAsyncFileCopy:: removing file: %S", &fileName);
+	        iFs.Delete( fileName );
+	        }
+	    }
+	else
+	    {
+        iTargetFile.Close();
+	    }
+
+    MPX_DEBUG1("CVcxMyVideosAsyncFileCopy::EndCopy() exit");
+	}
--- a/videocollection/mpxmyvideoscollection/src/vcxmyvideosasyncfileoperations.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideosasyncfileoperations.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -39,6 +39,7 @@
 #include "vcxmyvideoscategories.h"
 #include "vcxmyvideosmessagelist.h"
 #include "vcxmyvideosasyncfileoperations.h"
+#include "vcxmyvideosasyncfilecopy.h"
 
 // ============================ MEMBER FUNCTIONS ==============================
 
@@ -49,8 +50,6 @@
 CVcxMyVideosAsyncFileOperations* CVcxMyVideosAsyncFileOperations::NewL(
     CVcxMyVideosCollectionPlugin& aCollection )
     {
-    MPX_FUNC("CVcxMyVideosAsyncFileOperations::NewL");
-
     CVcxMyVideosAsyncFileOperations* self = new (ELeave) CVcxMyVideosAsyncFileOperations(
             aCollection );
     CleanupStack::PushL(self);
@@ -64,11 +63,12 @@
 // ----------------------------------------------------------------------------
 //
 CVcxMyVideosAsyncFileOperations::~CVcxMyVideosAsyncFileOperations()
-    {
-    MPX_FUNC("CVcxMyVideosAsyncFileOperations::~CVcxMyVideosAsyncFileOperations");
-        
+    {        
     iOperationIdArray.Close();
     iOperationResult.Close();
+    delete iFileCopier;
+    delete iMediaForMoveOp;
+    delete iMediaForCopyOp;
     }
 
 // ----------------------------------------------------------------------------
@@ -78,7 +78,6 @@
 CVcxMyVideosAsyncFileOperations::CVcxMyVideosAsyncFileOperations( CVcxMyVideosCollectionPlugin& aCollection )
 : iCollection( aCollection )
     {
-    MPX_FUNC("CVcxMyVideosAsyncFileOperations::CVcxMyVideosAsyncFileOperations");
     }
 
 // ----------------------------------------------------------------------------
@@ -87,7 +86,7 @@
 //
 void CVcxMyVideosAsyncFileOperations::ConstructL ()
     {
-    MPX_FUNC("CVcxMyVideosAsyncFileOperations::ConstructL");
+    iFileCopier = CVcxMyVideosAsyncFileCopy::NewL( iCollection.iFs );
     }
     
 // ----------------------------------------------------------------------------
@@ -230,57 +229,21 @@
     CMPXMedia& cmd = iCollection.iActiveTask->GetCommand();
     
     TBool done;
-    
-    TBool isMoveOperation = EFalse;    
-    TUint32 cmdId = cmd.ValueTObjectL<TUint32>( KVcxMediaMyVideosCommandId );    
-    if ( cmdId == KVcxCommandMyVideosMove )
-        {
-        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: move operation");
-        isMoveOperation = ETrue;
-        }
-        
-    // Start operations
-    if ( iCurrentOperationIndex == 0 )
+            
+    if ( iCurrentOperationIndex == 0 && !iFileCopier->CopyIsOngoing() )
         {
-        if ( !cmd.IsSupported( KMPXMediaArrayContents ) )
-            {
-            MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: error, no array defined");
-            User::Leave( KErrArgument );
-            }
-    
-        CMPXMediaArray* idMediaArray = cmd.Value<CMPXMediaArray>(
-                KMPXMediaArrayContents );
-
-        if ( idMediaArray->Count() == 0 )
-            {
-            MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: error, no items in array ");
-            User::Leave( KErrArgument );
-            }
-        
-        iTargetDrive = cmd.ValueTObjectL<TInt32>( KVcxMediaMyVideosInt32Value );
-        
-        TMPXItemId mpxId;    
-        iOperationIdArray.Reset();
-        TInt count = idMediaArray->Count();
-        for ( TInt i = 0; i < count; i++ )
-            {
-            mpxId = idMediaArray->AtL( i )->
-                            ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId );
-            MPX_DEBUG3("CVcxMyVideosAsyncFileOperations:: MPX ID: (%d, %d) will be moved ",
-                    mpxId.iId1,
-                    mpxId.iId2);
-            iOperationIdArray.AppendL( idMediaArray->AtL( i )->
-                    ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId ).iId1 );
-            }
-        
-        iCollection.SendMyVideosMessageL( KVcxMessageMyVideosMoveOrCopyStarted, &cmd );
-
-        iOperationResult.Reset();
+        InitMoveOrCopyOperationsL( cmd );        
         }
 
     TRAPD( err, MoveOrCopyVideoL( iOperationIdArray[iCurrentOperationIndex],
-            iTargetDrive, isMoveOperation ));
+            iTargetDrive ));
 
+    if ( iFileCopier->CopyIsOngoing() && err == KErrNone )
+        {
+        // copy didnt finish yet, lets do some more steps before jumping to next file
+        return EFalse;
+        }
+        
     iOperationResult.AppendL( err );
     
     iCurrentOperationIndex++;
@@ -290,7 +253,7 @@
         {
         iCurrentOperationIndex = 0;
         done                   = ETrue;
-        if ( isMoveOperation )
+        if ( iIsMoveOperation )
             {
             SendOperationRespL( KVcxMessageMyVideosMoveResp );
             }
@@ -308,12 +271,65 @@
     }
 
 // ----------------------------------------------------------------------------
+// CVcxMyVideosAsyncFileOperations::InitMoveOrCopyOperationsL
+// ----------------------------------------------------------------------------
+//
+void CVcxMyVideosAsyncFileOperations::InitMoveOrCopyOperationsL( CMPXMedia& aCmd )
+    {
+    if ( !aCmd.IsSupported( KMPXMediaArrayContents ) )
+        {
+        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: error, no array defined");
+        User::Leave( KErrArgument );
+        }
+
+    CMPXMediaArray* idMediaArray = aCmd.Value<CMPXMediaArray>(
+            KMPXMediaArrayContents );
+
+    if ( idMediaArray->Count() == 0 )
+        {
+        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: error, no items in array ");
+        User::Leave( KErrArgument );
+        }
+    
+    TUint32 cmdId = aCmd.ValueTObjectL<TUint32>( KVcxMediaMyVideosCommandId );    
+    if ( cmdId == KVcxCommandMyVideosMove )
+        {
+        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: move operation");
+        iIsMoveOperation = ETrue;
+        }
+    else
+        {
+        iIsMoveOperation = EFalse;
+        }
+
+    iTargetDrive = aCmd.ValueTObjectL<TInt32>( KVcxMediaMyVideosInt32Value );
+    
+    TMPXItemId mpxId;    
+    iOperationIdArray.Reset();
+    TInt count = idMediaArray->Count();
+    for ( TInt i = 0; i < count; i++ )
+        {
+        mpxId = idMediaArray->AtL( i )->
+                        ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId );
+        MPX_DEBUG3("CVcxMyVideosAsyncFileOperations:: MPX ID: (%d, %d) will be moved ",
+                mpxId.iId1,
+                mpxId.iId2);
+        iOperationIdArray.AppendL( idMediaArray->AtL( i )->
+                ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId ).iId1 );
+        }
+    
+    iCollection.SendMyVideosMessageL( KVcxMessageMyVideosMoveOrCopyStarted, &aCmd );
+
+    iOperationResult.Reset();
+    }
+    
+// ----------------------------------------------------------------------------
 // CVcxMyVideosAsyncFileOperations::CancelOperationL
 // Called when leave or cancel occurs for the operation, generates resp msg.
 // ----------------------------------------------------------------------------
 //
 void CVcxMyVideosAsyncFileOperations::CancelOperationL( TInt aErr )
-    {
+    {    
     if ( iCollection.iActiveTask->IsActive() )
         {
         TInt mvCmdId = -1;
@@ -332,11 +348,22 @@
             case KVcxCommandMyVideosMove:
                 MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: generating KVcxMessageMyVideosMoveResp");
                 messageId = KVcxMessageMyVideosMoveResp;
+                if ( iFileCopier->CopyIsOngoing() )
+                    {
+                    //these have to be in this order, otherwise wrong item gets removed from mds
+                    TRAP_IGNORE( HandleFileCopyCompletedL( aErr ) ); // rolls mds back
+                    iFileCopier->Cancel(); // removes generated file and resets variables
+                    }
                 break;
                 
             case KVcxCommandMyVideosCopy:
                 MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: generating KVcxMessageMyVideosCopyResp");
                 messageId = KVcxMessageMyVideosCopyResp;
+                if ( iFileCopier->CopyIsOngoing() )
+                    {
+                    TRAP_IGNORE( HandleFileCopyCompletedL( aErr ) ); // rolls mds back
+                    iFileCopier->Cancel(); // removes generated file and resets variables
+                    }
                 break;
                 
             case KVcxCommandMyVideosDelete:
@@ -413,13 +440,39 @@
 // CVcxMyVideosAsyncFileOperations::MoveOrCopyVideoL
 // ----------------------------------------------------------------------------
 //
-void CVcxMyVideosAsyncFileOperations::MoveOrCopyVideoL( TUint32 aMdsId, TInt aTargetDrive,
-        TBool aMove )
+void CVcxMyVideosAsyncFileOperations::MoveOrCopyVideoL( TUint32 aMdsId, TInt aTargetDrive )
     {
-    MPX_FUNC("CVcxMyVideosAsyncFileOperations::MoveOrCopyVideoL");
+    if ( iFileCopier->CopyIsOngoing() )
+        {
+        TInt err = iFileCopier->DoNextBlockCopy();
+        if ( err != KErrNone || !iFileCopier->CopyIsOngoing() )
+            {
+            HandleFileCopyCompletedL( err );
+            }
+        return;
+        }
+        
+    //New file copy starts -> do sanity checks and mds and collection preparations
+    InitSingleMoveOrCopyL( aMdsId, aTargetDrive );
+            
+    MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: copying: %S", &iSourcePath);
+    MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: to     : %S", &iTargetPath);
+    
+    TBool completed = ETrue; // set to avoid warning
+    TRAPD( err, completed = iFileCopier->CopyL( iSourcePath, iTargetPath ) );
+    
+    if ( completed || err )
+        {
+        HandleFileCopyCompletedL( err );
+        }
+    }    
 
-    MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: mds id = %d", aMdsId);
-    
+// ----------------------------------------------------------------------------
+// CVcxMyVideosAsyncFileOperations::InitSingleMoveOrCopyL
+// ----------------------------------------------------------------------------
+//
+void CVcxMyVideosAsyncFileOperations::InitSingleMoveOrCopyL( TUint32 aMdsId, TInt aTargetDrive )
+    {
     //get media from cache or mds
     TInt pos;
     CMPXMedia* videoInCache = iCollection.iCache->FindVideoByMdsIdL( aMdsId, pos );
@@ -450,130 +503,124 @@
         User::Leave( KErrInUse );
         }
 
-    const TInt KMaxPathLength = 255;    
-    TBuf<KMaxPathLength> sourcePath( video->ValueText( KMPXMediaGeneralUri ) );
+    iSourcePath = video->ValueText( KMPXMediaGeneralUri );
             
-    MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: source path = %S", &sourcePath);
-
-    if ( !DriveHasEnoughFreeSpaceL( sourcePath, aTargetDrive ) )
+    if ( !DriveHasEnoughFreeSpaceL( iSourcePath, aTargetDrive ) )
         {
         MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: target drive full -> skipping");
         User::Leave( KErrDiskFull );
         }
 
+    TUint att = 0;
+    iCollection.iFs.Att( iSourcePath, att);    
+    if ( iIsMoveOperation && (att & KEntryAttReadOnly) )
+        {
+        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: move operation and source file is read only -> skipping");
+        User::Leave( KErrAccessDenied );
+        }
+
     TInt sourceDrive;
-    User::LeaveIfError( iCollection.iFs.CharToDrive( sourcePath[0], sourceDrive ) );
+    User::LeaveIfError( iCollection.iFs.CharToDrive( iSourcePath[0], sourceDrive ) );
 
     if ( sourceDrive == aTargetDrive )
         {
-        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: source and target drives are the same, doing nothing.");
+        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: source and target drives are the same, leaving with KErrAlreadyExists.");
         CleanupStack::PopAndDestroy( video ); // <-1
-        return;
+        User::Leave( KErrAlreadyExists );
         }
+    
+    GenerateTargetPathForMoveOrCopyL( iSourcePath, iTargetPath, aTargetDrive );
 
-    TBuf<KMaxPathLength> targetPath;
-    
-    GenerateTargetPathForMoveOrCopyL( sourcePath, targetPath, aTargetDrive );
-
-    MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: target path = %S", &targetPath );
+    MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: target path = %S", &iTargetPath );
     
     // update mds and cache
-    CMPXMedia* mediaForMoveOp = NULL;
-    CMPXMedia* mediaForCopyOp = NULL;
-    if ( aMove )
+    delete iMediaForMoveOp;
+    iMediaForMoveOp = NULL;
+    delete iMediaForCopyOp;
+    iMediaForCopyOp = NULL;
+
+    if ( iIsMoveOperation )
         {
         // Update existing media.
         // Create new media object with only KMPXMediaGeneralId, and KMPXMediaGeneralUri
         // attributes set, that way update is lighter operation.
-        mediaForMoveOp = CMPXMedia::NewL();
-        CleanupStack::PushL( mediaForMoveOp ); // 2->
-        mediaForMoveOp->SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId,
+        iMediaForMoveOp = CMPXMedia::NewL();
+        iMediaForMoveOp->SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId,
                video->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
-        mediaForMoveOp->SetTextValueL( KMPXMediaGeneralUri, targetPath );
+        iMediaForMoveOp->SetTextValueL( KMPXMediaGeneralUri, iTargetPath );
         
-        iCollection.SetVideoL( *mediaForMoveOp );
+        iCollection.SetVideoL( *iMediaForMoveOp );
         }
     else
         {
         // Create new media.
-        mediaForCopyOp = CMPXMedia::CopyL( *video );
-        CleanupStack::PushL( mediaForCopyOp ); // 2->
-        mediaForCopyOp->SetTextValueL( KMPXMediaGeneralUri, targetPath );
-        iCollection.AddVideoToMdsAndCacheL( *mediaForCopyOp );
+        iMediaForCopyOp = CMPXMedia::CopyL( *video );
+        iMediaForCopyOp->SetTextValueL( KMPXMediaGeneralUri, iTargetPath );
+        iCollection.AddVideoToMdsAndCacheL( *iMediaForCopyOp );
         }
-        
-    //copy file, delete original if move case
-    TRAPD( err, BaflUtils::EnsurePathExistsL( iCollection.iFs, targetPath ) );
-    
-    TUint att = 0;
-    iCollection.iFs.Att( sourcePath, att);    
-    if ( aMove && (att & KEntryAttReadOnly) )
-        {
-        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: move operation and source file is read only -> skipping");
-        err = KErrAccessDenied;
-        }
-         
-    if ( err == KErrNone )
+ 
+     CleanupStack::PopAndDestroy( video ); // <-1           
+    }
+
+
+// ----------------------------------------------------------------------------
+// CVcxMyVideosAsyncFileOperations::HandleFileCopyCompletedL
+// ----------------------------------------------------------------------------
+//
+void CVcxMyVideosAsyncFileOperations::HandleFileCopyCompletedL( TInt aErr )
+    {
+    if ( aErr == KErrNone )
         {
-        MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: copying: %S", &sourcePath);
-        MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: to     : %S", &targetPath);
-        err = BaflUtils::CopyFile( iCollection.iFs, sourcePath, targetPath );
-        if ( err == KErrNone )
+        MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: Copy succeeded");
+        if ( iIsMoveOperation )
             {
-            MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: Copy succeeded");
-            if ( aMove )
+            MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: move case");
+            aErr = BaflUtils::DeleteFile( iCollection.iFs, iSourcePath );
+            if ( aErr != KErrNone )
                 {
-                MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: move case");
-                err = BaflUtils::DeleteFile( iCollection.iFs, sourcePath );
-                if ( err != KErrNone )
+                MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: delete for source file failed: %d", aErr );
+                MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: deleting target file");
+                TInt delErr = BaflUtils::DeleteFile( iCollection.iFs, iTargetPath );
+                if ( delErr != KErrNone )
                     {
-                    MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: delete for source file failed: %d", err );
-                    MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: deleting target file");
-                    TInt delErr = BaflUtils::DeleteFile( iCollection.iFs, targetPath );
-                    if ( delErr != KErrNone )
-                        {
-                        MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: delete for target file failed: %d", delErr );
-                        }
+                    MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: delete for target file failed: %d", delErr );
                     }
                 }
             }
-        else
-            {
-            MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: CopyFile failed: %d", err);
-            }
+        }
+    else
+        {
+        MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: CopyFile failed: %d", aErr);
         }
     
     // roll mds and cache back if file operations failed
-    if ( err != KErrNone )
+    if ( aErr != KErrNone )
         {
-        if ( aMove )
+        if ( iIsMoveOperation )
             {
-            MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: move failed %d", err );
+            MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: move failed %d", aErr );
             MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: setting media path back and leaving." );
-            mediaForMoveOp->SetTextValueL( KMPXMediaGeneralUri, sourcePath );
-            iCollection.SetVideoL( *mediaForMoveOp );
+            iMediaForMoveOp->SetTextValueL( KMPXMediaGeneralUri, iSourcePath );
+            iCollection.SetVideoL( *iMediaForMoveOp );
             }
         else
             {
-            MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: copy failed %d", err );
+            MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: copy failed %d", aErr );
             MPX_DEBUG1("CVcxMyVideosAsyncFileOperations:: deleting the added media object and leaving");
-            iCollection.iMyVideosMdsDb->RemoveVideo( mediaForCopyOp->ValueTObjectL<TMPXItemId>(
+            iCollection.iMyVideosMdsDb->RemoveVideo( iMediaForCopyOp->ValueTObjectL<TMPXItemId>(
                     KMPXMediaGeneralId ).iId1 );
             }
-        User::Leave( err );
         }
     
-    if ( aMove )
-        {
-        CleanupStack::PopAndDestroy( mediaForMoveOp ); // <-2
-        }
-    else
-        {
-        CleanupStack::PopAndDestroy( mediaForCopyOp ); // <-2
-        }
-    CleanupStack::PopAndDestroy( video ); // <-1
-    }    
+    delete iMediaForMoveOp;
+    iMediaForMoveOp = NULL;    
+    delete iMediaForCopyOp;
+    iMediaForCopyOp = NULL;
 
+    User::LeaveIfError( aErr );
+    
+    }
+    
 // ----------------------------------------------------------------------------
 // CVcxMyVideosAsyncFileOperations::DriveHasEnoughFreeSpaceL
 // ----------------------------------------------------------------------------
@@ -614,6 +661,8 @@
     {
     MPX_DEBUG2("CVcxMyVideosAsyncFileOperations:: source path = %S", &aSourcePath );
     
+    aTargetPath.Zero();
+    
     TChar targetDriveChar;
     User::LeaveIfError( iCollection.iFs.DriveToChar( aTargetDrive, targetDriveChar ) );    
     aTargetPath.Append( targetDriveChar );
--- a/videocollection/mpxmyvideoscollection/src/vcxmyvideosmdsdb.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideosmdsdb.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -230,16 +230,9 @@
     CMdEObject* object = iMDSSession->NewObjectLC(
             *iVideoObjectDef, aVideo.ValueText( KMPXMediaGeneralUri ) ); // 1->
 
-    // check if the file exists and use the creation time from the file
+    // Value from aVideo is taken in use in Media2ObjectL if aVideo contains creation date
+    SetCreationAndModifiedDatesL( *object ); // use current time
     
-    TTime time;
-    time.UniversalTime();
-	TTimeIntervalSeconds timeOffset = User::UTCOffset();
-	TTime localTime = time + timeOffset;
-        
-    object->AddTimePropertyL( *iCreationDatePropertyDef, localTime ); 
-	object->AddInt16PropertyL( *iTimeOffsetPropertyDef, timeOffset.Int() / 60 );
-    object->AddTimePropertyL( *iLastModifiedDatePropertyDef, localTime );
     object->AddUint8PropertyL( *iOriginPropertyDef,
             aVideo.ValueTObjectL<TUint8>( KVcxMediaMyVideosOrigin ) );
 
@@ -1056,22 +1049,9 @@
         }
 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
 
-#if 0    
+#if 1
     // 6. KMPXMediaGeneralDate ( creation date )
-    if ( aVideo.IsSupported( KMPXMediaGeneralDate ) )
-        {
-        TInt64 creationDateInt64 = 0;
-        creationDateInt64 = aVideo.ValueTObjectL<TInt64>( KMPXMediaGeneralDate );
-        TTime creationDate( creationDateInt64 );
-        if ( aObject.Property( *iCreationDatePropertyDef, property, 0 ) != KErrNotFound )
-            {
-            static_cast<CMdETimeProperty*>(property)->SetValueL( creationDate );
-            }
-        else
-            {
-            aObject.AddTimePropertyL( *iCreationDatePropertyDef, creationDate );
-            }
-        }
+    SetCreationDateToObjectL( aVideo, aObject );
 #endif
     
     // 7. KMPXMediaGeneralFlags (including DRM flag)
@@ -1397,6 +1377,37 @@
     }
 
 // ---------------------------------------------------------------------------
+// CVcxMyVideosMdsDb::SetCreationDateToObjectL
+// ---------------------------------------------------------------------------
+//
+void CVcxMyVideosMdsDb::SetCreationDateToObjectL( const CMPXMedia& aVideo, CMdEObject& aObject )
+    {
+    CMdEProperty* property;
+    
+    if ( aVideo.IsSupported( KMPXMediaGeneralDate ) )
+        {
+        TInt64 creationDateInt64 = 0;
+        creationDateInt64 = aVideo.ValueTObjectL<TInt64>( KMPXMediaGeneralDate );
+        TTime creationDate( creationDateInt64 );
+        if ( aObject.Property( *iCreationDatePropertyDef, property, 0 ) != KErrNotFound )
+            {
+            static_cast<CMdETimeProperty*>(property)->SetValueL( creationDate );
+            }
+        else
+            {
+            aObject.AddTimePropertyL( *iCreationDatePropertyDef, creationDate );
+            }
+#ifdef _DEBUG
+        TDateTime dT = creationDate.DateTime();
+        TBuf<200> buf;
+        buf.Format(_L("date from aVideo to aObject: %2d.%2d.%4d %2d:%2d:%2d"),
+                dT.Day()+1, dT.Month()+1, dT.Year(), dT.Hour(), dT.Minute(), dT.Second() ); 
+        MPX_DEBUG2("%S", &buf ); 
+#endif
+        }
+    }
+
+// ---------------------------------------------------------------------------
 // CVcxMyVideosMdsDb::GetSchemaDefinitionsL
 // ---------------------------------------------------------------------------
 //
@@ -1506,3 +1517,19 @@
             
     }
 
+// ---------------------------------------------------------------------------
+// CVcxMyVideosMdsDb::SetCreationAndModifiedDatesL
+// ---------------------------------------------------------------------------
+//
+void CVcxMyVideosMdsDb::SetCreationAndModifiedDatesL( CMdEObject& aObject )
+    {
+    TTime time;
+    time.UniversalTime();
+    TTimeIntervalSeconds timeOffset = User::UTCOffset();
+    TTime localTime = time + timeOffset;
+
+    const TInt secondsInMinute( 60 );    
+    aObject.AddTimePropertyL( *iCreationDatePropertyDef, localTime ); 
+    aObject.AddInt16PropertyL( *iTimeOffsetPropertyDef, timeOffset.Int() / secondsInMinute );
+    aObject.AddTimePropertyL( *iLastModifiedDatePropertyDef, localTime );
+    }
--- a/videofeeds/vccommon/group/bld.inf	Mon Mar 15 12:40:47 2010 +0200
+++ b/videofeeds/vccommon/group/bld.inf	Wed Mar 31 21:34:36 2010 +0300
@@ -27,22 +27,11 @@
 
 PRJ_EXPORTS
 
-../rom/IpVideoCustom.iby    CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(IpVideoCustom.iby)
-
-
 ../conf/videocenter.confml              APP_LAYER_CONFML(videocenter.confml)
 ../conf/videocenter_102750E2.crml       APP_LAYER_CRML(videocenter_102750E2.crml)
 ../conf/videocenteralr.confml           APP_LAYER_CONFML(videocenteralr.confml)
 ../conf/videocenteralr_2000B438.crml    APP_LAYER_CRML(videocenteralr_2000B438.crml)
 
-../data/services_rom.xml   /epoc32/data/z/private/102750d5/services.xml
-../data/services_sis.xml   /epoc32/data/c/private/102750d5/services.xml
-../data/services_sis.xml   /epoc32/winscw/c/private/102750d5/services.xml
-
-../data/backup_registration_eng.xml /epoc32/data/z/private/102750d5/backup_registration.xml
-../data/cenrep/backup_registration_eng.xml /epoc32/data/z/private/102750e2/backup_registration.xml
-
-// engineering english loc file export
 ../loc/ipvideo.loc            APP_LAYER_LOC_EXPORT_PATH( ipvideo.loc )
 
 PRJ_MMPFILES
--- a/videofeeds/vccommon/loc/ipvideo.loc	Mon Mar 15 12:40:47 2010 +0200
+++ b/videofeeds/vccommon/loc/ipvideo.loc	Wed Mar 31 21:34:36 2010 +0300
@@ -32,13 +32,13 @@
 //
 #define qtn_iptv_new_service_main               "Add new services"
 
-//d:Title of the Videos & TV suite in the main screen
+//d:Title of the Videos application in the main screen
 //d: Used also in general settings plugin title.
 //d: Ui Spec sec 1.4 Corrections April 2009 (p9)
 //l:title_pane_t2/opt9
-//r:5.0
+//r:5.2
 
-#define qtn_vcx_title_suite          "Videos & TV"
+#define qtn_vcx_title_suite          "Videos"
 
 //d:last is an addejective meaning the most recently watched
 //d: UI Spec sec 5 Main View(p19)
--- a/videoplayback/inc/mpxvideoplaybackdisplayhandler.h	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/inc/mpxvideoplaybackdisplayhandler.h	Wed Mar 31 21:34:36 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 
-// Version : %version: 8 %
+// Version : %version: 9 %
 
 
 #ifndef __CMPXVIDEOPLAYBACKDISPLAYHANDLER_H__
@@ -71,8 +71,9 @@
 
         TInt SetAspectRatioL( TMPXVideoPlaybackCommand aCmd );
 
-        TInt SetDefaultAspectRatioL( CMPXVideoPlaybackViewFileDetails* aFileDetails,
-                                     TReal aDisplayAspectRatio );
+        TInt SetDefaultAspectRatioL( CMPXVideoPlaybackViewFileDetails* aFileDetails );
+
+        void DoHandleRealOneBitmapTimeoutL();
 
     private:
 
--- a/videoplayback/videohelix/src/mpxvideodlmgrif.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideodlmgrif.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,6 +15,7 @@
 *
 */
 
+
 // Version : %version: 23 %
 
 
@@ -501,6 +502,7 @@
     //
     //  Notify the player and the UI view that the download is complete
     //
+    HandleCustomCommand( EMMFROPControllerSetDownloadSize, iDlTotalSize );
     HandleCustomCommand( EMMFROPControllerSetDownloadComplete, ETrue );
 }
 
--- a/videoplayback/videohelix/src/mpxvideohelixplayback.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideohelixplayback.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
  *
 */
 
-// Version : %version: 14 %
+// Version : %version: 15 %
 
 
 //
@@ -115,7 +115,14 @@
 
     TInt err = aFile.Open( iFs, aUri, EFileRead | EFileShareReadersOrWriters );
 
-    if ( err != KErrNone )
+    //
+    //  Check if RFile64 is needed
+    //
+    if ( err == KErrTooBig )
+    {
+        User::Leave( KErrTooBig );
+    }
+    else if ( err != KErrNone )
     {
         CheckForStreamingUrlL( aUri );
     }
@@ -129,7 +136,7 @@
 {
     MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitialiseL()"),
                   _L("aSong %S"), &aSong );
-    
+
     InitialiseWithPositionL( aSong );
 }
 
@@ -151,8 +158,8 @@
 
     if ( err == KErrNone )
     {
-        iVideoPlaybackCtlr->OpenFileL( aSong, fileHandle, aPosition ); 
-    }   
+        iVideoPlaybackCtlr->OpenFileL( aSong, fileHandle, aPosition );
+    }
 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
     else if ( err == KErrTooBig )
     {
@@ -171,7 +178,7 @@
         }
         else
         {
-                iVideoPlaybackCtlr->OpenFile64L( aSong, fileHandle64, aPosition ); 
+                iVideoPlaybackCtlr->OpenFile64L( aSong, fileHandle64, aPosition );
         }
 
         CleanupStack::PopAndDestroy(); // fileHandle64
@@ -193,7 +200,7 @@
 void CMPXVideoHelixPlayback::InitialiseL( RFile& aSong )
 {
     MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitialiseL( RFile )"));
-        
+
     InitialiseWithPositionL( aSong );
 }
 
@@ -205,11 +212,11 @@
 {
     MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitialiseWithPositionL( RFile )"),
                    _L("aPosition %d"), aPosition );
-    
+
     TFileName filename;
     aSong.FullName( filename );
 
-    iVideoPlaybackCtlr->OpenFileL( filename, aSong, aPosition ); 
+    iVideoPlaybackCtlr->OpenFileL( filename, aSong, aPosition );
 }
 
 
@@ -219,8 +226,8 @@
 //
 void CMPXVideoHelixPlayback::InitStreamingL( const TDesC& aUri,
                                              const TDesC8& /*aType*/,
-                                             TInt aAccessPoint, 
-                                             TInt aPosition ) 
+                                             TInt aAccessPoint,
+                                             TInt aPosition )
 {
     MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitStreamingL()"),
                    _L("aUri %S, aAccessPoint %d, aPosition %d"), &aUri, aAccessPoint, aPosition );
@@ -238,7 +245,7 @@
     }
     else
     {
-        iVideoPlaybackCtlr->OpenFileL( aUri, fileHandle, aPosition, aAccessPoint );  
+        iVideoPlaybackCtlr->OpenFileL( aUri, fileHandle, aPosition, aAccessPoint );
     }
 
     CleanupStack::PopAndDestroy();
@@ -248,7 +255,7 @@
 //    Initializes a clip for playback from a file handle
 //  ----------------------------------------------------------------------------
 //
-void CMPXVideoHelixPlayback::InitStreamingL( RFile& aFile, TInt aAccessPoint, TInt aPosition  ) 
+void CMPXVideoHelixPlayback::InitStreamingL( RFile& aFile, TInt aAccessPoint, TInt aPosition  )
 {
     MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitStreamingL( RFile )"),
                    _L("aAccessPoint = %d, aPosition = %d"), aAccessPoint, aPosition );
@@ -394,21 +401,21 @@
 //    Initializes a clip for playback from a 64-bit file handle
 //  ----------------------------------------------------------------------------
 //
-void CMPXVideoHelixPlayback::Initialise64L( RFile64& aSong, TInt aPosition ) 
+void CMPXVideoHelixPlayback::Initialise64L( RFile64& aSong, TInt aPosition )
 {
     MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::Initialise64L( RFile64 )"),
                    _L("aPosition %d"), aPosition );
     TFileName filename;
     aSong.FullName( filename );
 
-    iVideoPlaybackCtlr->OpenFile64L( filename, aSong, aPosition );   
+    iVideoPlaybackCtlr->OpenFile64L( filename, aSong, aPosition );
 }
 
 //  ----------------------------------------------------------------------------
 //    Initializes a clip for playback from a 64-bit file handle
 //  ----------------------------------------------------------------------------
 //
-void CMPXVideoHelixPlayback::InitStreaming64L( RFile64& aFile, TInt aAccessPoint, TInt aPosition ) 
+void CMPXVideoHelixPlayback::InitStreaming64L( RFile64& aFile, TInt aAccessPoint, TInt aPosition )
 {
     MPX_ENTER_EXIT(_L("CMPXVideoHelixPlayback::InitStreaming64L( RFile64 )"),
                    _L("aAccessPoint = %d, aPosition %d"), aAccessPoint, aPosition );
@@ -416,7 +423,7 @@
     TFileName filename;
     aFile.FullName( filename );
 
-    iVideoPlaybackCtlr->OpenFile64L( filename, aFile, aPosition, aAccessPoint ); 
+    iVideoPlaybackCtlr->OpenFile64L( filename, aFile, aPosition, aAccessPoint );
 }
 
 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
--- a/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
  *
 */
 
-// Version : %version: ou1cpsw#49 %
+// Version : %version: 50 %
 
 
 //
@@ -1807,8 +1807,12 @@
     {
         // TV out disconnected
         CancelDisplayTimer();
+        
         // Ensure that lights are on after this 
         ReleaseLights();
+        
+        // Pause playback since TV-Out accessory has been disconnected.
+        DoHandleCommandL( EPbCmdPause );
     }
 
     //
--- a/videoplayback/videohelix/src/mpxvideoplaybackmode.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoplaybackmode.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
  *
 */
 
-// Version : %version: 20 %
+// Version : %version: e003sa33#21 %
 
 
 
@@ -361,21 +361,23 @@
         HBufC8* tempBuf = NULL;
         TInt apMaxLen = 3;
 
-        HBufC8* accessPoint = HBufC8::NewLC( KMMFAccessPoint().Length() + apMaxLen );
-        accessPoint->Des().Format( KMMFAccessPoint, iVideoPlaybackCtlr->iAccessPointId );
+        MPX_TRAPD( err,
+                   HBufC8* accessPoint = HBufC8::NewLC( KMMFAccessPoint().Length() + apMaxLen );
+                   accessPoint->Des().Format( KMMFAccessPoint, iVideoPlaybackCtlr->iAccessPointId );
 
-        tempBuf = HBufC8::NewLC( accessPoint->Length() );
-        tempBuf->Des().Copy( accessPoint->Des() );
+                   tempBuf = HBufC8::NewLC( accessPoint->Length() );
+                   tempBuf->Des().Copy( accessPoint->Des() );
 
-        if ( tempBuf )
-        {
-            iVideoPlaybackCtlr->iPlayer->CustomCommandSync( destinationPckg,
+                   if ( tempBuf )
+                   {
+                       iVideoPlaybackCtlr->iPlayer->CustomCommandSync( destinationPckg,
                                                             EMMFROPControllerSetApplicationConfig,
                                                             tempBuf->Des(),
                                                             savePckg );
-        }
+                   }
 
-        CleanupStack::PopAndDestroy(2);   // accessPoint, tempBuf
+                   CleanupStack::PopAndDestroy(2);   // accessPoint, tempBuf 
+                );
     }
 }
 
@@ -400,7 +402,8 @@
         }
         else
         {
-            playAllowed = !( iVideoPlaybackCtlr->IsVoiceCall() && IsNetworkMode2GL() );
+            MPX_TRAPD( err,
+            		   playAllowed = !( iVideoPlaybackCtlr->IsVoiceCall() && IsNetworkMode2GL() ) );
 
             if ( !playAllowed )
             {
--- a/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 35 %
+// Version : %version: e003sa33#36 %
 
 
 //
@@ -990,7 +990,7 @@
             TInt64 pos( iVideoPlaybackCtlr->iSavedPosition );
             pos *= KPbMilliMultiplier;
             
-            iVideoPlaybackCtlr->iPlayer->SetPositionL( pos );
+            MPX_TRAPD( err, iVideoPlaybackCtlr->iPlayer->SetPositionL( pos ) );
         }
                
         MPX_DEBUG(_L("CMPXInitialisingState::HandleOpenComplete()  Sending Prepare()"));
@@ -1576,7 +1576,7 @@
     }
     else
     {
-        iVideoPlaybackCtlr->iPlayer->RefreshFrameL();
+        MPX_TRAPD( err, iVideoPlaybackCtlr->iPlayer->RefreshFrameL() );
     }
 }
 
--- a/videoplayback/videohelix/src/mpxvideoplayerutility.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoplayerutility.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 18 %
+// Version : %version: e003sa33#19 %
 
 
 #include <AudioPreference.h>
@@ -94,7 +94,7 @@
     MPX_ENTER_EXIT(_L("CMpxVideoPlayerUtility::Reset()"));
 
     Close();
-    OpenControllerL();
+    MPX_TRAPD( err, OpenControllerL() );
 }
 
 void CMpxVideoPlayerUtility::OpenControllerL()
--- a/videoplayback/videoplaybackcontrols/group/iconlist.txt	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/group/iconlist.txt	Wed Mar 31 21:34:36 2010 +0300
@@ -18,12 +18,12 @@
 -c32,8 qgn_prop_image_tb_play2
 -c32,8 qgn_prop_image_tb_pause
 -c32,8 qgn_prop_image_tb_pause_dimmed
--c32,8 qgn_prop_image_tb_next
--c32,8 qgn_prop_image_tb_next_focused
--c32,8 qgn_prop_image_tb_next_dimmed
--c32,8 qgn_prop_image_tb_prev
--c32,8 qgn_prop_image_tb_prev_focused
--c32,8 qgn_prop_image_tb_prev_dimmed
+-c32,8 qgn_prop_fusionplayer_tb_next
+-c32,8 qgn_prop_fusionplayer_tb_next_focused
+-c32,8 qgn_prop_fusionplayer_tb_next_dimmed
+-c32,8 qgn_prop_fusionplayer_tb_prev
+-c32,8 qgn_prop_fusionplayer_tb_prev_focused
+-c32,8 qgn_prop_fusionplayer_tb_prev_dimmed
 -c32,8 qgn_graf_ring_wait_01
 -c32,8 qgn_graf_ring_wait_02
 -c32,8 qgn_graf_ring_wait_03
--- a/videoplayback/videoplaybackcontrols/inc/mpxvideoplaybackvolumebar.h	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/inc/mpxvideoplaybackvolumebar.h	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 7 %
+// Version : %version: e003sa33#8 %
 
 
 
@@ -170,6 +170,8 @@
 
         CMPXVideoPlaybackControlsController* iController;
 
+        TInt iCenteredSliderbarIconX;
+
 #ifdef RD_TACTILE_FEEDBACK
         MTouchFeedback*         iFeedback;
 #endif //RD_TACTILE_FEEDBACK
--- a/videoplayback/videoplaybackcontrols/loc/mpxvideoplaybackcontrols.loc	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/loc/mpxvideoplaybackcontrols.loc	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 7 %
+// Version : %version: 8 %
 
 //
 //  LOCALISATION STRINGS
@@ -111,4 +111,11 @@
 //
 #define qtn_mpx_license_heading  "Click here for License information"
 
+//d:Command text for "Details softkey
+//d:Opens a popup for detailed information.
+//l:control_pane_t1/opt7
+//r:5.2
+//
+#define qtn_mpx_details "Details"
+
 // End of File
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbuttonbar.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbuttonbar.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 15 %
+// Version : %version: e003sa33#17 %
 
 
 
@@ -188,18 +188,18 @@
     //
     iButtons[EMPXButtonFastForward]->CreateDefaultButtonL(
             KAknsIIDQgnPropImageTbNext,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_next,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_next_mask );
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_next,
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_next_mask );
 
     iButtons[EMPXButtonFastForward]->CreateDimmedButtonL(
             KAknsIIDQgnPropImageTbNextDimmed,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_next_dimmed,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_next_dimmed_mask );
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_next_dimmed,
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_next_dimmed_mask );
 
     iButtons[EMPXButtonFastForward]->CreatePressedButtonL(
             KAknsIIDQgnPropImageTbNextFocused,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_next_focused,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_next_focused_mask );
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_next_focused,
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_next_focused_mask );
 
     //
     // Play button
@@ -227,18 +227,18 @@
     //
     iButtons[EMPXButtonRewind]->CreateDefaultButtonL(
             KAknsIIDQgnPropImageTbPrev,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_prev,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_prev_mask );
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_prev,
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_prev_mask );
 
     iButtons[EMPXButtonRewind]->CreateDimmedButtonL(
             KAknsIIDQgnPropImageTbPrevDimmed,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_prev_dimmed,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_prev_dimmed_mask );
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_prev_dimmed,
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_prev_dimmed_mask );
 
     iButtons[EMPXButtonRewind]->CreatePressedButtonL(
             KAknsIIDQgnPropImageTbPrevFocused,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_prev_focused,
-            EMbmMpxvideoplaybackcontrolsQgn_prop_image_tb_prev_focused_mask );
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_prev_focused,
+            EMbmMpxvideoplaybackcontrolsQgn_prop_fusionplayer_tb_prev_focused_mask );
 }
 
 // -------------------------------------------------------------------------------------------------
@@ -691,7 +691,7 @@
         // Abandon the ongoing seek operation
         TPointerEvent event;
         event.iType = TPointerEvent::EButton1Up;
-        HandlePointerEventL(event);
+        MPX_TRAPD( err, HandlePointerEventL(event) );
     }
 }
 
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolscontroller.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackcontrolscontroller.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 
-// Version : %version: e003sa33#30 %
+// Version : %version: e003sa33#31 %
 
 
 // INCLUDE FILES
@@ -627,15 +627,18 @@
             buttonBarRect.LayoutRect( buttonBarPaneRect.Rect(),
                                       grid_sctrl_middle_pane( 0 ).LayoutLine() );
 
+            TRect btBarRect( buttonBarRect.Rect() );
+            btBarRect.iBr.iY -= 25;
+            btBarRect.iTl.iY += 15;
             CMPXVideoPlaybackButtonBar* buttonBar =
-                CMPXVideoPlaybackButtonBar::NewL( this, buttonBarRect.Rect() );
+                CMPXVideoPlaybackButtonBar::NewL( this, btBarRect );
 
             CleanupStack::PushL( buttonBar );
 
             CMPXVideoPlaybackControl* control =
                 CMPXVideoPlaybackControl::NewL( this,
                                                 buttonBar,
-                                                buttonBarRect.Rect(),
+                                                btBarRect,
                                                 aControlIndex,
                                                 properties );
 
@@ -650,12 +653,8 @@
         case EMPXVolumeBar:
         {
             TAknLayoutRect volumeLayoutRect;
-            volumeLayoutRect.LayoutRect( iRect, popup_slider_window_cp01().LayoutLine() );
-
-            TRect temp = volumeLayoutRect.Rect();
-            TRect rect = temp;
-            rect.iTl.iY = temp.iTl.iY + temp.Height() / 10;
-            rect.iBr.iY = temp.iTl.iY + temp.Height() / 10 * 9;
+            volumeLayoutRect.LayoutRect( iRect, popup_slider_window_cp02().LayoutLine() );
+            TRect rect = volumeLayoutRect.Rect();
 
             CMPXVideoPlaybackVolumeBar* volBar = CMPXVideoPlaybackVolumeBar::NewL( this, rect );
 
@@ -1085,7 +1084,7 @@
     skRect = label->Rect();
 
     // Enlarge the button region to make it easy to be touched.
-    skRect.iTl.iY -= 6;
+    skRect.iTl.iY -= 26;
     skRect.iBr.iY += 6;
 
     CMPXVideoPlaybackControl* control = CMPXVideoPlaybackControl::NewL( this,
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackprogressbar.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackprogressbar.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 17 %
+// Version : %version: e003sa33#19 %
 
 
 // INCLUDE FILES
@@ -219,7 +219,7 @@
     //
 
     TRect progressRect = Rect();
-    TInt topMarginHeight = ( progressRect.iBr.iY - KMPXProgressBarHeight ) / 2;
+    TInt topMarginHeight = ( progressRect.iBr.iY - KMPXProgressBarHeight ) / 2 - 10;
     progressRect.iTl.iY += topMarginHeight;
     progressRect.iBr.iY = progressRect.iTl.iY + KMPXProgressBarHeight;
 
@@ -860,7 +860,7 @@
     {
         TPointerEvent event;
         event.iType = TPointerEvent::EButton1Up;
-        HandlePointerEventL(event);
+        MPX_TRAPD( err, HandlePointerEventL(event) );
     }
 }
 
--- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackvolumebar.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackvolumebar.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 16 %
+// Version : %version: e003sa33#19 %
 
 
 // INCLUDE FILES
@@ -28,6 +28,7 @@
 #include <AknsDrawUtils.h>
 #include <data_caging_path_literals.hrh>
 #include <aknlayoutscalable_avkon.cdl.h>
+#include <aknlayoutscalable_apps.cdl.h>
 #include <mpxvideoplaybackcontrols.mbg>
 
 #include "mpxcommonvideoplaybackview.hrh"
@@ -43,10 +44,12 @@
 // CONSTANTS
 const TInt KMPXSliderHeight = 30;
 const TInt KMPXSliderWidth = 18;
-const TInt KMPXVolumeBarWidth = 24;
 const TInt KMPXVolumeDragEventTimeOut = 100000;
 const TInt KMPXPtrEventRepeatRequestTime = 200000;
 
+using namespace AknLayoutScalable_Apps;
+using namespace AknLayoutScalable_Avkon;
+
 // ============================ MEMBER FUNCTIONS ===================================================
 
 CMPXVideoPlaybackVolumeBar::CMPXVideoPlaybackVolumeBar(
@@ -206,66 +209,58 @@
 {
     MPX_DEBUG(_L("CMPXVideoPlaybackVolumeBar::SetLayout()"));
 
-    //
-    // Calculate icon rects
-    //
-    iRect = TRect(0, 0, iRect.Width(), iRect.Height() );
-    TInt volumeUpDownIndicatorSize = iRect.Width() / 3;
+    TAknLayoutRect tmpLayoutRect;
+
+    iRect = TRect( 0, 0, iRect.Width(), iRect.Height() );
+
+    tmpLayoutRect.LayoutRect( iRect, bg_popup_window_pane_cp19( 9 ).LayoutLine() );
+    iVolumeControlRect = tmpLayoutRect.Rect();
+
+
+    tmpLayoutRect.LayoutRect( iRect, aid_touch_area_slider( 6 ).LayoutLine() );
+    iVolumeBarRect = tmpLayoutRect.Rect();
 
-    iVolumeControlRect = TRect( volumeUpDownIndicatorSize,
-                                iRect.iTl.iY,
-                                iRect.iBr.iX,
-                                iRect.iTl.iY + iRect.Height() * 4 / 5 );
+    tmpLayoutRect.LayoutRect( iRect, slider_pane( 6 ).LayoutLine() );
+    TRect sliderBarRect( tmpLayoutRect.Rect() );
+    TInt volumeBarEndHeight = sliderBarRect.Height() / 10;
+    iVolumeBarRectTop = TRect( sliderBarRect.iTl.iX,
+                               sliderBarRect.iTl.iY,
+                               sliderBarRect.iBr.iX,
+                               sliderBarRect.iTl.iY + volumeBarEndHeight );
 
-    iVolumeBarRect =  TRect( iVolumeControlRect.iTl.iX + iVolumeControlRect.Width() / 3,
-                             iVolumeControlRect.iTl.iY + iVolumeControlRect.Height() / 20,
-                             iVolumeControlRect.iTl.iX + iVolumeControlRect.Width() / 3 * 2,
-                             iVolumeControlRect.iTl.iY + iVolumeControlRect.Height() );
-
-    iVolumeBarRectTop = TRect( iRect.Width() / 2 - KMPXVolumeBarWidth / 2 ,
-                               iVolumeBarRect.iTl.iY,
-                               iRect.Width() / 2 + KMPXVolumeBarWidth / 2,
-                               iVolumeBarRect.iTl.iY + iVolumeBarRect.Height() / 10 );
+    iVolumeBarRectBottom = TRect( sliderBarRect.iTl.iX,
+                                  sliderBarRect.iBr.iY - volumeBarEndHeight,
+                                  sliderBarRect.iBr.iX,
+                                  sliderBarRect.iBr.iY );
 
     iVolumeBarRectMiddle = TRect( iVolumeBarRectTop.iTl.iX,
                                   iVolumeBarRectTop.iBr.iY,
                                   iVolumeBarRectTop.iBr.iX,
-                                  iVolumeBarRectTop.iBr.iY + iVolumeBarRectTop.Height() * 8 );
-
-    iVolumeBarRectBottom = TRect( iVolumeBarRectTop.iTl.iX,
-                                  iVolumeBarRectMiddle.iBr.iY,
-                                  iVolumeBarRectTop.iBr.iX,
-                                  iVolumeBarRect.iBr.iY );
+                                  iVolumeBarRectBottom.iTl.iY );
 
-    iSliderRect = TRect( iRect.Width() / 2 - KMPXSliderWidth / 2 + 3,
-                         iVolumeBarRect.iBr.iY - KMPXSliderHeight,
-                         iRect.Width() / 2 + KMPXSliderWidth / 2 + 3,
-                         iVolumeBarRect.iBr.iY );
+    TInt volumeBarMiddleX = sliderBarRect.iTl.iX + sliderBarRect.Width() / 2;
+    iSliderRect = TRect( volumeBarMiddleX - KMPXSliderWidth / 2,
+                         sliderBarRect.iBr.iY - KMPXSliderHeight,
+                         volumeBarMiddleX + KMPXSliderWidth / 2,
+                         sliderBarRect.iBr.iY );
 
-    iVolumeUpControlRect = TRect( iRect.iTl,
-                           TSize( volumeUpDownIndicatorSize,
-                                  iVolumeControlRect.Height() / 2 ) );
+    tmpLayoutRect.LayoutRect( iRect, aid_touch_area_increase( 6 ).LayoutLine() );
+    iVolumeUpControlRect = tmpLayoutRect.Rect();
 
-    iVolumeDownControlRect = TRect( TPoint ( iRect.iTl.iX, iVolumeControlRect.Height() / 2 ),
-                                    iVolumeUpControlRect.Size() );
+    tmpLayoutRect.LayoutRect( iRect, aid_touch_area_decrease( 6 ).LayoutLine() );
+    iVolumeDownControlRect = tmpLayoutRect.Rect();
 
-    iVolumeUpRect = TRect( iVolumeUpControlRect.iTl.iX + 2,
-                           iVolumeUpControlRect.iTl.iY + 8,
-                           iVolumeUpControlRect.iBr.iX + 2,
-                           iVolumeUpControlRect.iTl.iY + volumeUpDownIndicatorSize );
+    tmpLayoutRect.LayoutRect( iRect, popup_slider_window_g4( 6 ).LayoutLine() );
+    iVolumeUpRect = tmpLayoutRect.Rect();
 
-    iVolumeDownRect = TRect( iVolumeUpRect.iTl.iX,
-                             iVolumeDownControlRect.iBr.iY - volumeUpDownIndicatorSize,
-                             iVolumeUpRect.iBr.iX,
-                             iVolumeDownControlRect.iBr.iY  );
+    tmpLayoutRect.LayoutRect( iRect, popup_slider_window_g5( 6 ).LayoutLine() );
+    iVolumeDownRect = tmpLayoutRect.Rect();
 
-    iSpeakerControlRect = TRect( TPoint( iRect.iTl.iX, iVolumeControlRect.iBr.iY ),
-                                 iRect.iBr );
+    tmpLayoutRect.LayoutRect( iRect, aid_touch_area_mute( 4 ).LayoutLine() );
+    iSpeakerControlRect = tmpLayoutRect.Rect();
 
-    iSpeakerRect = TRect( iSpeakerControlRect.iTl.iX + iSpeakerControlRect.Width() / 5,
-                          iSpeakerControlRect.iTl.iY + iSpeakerControlRect.Height() / 5,
-                          iSpeakerControlRect.iBr.iX - iSpeakerControlRect.Width() / 5,
-                          iSpeakerControlRect.iBr.iY - iSpeakerControlRect.Height() / 5 );
+    tmpLayoutRect.LayoutRect( iRect, popup_slider_window_g6( 2 ).LayoutLine() );
+    iSpeakerRect = tmpLayoutRect.Rect();
 
     iOneVolumeIncrementHeight = (TReal)( iVolumeBarRect.Height() - KMPXSliderHeight )
                                 / (TReal)KPbPlaybackVolumeLevelMax;
@@ -413,7 +408,7 @@
     if ( iVolumeFrameIconTop )
     {
         AknIconUtils::SetSize( iVolumeFrameIconTop->Bitmap(),
-                               TSize( KMPXVolumeBarWidth, iVolumeBarRectTop.Height() ),
+                               TSize( iVolumeBarRectTop.Width(), iVolumeBarRectTop.Height() ),
                                EAspectRatioNotPreserved );
     }
 
@@ -429,7 +424,7 @@
     if ( iVolumeFrameIconMiddle )
     {
         AknIconUtils::SetSize( iVolumeFrameIconMiddle->Bitmap(),
-                               TSize( KMPXVolumeBarWidth, iVolumeBarRectMiddle.Height() ),
+                               TSize( iVolumeBarRectMiddle.Width(), iVolumeBarRectMiddle.Height() ),
                                EAspectRatioNotPreserved );
     }
 
@@ -445,9 +440,35 @@
     if ( iVolumeFrameIconBottom )
     {
         AknIconUtils::SetSize( iVolumeFrameIconBottom->Bitmap(),
-                               TSize( KMPXVolumeBarWidth, iVolumeBarRectBottom.Height() ),
+                               TSize( iVolumeBarRectBottom.Width(), iVolumeBarRectBottom.Height() ),
                                EAspectRatioNotPreserved );
     }
+
+    // Calculate the X coordinate to center the icon of sliderbar
+    TRect volumeBarRectPart;
+    CGulIcon* volumeFrameIconPart = NULL;
+    if ( iVolumeFrameIconTop )
+    {
+        volumeFrameIconPart = iVolumeFrameIconTop;
+        volumeBarRectPart = iVolumeBarRectTop;
+    }
+    else if ( iVolumeFrameIconMiddle )
+    {
+        volumeFrameIconPart = iVolumeFrameIconMiddle;
+        volumeBarRectPart = iVolumeBarRectMiddle;
+    }
+    else if ( iVolumeFrameIconBottom )
+    {
+        volumeFrameIconPart = iVolumeFrameIconBottom;
+        volumeBarRectPart = iVolumeBarRectBottom;
+    }
+
+    if ( volumeFrameIconPart )
+    {
+        iCenteredSliderbarIconX = volumeBarRectPart.iTl.iX +
+            ( volumeBarRectPart.Width() -
+              volumeFrameIconPart->Bitmap()->SizeInPixels().iWidth ) / 2;
+    }
 }
 
 // -------------------------------------------------------------------------------------------------
@@ -742,7 +763,7 @@
 
     if ( iDragging == EVolumeBarDragging )
     {
-        SetVolumeL( iVolumeWhileDraggingEvent );
+        MPX_TRAPD( err, SetVolumeL( iVolumeWhileDraggingEvent ) );
     }
 }
 
@@ -887,9 +908,11 @@
                          ETrue );
     }
 
+    TPoint srcPoint( iCenteredSliderbarIconX, 0 );
     if ( iVolumeFrameIconTop )
     {
-        gc.BitBltMasked( iVolumeBarRectTop.iTl,
+        srcPoint.iY = iVolumeBarRectTop.iTl.iY;
+        gc.BitBltMasked( srcPoint,
                          iVolumeFrameIconTop->Bitmap(),
                          TRect(iVolumeBarRectTop.Size()),
                          iVolumeFrameIconTop->Mask(),
@@ -898,7 +921,8 @@
 
     if ( iVolumeFrameIconMiddle )
     {
-        gc.BitBltMasked( iVolumeBarRectMiddle.iTl,
+        srcPoint.iY = iVolumeBarRectMiddle.iTl.iY;
+        gc.BitBltMasked( srcPoint,
                          iVolumeFrameIconMiddle->Bitmap(),
                          TRect(iVolumeBarRectMiddle.Size()),
                          iVolumeFrameIconMiddle->Mask(),
@@ -907,7 +931,8 @@
 
     if ( iVolumeFrameIconBottom )
     {
-        gc.BitBltMasked( iVolumeBarRectBottom.iTl,
+        srcPoint.iY = iVolumeBarRectBottom.iTl.iY;
+        gc.BitBltMasked( srcPoint,
                          iVolumeFrameIconBottom->Bitmap(),
                          TRect(iVolumeBarRectBottom.Size()),
                          iVolumeFrameIconBottom->Mask(),
--- a/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/conf/ui_videoplaybackcontrolstest.cfg	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackcontrols/tsrc/videoplaybackcontrols_test/conf/ui_videoplaybackcontrolstest.cfg	Wed Mar 31 21:34:36 2010 +0300
@@ -176,11 +176,11 @@
 pause 100
 ControlsTest ShowControls
 pause 1000
-ControlsTest PointerEvent eventtype=EButton1Down x=60 y=200
+ControlsTest PointerEvent eventtype=EButton1Down x=75 y=198
 pause 200
-ControlsTest PointerEvent eventtype=EDrag x=60 y=200
+ControlsTest PointerEvent eventtype=EDrag x=75 y=198
 pause 100
-ControlsTest PointerEvent eventtype=EButton1Up x=60 y=200
+ControlsTest PointerEvent eventtype=EButton1Up x=75 y=198
 pause 100
 ControlsTest ExpectedResult EMPXPbvCmdSetVolume 20
 pause 100 
@@ -203,17 +203,17 @@
 pause 100
 ControlsTest ShowControls
 pause 1000
-ControlsTest PointerEvent eventtype=EButton1Down x=50 y=260
+ControlsTest PointerEvent eventtype=EButton1Down x=75 y=260
 pause 100
-ControlsTest PointerEvent eventtype=EButton1Up x=50 y=260
+ControlsTest PointerEvent eventtype=EButton1Up x=75 y=260
 pause 100
 ControlsTest ExpectedResult EMPXPbvCmdMute 0
 pause 100 
 ControlsTest SetVolume 0
 pause 100
-ControlsTest PointerEvent eventtype=EButton1Down x=50 y=260
+ControlsTest PointerEvent eventtype=EButton1Down x=75 y=260
 pause 100
-ControlsTest PointerEvent eventtype=EButton1Up x=50 y=260
+ControlsTest PointerEvent eventtype=EButton1Up x=75 y=260
 pause 100
 ControlsTest ExpectedResult EMPXPbvCmdUnMute 0
 pause 100
--- a/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 
-// Version : %version: 66 %
+// Version : %version: 68 %
 
 
 //  Include Files
@@ -184,7 +184,8 @@
 //
 void CMPXVideoBasePlaybackView::CreateGeneralPlaybackCommandL( TMPXPlaybackCommand aCmd )
 {
-    MPX_DEBUG(_L("CMPXVideoBasePlaybackView::CreateGeneralPlaybackCommandL(%d)"), aCmd );
+    MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::CreateGeneralPlaybackCommandL()"),
+                   _L("aCmd = %d"), aCmd );
 
     CMPXCommand* cmd = CMPXCommand::NewL();
     CleanupStack::PushL( cmd );
@@ -363,6 +364,7 @@
         case KMpxVideoPlaybackPdlReloading:
         {
             iPdlReloading = ETrue;
+            iMediaRequested = EFalse;
             break;
         }
         case EMPXPbvCmdRealOneBitmapTimeout:
@@ -451,18 +453,6 @@
         //  Create Video Playback Display Handler
         //
         iDisplayHandler = CMPXVideoPlaybackDisplayHandler::NewL( iPlaybackUtility, iContainer );
-
-        //
-        //  Delay the adding of the display window while the Real One Bitmap is being shown
-        //
-        if ( ! iContainer->IsRealOneBitmapTimerActive() )
-        {
-            //
-            //  Setup the display window
-            //
-            iDisplayHandler->CreateDisplayWindowL( *(CCoeEnv::Static()->ScreenDevice()),
-                                                   iContainer->GetWindow() );
-        }
     }
 
     //
@@ -773,7 +763,10 @@
     }
     else if ( KMPXMediaIdVideoDisplaySyncMessage == id )
     {
-        iDisplayHandler->HandleVideoDisplaySyncMessageL( aMessage );
+        if ( iDisplayHandler )
+        {
+            iDisplayHandler->HandleVideoDisplaySyncMessageL( aMessage );
+        }
     }
 }
 
@@ -788,7 +781,7 @@
     TInt data( *aMessage->Value<TInt>( KMPXMessageGeneralData ) );
 
     MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::HandleGeneralPlaybackMessageL()"),
-                   _L("event = %d type = %d  value = %d"), event, type, data );
+                   _L("event = %d type = %d value = %d"), event, type, data );
 
     switch ( event )
     {
@@ -1001,20 +994,6 @@
 
                         iContainer->HandleCommandL( EMPXPbvCmdResetControls );
 
-                        //
-                        //  Delay the adding of the display window while the Real One Bitmap
-                        //  is being shown
-                        //
-                        if ( ! iContainer->IsRealOneBitmapTimerActive() && iDisplayHandler )
-                        {
-                            //
-                            //  Setup the display window since it was destroyed to free the surface
-                            //
-                            iDisplayHandler->CreateDisplayWindowL(
-                                                 *(CCoeEnv::Static()->ScreenDevice()),
-                                                 iContainer->GetWindow() );
-                        }
-
                         if ( iFileDetails )
                         {
                             if ( iFileDetailsDialog )
@@ -1295,12 +1274,15 @@
 
         if ( iFileDetails->iVideoEnabled )
         {
-            TRect displayRect = iContainer->Rect();
+            //
+            //  Calculate the aspect ratio and setup the display hanlder with the display window
+            //  Aspect ratio should be calculated 1st so the auto scale will be set when
+            //  the display window is created.
+            //
+            TInt newAspectRatio = iDisplayHandler->SetDefaultAspectRatioL( iFileDetails );
 
-            TReal displayAspectRatio = (TReal32)displayRect.Width() / (TReal32)displayRect.Height();
-
-            TInt newAspectRatio = iDisplayHandler->SetDefaultAspectRatioL( iFileDetails,
-                                                                           displayAspectRatio );
+            iDisplayHandler->CreateDisplayWindowL( *(CCoeEnv::Static()->ScreenDevice()),
+                                                   iContainer->GetWindow() );
 
             iContainer->HandleEventL( EMPXControlCmdSetAspectRatio, newAspectRatio );
         }
@@ -2209,11 +2191,7 @@
     {
         if ( iDisplayHandler )
         {
-            //
-            //  Setup the display window
-            //
-            iDisplayHandler->CreateDisplayWindowL( *(CCoeEnv::Static()->ScreenDevice()),
-                                                   iContainer->GetWindow() );
+            iDisplayHandler->DoHandleRealOneBitmapTimeoutL();
         }
     }
     else
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackcontainer.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackcontainer.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 
-// Version : %version: 25 %
+// Version : %version: e003sa33#26 %
 
 
 // INCLUDE FILES
@@ -652,7 +652,7 @@
 
     if ( iDelayedFileDetails )
     {
-        iControlsController->AddFileDetailsL( iDelayedFileDetails );
+        MPX_TRAPD( err, iControlsController->AddFileDetailsL( iDelayedFileDetails ) );
 
         //
         //  Delete the temp file details since plugin initialization is complete
@@ -673,7 +673,7 @@
         iRealOneBitmapTimer = NULL;
     }
 
-    iView->HandleCommandL( EMPXPbvCmdRealOneBitmapTimeout );
+    MPX_TRAPD( err, iView->HandleCommandL( EMPXPbvCmdRealOneBitmapTimeout ) );
 }
 
 // EOF
--- a/videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideoplaybackdisplayhandler.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 
-// Version : %version: 11 %
+// Version : %version: 12 %
 
 
 #include <sysutil.h>
@@ -182,29 +182,30 @@
     TMPXVideoDisplayCommand message =
         ( *(aMessage->Value<TMPXVideoDisplayCommand>(KMPXMediaVideoDisplayCommand)) );
 
-    MPX_DEBUG(
-      _L("CMPXVideoPlaybackDisplayHandler::HandleVideoDisplaySyncMessageL() message = %d"), message );
-
     switch ( message )
     {
 #ifdef SYMBIAN_BUILD_GCE
         case EPbMsgVideoSurfaceCreated:
         {
+            MPX_DEBUG(_L(" message = EPbMsgVideoSurfaceCreated"));
             SurfaceCreatedL( aMessage );
             break;
         }
         case EPbMsgVideoSurfaceChanged:
         {
+            MPX_DEBUG(_L(" message = EPbMsgVideoSurfaceChanged"));
             SurfaceChangedL( aMessage );
             break;
         }
         case EPbMsgVideoSurfaceRemoved:
         {
+            MPX_DEBUG(_L(" message = EPbMsgVideoSurfaceRemoved"));
             SurfaceRemoved();
             break;
         }
         case EPbMsgVideoRemoveDisplayWindow:
         {
+            MPX_DEBUG(_L(" message = EPbMsgVideoRemoveDisplayWindow"));
             RemoveDisplayWindow( EFalse );
             break;
         }
@@ -249,11 +250,13 @@
 // -------------------------------------------------------------------------------------------------
 //
 TInt CMPXVideoPlaybackDisplayHandler::SetDefaultAspectRatioL(
-                                          CMPXVideoPlaybackViewFileDetails* aFileDetails,
-                                          TReal aDisplayAspectRatio )
+                                          CMPXVideoPlaybackViewFileDetails* aFileDetails )
 {
     MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::SetDefaultAspectRatioL()"));
 
+    TRect displayRect = iContainer->Rect();
+    TReal displayAspectRatio = (TReal32)displayRect.Width() / (TReal32)displayRect.Height();
+
     TInt newAspectRatio = EMMFNatural;
 
     if ( aFileDetails->iVideoHeight > 0 && aFileDetails->iVideoWidth > 0 )
@@ -272,7 +275,7 @@
         for ( ; i < cnt ; i++ )
         {
             if ( iAspectRatioArray[i].videoRatio == videoAspectRatio &&
-                 iAspectRatioArray[i].screenRatio == aDisplayAspectRatio &&
+                 iAspectRatioArray[i].screenRatio == displayAspectRatio &&
                  ( scalingType = iAspectRatioArray[i].scalingType ) > 0 )
             {
                 break;
@@ -288,11 +291,11 @@
         //
         if ( i == cnt )
         {
-            if ( videoAspectRatio - aDisplayAspectRatio > 0.1 )
+            if ( videoAspectRatio - displayAspectRatio > 0.1 )
             {
                 scalingType = EMMFZoom;
             }
-            else if ( videoAspectRatio != aDisplayAspectRatio )
+            else if ( videoAspectRatio != displayAspectRatio )
             {
                 scalingType = EMMFStretch;
             }
@@ -300,7 +303,7 @@
             TMPXAspectRatio ratio;
 
             ratio.videoRatio = videoAspectRatio;
-            ratio.screenRatio = aDisplayAspectRatio;
+            ratio.screenRatio = displayAspectRatio;
             ratio.scalingType = scalingType;
 
             iAspectRatioArray.Append( ratio );
@@ -363,7 +366,9 @@
             {
                 for ( TInt i = 0 ; i < cnt ; i++ )
                 {
-                    //Save (videoRatio + screenRatio + scalingType)
+                    //
+                    //  Save (videoRatio + screenRatio + scalingType)
+                    //
                     out.WriteReal32L( iAspectRatioArray[i].videoRatio );
                     out.WriteReal32L( iAspectRatioArray[i].screenRatio );
                     out.WriteInt8L( iAspectRatioArray[i].scalingType );
@@ -463,7 +468,7 @@
     //
     //  Check if surface was created before window was ready
     //
-    if ( iSurfaceCached )
+    if ( iSurfaceCached && ! iContainer->IsRealOneBitmapTimerActive() )
     {
         iVideoDisplay->SurfaceCreated( iSurfaceId, iCropRect, iAspectRatio, iCropRect );
 
@@ -493,7 +498,11 @@
     iCropRect = aMessage->ValueTObjectL<TRect>( KMPXMediaVideoDisplayCropRect );
     iAspectRatio = aMessage->ValueTObjectL<TVideoAspectRatio>( KMPXMediaVideoDisplayAspectRatio );
 
-    if ( iVideoDisplay )
+    //
+    //  Add the surface unless the video display hasn't been created or
+    //  the Real One bitmap is being shown.
+    //
+    if ( iVideoDisplay && ! iContainer->IsRealOneBitmapTimerActive() )
     {
         //
         //  Remove old surface if one exists
@@ -516,8 +525,7 @@
     else
     {
         //
-        //  Video display has not been created yet, save surface information to create
-        //  the surface when the display is created
+        //  Save the surface information to add it when the display is ready
         //
         iSurfaceCached = ETrue;
     }
@@ -538,7 +546,11 @@
     iCropRect = aMessage->ValueTObjectL<TRect>( KMPXMediaVideoDisplayCropRect );
     iAspectRatio = aMessage->ValueTObjectL<TVideoAspectRatio>( KMPXMediaVideoDisplayAspectRatio );
 
-    if ( iVideoDisplay )
+    //
+    //  Check if the surface has been cached
+    //  If surface has been cached, exit since the surface parameters have been saved
+    //
+    if ( ! iSurfaceCached && iVideoDisplay )
     {
         //
         //  Add new surface
@@ -615,4 +627,29 @@
 
 #endif
 
+// -------------------------------------------------------------------------------------------------
+//   CMPXVideoPlaybackDisplayHandler::DoHandleRealOneBitmapTimeoutL()
+// -------------------------------------------------------------------------------------------------
+//
+void CMPXVideoPlaybackDisplayHandler::DoHandleRealOneBitmapTimeoutL()
+{
+    MPX_ENTER_EXIT(_L("CMPXVideoPlaybackDisplayHandler::DoHandleRealOneBitmapTimeoutL()"));
+
+    //
+    //  Check if surface was created before window was ready
+    //
+    if ( iSurfaceCached && iVideoDisplay )
+    {
+        iVideoDisplay->SurfaceCreated( iSurfaceId, iCropRect, iAspectRatio, iCropRect );
+
+        if ( iContainer )
+        {
+            iContainer->HandleCommandL( EMPXPbvSurfaceCreated );
+        }
+
+        iSurfaceCached = EFalse;
+    }
+}
+
+
 // End of File
--- a/videoplayer_plat/videoplayer_startup_api/tsrc/inc/VCXTestSmClient.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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 the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:  STIF testclass declaration*
-*/
-
-
-#ifndef VCXTESTSMCLIENT_H_
-#define VCXTESTSMCLIENT_H_
-
-//  INCLUDES
-#include <e32base.h>
-#include "MIptvServiceManagementClientObserver.h"
-
-// CONSTANTS
-
-// DATA TYPES
-
-// FORWARD DECLARATIONS
-class CIptvServiceManagementClient;
-
-// CLASS DECLARATION
-
-NONSHARABLE_CLASS(CVCXTestSmClient) : public CBase, public MIptvServiceManagementClientObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CVCXTestSmClient* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CVCXTestSmClient();
-
-    private: // New functions
-
-        /**
-        * C++ default constructor.
-        */
-        CVCXTestSmClient();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    public: // New functions
-        
-        void GetServiceIdL( TUint32& aServiceId, const TDesC& aName );
-        void GetAnyServiceIdL( TUint32& aServiceId );
-        
-    public: // Functions from base classes
-        
-        virtual void AddServiceResp(TRespStatus aRespStatus);
-        virtual void UpdateServiceResp(TRespStatus aRespStatus);
-        virtual void DeleteServiceResp(TRespStatus aRespStatus);
-        virtual void GetServicesResp(TRespStatus aRespStatus, CDesC8ArraySeg* aServicesArray);
-        virtual void GetUsedIapResp(TUint32 aIapId,
-                const TDesC& aIapName,
-                CIptvNetworkSelection::TConnectionPermission aConnectionPermission,
-                TBool   aWlanWhenGPRS,
-                CIptvNetworkSelection::TRespStatus aRespStatus
-                );
-        virtual void ServerShutdownResp(TRespStatus aRespStatus);
-        virtual void HandleSmEvent(CIptvSmEvent& aEvent);
-
-    private: // Data
-        CIptvServiceManagementClient* iIptvServiceManagementClient;
-    };
-
-#endif /*VCXTESTSMCLIENT_H_*/
-
-
--- a/videoplayer_plat/videoplayer_startup_api/tsrc/src/VCXTestSmClient.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +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 the License "Eclipse Public License v1.0"
-* which accompanies 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 file contains testclass implementation.*
-*/
-
-
-// [INCLUDE FILES]
-
-#include "VCXTestSmClient.h"
-#include "CIptvService.h"
-#include "CIptvServiceManagementClient.h"
-#include "VCXTestLog.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::NewL
-// ----------------------------------------------------------------------------
-//
-CVCXTestSmClient* CVCXTestSmClient::NewL()
-    {
-    CVCXTestSmClient* self = new ( ELeave ) CVCXTestSmClient();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::~CVCXTestSmClient
-// ----------------------------------------------------------------------------
-//
-CVCXTestSmClient::~CVCXTestSmClient()
-    {
-    delete iIptvServiceManagementClient;
-    iIptvServiceManagementClient = NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::CVCXTestSmClient
-// ----------------------------------------------------------------------------
-//
-CVCXTestSmClient::CVCXTestSmClient()
-    {
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::CVCXTestSmClient
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::ConstructL()
-    {
-    iIptvServiceManagementClient = CIptvServiceManagementClient::NewL( *this );
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::CVCXTestSmClient
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::GetServiceIdL( TUint32& aServiceId, const TDesC& aName )
-    {
-    CDesC8ArraySeg* servicesArray( NULL );
-    MIptvServiceManagementClientObserver::TRespStatus resp;
-    TInt ret( KErrNone );
-    
-    TRAPD( err, ret = iIptvServiceManagementClient->GetServicesL( 
-            0, CIptvServiceManagementClient::EDateAscending, servicesArray, resp ) );
-
-    CleanupStack::PushL( servicesArray );
-    
-    VCXLOGLO4("CVCXTestSmClient:: GetServicesL err: %d, ret: %d, resp: %d", err, ret, resp );
-    
-    err = ( err != KErrNone ) ? err : ret;
-    err = ( err == KErrNone && resp != MIptvServiceManagementClientObserver::ESucceeded ) ? KErrGeneral : KErrNone;
-    
-    if( err == KErrNone )
-        {
-        err = KErrNotFound;
-        CIptvService* iptvService;
-        for(TInt i = 0; i < servicesArray->MdcaCount(); i++)
-            {
-            iptvService = CIptvService::NewL();
-            CleanupStack::PushL( iptvService );
-            iptvService->SetL( servicesArray->MdcaPoint(i) );
-            VCXLOGLO3("CVCXTestSmClient:: service id: %d, name: %S", iptvService->GetId(), &(iptvService->GetName()) );
-            
-            if( iptvService->GetName().CompareF( aName ) == KErrNone )
-                {
-                aServiceId = iptvService->GetId();
-                CleanupStack::PopAndDestroy( iptvService );
-                iptvService = NULL;
-                err = KErrNone;
-                break;
-                }
-            
-            CleanupStack::PopAndDestroy( iptvService );
-            iptvService = NULL;
-            }
-        }
-    CleanupStack::PopAndDestroy( servicesArray );
-    
-    User::LeaveIfError( err );
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::CVCXTestSmClient
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::GetAnyServiceIdL( TUint32& aServiceId )
-    {
-    CDesC8ArraySeg* servicesArray( NULL );
-    MIptvServiceManagementClientObserver::TRespStatus resp;
-    TInt ret( KErrNone );
-    
-    TRAPD( err, ret = iIptvServiceManagementClient->GetServicesL( 
-            0, CIptvServiceManagementClient::EDateAscending, servicesArray, resp ) );
-
-    CleanupStack::PushL( servicesArray );
-    
-    VCXLOGLO4("CVCXTestSmClient:: GetServicesL err: %d, ret: %d, resp: %d", err, ret, resp );
-    
-    err = ( err != KErrNone ) ? err : ret;
-    err = ( err == KErrNone && resp != MIptvServiceManagementClientObserver::ESucceeded ) ? KErrGeneral : KErrNone;
-    
-    TBool found( EFalse );
-    
-    if( err == KErrNone )
-        {
-        for( TInt i=0; i<servicesArray->MdcaCount(); i++ )
-            {
-            CIptvService* iptvService = CIptvService::NewL();
-            CleanupStack::PushL( iptvService );
-            iptvService->SetL( servicesArray->MdcaPoint( i ) );
-            if( iptvService->GetType() == CIptvService::EVod || iptvService->GetType() == CIptvService::EVodCast )
-                {
-                aServiceId = iptvService->GetId();
-                VCXLOGLO3("CVCXTestSmClient:: service id: %d, name: %S", iptvService->GetId(), &(iptvService->GetName()) );
-                found = ETrue;
-                }
-            CleanupStack::PopAndDestroy( iptvService );
-            }
-        }
-    CleanupStack::PopAndDestroy( servicesArray );
-
-    if( !found )
-        {
-        err = KErrNotFound;
-        }
-    
-    User::LeaveIfError( err );
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::NewL
-// ------------------AddServiceResp---------------------------------------------------------
-//
-void CVCXTestSmClient::AddServiceResp(TRespStatus /*aRespStatus*/)
-    {
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::UpdateServiceResp
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::UpdateServiceResp(TRespStatus /*aRespStatus*/)
-    {
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::DeleteServiceResp
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::DeleteServiceResp(TRespStatus /*aRespStatus*/)
-    {
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::GetServicesResp
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::GetServicesResp(TRespStatus /*aRespStatus*/, CDesC8ArraySeg* /*aServicesArray*/)
-    {
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::GetUsedIapResp
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::GetUsedIapResp(TUint32 /*aIapId*/,
-        const TDesC& /*aIapName*/,
-        CIptvNetworkSelection::TConnectionPermission /*aConnectionPermission*/,
-        TBool   /*aWlanWhenGPRS*/,
-        CIptvNetworkSelection::TRespStatus /*aRespStatus*/
-        )
-    {
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::ServerShutdownResp
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::ServerShutdownResp(TRespStatus /*aRespStatus*/)
-    {
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CVCXTestSmClient::HandleSmEvent
-// ----------------------------------------------------------------------------
-//
-void CVCXTestSmClient::HandleSmEvent(CIptvSmEvent& /*aEvent*/)
-    {
-    
-    }
--- a/videoplayerapp/mpxvideoplayer/data/mpxvideoplayer.rss	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/data/mpxvideoplayer.rss	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 8 %
+// Version : %version: 9 %
 
 //  RESOURCE IDENTIFIER
 NAME    FUSN // 4 letter ID
@@ -88,14 +88,3 @@
         };
     }
 
-// -----------------------------------------------------------------------------
-//   
-// r_mpxvideoplayer_title
-// Default title text 
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_mpxvideoplayer_title
-    { 
-    buf = qtn_mpxvideoplayer_title;
-    }
--- a/videoplayerapp/mpxvideoplayer/loc/mpxvideoplayer.loc	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/loc/mpxvideoplayer.loc	Wed Mar 31 21:34:36 2010 +0300
@@ -15,18 +15,18 @@
 *
 */
 
-// Version : %version: da1mmcf#8 %
+// Version : %version: 9 %
 
 // APPLICATION TITLES
 //
 
 //d:Application title for the grid view
 //d: Title of the icon in grid view for the user to start the application
-//d: This string will be shown in the task switcher when Videos & Tv is running.
+//d: This string will be shown in the task switcher when Videos is running.
 //d: Translation should be identical with qtn_vcx_title_suite
 //l:cell_app_pane_t1
 //r:5.2
-#define qtn_mpxvideoplayer_short_caption        "Videos & TV"
+#define qtn_mpxvideoplayer_short_caption        "Videos"
 
 //d:Application title for the list view
 //d: Title of the icon in list view for the user to start the application.
@@ -34,16 +34,6 @@
 //d: The translation for this string should be equal to qtn_vcx_title_suite
 //l:list_single_large_graphic_pane_t1
 //r:5.2
-#define qtn_mpxvideoplayer_caption              "Videos & TV"
-
-// VIEW TITLES
-//
-
-//d:Text in the title pane
-//d:This text is shown when the application is starting up.
-//d:The translation should be identical to qtn_vcx_title_suite
-//l:title_pane_t2/opt9
-//r:5.2
-#define qtn_mpxvideoplayer_title                "Videos & TV"
+#define qtn_mpxvideoplayer_caption              "Videos"
 
 // End of File
--- a/videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappuiengine.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/src/mpxvideoplayerappuiengine.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: e92_68 %
+// Version : %version: e92_69 %
 
 
 #include <eikon.hrh>
@@ -942,7 +942,7 @@
     //
     //  If we are embedded or the command is to open a document
     //
-    if ( iAppUi->IsEmbedded() || aCommand != EApaCommandRun )
+    if ( iAppUi->IsEmbedded() || ( aCommand != EApaCommandRun && aDocumentName.Length() > 0 ) )
     {
         if ( iRecognizer->IsValidStreamingPrefix( aDocumentName ) )
         {
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/group/mpxvideoplayertest.mmp	Mon Mar 15 12:40:47 2010 +0200
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/group/mpxvideoplayertest.mmp	Wed Mar 31 21:34:36 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 10 %
+// Version : %version: ou1cpsw#11 %
 
 
 #include <platform_paths.hrh>
@@ -44,6 +44,7 @@
 SOURCE          mpxvideoplayerappui_stub.cpp
 SOURCE          mpxcollectionutility_stub.cpp
 SOURCE          mpxcollectionutilityimp_stub.cpp
+SOURCE          mpxcollectionuihelper_stub.cpp
 SOURCE          stifutilities.cpp
 SOURCE          coneutils_stub.cpp
 SOURCE          timeoutcontroller.cpp
@@ -77,7 +78,6 @@
 LIBRARY         ecom.lib
 LIBRARY         estor.lib
 LIBRARY         videoplaylistutility.lib
-LIBRARY         mpxcollectionhelper.lib
 LIBRARY         mpxcollectionutility.lib
 LIBRARY	        bafl.lib
 
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/inc/mpsettingsmodelimp_stub.h	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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:  Settings model stub for STIF testing
-*
-*/
-
-// Version : %version: ou1cpsw#2 %
-
-#ifndef MPSETTINGSMODELIMP_STUB_H_
-#define MPSETTINGSMODELIMP_STUB_H_
-
-#include <MPSettingsModel.h>
-
-NONSHARABLE_CLASS( CMPSettingsModelImp ) : public CMPSettingsModel
-{
-    public:
-
-        CMPSettingsModelImp();
-        ~CMPSettingsModelImp();
-
-        virtual void LoadSettingsL(TInt aConfigVersion);
-        virtual void StoreSettingsL();
-        virtual TInt SetVideoContrast(TInt aContrast);
-        virtual TInt GetVideoContrast(TInt& aContrast);
-        virtual TInt SetProxyMode(TInt aMode);
-        virtual TInt GetProxyMode(TInt& aMode);
-        virtual TInt SetProxyHostNameL(const TDesC& aHostName);
-        virtual TInt GetProxyHostName(TDes& aHostName);
-        virtual TInt SetProxyPort(TInt aPort);
-        virtual TInt GetProxyPort(TInt& aPort);
-        virtual TInt SetDefaultAp(TUint32 aApId);
-        virtual TInt GetDefaultAp(TUint32& aApId);
-        virtual TInt SetBandwidthControlMode(TInt aMode);
-        virtual TInt GetBandwidthControlMode(TInt& aMode);
-        virtual TInt SetMaxBandwidth(TInt aMaxBw, TDataBearer aBearer);
-        virtual TInt GetMaxBandwidth(TInt& aMaxBw, TDataBearer aBearer);
-        virtual TInt SetConnectionTimeout(TInt aTimeout);
-        virtual TInt GetConnectionTimeout(TInt& aTimeout);
-        virtual TInt SetServerTimeout(TInt aTimeout);
-        virtual TInt GetServerTimeout(TInt& aTimeout);
-        virtual TInt SetMinUDPPort(TInt aPort);
-        virtual TInt GetMinUDPPort(TInt& aPort);
-        virtual TInt SetMaxUDPPort(TInt aPort);
-        virtual TInt GetMaxUDPPort(TInt& aPort);
-        virtual TInt GetControllerVersionInfo(TDes& aVersion);
-        virtual TInt GetControllerBuildDate(TDes& aBldDate);
-        virtual TInt GetControllerAdditionalInfo(TDes& aAdditionalInfo);
-        virtual TInt SetDemandBwFactor(TInt aFactor);
-        virtual TInt GetDemandBwFactor(TInt& aFactor);
-        virtual TInt SetSustainBandwidth(TInt aSustainBw, TDataBearer aBearer);
-        virtual TInt GetSustainBandwidth(TInt& aSustainBw, TDataBearer aBearer);
-        virtual TInt GetSustainBwPresetsL(RArray<TInt>& aBwArray, TDataBearer aBearer);
-        virtual TInt GetMaxBwPresetsL(RArray<TInt>& aBwArray, TDataBearer aBearer);
-        virtual TBool IsVideoRepeatOnL();
-        virtual void SetVideoRepeatL(const TBool aRepeat);
-        virtual TBool IsDefaultViewOnL();
-        virtual void SetDefaultViewL(const TBool aView);
-        virtual TBool IsRockerKeysSupportedL();
-        virtual void SetRockerKeysL(const TBool aRockerKeys);
-        virtual TBool ShowRockerKeysL();
-        virtual void SetAutoDisconTimeL(const TInt aTime);
-        virtual TInt AutoDisconTimeL();
-};
-
-#endif /*MPSETTINGSMODELIMP_STUB_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/inc/mpxcollectionuihelperimp_stub.h	Wed Mar 31 21:34:36 2010 +0300
@@ -0,0 +1,856 @@
+/*
+* 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:  Collection Ui helper implementation
+*
+*/
+
+
+#ifndef CMPX_COLLECTION_UI_HELPER_H
+#define CMPX_COLLECTION_UI_HELPER_H
+
+#include <mpxcollectionobserver.h>
+#include <mpxcollectionpath.h>
+#include <mpxtaskqueueobserver.h>
+#include <mpxcollectionuihelperobserver.h>
+#include "mpxcollectionuihelper.h"
+#include "mpxmediatorobserver.h"
+#include "mpxmoveobserver.h"
+#include "mpxharvesterutilityobserver.h"
+
+// FOWARD DECLARATION
+class MMPXCollectionUtility;
+class CMPXCollectionMediator;
+class MMPXHarvesterUtility;
+class CMPXMedia;
+class TMPXCollectionMessage;
+class CMPXActiveTaskQueue;
+class CMPXDeleteHelper;
+
+/**
+ *  CMPXCollectionUiHelper
+ *
+ *  Implementation of the collection ui helper interface
+ *  for system specific changes
+ *
+ *  @lib collectionhelper.lib
+ *  @since S60 3.0
+ */
+NONSHARABLE_CLASS( CMPXCollectionUiHelperImp ): public CBase,
+                                          public MMPXCollectionUiHelper,
+                                          public MMPXMediatorObserver,
+                                          public MMPXHarvesterUtilityObserver,
+                                          public MMPXCollectionObserver,
+                                          public MMPXTaskQueueObserver,
+                                          public MMPXMoveItemObserver,
+                                          public MMPXCHelperObserver
+
+    {
+public:
+
+    /**
+    * Standard 2-phased constructor
+    * @param aModeId collection mode id. see mpxcollectionutility.h
+    *        for details.
+    * @return new instance of the collection ui helper
+    */
+    static CMPXCollectionUiHelperImp* NewL(const TUid& aModeId);
+
+    /**
+    * Virtual Destructor
+    */
+    virtual ~CMPXCollectionUiHelperImp();
+
+protected:
+
+    /**
+    * From MMPXCollectionUiHelper
+    *
+    * This is an async call to create a playlist or add songs to
+    * a saved playlist. In the case of creating a new playlist,
+    * no physical playlist files will be created. This type of
+    * playlists is referred to as virtual playlists. In the case
+    * of adding songs to a saved playlist, if the playlist
+    * corresponds to a playlist file, the playlist file is NOT
+    * updated.
+    *
+    * Upon completion of this request, HandleAddCompletedL is called.
+    *
+    * To add a playlist to the collection, the media provided MUST
+    * contain the following attributes:
+    *    KMPXMediaGeneralType:
+    *       must be EMPXItem
+    *
+    *    KMPXMediaGeneralCategory:
+    *       must be EMPXPlaylist
+    *
+    *    KMPXMediaGeneralUri:
+    *       This is the path where the playlist should be located.
+    *       e.g. c:\data\playlists\ or e:\playlists\. When the playlist
+    *       is successfully added to the collection, its URI will be
+    *       generated. If client is interested its URI, client can
+    *       perform a search based on the returned Id of the playlist.
+    *       Currently only supporting local path, i.e. the path provided
+    *       must contain starts with a drive letter.
+    *
+    *    KMPXMediaGeneralTitle:
+    *       Title of the playlist is NOT enforced be unique within the
+    *       music collection.
+    *
+    *    KMPXMediaArrayCount:
+    *    KMPXMediaArrayContents:
+    *       This playlist can be an empty playlist. If this is the case,
+    *       KMPXMediaArrayContents will be a CMPXMediaArray that doesn't
+    *       contain any media and KMPXMediaArrayCount will be 0.
+    *
+    *       Each CMPXMedia contained in the media array represents
+    *       a song. Each song must contain the following attributes:
+    *           KMPXMediaGeneralType:
+    *               must be EMPXItem
+    *
+    *           KMPXMediaGeneralCategory:
+    *               must be EMPXSong
+    *
+    *       For songs that already exist in the collection, client
+    *       must provide either KMPXMediaGeneralId or KMPXMediaGeneralUri.
+    *
+    *       For songs that do not exist in the collection, client must
+    *       provide KMPXMediaGeneralUri and its metadata. These songs
+    *       will be added to the music collection when the playlist is
+    *       added. These songs added to the collection are NOT registered
+    *       with Harvester; hence, during next scan/refresh, these songs
+    *       will be scanned and updated in the collection unnecessarily
+    *       and cause scan/refresh performance degradation. If any
+    *       metadata of these songs is changed in the collection before
+    *       next scan/refresh, it will be lost after scan/refresh.
+    *
+    *       WARNING:
+    *       Client must add the songs to the collection prior to adding
+    *       the playlist.
+    *
+    *    WARNING:
+    *    This playlist is NOT registered with Harvester. If client
+    *    creates a physical playlist file, Harvester will re-parse
+    *    and update the playlist in the collection during the next
+    *    scan/refresh unnecessarily and cause scan/refresh performance
+    *    degradation. If this playlist is edited, the physical
+    *    playlist file is NOT updated to reflect the changes.
+    *
+    *    If the playlist is successfully added to the collection,
+    *    the media returned in the callback will contain the Id
+    *    of the playlist.
+    *
+    * To add songs to a saved playlist, the media provided MUST
+    * contain the following attributes:
+    *    KMPXMediaGeneralType:
+    *       must be EMPXItem
+    *
+    *    KMPXMediaGeneralCategory:
+    *       must be EMPXPlaylist
+    *
+    *    This playlist must already exist in the collection, client
+    *    must provide either KMPXMediaGeneralId or KMPXMediaGeneralUri
+    *    for locating which playlist to add the songs to.
+    *
+    *    KMPXMediaArrayCount:
+    *       indicates the number of songs to be added to the playlist
+    *
+    *    KMPXMediaArrayContents:
+    *       This contains an array of songs to be added/appended
+    *       to the playlist. Each media in the array represents
+    *       a song. Each song must contain the following attributes:
+    *           KMPXMediaGeneralType:
+    *               must be EMPXItem
+    *
+    *           KMPXMediaGeneralCategory:
+    *               must be EMPXSong
+    *
+    *       These songs must already exist in the collection. Client
+    *       must provide either KMPXMediaGeneralId or KMPXMediaGeneralUri.
+    *
+    * This method will leave with KErrArgument if any mandatory
+    * is missing.
+    *
+    * @param aMedia, a media to be added to the system
+    * @param aObserver, an observer for callback when
+    *        operation is compelte. Leaves with KErrArgument if
+    *        observer provided is NULL. The Id of playlist will
+    *        be accessible via the KMPXMediaGeneralId of the media
+    *        returned in the callback.
+    *
+    */
+    void AddL( const CMPXMedia& ,
+               MMPXCHelperObserver*  ){};
+   
+    
+    /**
+    * From MMPXCollectionUiHelper    
+    *
+    * This is exactly the same as AddL except that songs in aMedia
+    * is added incrementally (in chunks).
+    * It should accept the same input and the same output as if AddL
+    * is used.
+    * @param aMedia, a media to be added to the system
+    * @param aObserver, an observer for callback when
+    *        operation is compelte. Leaves with KErrArgument if
+    *        observer provided is NULL. The Id of playlist will
+    *        be accessible via the KMPXMediaGeneralId of the media
+    *        returned in the callback.
+    * @param aSize, the number of songs to be added in each chunk
+    */
+    void IncAddL( const CMPXMedia& ,
+                  MMPXCHelperObserver* ,
+                  const TInt  ){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    *
+    * Asynchronously updates a media in the collection. For performance
+    * consideration, it is recommended that client only sets the attribute
+    * that needs to be updated.
+    *
+    * @param aMedia, media to be updated.
+    *
+    *        To update a song in the collection, the media provided MUST
+    *        contain the following attributes:
+    *           KMPXMediaGeneralType:
+    *               must be EMPXItem
+    *
+    *           KMPXMediaGeneralCategory:
+    *               must be EMPXSong
+    *
+    *           KMPXMediaGeneralId or KMPXMediaGeneralUri:
+    *               for identifying which song to update
+    *
+    *        Additionally, this media should provide one or more of the
+    *        following attributes for update:
+    *               KMPXMediaGeneralTitle
+    *               KMPXMediaGeneralComment
+    *               KMPXMediaGeneralSynchronized
+    *               KMPXMediaGeneralDeleted
+    *               KMPXMediaGeneralModified
+    *               KMPXMediaGeneralCopyright
+    *               KMPXMediaGeneralDuration
+    *               KMPXMediaGeneralFlags
+    *               KMPXMediaGeneralPlayCount
+    *               KMPXMediaGeneralLastPlaybackTime
+    *           KMPXMediaIdMusic:
+    *               KMPXMediaMusicArtist
+    *               KMPXMediaMusicAlbum
+    *               KMPXMediaMusicAlbumTrack
+    *               KMPXMediaMusicGenre
+    *               KMPXMediaMusicComposer
+    *               KMPXMediaMusicYear
+    *               KMPXMediaMusicRating
+    *               KMPXMediaMusicAlbumArtFileName
+    *               KMPXMediaMusicURL
+    *           KMPXMediaIdAudio:
+    *               KMPXMediaAudioSamplerate
+    *               KMPXMediaAudioBitrate
+    *               KMPXMediaAudioNumberOfChannels
+    *           KMPXMediaIdDrm:
+    *               KMPXMediaDrmType
+    *           KMPXMediaIdMTP:
+    *               KMPXMediaMTPDrmStatus
+    *
+    *        To update a playlist in the collection, the media provided MUST
+    *        contain the following attributes:
+    *           KMPXMediaGeneralType:
+    *               must be EMPXItem
+    *
+    *           KMPXMediaGeneralCategory:
+    *               must be EMPXPlaylist
+    *
+    *           KMPXMediaGeneralId or KMPXMediaGeneralUri:
+    *               for identifying which playlist to update
+    *
+    *        If the media contains KMPXMediaArrayContents attribute, the
+    *        content of the playlist will be overwritten with the new media
+    *        array. If this attribute contains a CMPXMediaArray of 0 element,
+    *        all songs in this playlist will be removed from the playlist
+    *        (songs will remain in the collection and file system).
+    *        e.g.
+    *        1) "Playlist" originally contains "Song1", "Song2", and "Song3".
+    *           If KMPXMediaArrayContents contains a CMPXMediaArray that
+    *           contains "Song3" and "Song4", "Playlist" will be updated to
+    *           contain "Song3" and "Song4".
+    *        2) "Playlist" originally contains "Song1", "Song2", and "Song3".
+    *           If KMPXMediaArrayContents contains a CMPXMediaArray that
+    *           contains 0 element, "Playlist" will be updated so that it
+    *           doesn't contain any songs. "Song1", "Song2", and "Song3"
+    *           will remain in the collection.
+    *
+    *       If the media contains any of the following attributes, the
+    *       playlist will be updated accordingly:
+    *               KMPXMediaGeneralTitle
+    *               KMPXMediaGeneralSynchronized
+    *               KMPXMediaGeneralDeleted (DEPRECATED)
+    *               KMPXMediaGeneralModified (DEPRECATED)
+    *
+    *       NOTE: If a client wishes to change the playlist title and modify
+    *             its contents (i.e. the songs it includes), client needs to
+    *             perform two separate SetL operations; one to update the
+    *             playlist title providing KMPXMediaGeneralTitle attribute
+    *             and the other to update its contents by providing
+    *             KMPXMediaArrayContents.
+    *
+    * @param aObserver, an observer for callback when operation is complete.
+    *        KErrArgument if NULL.
+    */
+    void SetL( CMPXMedia*& ,
+               MMPXCHelperObserver*  ){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    *
+    * Asynchronously updates a list of medias in the collection. This is
+    * NOT currently implemented.
+    *
+    * @param aMediaArray, list of medias
+    * @param aPath, collection path
+    * @param aIndices, array of indicies to collection path
+    */
+    void SetL( TArray<CMPXMedia*>& ,
+               CMPXCollectionPath& ,
+               RArray<TInt>& ){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    *
+    * Asynchronously renames a media. This method will be DEPRECATED as client
+    * can use SetL to update the title of a song or a playlist.
+    *
+    * @param aMedia media to be renamed
+    *
+    *        Currently only supporting renaming of a playlist. This media
+    *        MUST contain the following attributes:
+    *           KMPXMediaGeneralType:
+    *               must be EMPXItem
+    *
+    *           KMPXMediaGeneralCategory:
+    *               must be EMPXPlaylist
+    *
+    *           KMPXMediaGeneralId:
+    *               for identifying which playlist to rename
+    *
+    *           KMPXMediaGeneralTitle:
+    *               new title of the playlist
+    *
+    *        This method will leave with KErrArgument if any mandatory is
+    *        missing. URI of the playlist remains unchanged when its title
+    *        is changed.
+    *
+    * @param aObserver an observer for callback when operation is complete.
+    *        KErrArgument if NULL.
+    */
+    void RenameL( const CMPXMedia& ,
+                  MMPXCHelperObserver*  ){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    *
+    * Asynchronously deletes a media or medias based on the collection path.
+    * If this collection path refers to multiple medias, the referred medias
+    * are deleted one by one. If the media correlates to a file in the file
+    * system, the correlating file is deleted from the file system. If the
+    * file is in use, operation will proceed to the next media and upon
+    * operation completion, KErrInUse is returned via callback.
+    * If the file has already been deleted from the file system, operation
+    * will also proceed to the next media as normal.
+    *
+    * This operation is cancelable via Cancel(),
+    *
+    * @param aPath collection path to the media to be removed
+    * @param aObserver an observer for callback when operation is complete.
+    *        KErrArgument if NULL.
+    */
+    void DeleteL( CMPXCollectionPath& ,
+                  MMPXCHelperObserver*  ){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    *
+    * Move an item from one collection to another
+    *
+    * @param aMedia media to be moved.
+    * @param aNewCollection uid of the collection defined in collectionplugins.hrh
+    * @param aObserver observer for the event. if aObs is NULL, sync, not NULL async.
+    */
+    void MoveL( CMPXMedia*& ,
+                TUid ,
+                MMPXCHelperObserver* = NULL ){};  //lint !e1735
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Open the collection in embedded mode with a Media Object
+    * @param aHostId Host Process UID to identify this embedded instance
+    * @param aMedia Media Object to open
+    * @param aObserver observer to handle errors
+    * @param aPluginInfo additional argument to pass to the plugin resolver
+    */
+    void OpenL( const TUid& aHostId, CMPXMedia& aMedia,
+                MMPXCHelperEmbeddedOpenObserver* aObserver,
+                TInt aPluginInfo = 0 );  //lint !e1735
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Open the collection in embedded mode with a File Handle
+    * @param aHostId Host Process UID to identify this embedded instance
+    * @param aFile File handle that we have to process
+    * @param aObserver observer to handle errors
+
+    */
+    void OpenL( const TUid& , const TDesC& ,
+                MMPXCHelperEmbeddedOpenObserver* ,
+                TInt  = 0 ){};  //lint !e1735
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Open the collection in embedded mode with a File Handle
+    * @param aFile File handle that we have to process
+    * @param aObserver, observer to the open operation
+    */
+    void OpenL( RFile& , MMPXCHelperEmbeddedOpenObserver*  ){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Queries about the playlist file extension of the currently selected playlist
+    * plugin
+    * @return file extension of the playlist type which includes the period
+    */
+    HBufC* PlaylistFileExtensionLC(){return (HBufC*)NULL;};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Export the specified playlist to a file
+    * @param aPlaylistId, id of the playlist to be exported
+    * @param aDestinationDriveAndPath, specifies where the playlist file should
+    *        be created. If the file already exists, it will be overwritten.
+    * @param aObs observer for the callback. URI of the exported playlist
+    *        will be returned as a HBufC* which client takes over the
+    *        ownership
+    */
+    void ExportPlaylistL(TMPXItemId ,
+                         const TDesC& ,
+                         MMPXCHelperObserver* ){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Reorder a song in the playlist
+    * @param aPlaylistId id of the playlist which contains the song to be reordered
+    * @param aSongId id of the song to be reordered
+    * @param aOriginalOrdinal the original ordinal of the song within the playlist.
+    *        Ordinal starts from 0.
+    * @param aNewOrdinal the new ordinal of the song within the playlist. Ordinal
+    *        starts from 0.
+    * @param aObs observer for the callback
+    */
+    void ReorderPlaylistL(const TMPXItemId& ,
+                          const TMPXItemId& ,
+                          TUint ,
+                          TUint ,
+                          MMPXCHelperObserver* ){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Gets the collection path to the main music menu
+    * Call OpenL() with this path to open music menu
+    * @return CMPXCollectionPath*, ownership transferred
+    */
+    CMPXCollectionPath* MusicMenuPathL(){return (CMPXCollectionPath* )NULL;};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Gets the collection path to the podcast menu
+    * Call OpenL() with this path to open podcast menu
+    * @return CMPXCollectionPath*, ownership transferred
+    */
+    CMPXCollectionPath* PodCastMenuPathL(){return (CMPXCollectionPath* )NULL;};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Gets the collection path to the main all songs view
+    * Call OpenL() with this path to open music all songs view
+    * @return CMPXCollectionPath*, ownership transferred
+    */
+    CMPXCollectionPath* MusicAllSongsPathL(){return (CMPXCollectionPath* )NULL;};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Gets the collection path to the music playlist
+    * Call OpenL() with this path to open music playlist menu
+    * @return CMPXCollectionPath*, ownership transferred
+    */
+    CMPXCollectionPath* MusicPlaylistPathL(){return (CMPXCollectionPath* )NULL;};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Gets the collection path to the music playlist
+    * Call OpenL() with this path to open music playlist menu
+    * @param aPlaylistType type of auto playlist
+    * @return CMPXCollectionPath*, ownership transferred
+    */
+    CMPXCollectionPath* MusicPlaylistPathL(TMPXAutoPlaylistType ){return (CMPXCollectionPath* )NULL;};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Creates a default playlist path to open. Hardcoded to Music Collection / All songs
+    * @return CollectionPath*, ownership transferred.
+    */
+    CMPXCollectionPath* CreateDefaultPlaylistPathLC(){return (CMPXCollectionPath* )NULL;};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Cancels current async request
+    * NOTE: Currently only Cancelling DeleteL() is supported
+    */
+    void Cancel(){};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Frees this object
+    */
+    void Close();
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Test if the specified title exists in the specified category
+    * @param aCategory specifies the category for testing
+    * @param aTitle specifies the title for testing
+    * @return ETrue if the specified title exists in the specified
+    *         category; otherwise, EFalse
+    */
+    TBool TitleExistsL( TMPXGeneralCategory , 
+                        const TDesC& , TMPXGeneralType aType = EMPXItem ){return EFalse;};
+
+    /**
+    * From MMPXCollectionUiHelper
+    * Returns the file name used for virtual playlist handling
+    * @return the file name to be used to externalize collection path for the playlist
+    *         that needs to be handled. ownership transfered
+    */
+    HBufC* ExternalCollectionPathHandlingFileNameLC(){return (HBufC*) NULL;};
+
+private: // from base class
+
+    /**
+    * From MMPXMediatorObserver
+    * @param aMedia, properties of the object
+    * @param aOldPath, old collection path
+    */
+    void HandleMediatorPathUpdatedL( CMPXMedia*& ,
+                                     TUid    ){};
+
+    /**
+    * From MMPXHarvesterUtilityObserver
+    * Handles completion of playlist export
+    * @param aMedia, media that has been exported to a playlist file
+    * @param aErr, error encountered during playlist export
+    */
+    void HandlePlaylistExportCompletedL( CMPXMedia* , TInt  ){};
+
+    /**
+    * From MMPXHarvesterUtilityObserver
+    * Handles completion of playlist import
+    * @param aMedia, media imported from a playlist file.
+    * @param aErr, error encountered during playlist import
+    */
+    void HandlePlaylistImportCompletedL( CMPXMedia* , TInt  ){};
+
+    /**
+    * From MMPXHarvesterUtilityObserver
+    * Handle asynchronous file addition by file name
+    * @param aMedia, media added to the system
+    * @param aErr, error encountered during AddL operation
+    */
+    void HandleFileAddCompletedL( CMPXMedia* , TInt  ){};
+
+    /**
+    * From MMPXHarvesterUtilityObserver
+    * Handle asynchronous file addition by file name
+    * @param aMedia, media imported from file
+    * @param aErr, error encountered during the operation
+    */
+    void HandleFileImportCompletedL( CMPXMedia* , TInt   ){};
+
+    /**
+    * From MMPXHarvesterUtilityObserver
+    * Handle file delete completion
+    * @param aErr, error encountered during delete operation
+    */
+    void HandleDeleteCompletedL( TInt  ){};
+
+    /**
+    * From MMPXHarvesterUtilityObserver
+    * Handle media retrieving completion
+    * @param aErr, error encountered during delete operation
+    */
+    void HandleFileGetMediaCompletedL( CMPXMedia* , TInt   ){};
+
+    /**
+    * From MMPXCollectionMediaObserver
+    *  Handle extended media properties
+    *
+    *  @param aMedia media
+    *  @param aError error code
+    */
+    void HandleCollectionMediaL(const CMPXMedia& ,
+                                TInt ){};
+
+    /**
+    * From MMPXCollectionObserver
+    *  Handle collection message
+    *  @param aMessage collection message
+    *  @param aErr error
+    */
+    void HandleCollectionMessage(CMPXMessage* , TInt ){};
+
+    /**
+    * From MMPXCollectionObserver
+    *  Handles the collection entries being opened. Typically called
+    *  when client has Open()'d a folder
+    *
+    *  @param aEntries collection entries opened
+    *  @param aIndex focused entry
+    *  @param aComplete ETrue no more entries. EFalse more entries
+    *                   expected
+    *  @param aError error code
+    */
+    void HandleOpenL(const CMPXMedia& ,
+                     TInt ,TBool ,TInt ){};
+
+    /**
+    * From MMPXCollectionObserver
+    *  Handles the item being opened. Typically called
+    *  when client has Open()'d an item. Client typically responds by
+    *  'playing' the item via the playlist
+    *
+    *  @param aPlaylist collection playlist
+    *  @param aError error code
+    */
+    void HandleOpenL(const CMPXCollectionPlaylist& ,TInt ){};
+
+    /**
+    * From MMPXCollectionObserver
+    *  Handles completion of a asynchronous command.
+    *
+    *  @param aCommandResult result of the command, NULL if error
+    *  @param aError error code    
+    */
+    virtual void HandleCommandComplete(CMPXCommand* , 
+                                       TInt ){};
+
+    /**
+    * From MMPXMoveItemObserver
+    * @param aErr, error for the operation
+    */
+    void HandleMoveCompleteL( TInt  ){};
+
+    /**
+    * From MMPXCHelperObserver
+    *  Handle callback for delete operation
+    *  @param aOperation operation type that is completed
+    *  @param aErr error code for the operation
+    *  @param aArgument a pointer to any data to retun
+    */
+    void HandleOperationCompleteL( TCHelperOperation ,
+                                   TInt ,
+                                   void*  ){};
+
+    /**
+    * From MMPXTaskQueueObserver
+    * Execute a task
+    * @param aTask task number
+    * @param aParamData, parameter
+    * @param aPtrData, any object
+    * @param aBuf, buffer containing externalized parameters for the task.
+    * @param aCallback call back function pointer
+    * @param aCObject1 object 1 owned by task queue
+    * @param aCObject2 object 2 owned by task queue
+    */
+    void ExecuteTask(TInt ,
+                     TInt ,
+                     TAny* ,
+                     const CBufBase& ,
+                     TAny* ,
+                     CBase* ,
+                     CBase* ){};
+
+    /**
+    * @see MMPXTaskQueueObserver
+    */
+    void HandleTaskError(
+        TInt ,
+        TAny* ,
+        TAny* ,
+        TInt ){};
+
+private:
+
+    /**
+    * Constructor
+    */
+    CMPXCollectionUiHelperImp();
+
+    /**
+    * 2nd-phase constructor
+    *  @param aModeId collection mode id
+    */
+    void ConstructL(const TUid& ){};
+
+   /**
+    * Execute a task
+    * @param aTask task number
+    * @param aBuf, externalized parameters for the task
+    * @param aCallback, callback for the task
+    */
+    void ExecuteTaskL(TInt , const CBufBase& , TAny* ){};
+
+    /**
+    * Completes the current task
+    *
+    * @param aTask task number
+    * @param aError error code
+    */
+    void CompleteTask(TInt , TInt ){};
+
+    /**
+    * Notify client of the task results
+    *
+    * @param aTask task number
+    * @param aError error code
+    */
+    void NotifyClientL(TInt , TInt ){};
+
+    /**
+    * Cleanup before processing the next task
+    */
+    void Cleanup(){};
+
+    /**
+    * Performs AddL task from the task queue
+    */
+    void DoAddL(){};
+             
+    /**
+    * Performs IncAddMedialL task from the task queue
+    */
+    void DoIncAddMediaL(){};
+    
+    /**
+    * Performs IncAppendMedialL task from the task queue
+    */
+    void DoIncAppendMediaL(){};
+    
+    /**
+    * Performs SetL task from the task queue
+    */
+    void DoSetL(){};
+
+    /**
+    * Performs RenameL task from the task queue
+    */
+    void DoRenameL(){};
+
+    /**
+    * Export the specified playlist to a file
+    * @param aPlaylistId, id of the playlist to be exported
+    * @param aDestinationDriveAndPath, specifies where the playlist file should
+    *        be created. If the file already exists, it will be overwritten.
+    */
+    void DoExportPlaylistL(TMPXItemId ,
+                           const TDesC& ){};
+
+    /**
+    * Reorder a song in the playlist
+    * @param aCommand command to reorder a song in the playlist
+    */
+    void DoReorderPlaylistL(CMPXCommand& ){};
+
+    /**
+    * Fill in details for the playlist itself for playlist export
+    * @param aMedia, a playlist media whose information is to be
+    *        filled.
+    */
+    void FillInPlaylistDetailsL(CMPXMedia& ){};
+
+    /**
+    * Handles completion of playlist export
+    * @param aMedia, media that has been exported to a playlist file
+    * @param aErr, error encountered during playlist export
+    */
+    void DoHandlePlaylistExportCompletedL( CMPXMedia* , TInt  ){};
+
+    /**
+    *  Looks for collection Id from the given URI through its extension.
+    *  This method is able to determine the collection Id without the media
+    *  being in the harvester's database.
+    *  @param aUri URI of a media
+    *  @return collection Id. KErrNotFound if unable to find a collection
+    *          that supports the type of extension
+    */
+    TInt FindCollectionIdL(const TDesC& ){return 0;};
+
+
+private:
+
+    // tasks
+    enum TMPXCollectionUiHelperTask
+        {
+        ETaskNone,
+        ETaskAddMedia,
+        ETaskAppendMedia,
+        ETaskSetMedia,
+        ETaskRemoveMedia,
+        ETaskRenameMedia,
+        ETaskExportPlaylist,
+        ETaskReorderPlaylist,
+        ETaskIncAddMedia,
+        ETaskIncAppendMedia,
+        ETaskIncFinish
+        };
+
+private: // data
+
+    MMPXCollectionUtility*              iCollection;
+    CMPXCollectionMediator*             iMediator;
+    MMPXHarvesterUtility*               iHarvester;
+    CMPXActiveTaskQueue*                iTaskQueue;
+    TInt                                iTask;
+
+    CMPXDeleteHelper*                   iDeleteHelper;
+
+    // parameters for async commands
+    CMPXMedia*                          iMedia;
+    
+    // parameters used for incremental adding of songs
+    CMPXMedia*                          iInputMedia;
+    TInt                                iRemainder;
+    TInt                                iTotalChunkNumber;
+    TInt                                iChunkNumber;  // used as ID of current chunk
+    TInt                                iChunkSize;
+    TInt                                iArrayIndex;
+
+    
+    MMPXCHelperEmbeddedOpenObserver*    iOpenObserver; // not owned, transient
+
+    MMPXCHelperObserver*                iHelperObserver;  // not owned, transient
+    // Embedded Mode handling
+    TUid                                iEmbeddedModeID;
+    TInt                                iEmbeddedPluginInfo;
+    TBool                               iInitialized;  // collection db merging
+    TBool                               iIncAdding;  // Incremental adding guard
+    TInt 								iRefCount;
+    };
+
+#endif // CMPX_COLLECTION_UI_HELPER_H
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/apstubs.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,527 +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:  Stubs for Access Point selection for STIF testing
-*
-*/
-
-
-// Version : %version: ou1cpsw#2 %
-
-
-#include <commsdattypesv1_1.h>
-#include <metadatabase.h>
-#include <cmmanagerext.h>
-#include <elements/metacontainer.h>
-#include <cmpluginwlandef.h>
-#include <f32file.h>
-#include "mpxvideo_debug.h"
-
-static TBool wlanAccessPoint = EFalse;
-
-RCmConnectionMethodExt::RCmConnectionMethodExt()
-{
-}
-
-RCmConnectionMethodExt::~RCmConnectionMethodExt()
-{
-}
-
-TUint32 RCmConnectionMethodExt::GetIntAttributeL( TUint32 /*aAttribute*/ ) const
-{
-    MPX_DEBUG(_L("RCmConnectionMethodExt::GetIntAttributeL(%d)"), wlanAccessPoint);
-
-    TUint32 bearer( 0 );
-
-    if ( wlanAccessPoint )
-    {
-        bearer = KUidWlanBearerType;
-    }
-
-    return bearer;
-}
-
-void
-RCmManagerExt::OpenL()
-{
-}
-
-void
-RCmManagerExt::Close()
-{
-}
-
-
-RCmConnectionMethodExt
-RCmManagerExt::ConnectionMethodL( TUint32 aConnectionMethodId )
-{
-    MPX_DEBUG(_L("RCmManagerExt::ConnectionMethodL(%d)"), aConnectionMethodId);
-
-    RCmConnectionMethodExt connMethod;
-
-    if ( aConnectionMethodId == 5 || aConnectionMethodId == 6 )
-    {
-        //
-        //  WLan Access Points
-        //
-        wlanAccessPoint = ETrue;
-    }
-
-    return connMethod;
-}
-
-CBase::CBase( CBase const & /*a*/ )
-{
-}
-
-namespace CommsDat
-{
-
-using namespace Meta;
-
-
-static const SRecordTypeInfo bearerRecord = { 0, 0, ENoAttrs, KCDNull };
-
-const SRecordTypeInfo* const CCDWAPIPBearerRecord::iRecordInfo = &bearerRecord;
-
-
-CMDBTextFieldBase::CMDBTextFieldBase()
-{
-}
-
-CMDBTextFieldBase::~CMDBTextFieldBase()
-{
-}
-
-TVersion
-CMDBSession::LatestVersion()
-{
-    return TVersion( 1, 1, 1 );
-}
-
-CMDBSession::CMDBSession()
-{
-}
-
-CMDBSession::~CMDBSession()
-{
-}
-
-CMDBSession* 
-CMDBSession::NewL( TVersion /*aRequiredVersion*/ )
-{
-    CMDBSession* self = new( ELeave ) CMDBSession();
-
-    return self;
-}
-
-CCDRecordBase::CCDRecordBase( TMDBElementId /*aElementId*/ )
-{
-}
-
-CCDWAPIPBearerRecord::CCDWAPIPBearerRecord( TMDBElementId aElementId )
-    : CCDRecordBase( aElementId )
-{
-}
-
-TBool
-MMetaDatabase::FindL( CMDBSession& /*aSession*/ )
-{
-    CCDWAPIPBearerRecord* br = static_cast<CCDWAPIPBearerRecord*>(this);
-    br->iWAPIAP = br->iWAPAccessPointId;
-
-    return ETrue;
-}
-
-CMDBRecordBase* 
-CCDRecordBase::RecordFactoryL( TMDBElementId /*aInput*/ )
-{
-    TMDBElementId elementId(0);
-
-    CCDWAPIPBearerRecord* recordBase = new( ELeave ) CCDWAPIPBearerRecord( elementId );
-
-    return recordBase;
-}
-
-CMDBNumFieldBase::CMDBNumFieldBase()
-{
-}
-
-CMDBRecordLinkBase::CMDBRecordLinkBase()
-{
-}
-
-MMetaDatabase::MMetaDatabase()
-{
-}
-
-MMetaDatabase::~MMetaDatabase()
-{
-}
-
-CMDBElement::CMDBElement()
-{
-}
-
-CMDBElement::~CMDBElement()
-{
-}
-
-CMDBRecordLinkBase::~CMDBRecordLinkBase()
-{
-}
-
-CMDBElement* 
-CMDBRecordBase::GetFieldByIdL( TMDBElementId /*aId*/ )
-{
-    CMDBNumFieldBase* element = new( ELeave ) CMDBNumFieldBase();
-    return element;
-}
-
-CMDBElement* 
-CommsDat::CMDBRecordBase::GetFieldByNameL( const TPtrC& /*aFieldName*/, TInt& /*aValType*/ )
-{
-    CMDBNumFieldBase* element = new( ELeave ) CMDBNumFieldBase();
-    return element;
-}
-
-SVDataTableEntry const * 
-CCDWAPIPBearerRecord::GetVDataTable() const
-{
-    SVDataTableEntry* entry = NULL;
-
-    return entry;
-}
-
-TUint8* 
-CCDWAPIPBearerRecord::GetAttribPtr( const TInt /*aOffset*/ ) const
-{
-    TUint8* ptr = new( ELeave ) TUint8();
-    return ptr;
-}
-
-SVDataTableEntry const * 
-CMDBNumFieldBase::GetVDataTable() const
-{
-    SVDataTableEntry* entry = NULL;
-
-    return entry;
-}
-
-TUint8* 
-CMDBNumFieldBase::GetAttribPtr( const TInt /*aOffset*/ ) const
-{
-    TUint8* ptr = new( ELeave ) TUint8();
-    return ptr;
-}
-
-SVDataTableEntry const * 
-CMDBRecordLinkBase::GetVDataTable() const
-{
-    SVDataTableEntry* entry = NULL;
-
-    return entry;
-}
-
-TUint8* 
-CMDBRecordLinkBase::GetAttribPtr( const TInt /*aOffset*/ ) const
-{
-    TUint8* ptr = new( ELeave ) TUint8();
-    return ptr;
-}
-
-CMDBRecordLinkBase& 
-CMDBRecordLinkBase::operator=( const TMDBElementId aValue ) 
-{
-    iValue = (TAny*)aValue;
-    
-    // iElementId |= (KCDChangedFlag | KCDNotNullFlag);
-            
-    return *this;
-}
-
-CMDBRecordLinkBase::operator TMDBElementId()
-{ 
-    return (TMDBElementId&)iValue; 
-}
-
-SVDataTableEntry const * 
-CCDRecordBase::GetVDataTable() const
-{
-    SVDataTableEntry* entry = NULL;
-
-    return entry;
-}
-
-TUint8* 
-CCDRecordBase::GetAttribPtr( const TInt /*aOffset*/ ) const
-{
-    TUint8* ptr = new( ELeave ) TUint8();
-    return ptr;
-}
-
-const SRecordTypeInfo* 
-CMDBRecordBase::GetRecordInfo()
-{
-    SRecordTypeInfo* typeInfo = NULL;
-    return typeInfo;
-}
-
-SVDataTableEntry const * 
-CMDBTextFieldBase::GetVDataTable() const
-{
-    SVDataTableEntry* entry = NULL;
-
-    return entry;
-}
-
-TUint8* 
-CMDBTextFieldBase::GetAttribPtr( const TInt /*aOffset*/ ) const
-{
-    TUint8* ptr = new( ELeave ) TUint8();
-    return ptr;
-}
-
-SVDataTableEntry const * 
-CMDBElement::GetVDataTable() const
-{
-    SVDataTableEntry* entry = NULL;
-
-    return entry;
-}
-
-TUint8* 
-CMDBElement::GetAttribPtr( const TInt /*aOffset*/ ) const
-{
-    TUint8* ptr = new( ELeave ) TUint8();
-    return ptr;
-}
-
-}  // namespace CommsDat
-
-
-namespace Meta
-{
-
-SMetaData::SMetaData()
-{
-}
-
-SMetaData::~SMetaData()
-{
-}
-
-SMetaDataECom::SMetaDataECom()
-{
-}
-
-SMetaDataECom::~SMetaDataECom()
-{
-}
-
-SMetaDataECom* 
-SMetaDataECom::LoadL( TPtrC8& /*aDes*/ )
-{
-    SMetaDataECom* data = NULL;
-    return data;
-}
-
-RMetaDataContainerBase::RMetaDataContainerBase()
-{
-}
-
-} // namespace Meta
-
-
-#include <es_sock.h>
-
-_LIT( KQueryAccessPointFilename, "c:\\queryApId.txt" );
-
-TInt
-ReadApIdFromFile()
-{
-    RFs fs;
-    RFile file;
-
-    TInt err = fs.Connect();
-
-    err = file.Open( fs, KQueryAccessPointFilename, EFileRead | EFileShareAny );
-
-    TInt apId(0);
-
-    HBufC8* fBuf = HBufC8::NewL( 16 );
-    TPtr8 fileBuf = fBuf->Des();
-
-    file.Read( fileBuf, 16 );
-
-    TLex8 number( fileBuf );
-    number.Val( apId );
-
-    file.Close();
-    fs.Close();
-
-    return apId;
-}
-
-void
-WriteApIdToFile( TInt aNewValue )
-{
-    RFile file;
-
-    RFs fs;
-    User::LeaveIfError( fs.Connect() );
-
-    TBuf8<16> tgt;
-    tgt.Num( aNewValue );
-
-    file.Replace( fs, KQueryAccessPointFilename, EFileWrite );
-
-    file.Write( tgt );
-
-    file.Close();
-    fs.Close();
-}
-
-TInt
-RConnection::Open( RSocketServ& /*aSocketServer*/, TUint /*aConnectionType*/ )
-{
-    return KErrNone;
-}
-    
-TInt
-RConnection::Start( TConnPref& /*aPref*/ )
-{
-    TInt retVal = KErrNone;
-
-    TInt apId = ReadApIdFromFile();
-
-    if ( apId == 0 )
-    {
-        WriteApIdToFile( KErrCancel );
-        retVal = KErrNotFound;
-    }
-    else if ( apId == 8 )
-    {
-        WriteApIdToFile( 9 );
-        retVal = KErrNotFound;
-    }
-    else if ( apId == KErrCancel )
-    {
-        retVal = KErrCancel;
-    }
-
-    MPX_DEBUG( _L("RConnection::Start(%d)"), retVal );
-
-    return retVal;
-}
-    
-void
-RConnection::Close()
-{
-}
-
-RConnection::RConnection()
-    : iNewISPId(0)
-{
-}
-
-RConnection::~RConnection()
-{
-}
-
-TInt 
-RConnection::GetIntSetting( const TDesC& /*aSettingName*/, TUint32& aValue )
-{
-    MPX_ENTER_EXIT(_L("RConnection::GetIntSetting()"));
-
-    TInt apId = ReadApIdFromFile();
-
-    MPX_DEBUG( _L("RConnection::GetIntSetting(%d)"), apId );
-
-    aValue = apId;
-
-    return KErrNone;
-}
-
-
-#include <connpref.h>
-
-TConnPref::TConnPref()
-{
-}
-
-TConnPrefList::TConnPrefList()
-{
-}
-
-TConnPrefList::~TConnPrefList()
-{
-}
-
-void 
-TConnPrefList::AppendL( SMetaDataECom* /*aFamily*/ )
-{
-}
-
-
-
-#include <extendedconnpref.h>
-
-TExtendedConnPref::TExtendedConnPref()
-{
-}
-
-void 
-TExtendedConnPref::SetSnapPurpose( CMManager::TSnapPurpose /*aSnapPurpose*/ )
-{
-}
-
-void 
-TExtendedConnPref::SetNoteBehaviour( TUint32 /*aNoteBehaviour*/ )
-{
-}
-
-void 
-TExtendedConnPref::SetConnSelectionDialog( TBool /*aConnSelectionDialog*/ )
-{
-}
-
-TUint8* 
-TExtendedConnPref::GetAttribPtr( const TInt /*aOffset*/ ) const
-{
-    TUint8* ptr = new( ELeave ) TUint8();
-    return ptr;
-}
-
-SVDataTableEntry const * 
-TExtendedConnPref::GetVDataTable() const
-{
-    SVDataTableEntry* entry = NULL;
-
-    return entry;
-}
-
-
-
-RSocketServ::RSocketServ()
-{
-}
-
-TInt
-RSocketServ::Connect( TUint /*aMessageSlots*/ )
-{
-    return KErrNone;
-}
-
-
-// EOF
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/commsdatabase_stub.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:  comms database stub for STIF testing
-*
-*/
-
-// Version : %version: ou1cpsw#3 %
-
-
-#include <commdb.h>
-
-#include "mpxvideo_debug.h"
-
-CCommsDatabase*
-CCommsDatabase::NewL( TCommDbDatabaseType /*aDbType*/ )
-{
-    MPX_ENTER_EXIT(_L("CCommsDatabase::NewL()"));
-
-    CCommsDatabase* self = new (ELeave) CCommsDatabase();
-    return self;
-}
-
-
-CCommsDatabaseBase::CCommsDatabaseBase()
-{
-}
-
-CCommsDatabaseBase::~CCommsDatabaseBase()
-{
-}
-
-CCommsDatabase::CCommsDatabase()
-{
-    MPX_ENTER_EXIT(_L("CCommsDatabase::CCommsDatabase()"));
-}
-
-CCommsDatabase::~CCommsDatabase()
-{
-    MPX_ENTER_EXIT(_L("CCommsDatabase::~CCommsDatabase()"));
-}
-
-void CCommsDatabase::CreateDatabaseL()
-{
-}
--- a/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/mpsettingsmodelimp_stub.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,280 +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:  Settings model stub for STIF testing
-*
-*/
-
-// Version : %version: ou1cpsw#4 %
-
-
-#include "mpsettingsmodelimp_stub.h"
-#include "mpxvideo_debug.h"
-
-
-CMPSettingsModel* CMPSettingsModel::NewL( TUid /*aUid*/ )
-{
-    MPX_ENTER_EXIT(_L("CMPSettingsModel::NewL()"));
-
-    CMPSettingsModel* self = new (ELeave) CMPSettingsModelImp();
-    return self;
-}
-
-CMPSettingsModel::~CMPSettingsModel()
-{
-    MPX_ENTER_EXIT(_L("CMPSettingsModel::~CMPSettingsModel()"));
-}
-
-CMPSettingsModelImp::CMPSettingsModelImp()
-{
-    MPX_ENTER_EXIT(_L("CMPSettingsModelImp::CMPSettingsModelImp()"));
-}
-
-CMPSettingsModelImp::~CMPSettingsModelImp()
-{
-    MPX_ENTER_EXIT(_L("CMPSettingsModelImp::~CMPSettingsModelImp()"));
-}
-
-void CMPSettingsModelImp::LoadSettingsL( TInt /*aConfigVersion*/ )
-{
-    MPX_ENTER_EXIT(_L("CMPSettingsModelImp::LoadSettingsL()"));
-}
-
-TInt CMPSettingsModelImp::GetDefaultAp( TUint32& aApId )
-{
-    MPX_ENTER_EXIT(_L("CMPSettingsModelImp::GetDefaultAp()"));
-
-    _LIT( KDefaultAccessPointFilename, "c:\\defaultApId.txt" );
-
-    RFs fs;
-    RFile file;
-
-    TInt err = fs.Connect();
-
-    err = file.Open( fs, KDefaultAccessPointFilename, EFileRead | EFileShareAny );
-
-    TInt apId;
-
-    HBufC8* fBuf = HBufC8::NewL( 16 );
-    TPtr8 fileBuf = fBuf->Des();
-
-    file.Read( fileBuf, 16 );
-
-    TLex8 number( fileBuf );
-    number.Val( apId );
-
-    file.Close();
-    fs.Close();
-
-    aApId = apId;
-
-    MPX_DEBUG(_L("CMPSettingsModelImp::GetDefaultAp(%d)"), aApId);
-
-    return KErrNone;
-}
-
-void CMPSettingsModelImp::StoreSettingsL()
-{
-}
-
-TInt CMPSettingsModelImp::SetVideoContrast( TInt /*aContrast*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetVideoContrast( TInt& /*aContrast*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetProxyMode( TInt /*aMode*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetProxyMode( TInt& /*aMode*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetProxyHostNameL( const TDesC& /*aHostName*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetProxyHostName( TDes& /*aHostName*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetProxyPort( TInt /*aPort*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetProxyPort( TInt& /*aPort*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetDefaultAp( TUint32 /*aApId*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetBandwidthControlMode( TInt /*aMode*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetBandwidthControlMode( TInt& /*aMode*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetMaxBandwidth( TInt /*aMaxBw*/, TDataBearer /*aBearer*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetMaxBandwidth( TInt& /*aMaxBw*/, TDataBearer /*aBearer*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetConnectionTimeout( TInt /*aTimeout*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetConnectionTimeout( TInt& /*aTimeout*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetServerTimeout( TInt /*aTimeout*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetServerTimeout( TInt& /*aTimeout*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetMinUDPPort( TInt /*aPort*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetMinUDPPort( TInt& /*aPort*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetMaxUDPPort( TInt /*aPort*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetMaxUDPPort( TInt& /*aPort*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetControllerVersionInfo( TDes& /*aVersion*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetControllerBuildDate( TDes& /*aBldDate*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetControllerAdditionalInfo( TDes& /*aAdditionalInfo*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetDemandBwFactor( TInt /*aFactor*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetDemandBwFactor( TInt& /*aFactor*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::SetSustainBandwidth( TInt /*aSustainBw*/, TDataBearer /*aBearer*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetSustainBandwidth( TInt& /*aSustainBw*/, TDataBearer /*aBearer*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetSustainBwPresetsL( RArray<TInt>& /*aBwArray*/, TDataBearer /*aBearer*/ )
-{
-    return KErrNone;
-}
-
-TInt CMPSettingsModelImp::GetMaxBwPresetsL( RArray<TInt>& /*aBwArray*/, TDataBearer /*aBearer*/ )
-{
-    return KErrNone;
-}
-
-TBool CMPSettingsModelImp::IsVideoRepeatOnL()
-{
-    return EFalse;
-}
-
-void CMPSettingsModelImp::SetVideoRepeatL( const TBool /*aRepeat*/ )
-{
-}
-
-TBool CMPSettingsModelImp::IsDefaultViewOnL()
-{
-    return EFalse;
-}
-
-void CMPSettingsModelImp::SetDefaultViewL( const TBool /*aView*/ )
-{
-}
-
-TBool CMPSettingsModelImp::IsRockerKeysSupportedL()
-{
-    return EFalse;
-}
-
-void CMPSettingsModelImp::SetRockerKeysL( const TBool /*aRockerKeys*/ )
-{
-}
-
-TBool CMPSettingsModelImp::ShowRockerKeysL()
-{
-    return EFalse;
-}
-
-void CMPSettingsModelImp::SetAutoDisconTimeL( const TInt /*aTime*/ )
-{
-}
-
-TInt CMPSettingsModelImp::AutoDisconTimeL()
-{
-    return KErrNone;
-}
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoplayerapp/mpxvideoplayer/tsrc/ut_mpxvideoplayertest/src/mpxcollectionuihelper_stub.cpp	Wed Mar 31 21:34:36 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Test stub class
+*
+*/
+
+#include <e32base.h>
+#include <s32file.h>
+#include <mpxmedia.h>
+#include <mpxcollectionplaylist.h>
+#include <mpxmediaarray.h>
+#include <mpxmediageneraldefs.h>
+#include <mpxmediacontainerdefs.h>
+#include <mpxuser.h>
+#include <mpxcmn.h>
+#include <mpxcollectionutility.h>
+#include <mpxcollectiontype.h>
+#include <mpxcollectionmediator.h>
+#include <mpxplaylistenginedefs.h>
+#include <mpxlog.h>
+#include <mpxcollectionmessage.h>
+#include <mpxtaskqueue.h>
+#include <mpxcollectionplugin.hrh>
+#include <mpxharvesterutility.h>
+#include <mpxcommandgeneraldefs.h>
+#include <mpxcollectioncommanddefs.h>
+#include <UsbWatcherInternalPSKeys.h>
+#include <usbpersonalityids.h>
+#include <mpxcollectionhelperfactory.h>
+
+#include "mpxcollectionuihelperimp_stub.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Factory method to create the collection ui helper
+// ---------------------------------------------------------------------------
+// 
+MMPXCollectionUiHelper* CMPXCollectionHelperFactory::NewCollectionUiHelperL(const TUid& aModeId)
+    {
+    return CMPXCollectionUiHelperImp::NewL(aModeId);
+    }
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Private Constructor
+// ---------------------------------------------------------------------------
+//
+CMPXCollectionUiHelperImp::CMPXCollectionUiHelperImp()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Two-Phased Constructor
+// ---------------------------------------------------------------------------
+//
+CMPXCollectionUiHelperImp* CMPXCollectionUiHelperImp::NewL( const TUid& )
+    {
+    return new( ELeave ) CMPXCollectionUiHelperImp();
+    }
+
+// ---------------------------------------------------------------------------
+// Virtual Destructor
+// ---------------------------------------------------------------------------
+//
+CMPXCollectionUiHelperImp::~CMPXCollectionUiHelperImp()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Open the collection in embedded mode for a media
+// Cannot cleanup aObs because UPnP is using this.
+// ---------------------------------------------------------------------------
+//
+void CMPXCollectionUiHelperImp::OpenL( const TUid& , CMPXMedia& ,
+                                       MMPXCHelperEmbeddedOpenObserver* ,
+                                       TInt )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Frees this object
+// ---------------------------------------------------------------------------
+//
+void CMPXCollectionUiHelperImp::Close()
+    {
+    }
--- a/videoplayerapp/videoplayerlauncher/data/videoplayerlauncher.rss	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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:    Resource definitions for video player launcher
-*
-*/
-//  RESOURCE IDENTIFIER
-NAME VPLA    // 4 letter ID
-
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <videoplayerlauncher.loc>
-
-//  RESOURCE DEFINITIONS
-// -----------------------------------------------------------------------------
-//
-//    Define the resource file signature
-//    This resource should be empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-// ---------------------------------------------------------------------------- 
-//
-// r_videoplayerlauncher_localisable_app_info
-//
-// ---------------------------------------------------------------------------- 
-//
-RESOURCE LOCALISABLE_APP_INFO r_videoplayerlauncher_localisable_app_info
-    {
-    short_caption = qtn_videoplayerlauncher_short_caption;
-    caption_and_icon = CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_videoplayerlauncher_caption;
-
-        number_of_icons = 1;
-        icon_file = APP_BITMAP_DIR"\\mpxvideoplayer_aif.mif";
-        };
-    }
--- a/videoplayerapp/videoplayerlauncher/data/videoplayerlauncher_reg.rss	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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:    Application's registration resource file 
-*
-*/
-
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <videoplayerlauncher.rsg>
-#include "videoplayerlauncher.hrh"
-
-UID2 KUidAppRegistrationResourceFile
-UID3 KUid3VideoPlayerLauncher
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "VideoPlayerLauncher";
-    localisable_resource_file = APP_RESOURCE_DIR"\\videoplayerlauncher";
-    localisable_resource_id = R_VIDEOPLAYERLAUNCHER_LOCALISABLE_APP_INFO;
-
-    embeddability = KAppNotEmbeddable;
-    newfile = KAppDoesNotSupportNewFile;
-    }
--- a/videoplayerapp/videoplayerlauncher/group/bld.inf	Mon Mar 15 12:40:47 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:    This file provides the information required for building the
-*                 whole video player launcher.
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-videoplayerlauncher.mmp
-
-PRJ_EXPORTS
-../loc/videoplayerlauncher.loc             APP_LAYER_LOC_EXPORT_PATH( videoplayerlauncher.loc )
-../rom/videoplayerlauncher.iby             CORE_APP_LAYER_IBY_EXPORT_PATH( videoplayerlauncher.iby )
-../rom/videoplayerlauncherresources.iby    LANGUAGE_APP_LAYER_IBY_EXPORT_PATH( videoplayerlauncherresources.iby )
--- a/videoplayerapp/videoplayerlauncher/group/videoplayerlauncher.mmp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:    This is the project specification file for videoplayerlauncher.
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "../inc/videoplayerlauncher.hrh"
-
-CAPABILITY      CAP_APPLICATION
-TARGET          videoplayerlauncher.exe
-TARGETTYPE      exe
-UID             0x100039CE KUid3VideoPlayerLauncher
-
-APP_LAYER_SYSTEMINCLUDE
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-
-SOURCEPATH      ../src
-SOURCE          videoplayerlauncher.cpp
-
-SOURCEPATH      ../data
-
-START RESOURCE  videoplayerlauncher.rss
-HEADER
-TARGET          videoplayerlauncher
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END //RESOURCE
-
-START RESOURCE  videoplayerlauncher_reg.rss
-DEPENDS         videoplayerlauncher.rsg
-TARGET          videoplayerlauncher_reg
-TARGETPATH      /private/10003a3f/apps
-END //RESOURCE
-
-LIBRARY         euser.lib
-LIBRARY         apparc.lib
-LIBRARY         commonengine.lib
-LIBRARY         apgrfx.lib
-LIBRARY         ws32.lib
-LIBRARY         flogger.lib
-LIBRARY         centralrepository.lib
--- a/videoplayerapp/videoplayerlauncher/inc/videoplayerlauncher.hrh	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:    This file contains declarations for constants of videoplayerlauncher.
-* The file can be included in C++ or resource file.
-*
-*/
-
-#ifndef __VIDEOPLAYERLAUNCHER_HRH__
-#define __VIDEOPLAYERLAUNCHER_HRH__
-
-#define KUid3VideoPlayerLauncher 0x200211FA
-
-#endif // __VIDEOPLAYERLAUNCHER_HRH__
--- a/videoplayerapp/videoplayerlauncher/loc/videoplayerlauncher.loc	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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:  VideoPlayerLauncher App localisation strings.
-*
-*/
-
-// Version : %version: da1mmcf#4 %
-
-//d:Application title for the grid view.
-//d: Title of the icon in grid view for the user to start the application
-//d: Usually hidden, this should be translated equally to qtn_vcx_title_suite
-//l:cell_app_pane_t1
-//r:5.2
-//
-#define qtn_videoplayerlauncher_short_caption        "Videos & TV"
-
-//d:Application title for the list view.
-//d: Title of the icon in list view for the user to start the application.
-//d: This item will be shown in the list of applications for example 
-//d: when configuring application shortcuts in homescreen.
-//d: The translation should be equal to qtn_vcx_title_suite
-//l:list_single_large_graphic_pane_t1
-//r:5.2
-//
-#define qtn_videoplayerlauncher_caption              "Videos & TV"
-
--- a/videoplayerapp/videoplayerlauncher/rom/videoplayerlauncher.iby	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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: Video player launcher iby
-*
-*/
-
-#ifndef __VIDEOPLAYERLAUNCHER_IBY__
-#define __VIDEOPLAYERLAUNCHER_IBY__
-
-#include <data_caging_paths_for_iby.hrh>
-
-// Launcher application
-S60_APP_EXE(videoplayerlauncher)
-S60_UPGRADABLE_APP_REG_RSC(videoplayerlauncher)
-
-#endif // __VIDEOPLAYERLAUNCHER_IBY__
--- a/videoplayerapp/videoplayerlauncher/rom/videoplayerlauncherresources.iby	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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: Video player launcher resource iby
-*
-*/
-
-#ifndef __VIDEOPLAYERLAUNCHERRESOURCES_IBY__
-#define __VIDEOPLAYERLAUNCHERRESOURCES_IBY__
-
-#include <data_caging_paths_for_iby.hrh>
-
-S60_APP_RESOURCE(videoplayerlauncher)
-
-#endif // __VIDEOPLAYERLAUNCHERRESOURCES_IBY__
\ No newline at end of file
--- a/videoplayerapp/videoplayerlauncher/src/videoplayerlauncher.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:   Main application class
-*
-*/
-
-// Version : %version: da1mmcf#3 %
-
-// Command Line and APA
-#include <apgtask.h>
-#include <apgcli.h>
-#include <apaid.h>
-#include <apacmdln.h>
-#include <centralrepository.h>
-
-#include "mpxvideo_debug.h"
-#include "videoplayerpskeys.h"
-
-const TInt KVcxMatrixUid = 0x101F4CD2;
-const TUint KVideoPlayerWgNameSize = 50;
-
-_LIT8( KVcxVideoSuiteActivationMessage, "mm://tvvideosuite?exit=hide" );
-_LIT( KVideoPlayerWgName, "*200159b2*");
-
-// -----------------------------------------------------------------------------
-// LaunchMenuViewL
-// -----------------------------------------------------------------------------
-//
-void LaunchMenuViewL( const TDesC8& aMessage )
-    {
-    MPX_ENTER_EXIT(_L("VideoPlayerLauncher LaunchMenuViewL()"));
-    RWsSession wsSession;
-    User::LeaveIfError( wsSession.Connect() );
-    CleanupClosePushL( wsSession );
-    
-    TApaTaskList taskList( wsSession );
-    TApaTask task = taskList.FindApp( TUid::Uid( KVcxMatrixUid ) );
-
-    if ( task.Exists() )
-        {
-        // Matrix is already running in background - send APA Message
-        task.SendMessage( TUid::Uid( KUidApaMessageSwitchOpenFileValue ), aMessage );
-        }
-    else
-        {
-        // Matrix not running yet - use Command Line Tail
-        RApaLsSession appArcSession;
-        CleanupClosePushL( appArcSession );
-        User::LeaveIfError( appArcSession.Connect() );      
-        TApaAppInfo appInfo;
-        TInt err = appArcSession.GetAppInfo( appInfo, TUid::Uid( KVcxMatrixUid ) );
-        if ( err == KErrNone )
-            {
-            CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
-            cmdLine->SetExecutableNameL( appInfo.iFullName );
-            cmdLine->SetCommandL( EApaCommandRun );
-            cmdLine->SetTailEndL( aMessage );
-
-            appArcSession.StartApp( *cmdLine );
-            CleanupStack::PopAndDestroy( cmdLine );
-            }
-        CleanupStack::PopAndDestroy( &appArcSession ); 
-        }
-
-    CleanupStack::PopAndDestroy( &wsSession ); 
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoActionHandler::TryBringToForegroundL
-// ---------------------------------------------------------------------------
-//
-TInt TryBringToForegroundL()
-    {
-    TInt ret ( KErrNotFound );
-    RWsSession session;
-    User::LeaveIfError( session.Connect() );
-	CleanupClosePushL( session );
-
-    TInt ourWgId( 0 );
-    TInt error = RProperty::Get( KVideoPlayerRPropertyCategory, KVideoPlayerRPropertyWGIdKey, ourWgId );
-        
-    if( error == KErrNone && ourWgId != 0 )
-        {
-        TBuf<KVideoPlayerWgNameSize> wgName;
-        session.GetWindowGroupNameFromIdentifier(ourWgId, wgName );
-        
-        if( wgName.MatchF( KVideoPlayerWgName ) != KErrNotFound )
-            {
-            ret = session.SetWindowGroupOrdinalPosition( ourWgId, 0 );
-            }
-        }
-
-	CleanupStack::PopAndDestroy( &session );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// E32Main
-// -----------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-    {
-    __UHEAP_MARK;
-    // create cleanup stack
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-
-    TInt broughtToForegrondResp( KErrGeneral );
-	
-    TRAP_IGNORE( broughtToForegrondResp = TryBringToForegroundL() );
-	
-    if ( broughtToForegrondResp != KErrNone )
-        {
-        TRAP_IGNORE( LaunchMenuViewL( KVcxVideoSuiteActivationMessage ) );
-        }
-
-    // destroy cleanup stack
-    delete cleanup;
-    __UHEAP_MARKEND;
-    return 0;
-    }