IDrmService Interface Reference


Description

This internal interface enables other platform services to update the DRM Service with new data.

import "IDrmService.idl";

List of all members.

Public Member Functions

void CreateCciSupplierId (out long cciSupplierId)
void NewCci (in long cciSupplierId, in long mediaSessionId, in TCci cci, in long cciLength) raises (TToiInvalidArgumentException)
void SetBypassCci (in TCci cci, in long cciLength) raises (TToiInvalidArgumentException, TToiPermissionDeniedException)
void SetDefaultCci () raises (TToiInvalidArgumentException)
void AssetCopied (in string originalAssetUrl, in string copyAssetUrl) raises (TToiInvalidArgumentException, TToiPermissionDeniedException)
void GetCurrentOutputControl (in long mediaSessionId, out TToiOutputControl outputControl) raises (TToiInvalidArgumentException)
void QueryCopyPermission (in string assetUrl, out TToiCopyPermission copyPermission, out long remainingCopies) raises (TToiInvalidArgumentException)
void RegisterObserver (in IToiApplicationService::TToiApplicationId applicationId, in string address) raises (TToiInvalidArgumentException)
void ReleaseObserver (in string address) raises (TToiInvalidArgumentException)

Public Types

typedef sequence< octet > TCci
typedef sequence< octet > binary
enum  TToiCopyPermission { COPY_FREE, COPY_NO_MORE, COPY_10, COPY_NEVER }

Member Enumeration Documentation

Copy permissions for assets

Enumerator:
COPY_FREE 

The asset can be copy freely

COPY_NO_MORE 

The asset can not be copied anymore

COPY_10 

The asset can be copied at most 10 times

COPY_NEVER 

The asset cannot be copied


Member Function Documentation

void IDrmService::AssetCopied ( in string  originalAssetUrl,
in string  copyAssetUrl 
) raises (TToiInvalidArgumentException, TToiPermissionDeniedException)

Copies the license file for an asset. This function shall be called after the asset data has been copied to a new location.

Parameters:
originalAssetUrl The original asset url.
copyAssetUrl The asset copy url.
Exceptions:
TToiInvalidArgumentException Raised if the given url is not valid.
TToiPermissionDeniedException Raised if the copying the asset was not allowed. Caller should immediately remove the copy.
void IToiDrmService::GetCurrentOutputControl ( in long  mediaSessionId,
out TToiOutputControl  outputControl 
) raises (TToiInvalidArgumentException) [inherited]

Returns the current output control for a specific session.

Parameters:
mediaSessionId The media session for which the CCI is requested.
Return values:
outputControl The CCI.
Exceptions:
TToiInvalidArgumentException The media session identifier is invalid.
void IToiDrmService::QueryCopyPermission ( in string  assetUrl,
out TToiCopyPermission  copyPermission,
out long  remainingCopies 
) raises (TToiInvalidArgumentException) [inherited]

Queries whether an asset can be copied.

Parameters:
assetUrl The URL to the asset
Return values:
copyPermission Indicates the permission.
remainingCopies If copyPermission is COPY_10, this argument indicates the number of remaining copies.
Exceptions:
TToiInvalidArgumentException The asset identifier is invalid.
void IToiDrmService::RegisterObserver ( in IToiApplicationService::TToiApplicationId  applicationId,
in string  address 
) raises (TToiInvalidArgumentException) [inherited]

Register an observer of type IToiDrmObserver. The observer will receive events sent by this IToiDrmService instance.

Parameters:
applicationId The identifier of the observing application.
address The address where the IToiDrmService can find an IToiDrmObserver interface.
Exceptions:
TToiInvalidArgumentException Raised if the specified address is invalid or if the application has already registered itself as an observer with the same address.
See also:
IToiDrmObserver
void IToiDrmService::ReleaseObserver ( in string  address  )  raises (TToiInvalidArgumentException) [inherited]

Release an observer previously registered with RegisterObserver.

Parameters:
address The address where the IToiDrmService can find the registered IToiDrmObserver interface.
Exceptions:
TToiInvalidArgumentException Raised if the specified address is invalid.
See also:
IToiDrmObserver