class CMMFControllerImplementationInformation : public CMMFPluginImplementationInformation |
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.
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.
7.0s
Public Member Functions | |
---|---|
~CMMFControllerImplementationInformation() | |
void | GetPlayFormatsL() |
void | GetRecordFormatsL() |
IMPORT_C TUint | HeapSpaceRequired() |
CMMFControllerImplementationInformation * | NewL(const CImplementationInformation &) |
IMPORT_C CMMFControllerImplementationInformation * | NewL(TUid) |
CMMFControllerImplementationInformation * | NewLC(const CImplementationInformation &) |
IMPORT_C const RMMFFormatImplInfoArray & | PlayFormats() |
IMPORT_C const RMMFFormatImplInfoArray & | RecordFormats() |
IMPORT_C void | SetUriPriority(TInt) |
IMPORT_C TUint | StackSize() |
IMPORT_C const CDesC8Array & | SupportedUriSchemes() |
IMPORT_C TBool | SupportsNetworkCapability() |
IMPORT_C TBool | SupportsSecureDRMProcessMode() |
IMPORT_C TBool | SupportsUriScheme(const TDesC8 &) |
IMPORT_C TInt | UriPriority() |
Protected Member Functions | |
---|---|
CMMFControllerImplementationInformation() | |
void | AddFormatsSwallowCorruptL(RImplInfoPtrArray &, RMMFFormatImplInfoArray &) |
void | ConstructL(const CImplementationInformation &) |
void | GetFormatsL(TUid, TUid, RMMFFormatImplInfoArray &) |
void | ProcessTaggedDataL(const TDesC8 &, const TDesC8 &) |
void | SetHeapSizeL(const TDesC8 &) |
void | SetNetworkCapabilityL(const TDesC8 &) |
void | SetPlayFormatCollectionUidL(const TDesC8 &) |
void | SetRecordFormatCollectionUidL(const TDesC8 &) |
void | SetStackSizeL(const TDesC8 &) |
void | SetUriSchemeL(const TDesC8 &) |
CMMFControllerImplementationInformation | ( | ) | [protected] |
Constructor.
void | AddFormatsSwallowCorruptL | ( | RImplInfoPtrArray & | aEcomArray, |
RMMFFormatImplInfoArray & | aFormatArray | |||
) | [protected] |
Creates CMMFFormatImplementationInformation objects for all CImplementationInformation objects in aEcomArray. Any corrupt objects are ignored. The objects created are added to aFormatArray.
7.0s
RImplInfoPtrArray & aEcomArray | See above. |
RMMFFormatImplInfoArray & aFormatArray | See above. |
void | ConstructL | ( | const CImplementationInformation & | aImplInfo | ) | [protected] |
2nd phase constructor.
const CImplementationInformation & aImplInfo |
void | GetFormatsL | ( | TUid | aFormatCollectionUid, |
TUid | aFormatPluginCollectionUid, | |||
RMMFFormatImplInfoArray & | aFormatArray | |||
) | [protected] |
all registry entries with an interface UID of aFormatCollectionUid
all format plugins with an interface UID of aFormatPluginCollectionUid (ie CMMFFormatEncode or CMMFFormatDecode) that have the UID of this controller plugin in the default_data field of their ECom resource file.
CMMFFormatImplementationInformation objects are created for each entry returned, and appended to aFormatArray.
7.0s
TUid aFormatCollectionUid | See above. |
TUid aFormatPluginCollectionUid | See above. |
RMMFFormatImplInfoArray & aFormatArray | See above. |
void | GetRecordFormatsL | ( | ) |
Queries the ECom registry for the record formats supported.
IMPORT_C TUint | HeapSpaceRequired | ( | ) | const |
Returns the heap space required by this controller.
The heap space required.
7.0s
CMMFControllerImplementationInformation * | NewL | ( | const CImplementationInformation & | aImplInfo | ) | [static] |
Constructs a new controller implementation information object.
The new object created.
7.0s
const CImplementationInformation & aImplInfo | The ECOM implementation information. |
IMPORT_C CMMFControllerImplementationInformation * | NewL | ( | TUid | aUid | ) | [static] |
Constructs a new controller implementation information object.
The new object created.
7.0s
TUid aUid | The Uid of the controller to obtain controller implementation information |
CMMFControllerImplementationInformation * | NewLC | ( | const CImplementationInformation & | aImplInfo | ) | [static] |
Constructs a new controller implementation information object.
Note: The new object will be on the cleanup stack.
The new object created.
7.0s
const CImplementationInformation & aImplInfo | The ECOM implementation information |
IMPORT_C const RMMFFormatImplInfoArray & | PlayFormats | ( | ) | const |
Returns the array of play formats supported by this controller.
The play formats supported.
7.0s
void | ProcessTaggedDataL | ( | const TDesC8 & | aTag, |
const TDesC8 & | aData | |||
) | [protected] |
From MTaggedDataParserClient.
IMPORT_C const RMMFFormatImplInfoArray & | RecordFormats | ( | ) | const |
Returns the array of record formats supported by this controller.
The record formats supported.
7.0s
void | SetHeapSizeL | ( | const TDesC8 & | aData | ) | [protected] |
Parses aData to get the size of the stack the controller requires.
const TDesC8 & aData |
void | SetNetworkCapabilityL | ( | const TDesC8 & | aNetworkCapable | ) | [protected] |
Sets the Network capability found in opaque data
const TDesC8 & aNetworkCapable | Declares the incapability to support uri if matches to 'yes'. If this is the case, iIsNetworkCtrl is set to EFalse |
void | SetPlayFormatCollectionUidL | ( | const TDesC8 & | aData | ) | [protected] |
Parses aData to get the collection UID of the play formats supported by this controller.
const TDesC8 & aData |
void | SetRecordFormatCollectionUidL | ( | const TDesC8 & | aData | ) | [protected] |
Parses aData to get the collection UID of the record formats supported by this controller.
const TDesC8 & aData |
void | SetStackSizeL | ( | const TDesC8 & | aData | ) | [protected] |
Parses aData to get the size of the stack the controller requires.
const TDesC8 & aData |
IMPORT_C void | SetUriPriority | ( | TInt | aUriPriority | ) |
Sets the uri priority of this controller
TInt aUriPriority | The Uri priority to be assigned. |
void | SetUriSchemeL | ( | const TDesC8 & | aUriScheme | ) | [protected] |
Sets the Uri Scheme found in opaque data
const TDesC8 & aUriScheme | Gives the uri scheme supported by the controller |
IMPORT_C TUint | StackSize | ( | ) | const |
Returns the stack space required by this controller.
The stack space required.
IMPORT_C const CDesC8Array & | SupportedUriSchemes | ( | ) | const |
Returns the uri schemes of this plugin.
The array of uri schemes.
IMPORT_C TBool | SupportsNetworkCapability | ( | ) | const |
Tests whether the controller plugin supports url
A boolean indicating if the plugin supports url. ETrue for uri supporting controller, EFalse if not.
IMPORT_C TBool | SupportsSecureDRMProcessMode | ( | ) | const |
Check whether the controller plugin supports secure DRM process mode
A boolean indicating if the plugin supports secure DRM process mode. ETrue for secure DRM process mode supporting controller, EFalse if not.
IMPORT_C TBool | SupportsUriScheme | ( | const TDesC8 & | aUriScheme | ) | const |
Tests whether the plugin supports aUriScheme.
A boolean indicating if the plugin supports aUriScheme. ETrue if this plugin supports aUriScheme, EFalse if not.
const TDesC8 & aUriScheme | The required Uri Scheme. |
IMPORT_C TInt | UriPriority | ( | ) | const |
Retrieves the uri priority of this controller. Higher priority implies greater number. ie UriPriority() returning 3 has higher prioirty than UriPriority() returning 1.
The assigned Uri priority.
TUint | iHeapSpaceRequired | [private] |
The heap space required by this controller
TUid | iPlayFormatCollectionUid | [private] |
The interface uid of the resource file definitions of the play formats supported directly by this controller.
RMMFFormatImplInfoArray | iPlayFormats | [private] |
The play formats supported by this controller.
TUid | iRecordFormatCollectionUid | [private] |
The interface uid of the resource file definitions of the record formats supported directly by this controller.
RMMFFormatImplInfoArray | iRecordFormats | [private] |
The record formats supported by this controller.
TBool | iSupportsSecureDRMProcessMode | [private] |
Secure DRM process model supported by this controller