Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: mmfcontrollerpluginresolver.h
Link against: mmfcontrollerframework.lib

Class CMMFControllerImplementationInformation

class CMMFControllerImplementationInformation : public CMMFPluginImplementationInformation, private MTaggedDataParserClient;

Description

Contains controller plugin information retrieved from the ECom registry.

The object is created using a CImplementationInformation object retrieved from the ECom registry. All relevant data is copied out of the CImplementationInformation object, and its opaque data is parsed to provide the supplier, supported media IDs.

Notes for Format Plugin developers: The exact formats supported by the controller plugin are calculated by:

1. The formats supported by the controller plugin itself must be declared in separate entries in the controller plugin resource file. Two interface UIDs should be defined by the plugin writer - one for the play formats supported, the other for the record formats supported. The play formats are then listed as implementations of the play format interface uid, and likewise the record formats.

2. Format plugins (CMMFFormatEncode and CMMFFormatDecode) declare which controller plugin they extend. ECom is search for the format plugins that extend the controller plugin, and they are added to the list.

The opaque data section of the ECom plugin resource file must be in the format:

opaque_data = "<?>Data 1<?>Data 2<?>Data 3<?>Data 4[...]<?>Data N";

The <?> preceding the data determines the meaning of the data.  The following are the possible tags:

    <s> - Supplier - must be only one
    <i> - Media Id
    <p> - UID of play format 'interface' - must be only one
    <r> - UID of record format 'interface' - must be only one

UIDs must always be in hex in the format '0x12345678', must include the '0x' and be 10 characters long.

Derivation

Members

Defined in CMMFControllerImplementationInformation:
HeapSpaceRequired(), NewL(), PlayFormats(), ProcessTaggedDataL(), RecordFormats()

Inherited from CBase:
Delete(), Extension_(), operator new()

Inherited from CMMFPluginImplementationInformation:
DisplayName(), Supplier(), SupportedMediaIds(), SupportsMediaId(), SupportsSupplier(), Uid(), Version(), iDisplayName, iMediaIds, iSupplier, iUid, iVersion


Construction and destruction


NewL()

static IMPORT_C CMMFControllerImplementationInformation *NewL(TUid aUid);

Description

Constructs a new controller implementation information object.

Parameters

TUid aUid

The Uid of the controller to obtain controller implementation information

Return value

CMMFControllerImplementationInformation *

The new object created.

[Top]


Member functions


PlayFormats()

IMPORT_C const RMMFFormatImplInfoArray &PlayFormats() const;

Description

Returns the array of play formats supported by this controller.

Return value

const RMMFFormatImplInfoArray &

The play formats supported.


RecordFormats()

IMPORT_C const RMMFFormatImplInfoArray &RecordFormats() const;

Description

Returns the array of record formats supported by this controller.

Return value

const RMMFFormatImplInfoArray &

The record formats supported.


HeapSpaceRequired()

IMPORT_C TUint HeapSpaceRequired() const;

Description

Returns the heap space required by this controller.

Return value

TUint

The heap space required.


ProcessTaggedDataL()

protected: virtual void ProcessTaggedDataL(const TDesC8 &aTag, const TDesC8 &aData);

Description

From MTaggedDataParserClient.

Parameters

const TDesC8 &aTag

const TDesC8 &aData