Public Attributes | |
---|---|
const TInt | KMaxCafContentName |
const TInt | KMaxCafUniqueId |
Public Member Functions | |
---|---|
_LIT(KCafVirtualPathSeparator, "|") | |
_LIT(KDefaultContentObject, "DEFAULT") |
Enumerator | Value | Description |
---|---|---|
EAsf | 3 |
Enumerator | Value | Description |
---|---|---|
ENoDcf | 0 | |
EOma1Dcf | 1 | |
EOma2Dcf | 2 | |
EOma1DcfBased | 4 |
Enumerator | Value | Description |
---|---|---|
EOma1Rights | 1 | |
EOma2Rights | 2 | |
ECmlaRights | 3 |
Enumerator | Value | Description |
---|---|---|
EEmbedDomainRo |
Embed any present domain RO into a CContent object Works as an agent specific command for CContent Input buffer: unused Output buffer: unused | |
EOmaDrmMethods |
Return the supported OMA DRM methods Works as an agent specific command for CManager Input buffer: unused Output buffer: String containing the following tokens FL if OMA DRM 1.0 Forward Lock is supported CD if OMA DRM 1.0 Combined Delivery is supported SD if OMA DRM 1.0 Separate Delivery is supported OMADRM2 if OMA DRM 2.0 is supported | |
ESetPendingRightsETA |
Set the value of the x-oma header works as an agent specific command for CManager Input buffer: String containing the following data 4 bytes(TInt) | ContentURI Output buffer: unused | |
EBufferContainsOma1Dcf |
Checks whether a memory buffer contains an OMA DRM 1.0 DCF Input buffer: Memory buffer to check Output buffer: unused Return value: KErrNone if the buffer contains a DCF | |
EDecryptOma1DcfBuffer |
Decrypt an OMA DRM 1.0 DCF memory buffer Input buffer: Intent of the decryption (EPlay, ...) in the first byte, followed by the memory buffer to decrypt Output buffer: Decrypted data | |
ESetContentName |
Set the content name Input buffer: first memory buffer 4 bytes of length of the content name | memory buffer of the new content name | content id Output buffer: unused |
Defines the properties that an application can set in an agent. Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
EAgentPropertyBufferSize | 0 | Set the buffer size used by the agent when reading content. This can be used to optimise performance. |
EAgentPropertyAgentUI | 1 | Enable or disable the Agent's user interface for errors and confirmation requests. 0 = Disable Agent UI, 1 = Enable Agent UI. |
EAgentPropertyMultipleSequence | 2 | Communicates to the agent that a series of operations are to be performed as part of one larger operation. eg. deleting multiple files, the value should be set back to zero when the sequence is finished. 0 = Not performing a multiple sequence, 1 = performing a multiple sequence. |
The list of generic content object attributes. Each of these attributes has a value that is either ETrue or EFalse unless otherwise specified Remember to update any DRM agents if new values are added here.
ETrue If an attribute is true
EFalse If the attribute is false
Enumerator | Value | Description |
---|---|---|
EIsProtected | 0 | Content object is protected. |
EIsForwardable | 1 | Content object can be forwarded to another device or copied to removable media. |
EIsModifyable | 2 | The content can be modified. |
EIsCopyable | 3 | The content object can be duplicated in internal storage. |
ECanPlay | 4 | Rights exist allowing the content to be played. |
ECanPrint | 5 | Rights exist allowing the content to be printed. |
ECanExecute | 6 | Rights exist allowing the content to be executed. |
ECanView | 7 | Rights exist allowing the content to be viewed on screen. |
ERightsNone | 8 | No rights exist for the content object. |
ERightsPending | 9 | Rights are expected to arrive soon. |
ERightsHaveExpired | 10 | Rights were were present but have since expired or been consumed. |
EPreviewAvailable | 11 | A preview URI is available. |
EContentCDataInUse | 12 | Set if the content is currently being used by another CData session. |
ECanRewind | 13 | Media can be rewound without decrementing rights. |
ECopyPaste | 14 | can make copies via the clipboard |
ERightsConsumable | 15 | Rights are consumable. The are decremented whenever content is accessed (ie. play counts). |
ERightsStateless | 16 | Rights are stateless and the content can be used repeatedly until a condition expires (ie. expiry date) |
ECanMove | 17 | Content can be moved. |
ECanRename | 18 | Content can be renamed. |
ECanAutomaticConsume | 19 | Rights can be consumed automatically when the content object is used for say wallpaper. |
EContentVersion | 20 | Version identifying the incarnation of the content object. |
EIsMediaPlayerOnly | 21 | The content can only be accessed by a media player, and cannot be accessed on an automatic event (such as a ringtone) |
EIsAutomatedUseOnly | 22 | The content can only be used on automated events (such as ringtones), and cannot be accessed manually from media players. |
ETrackNumber | 23 | Track number of the content in a collection (e.g. a track number in a music album) |
EAgentSpecificAttributeBase | 32768 | Base index the agents should use when implementing new agent specific attributes. |
Defines the share modes available when opening content for consumption. These modes have no effect unless the content is a file stored on the device. Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
EContentShareReadOnly | 0 | Client will only read and expects others will only read. |
EContentShareReadWrite | 1 | Client expects to read and write and others will read and write. |
EContentShareExclusive | 2 | Client will have exclusive access to the file. This can only be used for unprotected content. |
Type of information to display Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
EFileProperties | 0 | Display file name, last modified date etc. |
EFileAndRights | 1 | Display file information and DRM rights information. |
ERights | 2 | Display DRM rights information only. |
The type of object inside a DRM file Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
EContainerObject | 0 | A container object. |
EContentObject | 1 | A content object. |
EAgentSpecificObject | 2 | An agent specific object. |
Enumerator | Value | Description |
---|---|---|
EMethodNULL | 0x00 | |
EMethodAES_128_CBC | 0x01 | |
EMethodAES_128_CTR | 0x02 |
Enumerator | Value | Description |
---|---|---|
EPaddingNone | 0x00 | |
EPaddingRFC_2630 | 0x01 |
Events relating to DRM objects, powers of 2 so they can be OR'd Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
ERightsAvailable | 1 | Rights have arrived for the content object. |
ERightsExpired | 2 | Rights have expired or have been exhausted. |
EAgentSpecificEventBase | 1023 | Base index for agent-specific events. |
The agent status codes reported when importing a file with the supplier API Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
EInProgress | The import operation is proceeding with no error. | |
EWaitingForNewOutputFile | The agent is waiting for the client application to provide a new output file by calling ContinueWithNewOutputFile() | |
EComplete | The import operation is complete. | |
EFailed | The import was aborted by the agent. | |
EUnsupportedMedia | The mime-type of the content is not supported on this device. |
Set of valid reader intents when opening content. Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
EPeek | 0 | Reader intends to peek at content. |
EPlay | 1 | Reader intends to play content. |
EView | 2 | Reader intends to view content. |
EExecute | 3 | Reader intends to execute content. |
EPrint | 4 | Reader intends to print content. |
EPause | 5 | Reader pauses play operation. |
EContinue | 6 | Reader continues play operation after a pause operation. |
EStop | 7 | Reader stops play operation. |
EUnknown | 8 | Reader is uncertain of how the content will be used. Permits free access to unprotected data but prevents access to protected content. |
EInstall | 9 | Reader intends to install content. |
Defines an internal set of 'standard' MIME header fields. These allow an agent to quickly read the value of a field when importing files
Deprecated
Enumerator | Value | Description |
---|---|---|
EContentType | 0 | Content-Type : |
EContentLength | 1 | Content-Length : |
EContentId | 2 | Content-Id: |
EContentTransferEncoding | 3 | Content-Transfer-Encoding: |
EBoundary | 4 | Boundary: |
EMimeMax | indicates the end of this enumeration |
Enumerator | Value | Description |
---|---|---|
EFileType | EAgentSpecificAttributeBase + 1 | |
EPreviewType | ||
ESilentRightsType | ||
EDeliveryMethod | ||
ERecordingYear |
Enumerator | Value | Description |
---|---|---|
ENoPreview | 0x00 | |
EInstantPreview | 0x01 | |
EPreviewRights | 0x02 |
Deprecated
Enumerator | Value | Description |
---|---|---|
EQosBufferSize | 0 | Size of read buffer suggested by client. |
EQosAttrTop |
State of a rights object Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
ERightsStatusNone | 0 | Rights do not exist. |
ERightsStatusValid | 1 | Rights are valid, ready to use. |
ERightsStatusExpired | 2 | Rights have all expired. |
ERightsStatusPending | 3 | Rights are expected soon. |
The type of rights object
A rights object can be consumable and stateless so these can be OR'd together to form a bit mask Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
ERightsTypeConsumable | 1 | Rights are consumable. The are decremented whenever content is accessed (ie. play counts). |
ERightsTypeStateless | 2 | Rights are stateless and the content can be used repeatedly until a condition expires (ie. expiry date) |
Enumerator | Value | Description |
---|---|---|
ENoSilentRefresh | 0x00 | |
EOnDemand | 0x01 | |
EInAdvance | 0x02 |
The list of generic string attributes. Each of these attributes has a value that is returned to the client as a string. Remember to update any DRM agents if new values are added here.
Enumerator | Value | Description |
---|---|---|
EDescription | 0 | Description of the embedded object. |
EMimeType | 1 | Mime type of the content object. |
ETitle | 2 | Title of the object. |
EAuthor | 3 | Author of the object. |
EIconURI | 4 | Location of the icon for this content. |
EPreviewURI | 5 | Location of a preview of the content. |
EContentURI | 6 | URI where this content can be acquired from. |
EContentID | 7 | Unique CID for this content. |
EInfoURL | 8 | Location of further information about this content. |
EPendingRightsETA | 9 | Expected number of seconds before the rights arrive. |
ETransactionID | 10 | Transaction ID for content object. It may be used to track the content flow from one user to another one. |
EContentLocation | 11 | Location attribute of a content object. May be used as a reference for the object within the content file or as a filename for the object when exported. |
ERightsIssuerURI | 12 | URI where the rights for this content may be acquired from. |
EGenre | 13 | Genre of the content. |
EUserRating | 14 | User rating of the content. |
EAuthoredDate | 15 | The Recording Year Date. |
ECoverURI | 16 | Cover URI for the content. |
EAgentSpecificStringAttributeBase | 32768 | Base index the agents should use when implementing new string attributes. |
Enumerator | Value | Description |
---|---|---|
ERating | EAgentSpecificAttributeBase + 1 | |
EPicture | ||
EText | ||
EComposer | ||
EYear | ||
EOriginalArtist | ||
EWmTrackNumber | ||
EUniqueFileID | ||
EAudioFileUrl | ||
ESharedUserRating | ||
EDate |
_LIT | ( | KCafVirtualPathSeparator | , |
"|" | |||
) |
The character used to separate the URI from the UniqueId when the two are concatenated into a single descriptor
_LIT | ( | KDefaultContentObject | , |
"DEFAULT" | |||
) |
The Unique Id that identifies the default content object within any file