diff -r 608f67c22514 -r 896e9dbc5f19 internetradio2.0/activeidleinc/iractiveidle.h --- a/internetradio2.0/activeidleinc/iractiveidle.h Tue Jul 06 14:07:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,232 +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: The content publisher for Internet Radio Active Idle plugin -* -*/ - - -#ifndef IRACTIVEIDLE_H -#define IRACTIVEIDLE_H - -#include -#include -#include - -#include "iractiveidleengnotifyhandler.h" - -class CIRActiveIdleEng; -class CIRActiveIdleStateDetector; -class CIRMetaData; -class MAiContentItemIterator; -class MAiContentObserver; - -#define KMAXLENGTH 256 - -/** - * Internet Radio Active Idle plugin - * - * @lib iractiveidle.lib - */ -class CIRActiveIdle : public CAiContentPublisher, - public MAiPropertyExtension, - public MAiEventHandlerExtension, - public MIRActiveIdleEngNotifyHandler - { -public: - - /** - * Two-phased constructor. - */ - static CIRActiveIdle* NewL(); - - /** - * Destructor. - */ - /*lint -save -e1509 (Warning -- base class destructor for class 'MAiPropertyExtension' is not virtual -- Effective C++ #14) - (Warning -- base class destructor for class 'MAiEventHandlerExtension' is not virtual -- Effective C++ #14)*/ - virtual ~CIRActiveIdle(); - /*lint -restore*/ - - // from base class CAiContentPublisher - /** - *void Resume( TAiTransitionReason aReason ) - *To actively publish data to observers. - *@param aReason Defines set of reasons for plug-in state change. - */ - void Resume( TAiTransitionReason aReason ); - - /** - *void Suspend( TAiTransitionReason aReason ) - *Cancels outstanding asynchronous operations - *@param aReason Defines set of reasons for plug-in state change. - */ - void Suspend( TAiTransitionReason aReason ); - - /** - *void Stop( TAiTransitionReason aReason ) - *Frees all memory and CPU resources and close all open files. - *@param aReason Defines set of reasons for plug-in state change. - */ - void Stop( TAiTransitionReason aReason ); - - /** - *void SubscribeL( MAiContentObserver& aObserver ) - *Adds the content observer / subscriber to plug-in. - *@param aObserver The observer to be notified of the changes in the keys. - */ - void SubscribeL( MAiContentObserver& aObserver ); - - /** - *void ConfigureL( RAiSettingsItemArray& aSettings ) - *Configures the plug-in. - *@param aSettings setting items defined in the UI definition. - *This plugin takes ownership of the MAiPluginSettings objects - *in the array. - */ - void ConfigureL( RAiSettingsItemArray& aSettings ); - - /** - *TAny* Extension( TUid aUid ) - *Returns interface extension. - *@param aUid - *@return Returns pointer to extension type - */ - TAny* Extension( TUid aUid ); - - // from base class MAiPropertyExtension - /** - *TAny* GetPropertyL( TInt aProperty ) - *Reads a plugin property. - *@param aProperty identification of property. - *@return Pointer to property value - */ - TAny* GetPropertyL( TInt aProperty ); - - /** - *void SetPropertyL( TInt aProperty, TAny* aValue ) - *Sets a plugin property - *@param aProperty identification of property. - *@param aValue contains pointer to property value. - */ - void SetPropertyL( TInt aProperty, TAny* aValue ); - - // from base class MAiEventHandlerExtension - /** - *void HandleEvent( TInt aEvent, const TDesC& aParam ) - *Sets a plugin property - *@param aEvent unique identifier of event from plug-in content model. - *@param aParam Parameters associated with event - */ - void HandleEvent( TInt aEvent, const TDesC& aParam ); - -// from base class MIRActiveIdleEngNotifyHandler - - void HandleChannelChangeL(); - void HandleMetaDataReceivedL( const CIRMetaData& aMetaData ); - void HandleVolumeChangeL( const TInt aVolume ); - void HandlePlayStopL( TIRStopPlayState aState ); - void HandleApplicationRunningStateChangeL( const TIRPSApplicationRunningState aRunningState ); - void HandleBufferingStateL(TIRBufferingState aState ); - - private: - - /** - * Constructor. - */ - CIRActiveIdle(); - - /** - * Second-phase constructor. - */ - void ConstructL(); - - /** - * Initialize resource file for loading resources. - */ - void InitializeResourceLoadingL(); - - /** - * Loads the required resources. - */ - void LoadResourcesL(); - - /** - * Cleans all data fields from plugin. - */ - void Clean(); - - /** - * Starts an application. - * @param aUid The uid value of the application - * @param aCommandLine The command line (if any) to be passed to the process - */ - void StartApplicationL( const TUid& aUid, const TDesC8& aCommandLine ); - -private: // data - - /** IR's Active Idle engine. */ - CIRActiveIdleEng* iEngine; - - /** - * Detects Internet Radio process termination - * Owned. - */ - CIRActiveIdleStateDetector* iIRTerminationDetector; - - /** - * Current meta data information. - * Owned. - */ - CIRMetaData* iMetaData; - - /** Observers that are informed about changes state or new content available. */ - RPointerArray iObservers; - /** */ - TAiPublisherInfo iInfo; - /** */ - MAiContentItemIterator* iContent; - /** */ - MAiContentItemIterator* iResources; - /** */ - MAiContentItemIterator* iEvents; - - /** Active Idle's resource offset. */ - TInt iActiveIdleResourceOffset; - /** Internet Radio application running state */ - TIRPSApplicationRunningState iRunningState; - - // Meta data info - TBuf iChannelName; - TInt iPresetIndex; - - //Application volume level - enum TIRPSVolumeLevel - { - EVolumeLevel0 = 0, - EVolumeLevel1, - EVolumeLevel2, - EVolumeLevel3, - EVolumeLevel4, - EVolumeLevel5, - EVolumeLevel6, - EVolumeLevel7, - EVolumeLevel8, - EVolumeLevel9, - EVolumeLevel10 - }; - - TInt iLastSetVolume; - }; - -#endif // IRACTIVEIDLE_H