CMPXPlaylistPluginHandler Class Reference

class CMPXPlaylistPluginHandler : public CMPXPluginHandlerBase

CMPXPlaylistPluginHandler is instantiated and owned by CMPXPlaylistEngine . It provides playlist plugin selection APIs for the external client and the internal client (i.e. CMPXPlaylistEngine ) and manages loading and unloading of playlist plugins. A plugin is loaded when selected and unloaded when the plugin has been uninstalled or when CMPXPlaylistEngine is destroyed ( CMPXPlaylistEngine destroys CMPXPlaylistPluginHandler when itself is destroyed).

mpxplaylistengine.lib

Inherits from

Public Member Functions
~CMPXPlaylistPluginHandler ()
IMPORT_C CMPXPlaylistPluginHandler * NewL (MMPXPlaylistPluginObserver &, MMPXPluginHandlerObserver &, RFs &, const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > &, const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > &)
CMPXPlaylistPlugin * Plugin ()
TBool PluginFound ()
const TDesC & PluginName ()
TUint32 PluginType ()
TUid PluginUid ()
IMPORT_C void SelectPlaylistPluginL (const TDesC &, const TDesC8 &)
IMPORT_C void SelectPlaylistPluginL (const RFile &)
IMPORT_C void SelectPlaylistPluginL ( TUint32 )
IMPORT_C void SelectPlaylistPluginL (const TDesC &)
IMPORT_C void SelectPlaylistPluginL (const TUid &)
Private Member Functions
CMPXPlaylistPluginHandler (MMPXPlaylistPluginObserver &, MMPXPluginHandlerObserver &, RFs &, const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > &, const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > &)
void ConstructL ()
CMPXPlaylistPlugin * CreatePlaylistPluginL (const TUid &)
TBool IsPluginLoaded (const TUid &)
void LoadPluginL (const TUid &)
void ResolvePluginL ()
void UnloadPlugin (const TUid &)
void UnloadPlugin ( TInt )
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CMPXPluginHandlerBase::BaseConstructL()
CMPXPluginHandlerBase::CMPXPluginHandlerBase(TUid,TPluginSelection,TInt,MMPXPluginHandlerObserver &,CMPXPluginMonitor *)
CMPXPluginHandlerBase::ClearSelectionCriteria()
CMPXPluginHandlerBase::ConstructPluginInfoLC(const CImplementationInformation &)
CMPXPluginHandlerBase::CreatePluginListL()
CMPXPluginHandlerBase::DoResolvePluginL(TUid &,TInt &,TPtrC &,TInt &)
CMPXPluginHandlerBase::FindPlugin(const TArray< TUid > &)const
CMPXPluginHandlerBase::GetPluginTypes(RArray< TInt > &)const
CMPXPluginHandlerBase::GetPluginUids(RArray< TUid > &)const
CMPXPluginHandlerBase::GetPluginUidsL(RArray< TUid > &,TInt)const
CMPXPluginHandlerBase::GetSelectionCriteria(TPluginSelection &,TInt &,TUid &,TPtrC8 &,TPtrC8 &,TPtrC8 &)
CMPXPluginHandlerBase::HandlePluginUnload(const TUid &)
CMPXPluginHandlerBase::IndexOf(const TUid &)const
CMPXPluginHandlerBase::PluginFlagsL(const TUid &)const
CMPXPluginHandlerBase::PluginName(TInt)const
CMPXPluginHandlerBase::PluginName(const TUid &)const
CMPXPluginHandlerBase::PluginNamesL()
CMPXPluginHandlerBase::PluginType(const TUid &)const
CMPXPluginHandlerBase::PluginUid(const TDesC &)const
CMPXPluginHandlerBase::PluginsChangedL()
CMPXPluginHandlerBase::ReleasePlugin(const TUid &)
CMPXPluginHandlerBase::SelectPluginL(TInt)
CMPXPluginHandlerBase::SelectPluginL(const RFile &)
CMPXPluginHandlerBase::SelectPluginL(const TDesC &)
CMPXPluginHandlerBase::SelectPluginL(const TDesC &,const TDesC8 &)
CMPXPluginHandlerBase::SelectPluginL(const TUid &)
CMPXPluginHandlerBase::SupportUids(const TUid &,const TArray< TUid > &)const
CMPXPluginHandlerBase::SupportedAppUid(const TUid &)const
CMPXPluginHandlerBase::SupportedExtensionsL()
CMPXPluginHandlerBase::SupportedExtensionsL(const TUid &)
CMPXPluginHandlerBase::SupportedMimeTypesL()
CMPXPluginHandlerBase::SupportedMimeTypesL(const TUid &)
CMPXPluginHandlerBase::SupportedSchemasL()
CMPXPluginHandlerBase::UsePlugin(const TUid &)
CMPXPluginHandlerBase::~CMPXPluginHandlerBase()
Inherited Enumerations
CMPXPluginHandlerBase:TPluginSelection
Private Attributes
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & iAvailableCharacterSet
HBufC * iDisplayName
RFs & iFs
RPointerArray < CMPXPlaylistPlugin > iLoadedPlugins
RArray < TUid > iLoadedPluginsUids
CMPXPlaylistPlugin * iPlugin
MMPXPlaylistPluginObserver & iPluginObserver
TUint32 iPluginType
TUid iPluginUid
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & iTopCharacterSet
Inherited Attributes
CMPXPluginHandlerBase::iDataType
CMPXPluginHandlerBase::iExt
CMPXPluginHandlerBase::iInterfaceUid
CMPXPluginHandlerBase::iObserver
CMPXPluginHandlerBase::iOwnedPluginMonitor
CMPXPluginHandlerBase::iPluginInfoArray
CMPXPluginHandlerBase::iPluginMonitor
CMPXPluginHandlerBase::iScheme
CMPXPluginHandlerBase::iSelectedType
CMPXPluginHandlerBase::iSelectedUid
CMPXPluginHandlerBase::iSelection

Constructor & Destructor Documentation

CMPXPlaylistPluginHandler(MMPXPlaylistPluginObserver &, MMPXPluginHandlerObserver &, RFs &, const CArrayFix< CCnvCharacterSetConverter::SCharacterSet > &, const CArrayFix< CCnvCharacterSetConverter::SCharacterSet > &)

CMPXPlaylistPluginHandler ( MMPXPlaylistPluginObserver & aPluginObserver,
MMPXPluginHandlerObserver & aObserver,
RFs & aFs,
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & aTopCharacterSet,
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & aAvailableCharacterSet
) [private]

C++ constructor.

Since
S60 3.2.3

Parameters

MMPXPlaylistPluginObserver & aPluginObserver playlist plugin observer
MMPXPluginHandlerObserver & aObserver plugin handler observer
RFs & aFs file session handle
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & aTopCharacterSet top character set for the locale
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & aAvailableCharacterSet available character set in the system

~CMPXPlaylistPluginHandler()

~CMPXPlaylistPluginHandler ( )

Destructor.

Since
S60 3.2.3

Member Functions Documentation

ConstructL()

void ConstructL ( ) [private]

2nd phase contructor.

Since
S60 3.2.3

CreatePlaylistPluginL(const TUid &)

CMPXPlaylistPlugin * CreatePlaylistPluginL ( const TUid & aUid ) [private]

Creates a plugin. If already loaded, returns a reference without creating another instance of the plugin.

Since
S60 3.2.3
leave
The function leaves with one of the system error codes,

Parameters

const TUid & aUid

IsPluginLoaded(const TUid &)

TBool IsPluginLoaded ( const TUid & aPluginUid ) [private, virtual]

Verify the specified plugin is loaded.

CMPXPluginHandlerBase
Since
S60 3.2.3

Parameters

const TUid & aPluginUid

LoadPluginL(const TUid &)

void LoadPluginL ( const TUid & aPluginUid ) [private, virtual]
Load the specified plugin. CMPXPluginHandlerBase
Since
S60 3.2.3

Parameters

const TUid & aPluginUid

NewL(MMPXPlaylistPluginObserver &, MMPXPluginHandlerObserver &, RFs &, const CArrayFix< CCnvCharacterSetConverter::SCharacterSet > &, const CArrayFix< CCnvCharacterSetConverter::SCharacterSet > &)

IMPORT_C CMPXPlaylistPluginHandler * NewL ( MMPXPlaylistPluginObserver & aPluginObserver,
MMPXPluginHandlerObserver & aObserver,
RFs & aFs,
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & aTopCharacterSet,
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & aAvailableCharacterSet
) [static]

Two-phased constructor.

Since
S60 3.2.3

Parameters

MMPXPlaylistPluginObserver & aPluginObserver playlist plugin observer
MMPXPluginHandlerObserver & aObserver plugin handler observer
RFs & aFs file session handle
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & aTopCharacterSet top character set for the locale
const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & aAvailableCharacterSet available character set in the system

Plugin()

CMPXPlaylistPlugin * Plugin ( ) const [inline]

Returns currently loaded plug-in, or NULL if none. CMPXPlaylistPluginHandler is responsible for the memory management of the return playlist plugin object.

Since
S60 3.2.3

PluginFound()

TBool PluginFound ( ) const [inline]

Is a plug-in currently loaded.

Since
S60 3.2.3

PluginName()

const TDesC & PluginName ( ) const [inline]

Returns display name for current plug-in or KNullDesC if no plugin is loaded.

Since
S60 3.2.3

PluginType()

TUint32 PluginType ( ) const [inline]

Returns currently loaded plug-in type or EMPXPlaylistTypeUnknown if no plugin is loaded.

Since
S60 3.2.3

PluginUid()

TUid PluginUid ( ) const [inline]

Returns currently loaded plug-in UID, or KNullUid if none loaded.

Since
S60 3.2.3

ResolvePluginL()

void ResolvePluginL ( ) [private, virtual]

From CMPXPluginHandlerBase . Resolves plugin.

Since
S60 3.2.3

SelectPlaylistPluginL(const TDesC &, const TDesC8 &)

IMPORT_C void SelectPlaylistPluginL ( const TDesC & aUri,
const TDesC8 & aDataType
)

Selects a plug-in appropriate for a Uri and data type; may already be loaded. If the selected plug-in has not been loaded before, one is instantiated.

If successful, information related to the currently loaded plugin will reflect this selected plug-in. Leaves with KErrNotSupported if unable to find a suitable plugin.

Since
S60 3.2.3

Parameters

const TDesC & aUri URI of the song
const TDesC8 & aDataType data type. KNullDesC8 if this parameter is not to be used for selection.

SelectPlaylistPluginL(const RFile &)

IMPORT_C void SelectPlaylistPluginL ( const RFile & aFile )

Selects a plug-in appropriate for a file; may already be loaded. If the selected plug-in has not been loaded before, one is instantiated.

If successful, information related to currently loaded plugin will reflect this selected plug-in. Leaves with KErrNotSupported if unable to find a suitable plugin.

Since
S60 3.2.3

Parameters

const RFile & aFile file handle

SelectPlaylistPluginL(TUint32)

IMPORT_C void SelectPlaylistPluginL ( TUint32 aPluginType )

Selects a plugin appropriate for the plugin type; may already be loaded. If the selected plugin has not been loaded before, one is instantiated.

If successful, information related to currently loaded plugin will reflect this selected plug-in. Leaves with KErrNotSupported if unable to find a suitable plugin.

This is the recommended method for the client to select a plugin prior to issuing an ExternalizePlaylist request.

Since
S60 3.2.3

Parameters

TUint32 aPluginType A plugin type, possible values are defined in TMPXPlaylistType.

SelectPlaylistPluginL(const TDesC &)

IMPORT_C void SelectPlaylistPluginL ( const TDesC & aPluginName )

Selects a plugin with the specified display name; may already be loaded. If the selected plugin has not been loaded before, one is instantiated.

If successful, information related to currently loaded plugin will reflect this selected plug-in. Leaves with KErrNotSupported if unable to find a suitable plugin.

This is not the recommended method for the client to select a plugin prior to issuing an ExternalizePlaylist request. The recommended method is through a plugin type.

Since
S60 3.2.3

Parameters

const TDesC & aPluginName The name of the plugin to be selected.

SelectPlaylistPluginL(const TUid &)

IMPORT_C void SelectPlaylistPluginL ( const TUid & aUid )

Selects a plug-in with UID aUid, or leaves with KErrNotSupported if not found. If the selected plugin has not been loaded before, one is instantiated.

If successful, information related to currently loaded plugin will reflect this selected plug-in. Leaves with KErrNotSupported if unable to find the specified plugin.

Since
S60 3.2.3

Parameters

const TUid & aUid UID of the plugin

UnloadPlugin(const TUid &)

void UnloadPlugin ( const TUid & aPluginUid ) [private, virtual]
Unload the specified plugin. CMPXPluginHandlerBase
Since
S60 3.2.3

Parameters

const TUid & aPluginUid

UnloadPlugin(TInt)

void UnloadPlugin ( TInt aIndex ) [private]
Unloads a plugin by index.
Since
S60 3.2.3

Parameters

TInt aIndex index of the plugin to unload

Member Data Documentation

const CArrayFix< CCnvCharacterSetConverter::SCharacterSet > & iAvailableCharacterSet

const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & iAvailableCharacterSet [private]

HBufC * iDisplayName

HBufC * iDisplayName [private]

RFs & iFs

RFs & iFs [private]

RPointerArray< CMPXPlaylistPlugin > iLoadedPlugins

RPointerArray < CMPXPlaylistPlugin > iLoadedPlugins [private]

RArray< TUid > iLoadedPluginsUids

RArray < TUid > iLoadedPluginsUids [private]

CMPXPlaylistPlugin * iPlugin

CMPXPlaylistPlugin * iPlugin [private]

MMPXPlaylistPluginObserver & iPluginObserver

MMPXPlaylistPluginObserver & iPluginObserver [private]

TUint32 iPluginType

TUint32 iPluginType [private]

TUid iPluginUid

TUid iPluginUid [private]

const CArrayFix< CCnvCharacterSetConverter::SCharacterSet > & iTopCharacterSet

const CArrayFix < CCnvCharacterSetConverter::SCharacterSet > & iTopCharacterSet [private]