ContentAccess

Public Attributes
const TIntKMaxCafContentName
const TIntKMaxCafUniqueId
Public Member Enumerations
enumanonymous { ENoDcf, EOma1Dcf, EOma2Dcf, EOma1DcfBased }
enumanonymous { EOma1Rights, EOma2Rights, ECmlaRights }
enumanonymous { EEmbedDomainRo, EOmaDrmMethods, ESetPendingRightsETA, EBufferContainsOma1Dcf, ..., ESetContentName }
enumanonymous { EAsf }
enumTAgentProperty { EAgentPropertyBufferSize, EAgentPropertyAgentUI, EAgentPropertyMultipleSequence }
enumTAttribute { EIsProtected, EIsForwardable, EIsModifyable, EIsCopyable, ..., EAgentSpecificAttributeBase }
enumTContentShareMode { EContentShareReadOnly, EContentShareReadWrite, EContentShareExclusive }
enumTDisplayInfo { EFileProperties, EFileAndRights, ERights }
enumTEmbeddedType { EContainerObject, EContentObject, EAgentSpecificObject }
enumTEncryptionMethod { EMethodNULL, EMethodAES_128_CBC, EMethodAES_128_CTR }
enumTEncryptionPadding { EPaddingNone, EPaddingRFC_2630 }
enumTEventMask { ERightsAvailable, ERightsExpired, EAgentSpecificEventBase }
enumTImportStatus { EInProgress, EWaitingForNewOutputFile, EComplete, EFailed, EUnsupportedMedia }
enumTIntent { EPeek, EPlay, EView, EExecute, ..., EInstall }
enumTMimeFields { EContentType, EContentLength, EContentId, EContentTransferEncoding, ..., EMimeMax }
enumTOma2AgentAttribute { EFileType, EPreviewType, ESilentRightsType, EDeliveryMethod, ERecordingYear }
enumTOma2AgentStringAttribute { EInstantPreviewUri, EPreviewRightsUri, ERightsIssuerUrl, ESilentRightsUrl, ..., EFileName }
enumTOmaDrmDeliveryMethod { EOmaDrm1LocalDataFile, EOmaDrm1ForwardLock, EOmaDrm1ForwardLockDcf, EOmaDrm1CombinedDelivery, ..., EOmaDrm2 }
enumTOutputType { EContent, EReceipt }
enumTPreview { ENoPreview, EInstantPreview, EPreviewRights }
enumTQosAttribute { EQosBufferSize, EQosAttrTop }
enumTRightsStatus { ERightsStatusNone, ERightsStatusValid, ERightsStatusExpired, ERightsStatusPending }
enumTRightsTypeMask { ERightsTypeConsumable, ERightsTypeStateless }
enumTSilentRefresh { ENoSilentRefresh, EOnDemand, EInAdvance }
enumTStringAttribute { EDescription, EMimeType, ETitle, EAuthor, ..., EAgentSpecificStringAttributeBase }
enumTWmDrmAgentStringAttribute { ERating, EPicture, EText, EComposer, ..., EDate }
Public Member Functions
_LIT(KCafVirtualPathSeparator, "|")
_LIT(KDefaultContentObject, "DEFAULT")

Member Attribute Documentation

KMaxCafContentName

const TIntKMaxCafContentName

Maximum length of a content object name

KMaxCafUniqueId

const TIntKMaxCafUniqueId

Maximum length of a content or container unique id

Member Enumeration Documentation

Enum anonymous

EnumeratorValueDescription
ENoDcf0
EOma1Dcf1
EOma2Dcf2
EOma1DcfBased4

Enum anonymous

EnumeratorValueDescription
EOma1Rights1
EOma2Rights2
ECmlaRights3

Enum anonymous

EnumeratorValueDescription
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

Enum anonymous

EnumeratorValueDescription
EAsf3

Enum TAgentProperty

Defines the properties that an application can set in an agent. Remember to update any DRM agents if new values are added here.

EnumeratorValueDescription
EAgentPropertyBufferSize0Set the buffer size used by the agent when reading content. This can be used to optimise performance.
EAgentPropertyAgentUI1Enable or disable the Agent's user interface for errors and confirmation requests. 0 = Disable Agent UI, 1 = Enable Agent UI.
EAgentPropertyMultipleSequence2Communicates 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.

Enum TAttribute

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

EnumeratorValueDescription
EIsProtected0Content object is protected.
EIsForwardable1Content object can be forwarded to another device or copied to removable media.
EIsModifyable2The content can be modified.
EIsCopyable3The content object can be duplicated in internal storage.
ECanPlay4Rights exist allowing the content to be played.
ECanPrint5Rights exist allowing the content to be printed.
ECanExecute6Rights exist allowing the content to be executed.
ECanView7Rights exist allowing the content to be viewed on screen.
ERightsNone8No rights exist for the content object.
ERightsPending9Rights are expected to arrive soon.
ERightsHaveExpired10Rights were were present but have since expired or been consumed.
EPreviewAvailable11A preview URI is available.
EContentCDataInUse12Set if the content is currently being used by another CData session.
ECanRewind13Media can be rewound without decrementing rights.
ECopyPaste14can make copies via the clipboard
ERightsConsumable15Rights are consumable. The are decremented whenever content is accessed (ie. play counts).
ERightsStateless16Rights are stateless and the content can be used repeatedly until a condition expires (ie. expiry date).
ECanMove17Content can be moved.
ECanRename18Content can be renamed.
ECanAutomaticConsume19Rights can be consumed automatically when the content object is used for say wallpaper.
EContentVersion20Version identifying the incarnation of the content object.
EIsMediaPlayerOnly21The content can only be accessed by a media player, and cannot be accessed on an automatic event (such as a ringtone).
EIsAutomatedUseOnly22The content can only be used on automated events (such as ringtones), and cannot be accessed manually from media players.
ETrackNumber23Track number of the content in a collection (e.g. a track number in a music album).
EAgentSpecificAttributeBase32768Base index the agents should use when implementing new agent specific attributes.

Enum TContentShareMode

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.

EnumeratorValueDescription
EContentShareReadOnly0Client will only read and expects others will only read.
EContentShareReadWrite1Client expects to read and write and others will read and write.
EContentShareExclusive2Client will have exclusive access to the file. This can only be used for unprotected content.

Enum TDisplayInfo

Type of information to display Remember to update any DRM agents if new values are added here.

EnumeratorValueDescription
EFileProperties0Display file name, last modified date etc.
EFileAndRights1Display file information and DRM rights information.
ERights2Display DRM rights information only.

Enum TEmbeddedType

The type of object inside a DRM file Remember to update any DRM agents if new values are added here.

EnumeratorValueDescription
EContainerObject0A container object.
EContentObject1A content object.
EAgentSpecificObject2An agent specific object.

Enum TEncryptionMethod

EnumeratorValueDescription
EMethodNULL0x00
EMethodAES_128_CBC0x01
EMethodAES_128_CTR0x02

Enum TEncryptionPadding

EnumeratorValueDescription
EPaddingNone0x00
EPaddingRFC_26300x01

Enum TEventMask

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.

EnumeratorValueDescription
ERightsAvailable1Rights have arrived for the content object.
ERightsExpired2Rights have expired or have been exhausted.
EAgentSpecificEventBase1023Base index for agent-specific events.

Enum TImportStatus

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.

EnumeratorValueDescription
EInProgressThe import operation is proceeding with no error.
EWaitingForNewOutputFileThe agent is waiting for the client application to provide a new output file by calling ContinueWithNewOutputFile().
ECompleteThe import operation is complete.
EFailedThe import was aborted by the agent.
EUnsupportedMediaThe mime-type of the content is not supported on this device.

Enum TIntent

Set of valid reader intents when opening content. Remember to update any DRM agents if new values are added here.

EnumeratorValueDescription
EPeek0Reader intends to peek at content.
EPlay1Reader intends to play content.
EView2Reader intends to view content.
EExecute3Reader intends to execute content.
EPrint4Reader intends to print content.
EPause5Reader pauses play operation.
EContinue6Reader continues play operation after a pause operation.
EStop7Reader stops play operation.
EUnknown8Reader is uncertain of how the content will be used. Permits free access to unprotected data but prevents access to protected content.
EInstall9Reader intends to install content.

Enum TMimeFields

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

EnumeratorValueDescription
EContentType0Content-Type :
EContentLength1Content-Length :
EContentId2Content-Id:
EContentTransferEncoding3Content-Transfer-Encoding:
EBoundary4Boundary:
EMimeMaxindicates the end of this enumeration

Enum TOma2AgentAttribute

EnumeratorValueDescription
EFileTypeEAgentSpecificAttributeBase + 1
EPreviewType
ESilentRightsType
EDeliveryMethod
ERecordingYear

Enum TOma2AgentStringAttribute

Enum TOmaDrmDeliveryMethod

Enum TOutputType

Defines the types of output file produced when importing files into the Content Access Famework using CImportFile Remember to update any DRM agents if new values are added here.

EnumeratorValueDescription
EContent0Content file produced.
EReceipt1Receipt for rights produced.

Enum TPreview

EnumeratorValueDescription
ENoPreview0x00
EInstantPreview0x01
EPreviewRights0x02

Enum TQosAttribute

EnumeratorValueDescription
EQosBufferSize0Size of read buffer suggested by client.
EQosAttrTop

Enum TRightsStatus

State of a rights object Remember to update any DRM agents if new values are added here.

EnumeratorValueDescription
ERightsStatusNone0Rights do not exist.
ERightsStatusValid1Rights are valid, ready to use.
ERightsStatusExpired2Rights have all expired.
ERightsStatusPending3Rights are expected soon.

Enum TRightsTypeMask

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.

EnumeratorValueDescription
ERightsTypeConsumable1Rights are consumable. The are decremented whenever content is accessed (ie. play counts).
ERightsTypeStateless2Rights are stateless and the content can be used repeatedly until a condition expires (ie. expiry date).

Enum TSilentRefresh

EnumeratorValueDescription
ENoSilentRefresh0x00
EOnDemand0x01
EInAdvance0x02

Enum TStringAttribute

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.

EnumeratorValueDescription
EDescription0Description of the embedded object.
EMimeType1Mime type of the content object.
ETitle2Title of the object.
EAuthor3Author of the object.
EIconURI4Location of the icon for this content.
EPreviewURI5Location of a preview of the content.
EContentURI6URI where this content can be acquired from.
EContentID7Unique CID for this content.
EInfoURL8Location of further information about this content.
EPendingRightsETA9Expected number of seconds before the rights arrive.
ETransactionID10Transaction ID for content object. It may be used to track the content flow from one user to another one.
EContentLocation11Location 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.
ERightsIssuerURI12URI where the rights for this content may be acquired from.
EGenre13Genre of the content.
EUserRating14User rating of the content.
EAuthoredDate15The Recording Year Date.
ECoverURI16Cover URI for the content.
EAgentSpecificStringAttributeBase32768Base index the agents should use when implementing new string attributes.

Enum TWmDrmAgentStringAttribute

Member Function Documentation

_LIT ( KCafVirtualPathSeparator, "|" )

_LIT(KCafVirtualPathSeparator,
"|"
)

The character used to separate the URI from the UniqueId when the two are concatenated into a single descriptor