ContentAccess::CRightsManager Class Reference

class ContentAccess::CRightsManager : public CBase

Manages and retrieves rights objects from an agent.

Inherits from

  • ContentAccess::CRightsManager

Constructor & Destructor Documentation

CRightsManager()

CRightsManager()[private]

Constructor

~CRightsManager()

~CRightsManager()[virtual]

Member Functions Documentation

ConstructL(TUid)

voidConstructL(TUidaUid)[private, virtual]

2nd phase constructor

Parameters

TUid aUid

DeleteAllRightsObjects(const TVirtualPathPtr &)

IMPORT_C TIntDeleteAllRightsObjects(const TVirtualPathPtr &aVirtualPathPtr)

Deletes all rights associated with a particular content object

The agent may display a dialog asking the user to confirm the delete. Execution will be blocked until the dialog is complete. Applications can request to disable the agents user interface using the SetProperty() command.

capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

const TVirtualPathPtr & aVirtualPathPtrThe content object.

DeleteAllRightsObjects(RFile &, const TDesC &)

IMPORT_C TIntDeleteAllRightsObjects(RFile &aFile,
const TDesC &aUniqueId
)

Deletes all rights associated with a particular content object in a file specified by file handle. Can be used when the source file is in the client's private directory.

The agent may display a dialog asking the user to confirm the delete. Execution will be blocked until the dialog is complete. Applications can request to disable the agents user interface using the SetProperty() command.

capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

RFile & aFileThe file handle for the file containing the content object.
const TDesC & aUniqueIdThe unique id of the content object.

DeleteRightsObject(const CRightsInfo &)

IMPORT_C TIntDeleteRightsObject(const CRightsInfo &aRightsInfo)

Asks the DRM agent to delete a rights object

The agent may display a dialog asking the user to confirm the delete. Execution will be blocked until the dialog is complete. Applications can request to disable the agents user interface using the SetProperty() command.

capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

const CRightsInfo & aRightsInfoThe rights object.

GetRightsDataL(const CRightsInfo &)

IMPORT_C MAgentRightsBase *GetRightsDataL(const CRightsInfo &aRightsInfo)const
This will be used by applications to retrieve an agent specific rights object
leave
KErrPermissionDenied If the agent does not permit the client to access rights information.
leave
... One of the CAF error codes defined in caferr.h or one of the other system-wide error codes for any other errors.
capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

const CRightsInfo & aRightsInfoThe rights object.

ListAllRightsL(RStreamablePtrArray< CRightsInfo > &)

IMPORT_C voidListAllRightsL(RStreamablePtrArray< CRightsInfo > &aArray)const
List all rights held by the agent.
leave
KErrPermissionDenied If the agent does not permit the client to access rights information.
leave
... One of the CAF error codes defined in caferr.h or one of the other system-wide error codes for any other errors.
capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

RStreamablePtrArray< CRightsInfo > & aArrayThe client supplied array used to store the CRightsInfo objects. The agent will add CRightsInfo objects to the supplied array.

ListContentL(RStreamablePtrArray< CVirtualPath > &, CRightsInfo &)

IMPORT_C voidListContentL(RStreamablePtrArray< CVirtualPath > &aArray,
CRightsInfo &aRightsInfo
)const
List all content associated with a particular rights object.
leave
KErrPermissionDenied If the agent does not permit the client to access rights information.
leave
... One of the CAF error codes defined in caferr.h or one of the other system-wide error codes for any other errors.
capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

RStreamablePtrArray< CVirtualPath > & aArrayThe client supplied array used to store the list of content objects. The agent will add CVirtualPath objects to the supplied array.
CRightsInfo & aRightsInfoThe rights object.

ListRightsL(RStreamablePtrArray< CRightsInfo > &, const TDesC &)

IMPORT_C voidListRightsL(RStreamablePtrArray< CRightsInfo > &aArray,
const TDesC &aUri
)const
List all rights associated with a particular file.
leave
KErrPermissionDenied If the agent does not permit the client to access rights information.
leave
... One of the CAF error codes defined in caferr.h or one of the other system-wide error codes for any other errors.
capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

RStreamablePtrArray< CRightsInfo > & aArrayThe client supplied array used to store the CRightsInfo objects. The agent will add CRightsInfo objects to the supplied array.
const TDesC & aUriThe name of the file.

ListRightsL(RStreamablePtrArray< CRightsInfo > &, TVirtualPathPtr &)

IMPORT_C voidListRightsL(RStreamablePtrArray< CRightsInfo > &aArray,
TVirtualPathPtr &aVirtualPath
)const
List all rights associated with a particular content object
leave
KErrPermissionDenied If the agent does not permit the client to access rights information.
leave
... One of the CAF error codes defined in caferr.h or one of the other system-wide error codes for any other errors.
capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

RStreamablePtrArray< CRightsInfo > & aArrayThe client supplied array used to store the CRightsInfo objects. The agent will add CRightsInfo objects to the supplied array.
TVirtualPathPtr & aVirtualPathThe content object.

ListRightsL(RStreamablePtrArray< CRightsInfo > &, RFile &, const TDesC &)

IMPORT_C voidListRightsL(RStreamablePtrArray< CRightsInfo > &aArray,
RFile &aFile,
const TDesC &aUniqueId
)const

List all rights associated with a particular content object in a file specified by file handle. Can be used when the source file is in the client's private directory.

leave
KErrCANotSupported if the feature not supported.
leave
KErrPermissionDenied If the agent does not permit the client to access rights information.
leave
... One of the CAF error codes defined in caferr.h or one of the other system-wide error codes for any other errors.
capability
DRM Access to DRM rights is not permitted for processes without DRM capability.

Parameters

RStreamablePtrArray< CRightsInfo > & aArrayThe client supplied array used to store the CRightsInfo objects. The agent will add CRightsInfo objects to the supplied array.
RFile & aFileThe file handle for the file containing the content object.
const TDesC & aUniqueIdThe unique id of the content object.

NewL(TUid)

CRightsManager *NewL(TUidaUid)[private, static]

Only created by CManager

Parameters

TUid aUid

SetProperty(TAgentProperty, TInt)

IMPORT_C TIntSetProperty(TAgentPropertyaProperty,
TIntaValue
)

Request the agent to set a property value. If the property is set it is only set for this CRightsManager session and does not impact other CAF users.

ContentAccess::TAgentProperty
capability
DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted.

Parameters

TAgentProperty aPropertyThe property to set.
TInt aValueThe value of the property.

Member Data Documentation

CAgentFactory * iAgentFactory

CAgentFactory *iAgentFactory[private]

CAgentRightsManager * iAgentRightsManager

CAgentRightsManager *iAgentRightsManager[private]