#include <mmf/common/mmfcontrollerpluginresolver.h>
Link against: mmfcontrollerframework.lib
class CMMFControllerImplementationInformation : public CMMFPluginImplementationInformation, private MTaggedDataParserClient, public CMMFPluginImplementationInformation, private MTaggedDataParserClient |
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 &) |
virtual 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 &) |
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.
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.
Parameters | |
---|---|
aEcomArray | See above. |
aFormatArray | See above. |
void | ConstructL | ( | const CImplementationInformation & | aImplInfo | ) | [protected] |
2nd phase constructor.
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.
Parameters | |
---|---|
aFormatCollectionUid | See above. |
aFormatPluginCollectionUid | See above. |
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.
CMMFControllerImplementationInformation * | NewL | ( | const CImplementationInformation & | aImplInfo | ) | [static] |
Constructs a new controller implementation information object.
Parameters | |
---|---|
aImplInfo | The ECOM implementation information. |
IMPORT_C CMMFControllerImplementationInformation * | NewL | ( | TUid | aUid | ) | [static] |
Constructs a new controller implementation information object.
Parameters | |
---|---|
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.
Parameters | |
---|---|
aImplInfo | The ECOM implementation information |
IMPORT_C const RMMFFormatImplInfoArray & | PlayFormats | ( | ) | const |
Returns the array of play formats supported by this controller.
Reimplemented from MTaggedDataParserClient::ProcessTaggedDataL(const TDesC8 &,const TDesC8 &)
From MTaggedDataParserClient.
IMPORT_C const RMMFFormatImplInfoArray & | RecordFormats | ( | ) | const |
Returns the array of record formats supported by this controller.
void | SetHeapSizeL | ( | const TDesC8 & | aData | ) | [protected] |
Parses aData to get the size of the stack the controller requires.
void | SetNetworkCapabilityL | ( | const TDesC8 & | aNetworkCapable | ) | [protected] |
Sets the Network capability found in opaque data
Sets the Network capability found in opaque data
If this is the case, iIsNetworkCtrl is set to EFalse
Parameters | |
---|---|
aNetworkCapable | Declares the incapability to support uri if matches to 'yes'. |
void | SetPlayFormatCollectionUidL | ( | const TDesC8 & | aData | ) | [protected] |
Parses aData to get the collection UID of the play formats supported by this controller.
void | SetRecordFormatCollectionUidL | ( | const TDesC8 & | aData | ) | [protected] |
Parses aData to get the collection UID of the record formats supported by this controller.
void | SetStackSizeL | ( | const TDesC8 & | aData | ) | [protected] |
Parses aData to get the size of the stack the controller requires.
IMPORT_C void | SetUriPriority | ( | TInt | aUriPriority | ) |
Sets the uri priority of this controller
Sets the uri priority of this controller
Parameters | |
---|---|
aUriPriority | The Uri priority to be assigned. |
void | SetUriSchemeL | ( | const TDesC8 & | aUriScheme | ) | [protected] |
Sets the Uri Scheme found in opaque data
Sets the Uri Scheme found in opaque data
Parameters | |
---|---|
aUriScheme | Gives the uri scheme supported by the controller |
IMPORT_C TUint | StackSize | ( | ) | const |
Returns the stack space required by this controller.
IMPORT_C const CDesC8Array & | SupportedUriSchemes | ( | ) | const |
Returns the uri schemes of this plugin.
Returns the uri schemes of this plugin.
IMPORT_C TBool | SupportsNetworkCapability | ( | ) | const |
Tests whether the controller plugin supports url
Tests whether the controller plugin supports url
IMPORT_C TBool | SupportsSecureDRMProcessMode | ( | ) | const |
Check whether the controller plugin supports secure DRM process mode
Check whether the controller plugin supports secure DRM process mode
Tests whether the plugin supports aUriScheme.
Tests whether the plugin supports aUriScheme.
Parameters | |
---|---|
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.
Retrieves the uri priority of this controller