diff -r 6369bfd1b60d -r 08b5eae9f9ff upnpmpxplugins/upnpplaybackplugins/inc/upnpmusicdownloadproxy.h --- a/upnpmpxplugins/upnpplaybackplugins/inc/upnpmusicdownloadproxy.h Mon Nov 01 13:44:24 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ -/* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Proxy for downloading upnp files and playing locally -* -*/ - - - - - - -#ifndef __CUPNPMUSICDOWNLOADPROXY_H__ -#define __CUPNPMUSICDOWNLOADPROXY_H__ - -// INCLUDES -#include -#include -#include -#include "upnptrackobserver.h" - -// FORWARD DECLARATIONS -class CUPnPSingleton; -class CUPnPTrack; -class MDesCArray; // for MPX compatibility - actually this is NOT a class - - -/** - * UPnP Proxy class for Local Player. - * - * Provides additional UPnP download functionality: first - * downloads the file and then uses the underlying plugin to - * execute commands (play,stop,pause) on the local copy of the - * song - * - * @lib upnpmusicplugins.lib - * @since S60 v3.1 - */ -class CUPnPMusicDownloadProxy : public CMPXPlaybackPlugin, - public MMPXPlaybackPluginObserver, - public MUPnPTrackObserver - { - -private: - - /** - * Defines internal player state - * - * EStateUninitialised - Initial and terminal state - * EStatePreparing - Preparatory phases before download - * EStateDownloading - Downloading the temporary file - * EStateInitialisingLocally - Download is complete, starting to - * initialize proxied local plugin - * EStateActive - Init complete, now acting as a proxy for - * the local plugin to play the temp file - * @since Series 60 3.1 - */ - enum TProxyState - { - EStateUninitialised = 0, // initial state - EStatePreparing, // preparatory phases - EStateDownloading, // download phase - EStateInitialisingLocally, // local init - EStateActive, // normal - EStateClosing // used if error during initialise - }; -public: - - /** - * Static 1st phase constructor. - * - * @since Series 60 3.1 - * @param aObs reference to call back interface - * @return A new player instance - */ - static CUPnPMusicDownloadProxy* NewL( MMPXPlaybackPluginObserver& aObs ); - - /** - * Destructor - * - * @since Series 60 3.1 - */ - ~CUPnPMusicDownloadProxy(); - - -private: - - /** - * Private default constructor - * - * @since Series 60 3.1 - * @param aObs reference to call back interface - */ - CUPnPMusicDownloadProxy( MMPXPlaybackPluginObserver& aObs ); - - /** - * 2nd phase constructor - * - * @since Series 60 3.1 - */ - void ConstructL(); - -public: // From CMPXPlaybackPlugin - - /** - * See CMPXPlaybackPlugin - */ - void InitialiseL( const TDesC& aSong ); - - /** - * See CMPXPlaybackPlugin - */ - void InitialiseL( RFile& aSong ); - - /** - * See CMPXPlaybackPlugin - */ - void CommandL( TMPXPlaybackCommand aCmd, TInt aData ); - - /** - * See CMPXPlaybackPlugin - */ - void SetL( TMPXPlaybackProperty aProperty, TInt aValue ); - - /** - * See CMPXPlaybackPlugin - */ - void ValueL( TMPXPlaybackProperty aProperty ) const; - - /** - * See CMPXPlaybackPlugin - */ - void SubPlayerNamesL(); - - /** - * See CMPXPlaybackPlugin - */ - void SelectSubPlayerL(TInt aIndex); - - /** - * See CMPXPlaybackPlugin - */ - const TDesC& SubPlayerName(); - - /** - * See CMPXPlaybackPlugin - */ - TInt SubPlayerIndex() const; - - /** - * See CMPXPlaybackPlugin - */ - void MediaL( const TArray& aAttrs ); - - /** - * See CMPXPlaybackPlugin - */ - void CancelRequest(); - - /** - * See CMPXPlaybackPlugin - */ - void SetObserver(MMPXPlaybackPluginObserver& aObs); - -protected: // From MMPXPlaybackPluginObserver - - /** - * See MMPXPlaybackPluginObserver - */ - void HandlePluginEvent( TEvent aEvent, TInt aData, TInt aError ); - - /** - * see MMPXPlaybackPluginObserver's base class MMPXPlaybackCallback - */ - void HandleProperty( TMPXPlaybackProperty aProperty, TInt aValue, - TInt aError ); - - /** - * see MMPXPlaybackPluginObserver's base class MMPXPlaybackCallback - */ - void HandleSubPlayerNames( TUid aPlayer, const MDesCArray* aSubPlayers, - TBool aComplete, TInt aError ); - - /** - * see MMPXPlaybackPluginObserver's base class MMPXPlaybackCallback - */ - void HandleMedia( const CMPXMedia& aProperties, TInt aError ); - -protected: // From MUPnPTrackObserver - - /** - * See MUPnPTrackObserver - */ - void ResolveURIComplete( TInt aError ); - -private: - - /** - * cleanup when going in uninitialised state - */ - void Cleanup(); - -private: // Data - - /** - * Local plugin instance - * Own. - */ - CMPXPlaybackPlugin* iLocalPlayer; - - /** - * The UPnP services singleton - * Own. - */ - CUPnPSingleton* iSingleton; - - /** - * Player state - */ - mutable TProxyState iProxyState; - - /** - * UPnP track - * Own. - */ - CUPnPTrack* iTrack; - }; - -#endif // __CUPNPMUSICDOWNLOADPROXY_H__ - - - -