diff -r 2a40e88564c8 -r 13afc0e517bd mpxmusicplayer/activeidle/aiplayerplugin/inc/aiplayerpluginengine.h --- a/mpxmusicplayer/activeidle/aiplayerplugin/inc/aiplayerpluginengine.h Tue Feb 02 00:09:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,209 +0,0 @@ -/* -* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Engine which interfaces to MPX framework. -* -*/ - - -#ifndef C_AIPLAYERPLUGINENGINE_H -#define C_AIPLAYERPLUGINENGINE_H - -#include -#include - -#include "aiplayerpluginengineobserver.h" - -class MMPXPlaybackUtility; - - -/** - * Music Player Player Plugin Engine. - * This class provides interface to MPX framework. - * - * @lib aiplayerplugin2.lib - * @since S60 5.0 - */ -NONSHARABLE_CLASS( CAiPlayerPluginEngine ) : public CBase, - public MMPXPlaybackObserver, - public MMPXPlaybackCallback - { -public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CAiPlayerPluginEngine* NewL( MAiPlayerPluginEngineObserver& aObserver ); - - /** - * Destructor. - */ - virtual ~CAiPlayerPluginEngine(); - - /** - * From MMPXPlaybackObserver - * See mpxplaybackobserver.h for detailed description. - * @since S60 5.0 - */ - void HandlePlaybackMessage( CMPXMessage* aMessage, TInt aError ); - - /** - * From MMPXPlaybackCallback - * See mpxplaybackobserver.h for detailed description. - * @since S60 5.0 - */ - void HandlePropertyL( TMPXPlaybackProperty aProperty, TInt aValue, TInt aError ); - void HandleSubPlayerNamesL( TUid aPlayer, const MDesCArray* aSubPlayers, TBool aComplete, TInt aError ); - void HandleMediaL( const CMPXMedia& aMedia, TInt aError ); - void HandlePlaybackCommandComplete( CMPXCommand* aCommandResult, TInt aError ); - -public: - - /** - * Get the current state of the active player. - * - * @return Active player state - * @see TMPlayerState - */ - TMPlayerState PlayerState(); - - /** - * Get the title of the currently playing song. - * - * @return Song title - */ - const TDesC& Title(); - - /** - * Get the artist of the currently playing song. - * - * @return Artist - */ - const TDesC& Artist(); - - /** - * Get the current position. - * - * @return Current position. - */ - TInt Position(); - - /** - * Get the duration of the currently playing song. - * - * @return Song duration. - */ - TInt Duration(); - - /** - * Get the current volume. - * - * @return Current volume. - */ - TInt Volume(); - - /** - * Set volume. - * - * @param aVolume Volume level - */ - void SetVolumeL( TInt aVolume ); - -private: - - /** - * C++ default constructor. - */ - CAiPlayerPluginEngine( MAiPlayerPluginEngineObserver& aObserver ); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - /** - * Handle playback message - * - * @param aMessage playback message - */ - void DoHandlePlaybackMessageL( const CMPXMessage& aMessage ); - - /** - * Handle playback property - * - * @param aProperty the property - * @param aValue the value of the property - * @param aError error code - */ - void DoHandlePropertyL( TInt aProperty, TInt aValue, TInt aError ); - - /** - * Handle playback state changed. - * - * @param aState New Playback state - */ - void DoHandleStateChangedL( TMPXPlaybackState aState ); - - /** - * Displays error notes. - * - * @param aError Error ID to be handled. - */ - void HandleErrorL( TInt aError ); - - /** - * Map states from TMPXPlaybackState to TMPlayerState - * - * @param aState State in TMPXPlaybackState format - * @return State in TMPlayerState format, or KErrNotFound - * if the state can't be mapped - */ - TMPlayerState MapState( TMPXPlaybackState aState ); - - /** - * Map volume from MPX player to AI volume level. - * - * @param aVolume Volume level from MPX player - * @return Volume level for AI. - */ - TInt MapToAiVolume( TInt aVolume ); - - /** - * Map volume from AI to MPX player volume level. - * - * @param aVolume Volume level from AI - * @return Volume level for MPX player. - */ - TInt MapToMpxVolume( TInt aVolume ); - - /** - * Request media. - */ - void RequestMediaL(); - -private: // Data - - MAiPlayerPluginEngineObserver* iObserver; // Not owned - MMPXPlaybackUtility* iPlaybackUtility; // Owned - - HBufC* iTitle; - HBufC* iArtist; - TInt iMaxVolume; - TInt iVolume; - TInt iPosition; - TInt iDuration; - }; - -#endif // C_CAiPlayerPluginEngine_H - -// End of File