diff -r 2a40e88564c8 -r 13afc0e517bd mpxmusicplayer/activeidle/aiplayerplugin/inc/aiplayerplugin.h --- a/mpxmusicplayer/activeidle/aiplayerplugin/inc/aiplayerplugin.h Tue Feb 02 00:09:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,142 +0,0 @@ -/* -* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: AI ecom plugin class. Main interface to XML AI framework. -* -*/ - - -#ifndef C_AIPLAYERPLUGIN_H -#define C_AIPLAYERPLUGIN_H - -// INCLUDES -#include -#include -#include -#include - -#include "aiplayerpluginengine.h" -#include "aiplayerpluginengineobserver.h" - -class MAiPluginSettings; -class MAiContentObserver; -class MAiContentItemIterator; -class CCoeEnv; - - -/** - * Music Player Player Plugin. - * This class implements AI ecom plugin. This is the main interface to - * the XML AI framework. - * - * @lib aiplayerplugin2.lib - * @since S60 5.0 - */ -NONSHARABLE_CLASS( CAiPlayerPlugin ) : public CAiContentPublisher, - public MAiPropertyExtension, - public MAiEventHandlerExtension, - public MAiPlayerPluginEngineObserver - { -public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CAiPlayerPlugin* NewL(); - - /** - * Destructor. - */ - virtual ~CAiPlayerPlugin(); - -public: - - /** - * From CAiContentPublisher - * See aicontentpublisher.h for detailed description. - * @since S60 5.0 - */ - void Resume( TAiTransitionReason aReason ); - void Suspend( TAiTransitionReason aReason ); - void Stop( TAiTransitionReason aReason ); - void SubscribeL( MAiContentObserver& aObserver ); - void ConfigureL( RAiSettingsItemArray& aSettings ); - TAny* Extension( TUid aUid ); - - /** - * From MAiPropertyExtension - * See aipropertyextension.h for detailed description. - * @since S60 5.0 - */ - TAny* GetPropertyL( TInt aProperty ); - void SetPropertyL( TInt aProperty, TAny* aValue ); - - /** - * From MAiEventHandlerExtension - * See aieventhandlerextension.h for detailed description. - * @since S60 5.0 - */ - void HandleEvent( TInt aEvent, const TDesC& aParam ); - - /** - * From MAiPlayerPluginEngineObserver - * See aiplayerpluginengine.h for detailed description. - * @since S60 5.0 - */ - void PlayerStateChanged( TMPlayerState aState ); - void TrackInfoChanged( const TDesC& aTitle, const TDesC& aArtist ); - void PlaybackPositionChanged( TInt aPosition ); - void VolumeChanged( TInt aVolume ); - -private: - - CAiPlayerPlugin(); - void ConstructL(); - - /** - * Helper class for HandleEvent received from MAiEventHandlerExtension - */ - void DoHandleEventL( TInt aEvent, const TDesC& aParam ); - - /** - * Callback function invoked through iCleanTimer upon timeout. - */ - static TInt ClearL( TAny* aPtr ); - -private: // Data - - RPointerArray iObservers; - TAiPublisherInfo iInfo; - MAiContentItemIterator* iContent; - MAiContentItemIterator* iResources; - MAiContentItemIterator* iEvents; - - CAiPlayerPluginEngine* iEngine; - TMPlayerState iState; - - TBuf<128> iDuration; - TBuf<128> iElapsedTime; - HBufC* iLongFormatString; - HBufC* iShortFormatString; - HBufC* iUnknownArtistText; - TInt iResourceOffset; - - CCoeEnv* iCoeEnv; // Not owned - TBool iPlayStarted; - CPeriodic* iCleanTimer; - TInt iLastSetVolume; - }; - -#endif // C_AIPLAYERPLUGIN_H - -