RDRMRightsClient Class Reference

class RDRMRightsClient : public RSessionBase

This class is the client side interface for DRM3 Rights Server. This class can be used to access the DRM Rights Database.

DRM Core
Since
S60 Release 2.5

Inherits from

Public Member Functions
RDRMRightsClient()
~RDRMRightsClient()
IMPORT_C TIntAddDomainRO(const TDesC8 &, const TDesC8 &)
IMPORT_C TIntAddProtectedRecord(const TDesC8 &, TBool, const CDRMPermission &, const TDesC8 &, TDRMUniqueID &)
IMPORT_C TIntAddRecord(const TDesC8 &, const CDRMPermission &, const TDesC8 &, TDRMUniqueID &)
IMPORT_C TIntAddToCache(const TDesC8 &, const TTime &)
IMPORT_C TIntAddToCache(const TDesC8 &)
IMPORT_C TIntCalculatePadding(const TDesC8 &)
IMPORT_C voidCancel()
IMPORT_C TIntCheckConsume(const TInt, const TDesC8 &)
IMPORT_C TIntCheckRights(const TInt, const TDesC8 &, TUint32 &)
IMPORT_C voidClose()
IMPORT_C TIntConnect()
IMPORT_C TIntConsume(const TInt, const TDesC8 &)
IMPORT_C TIntCount()
IMPORT_C TIntDecodeRightsIssuerField(const TDesC8 &, HBufC8 *&)
IMPORT_C TIntDecrypt(const TDesC8 &, TPtr8 &, TBool)
IMPORT_C TIntDeleteAll()
IMPORT_C TIntDeleteDbEntry(const TDesC8 &)
IMPORT_C TIntDeleteDbEntry(const TDesC8 &, const TDRMUniqueID &)
IMPORT_C TIntDeleteDomainRO(const TDesC8 &)
IMPORT_C voidDeleteExpiredPermissions(TRequestStatus &)
IMPORT_C TIntDeleteMeteringDataL(const TDesC8 &)
IMPORT_C TIntEncodeRightsIssuerField(const TDesC8 &, HBufC8 *&)
IMPORT_C TIntEncrypt(const TDesC8 &, TPtr8 &, TBool)
IMPORT_C TIntExportContentIDList(TDes &)
IMPORT_C TIntExportContentIDList(RPointerArray< HBufC8 > &)
IMPORT_C TIntExportOrphanedContentIdList(TDes &)
IMPORT_C TIntExportOrphanedContentIdList(RPointerArray< HBufC8 > &)
IMPORT_C TIntForwardLockURI(HBufC8 *&)
IMPORT_C CDRMPermission *GetActiveRightsL(const TInt, const TDesC8 &, TUint32 &)
IMPORT_C TIntGetAuthenticationSeed(const TDesC8 &, TDes8 &)
IMPORT_C voidGetDBEntriesL(const TDesC8 &, RPointerArray< CDRMPermission > &)
IMPORT_C CDRMPermission *GetDbEntryL(const TDesC8 &, const TDRMUniqueID &)
IMPORT_C TIntGetDecryptionKey(const TInt, const TDesC8 &, TDes8 &)
IMPORT_C HBufC8 *GetDomainROL(const TDesC8 &)
IMPORT_C voidGetDomainRosForCidL(const TDesC8 &, RPointerArray< HBufC8 > &)
IMPORT_C TIntGetEstimatedArrival(const TDesC8 &, TTimeIntervalSeconds &)
IMPORT_C HBufC8 *GetMeteringDataL(const TDesC8 &)
IMPORT_C TIntGetName(const TDesC8 &, HBufC *&)
IMPORT_C voidGetRandomDataL(TDes8 &)
IMPORT_C TIntGetSupportedIndividualsL(RPointerArray< HBufC8 > &)
IMPORT_C TIntGetUdtData(TDes8 &)
IMPORT_C voidInitOrphanedContentIdList(TBool, TRequestStatus &)
IMPORT_C TIntInitializeGroupKey(const TDesC8 &, const TDesC8 &, TEncryptionMethod)
IMPORT_C TIntInitializeKey(const TDesC8 &)
IMPORT_C TIntInitiateUdt(const TDesC8 &)
IMPORT_C TIntIsInCache(const TDesC8 &, const TTime &, TBool &)
IMPORT_C TIntIsInCache(const TDesC8 &, TBool &)
IMPORT_C TIntSetAuthenticationSeed(const TDesC8 &, const TDesC8 &)
IMPORT_C TIntSetEstimatedArrival(const TDesC8 &, TTimeIntervalSeconds)
IMPORT_C TIntSetName(const TDesC8 &, const TDesC &)
IMPORT_C TIntStartServer()
IMPORT_C voidStopWatching()
IMPORT_C TIntUnwrapMacAndRek(const TDesC8 &, TKeyTransportScheme, const TDesC8 &, const TDesC8 &)
IMPORT_C TIntVerifyMacL(const TDesC8 &, const TDesC8 &)
Private Member Functions
RDRMRightsClient(const RDRMRightsClient &)
voidFileToListL(RFs &, const TDesC &, RPointerArray< CDRMPermission > &)
voidURIFileToArrayL(RFs &, const TDesC &, RPointerArray< HBufC8 > &)
RDRMRightsClient &operator=(const RDRMRightsClient &)
Inherited Functions
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
RHandleBase::DoExtendedClose()
RHandleBase::Duplicate(const RThread &,TOwnerType)
RHandleBase::FullName()const
RHandleBase::FullName(TDes &)const
RHandleBase::Handle()const
RHandleBase::HandleInfo(THandleInfo *)
RHandleBase::Name()const
RHandleBase::NotifyDestruction(TRequestStatus &)
RHandleBase::Open(const TFindHandleBase &,TOwnerType)
RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt)
RHandleBase::RHandleBase()
RHandleBase::RHandleBase(TInt)
RHandleBase::SetHandle(TInt)
RHandleBase::SetHandleNC(TInt)
RSessionBase::CreateSession(RServer2,const TVersion &)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TRequestStatus *)
RSessionBase::Open(RMessagePtr2,TInt,TOwnerType)
RSessionBase::Open(RMessagePtr2,TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Open(TInt,TOwnerType)
RSessionBase::Open(TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Send(TInt)const
RSessionBase::Send(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt)const
RSessionBase::SendReceive(TInt,TRequestStatus &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const
RSessionBase::SetReturnedHandle(TInt)
RSessionBase::SetReturnedHandle(TInt,RHandleBase &)
RSessionBase::SetReturnedHandle(TInt,const TSecurityPolicy &)
RSessionBase::ShareAuto()
RSessionBase::ShareProtected()
Inherited Enumerations
RHandleBase:TAttributes
RSessionBase:TAttachMode
Private Attributes
TAny *iPtr
Inherited Attributes
RHandleBase::iHandle

Constructor & Destructor Documentation

RDRMRightsClient()

IMPORT_CRDRMRightsClient()

C++ default constructor.

RDRMRightsClient(const RDRMRightsClient &)

RDRMRightsClient(const RDRMRightsClient &)[private]

Parameters

const RDRMRightsClient &

~RDRMRightsClient()

IMPORT_C~RDRMRightsClient()[virtual]

Destructor.

Member Functions Documentation

AddDomainRO(const TDesC8 &, const TDesC8 &)

IMPORT_C TIntAddDomainRO(const TDesC8 &aRoId,
const TDesC8 &aXmlData
)

AddDomainRO

Add the xml representation of the domain RO to the database

Parameters

const TDesC8 & aRoId: the rights object id of the domain ro
const TDesC8 & aXmlData: the xml data of the rights object

AddProtectedRecord(const TDesC8 &, TBool, const CDRMPermission &, const TDesC8 &, TDRMUniqueID &)

IMPORT_C TIntAddProtectedRecord(const TDesC8 &aProtectedCek,
TBoolaDomainRecord,
const CDRMPermission &aRightsObject,
const TDesC8 &aCID,
TDRMUniqueID &aID
)
Adds a protected RO where the CEK wrapped with another key.
Since
3.0

Parameters

const TDesC8 & aProtectedCekwrapped CEK
TBool aDomainRecord
const CDRMPermission & aRightsObjectRights object to be added.
const TDesC8 & aCIDContent-ID.
TDRMUniqueID & aID

AddRecord(const TDesC8 &, const CDRMPermission &, const TDesC8 &, TDRMUniqueID &)

IMPORT_C TIntAddRecord(const TDesC8 &aCEK,
const CDRMPermission &aRightsObject,
const TDesC8 &aCID,
TDRMUniqueID &aID
)
Adds the given rights object into rights database.
Since
S60Rel2.5

Parameters

const TDesC8 & aCEKCEK.
const CDRMPermission & aRightsObjectRights object to be added.
const TDesC8 & aCIDContent-ID.
TDRMUniqueID & aID

AddToCache(const TDesC8 &, const TTime &)

IMPORT_C TIntAddToCache(const TDesC8 &aID,
const TTime &aTime
)

AddToReplayCache

Adds an entry to Replay Cache. Note! Does not check whether the entry is already in cache. Use IsInCache() first to determine whether the entry already exists.

Parameters

const TDesC8 & aID
const TTime & aTime

AddToCache(const TDesC8 &)

IMPORT_C TIntAddToCache(const TDesC8 &aID)

AddToReplayCache

Adds an entry to Replay Cache. Note! Does not check whether the entry is already in cache. Use IsInCache() first to determine whether the entry already exists.

Parameters

const TDesC8 & aID

CalculatePadding(const TDesC8 &)

IMPORT_C TIntCalculatePadding(const TDesC8 &aLastTwoDataBlocks)
Calculate the padding amount for a data block
Since
3.0

Parameters

const TDesC8 & aLastTwoDataBlocks

Cancel()

IMPORT_C voidCancel()

Cancel

Cancel any asynchronous operation.

Since
3.0

CheckConsume(const TInt, const TDesC8 &)

IMPORT_C TIntCheckConsume(const TIntaIntent,
const TDesC8 &aContentID
)
Check if Consume is possible. Does not consume rights.
Since
3.0

Parameters

const TInt aIntent
const TDesC8 & aContentID

CheckRights(const TInt, const TDesC8 &, TUint32 &)

IMPORT_C TIntCheckRights(const TIntaIntent,
const TDesC8 &aContentID,
TUint32 &aRejection
)

This method checks whether the caller has sufficient rights over the content at this very moment.

Parameters

const TInt aIntentIntended usage.
const TDesC8 & aContentIDContent-ID.
TUint32 & aRejection

Close()

IMPORT_C voidClose()
This function closes the connection between the client and the server. It is safe to call this method even if connection is not established.
Since
S60Rel2.5

Connect()

IMPORT_C TIntConnect()
This method opens the connection between the client and the server.
Since
2.5

Consume(const TInt, const TDesC8 &)

IMPORT_C TIntConsume(const TIntaIntent,
const TDesC8 &aContentID
)
Consume the right with specific contentID and intent
Since
2.5

Parameters

const TInt aIntent
const TDesC8 & aContentID

Count()

IMPORT_C TIntCount()
Returns the amount of unique URIs in the database.
Since
2.5

DecodeRightsIssuerField(const TDesC8 &, HBufC8 *&)

IMPORT_C TIntDecodeRightsIssuerField(const TDesC8 &aEncoded,
HBufC8 *&aDecoded
)

Parameters

const TDesC8 & aEncoded
HBufC8 *& aDecoded

Decrypt(const TDesC8 &, TPtr8 &, TBool)

IMPORT_C TIntDecrypt(const TDesC8 &aIv,
TPtr8 &aData,
TBoolaRemovePadding = EFalse
)

Decrypts data using the session key. Padding will be removed if requested.

Parameters

const TDesC8 & aIvAES CBC initialization vector
TPtr8 & aDatadata to be encrypted, encrypted data on return
TBool aRemovePadding = EFalse

DeleteAll()

IMPORT_C TIntDeleteAll()
Empties the rights database totally.
Since
2.5

DeleteDbEntry(const TDesC8 &)

IMPORT_C TIntDeleteDbEntry(const TDesC8 &aContentID)
Deletes all rights objects with specified Content-ID.
Since
S60Rel2.5

Parameters

const TDesC8 & aContentIDContent-ID of the rights objects to be deleted.

DeleteDbEntry(const TDesC8 &, const TDRMUniqueID &)

IMPORT_C TIntDeleteDbEntry(const TDesC8 &aContentID,
const TDRMUniqueID &aUniqueID
)
Deletes one rights object, identified by Content-ID and unique ID.
Since
S60Rel2.5

Parameters

const TDesC8 & aContentIDContent-ID of the rights object.
const TDRMUniqueID & aUniqueIDUnique ID.

DeleteDomainRO(const TDesC8 &)

IMPORT_C TIntDeleteDomainRO(const TDesC8 &aRoId)

DeleteDomainRO

Delete the xml representation of the domain RO from the database

Parameters

const TDesC8 & aRoId: the rights object id of the domain ro

DeleteExpiredPermissions(TRequestStatus &)

IMPORT_C voidDeleteExpiredPermissions(TRequestStatus &aStatus)

DeleteExpiredPermissions

Deletes expired permissions from the rights database Note this function will possibly take a lot of time to complete and if the drm time is not available it does not touch any time based rights

Parameters

TRequestStatus & aStatus

DeleteMeteringDataL(const TDesC8 &)

IMPORT_C TIntDeleteMeteringDataL(const TDesC8 &aRiId)

Deletes the metering data of the requested rights-issuer id

Since
3.2

Parameters

const TDesC8 & aRiId: Rights-Issuer Id for which the metering data is deleted

EncodeRightsIssuerField(const TDesC8 &, HBufC8 *&)

IMPORT_C TIntEncodeRightsIssuerField(const TDesC8 &aOldValue,
HBufC8 *&aNewValue
)

Parameters

const TDesC8 & aOldValue
HBufC8 *& aNewValue

Encrypt(const TDesC8 &, TPtr8 &, TBool)

IMPORT_C TIntEncrypt(const TDesC8 &aIv,
TPtr8 &aData,
TBoolaAddPadding = EFalse
)

Encrypts data using the session key. The data parameter must have enough space to accomodate for the addition of the paddding if it shall be added (up to 32 bytes more data)

Parameters

const TDesC8 & aIvAES CBC initialization vector
TPtr8 & aDatadata to be encrypted, encrypted data on return
TBool aAddPadding = EFalse

ExportContentIDList(TDes &)

IMPORT_C TIntExportContentIDList(TDes &aFileName)
Exports all content ID's from the database to a file.
Since
S60Rel2.5

Parameters

TDes & aFileNameOut-parameter: contains the name of the file if the method completes with KErrNone. The descriptor parameter is assumed to be large enough. The caller is responsible of deleting the file afterwards.

ExportContentIDList(RPointerArray< HBufC8 > &)

IMPORT_C TIntExportContentIDList(RPointerArray< HBufC8 > &aCIDList)
This method exports all Content-IDs from the database file in an array. The caller is responsible of destroying the array afterwards.
Since
S60Rel2.5

Parameters

RPointerArray< HBufC8 > & aCIDListAn out-parameter: contains the Content-IDs after successful return.

ExportOrphanedContentIdList(TDes &)

IMPORT_C TIntExportOrphanedContentIdList(TDes &aFileName)
Exports all orphaned content ID's from the database to a file.
Since
3.0

Parameters

TDes & aFileNameOut-parameter: contains the name of the file if the method completes with KErrNone. The descriptor parameter is assumed to be large enough. The caller is responsible of deleting the file afterwards.

ExportOrphanedContentIdList(RPointerArray< HBufC8 > &)

IMPORT_C TIntExportOrphanedContentIdList(RPointerArray< HBufC8 > &aContentIdList)
Exports all orphaned content ID's from the database in an array. The caller is responsible of destroying the array afterwards.
Since
3.0

Parameters

RPointerArray< HBufC8 > & aContentIdList: An out-parameter: contains the Content-IDs after successful return.

FileToListL(RFs &, const TDesC &, RPointerArray< CDRMPermission > &)

voidFileToListL(RFs &aFs,
const TDesC &aFileName,
RPointerArray< CDRMPermission > &aList
)[private]
Convert internally used temporary file into list.
Since
S60Rel2.5

Parameters

RFs & aFsOpen file server session.
const TDesC & aFileNameSource file name
RPointerArray< CDRMPermission > & aListDestination list.

ForwardLockURI(HBufC8 *&)

IMPORT_C TIntForwardLockURI(HBufC8 *&aURI)

Parameters

HBufC8 *& aURI

GetActiveRightsL(const TInt, const TDesC8 &, TUint32 &)

IMPORT_C CDRMPermission *GetActiveRightsL(const TIntaIntent,
const TDesC8 &aContentID,
TUint32 &aRejection
)

This method checks whether the caller has sufficient rights over the content at this very moment. It also returns the active rights.

Parameters

const TInt aIntentIntended usage.
const TDesC8 & aContentIDContent-ID.
TUint32 & aRejection

GetAuthenticationSeed(const TDesC8 &, TDes8 &)

IMPORT_C TIntGetAuthenticationSeed(const TDesC8 &aContentId,
TDes8 &aSeed
)
GSets the authentication seed data for a content ID
Since
3.0

Parameters

const TDesC8 & aContentId
TDes8 & aSeedAuthentication seed

GetDBEntriesL(const TDesC8 &, RPointerArray< CDRMPermission > &)

IMPORT_C voidGetDBEntriesL(const TDesC8 &aId,
RPointerArray< CDRMPermission > &aRightsList
)
Gets all database entries related to specified Content-ID.
Since
S60Rel2.5

Parameters

const TDesC8 & aIdContent ID.
RPointerArray< CDRMPermission > & aRightsListList of rights objects.

GetDbEntryL(const TDesC8 &, const TDRMUniqueID &)

IMPORT_C CDRMPermission *GetDbEntryL(const TDesC8 &aContentID,
const TDRMUniqueID &aUniqueID
)
Gets a database entry related to given content ID and unique ID.
Since
S60Rel2.5

Parameters

const TDesC8 & aContentIDContent-ID.
const TDRMUniqueID & aUniqueIDUnique identifier.

GetDecryptionKey(const TInt, const TDesC8 &, TDes8 &)

IMPORT_C TIntGetDecryptionKey(const TIntaIntent,
const TDesC8 &aContentID,
TDes8 &aKey
)

Returns the decryption key to the content.

Since
2.5

Parameters

const TInt aIntentIn-parameter: How the content is going to be consumed.
const TDesC8 & aContentIDContent-ID of the related content.
TDes8 & aKeyOut-parameter: Contains the key if function returns successfully.

GetDomainROL(const TDesC8 &)

IMPORT_C HBufC8 *GetDomainROL(const TDesC8 &aRoId)

GetDomainROL

Get the xml representation of the domain RO from the database

Parameters

const TDesC8 & aRoId: the rights object id of the domain ro

GetDomainRosForCidL(const TDesC8 &, RPointerArray< HBufC8 > &)

IMPORT_C voidGetDomainRosForCidL(const TDesC8 &aContentId,
RPointerArray< HBufC8 > &aRoList
)

GetDomainRoForCidL

Get the domain RO for a content ID from the database

Parameters

const TDesC8 & aContentIdthe content ID of the domain ro
RPointerArray< HBufC8 > & aRoListlist of domain rights objects for this ID

GetEstimatedArrival(const TDesC8 &, TTimeIntervalSeconds &)

IMPORT_C TIntGetEstimatedArrival(const TDesC8 &aContentID,
TTimeIntervalSeconds &aDeltaSeconds
)

GetEstimatedArrival

Gets the time in which the rights object should arrive

Since
3.0

Parameters

const TDesC8 & aContentID: content URI
TTimeIntervalSeconds & aDeltaSeconds: time in seconds to wait for rights -1 if the content should have arrived

GetMeteringDataL(const TDesC8 &)

IMPORT_C HBufC8 *GetMeteringDataL(const TDesC8 &aRiId)

Returns the metering data for the requested rights-issuer id

Since
3.2

Parameters

const TDesC8 & aRiId: Rights-Issuer Id for which the metering data is acquired

GetName(const TDesC8 &, HBufC *&)

IMPORT_C TIntGetName(const TDesC8 &aContentID,
HBufC *&aName
)

GetName

Retrieves the human-readable name associated to given content-ID

Since
3.0

Parameters

const TDesC8 & aContentID
HBufC *& aName

GetRandomDataL(TDes8 &)

IMPORT_C voidGetRandomDataL(TDes8 &aRandomData)const

Fills the input buffer with random data. The length of the aRandomData must be set to the correct value.

Since
3.1

Parameters

TDes8 & aRandomData: Out-parameter that will be filled with random data

GetSupportedIndividualsL(RPointerArray< HBufC8 > &)

IMPORT_C TIntGetSupportedIndividualsL(RPointerArray< HBufC8 > &aIndividuals)const

Retrieve the individuals from the Rights Server so proper comparisons of rights object validity can be performed outside of the rights server

Since
3.1

Parameters

RPointerArray< HBufC8 > & aIndividuals: Pointer array of the individuals supported

GetUdtData(TDes8 &)

IMPORT_C TIntGetUdtData(TDes8 &aUdtData)

GetUdtData

Retrieves the udt data from the server

Since
3.0

Parameters

TDes8 & aUdtData

InitOrphanedContentIdList(TBool, TRequestStatus &)

IMPORT_C voidInitOrphanedContentIdList(TBoolaPerformScan,
TRequestStatus &aStatus
)

Initializes the export all orphaned content ID's. When the request completes, you can ask for the contents with the ExportOrphanedContentIdList functions

Since
3.0

Parameters

TBool aPerformScan: ETrue if file system scan needs to be performed EFalse if not
TRequestStatus & aStatus: Request status for the asynchronous call

InitializeGroupKey(const TDesC8 &, const TDesC8 &, TEncryptionMethod)

IMPORT_C TIntInitializeGroupKey(const TDesC8 &aGroupId,
const TDesC8 &aGroupKey,
TEncryptionMethodaMethod
)

Similar to InitializeKeyL, but sets the key by using a group key as the input.

Parameters

const TDesC8 & aGroupId
const TDesC8 & aGroupKeyGroup key
TEncryptionMethod aMethod

InitializeKey(const TDesC8 &)

IMPORT_C TIntInitializeKey(const TDesC8 &aContentId)

Sets the key for subsequent encryption and decryption operations. The key is stored on the server side in the session and will be usable until the session is closed. The key will be fetched from the rights database by looking up the content ID.

Parameters

const TDesC8 & aContentIdContent ID to get the key for

InitiateUdt(const TDesC8 &)

IMPORT_C TIntInitiateUdt(const TDesC8 &aKey)

InitializeUdt

Initializes the user data transfer

Since
3.0

Parameters

const TDesC8 & aKey: Encryption key of the udt file encrypted with the device public key

IsInCache(const TDesC8 &, const TTime &, TBool &)

IMPORT_C TIntIsInCache(const TDesC8 &aID,
const TTime &aTime,
TBool &aInCache
)

IsInReplayCache

Checks whether the protected RO identified by aID and aTime has already been added to Replay Cache.

Parameters

const TDesC8 & aID
const TTime & aTime
TBool & aInCache

IsInCache(const TDesC8 &, TBool &)

IMPORT_C TIntIsInCache(const TDesC8 &aID,
TBool &aInCache
)

IsInReplayCache

Checks whether the protected RO identified by aID has already been added to Replay Cache.

Parameters

const TDesC8 & aID
TBool & aInCache

SetAuthenticationSeed(const TDesC8 &, const TDesC8 &)

IMPORT_C TIntSetAuthenticationSeed(const TDesC8 &aContentId,
const TDesC8 &aSeed
)
Sets the authentication seed data for a content ID
Since
3.0

Parameters

const TDesC8 & aContentId
const TDesC8 & aSeedAuthentication seed

SetEstimatedArrival(const TDesC8 &, TTimeIntervalSeconds)

IMPORT_C TIntSetEstimatedArrival(const TDesC8 &aContentID,
TTimeIntervalSecondsaDeltaSeconds
)

SetEstimatedArrival

Sets the time in which the rights object should arrive

Since
3.0

Parameters

const TDesC8 & aContentID: content URI
TTimeIntervalSeconds aDeltaSeconds: time in seconds to wait for rights

SetName(const TDesC8 &, const TDesC &)

IMPORT_C TIntSetName(const TDesC8 &aContentID,
const TDesC &aName
)

SetName

Associates a human-readable name to given content-ID.

Since
3.0

Parameters

const TDesC8 & aContentID
const TDesC & aName

StartServer()

IMPORT_C TIntStartServer()[static]
Starts the rights server in case it is not yet started. It is safe to call this method even if the server is running.
Since
S60Rel3.0

StopWatching()

IMPORT_C voidStopWatching()const

Stop watching the DCF repository server

Since
3.1

URIFileToArrayL(RFs &, const TDesC &, RPointerArray< HBufC8 > &)

voidURIFileToArrayL(RFs &aFs,
const TDesC &aFile,
RPointerArray< HBufC8 > &aList
)[private]
Converts a file of URIs into an array.
Since
S60Rel2.5

Parameters

RFs & aFsOpen file server session.
const TDesC & aFileInput file.
RPointerArray< HBufC8 > & aListOutput list.

UnwrapMacAndRek(const TDesC8 &, TKeyTransportScheme, const TDesC8 &, const TDesC8 &)

IMPORT_C TIntUnwrapMacAndRek(const TDesC8 &aMacAndRek,
TKeyTransportSchemeaTransportScheme,
const TDesC8 &aRightsIssuerId,
const TDesC8 &aDomainId
)const

Unwraps MAC and REK keys that are protected using device public key or domain key. If the keys are wrapped with device public key aDomainId parameter must be set to zero length.

Since
3.1

Parameters

const TDesC8 & aMacAndRek: Public key protected MAC and REK keys
TKeyTransportScheme aTransportScheme
const TDesC8 & aRightsIssuerId
const TDesC8 & aDomainId

VerifyMacL(const TDesC8 &, const TDesC8 &)

IMPORT_C TIntVerifyMacL(const TDesC8 &aSignedInfoElement,
const TDesC8 &aMacValue
)const

Integrity protection for protected ROs. Calculates HMAC value usign aSignedInfoElement and MAC key. MAC key is unwrapped in AddRecord method. So AddRecord must be called successfully before this method can be called.

Since
3.0

Parameters

const TDesC8 & aSignedInfoElementComplete XML ro element <roap:ro>
const TDesC8 & aMacValueMAC value from protectedRO element

operator=(const RDRMRightsClient &)

RDRMRightsClient &operator=(const RDRMRightsClient &)[private]

Parameters

const RDRMRightsClient &

Member Data Documentation

TAny * iPtr

TAny *iPtr[private]