--- 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 > 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 > 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 > 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 &
- 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 > 1 &
- 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 &
- 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 > 1 &
- 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 > 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;
- }