Adobe Access Objective-C API  4.0
This document describes the Objective-C API exposed for Adobe Access support on iOS.
All Classes Files Functions Typedefs Enumerations Enumerator Properties
Public Member Functions | Static Public Member Functions | Properties
DRMManager Class Reference

#import <DRMInterface.h>

List of all members.

Public Member Functions

(void) - setAuthenticationToken:authenticationDomain:token:error:complete:
(void) - authenticate:url:authenticationDomain:username:password:error:complete:
(void) - acquirePreviewLicense:error:acquired:
(void) - acquireLicense:setting:error:acquired:
(void) - storeLicenseBytes:error:complete:
(void) - resetDRM:complete:
(void) - joinLicenseDomain:forceRefresh:error:complete:
(void) - leaveLicenseDomain:error:complete:
(DRMSession *) - createDRMSession:playlist:error:complete:
(BOOL) - isSupportedPlaylist:
(void) - getUpdatedPlaylist:error:updated:

Static Public Member Functions

(DRMManager *) + sharedManager
 One DRMManager instance exists for each security domain.

Properties

NSUInteger maxOperationTime

Detailed Description

This is the main entry point for Adobe Access DRM functionality. The methods will execute the appropriate callback block on completion. This class can only be constructed by sharedManager (DRMManager).

Definition at line 102 of file DRMInterface.h.


Member Function Documentation

- (void) acquireLicense: (DRMMetadata *)  contentData
setting: (DRMAcquireLicenseSettings setting
error: (DRMOperationError error
acquired: (DRMLicenseAcquired acquired 

Whenever a user plays protected content, AccessPlayer obtains and caches the license required to view the content. If the license is saved locally, and the license allows offline playback, the user can view the content without downloading the license again. Such local offline playback succeeds even if a connection to the Adobe Access server is not available.

- (void) acquirePreviewLicense: (DRMMetadata *)  contentData
error: (DRMOperationError error
acquired: (DRMLicenseAcquired acquired 

This method simulates the license retrieval action. You can use this method to find out if you are entitled for a license. The license retrieved through this method cannot be used to playback content. It is useful when the user's computer doesn't have the necessary output protection capabilities or necessary software to play content.

- (void) authenticate: (DRMMetadata *)  metadata
url: (NSString *)  serverURL
authenticationDomain: (NSString *)  authenticationDomain
username: (NSString *)  username
password: (NSString *)  password
error: (DRMOperationError error
complete: (DRMAuthenticationComplete complete 

Authenticates a user. Listen for the DRMOperationComplete and DRMOperationError events to determine the outcome of the authentication attempt. Multiple authenticate() calls are queued. You can use a saved authentication token, or a token downloaded by another means, to establish an authenticated session with the media rights server in the future. To establish a session using a token, call the DRMManager setAuthenticationToken() method. The properties of the token, such as expiration date, are determined by the settings of the server that generates the token.

- (DRMSession*) createDRMSession: (DRMMetadata *)  metadata
playlist: (NSURL *)  playlist
error: (DRMOperationError error
complete: (DRMOperationComplete complete 

DRMSession returned must be released after video playback is complete The error callback may be called during the lifetime of the DRMSession The complete callback occurs when the license has been downloaded

- (void) getUpdatedPlaylist: (NSURL *)  url
error: (DRMOperationError error
updated: (DRMPlaylistUpdated updated 

When calling asynchronous methods like getUpdatedPlaylist, the callback will always go to the main thread. This occurs even if you have made the original call from a worker thread. Also, be aware that the block which holds the callback is a ref-counted object. If you are holding on to it for some reason, and try to either re-use it or release it after passing it to an asynchronous DRM method, you will get a failure. Assume that the asynchronous function takes ownership of any callback blocks passed. Note: If the M3U8 file passed is malformed in any way, an error with code 3363 occurs indicating an unsupported playlist. This error can happen if the EXT-X-FAXS-CM tag specifying the Adobe Access metadata is missing.

- (BOOL) isSupportedPlaylist: (NSURL *)  url

Returns a boolean value indicating if the M3U8 file is valid. Note: This call will fail if the URL passed does not contain the string "faxs=1".

- (void) joinLicenseDomain: (DRMLicenseDomain *)  licenseDomain
forceRefresh: (BOOL)  forceRefresh
error: (DRMOperationError error
complete: (DRMOperationComplete complete 

If the DRM metadata specifies that domain registration is required, then the AccessPlayer application can be used to join a license domain. This action triggers a domain registration request to be sent to the domain server. Once a license is issued to a license domain, the license can be exported and shared with other devices that have joined the license domain. Use forceRefresh to obtain the license from the license server even if the license is available locally.

- (void) leaveLicenseDomain: (DRMLicenseDomain *)  licenseDomain
error: (DRMOperationError error
complete: (DRMOperationComplete complete 
- (void) resetDRM: (DRMOperationError error
complete: (DRMOperationComplete complete 

You can remove the DRM data stored in your device by using this function. The application/user must download any required licenses again for the user to be able to access encrypted content.

- (void) setAuthenticationToken: (DRMMetadata *)  metadata
authenticationDomain: (NSString *)  authenticationDomain
token: (NSData *)  token
error: (DRMOperationError error
complete: (DRMOperationComplete complete 

Sets the authentication token to use for communication with the specified server and domain. The token is cached automatically for the session, but you can use the setAuthenticationToken() method to manage tokens directly. Note: Setting NULL for the token value will clear the token held for this domain.

One DRMManager instance exists for each security domain.

Returns the singleton DRMManager instance.

- (void) storeLicenseBytes: (NSData *)  licenseBytes
error: (DRMOperationError error
complete: (DRMOperationComplete complete 

You can preload the licenses required to play content protected by Adobe Access. Storing licenses allows you to access the downloaded license at any point of time. It is intended for use cases where a license can be shared between devices like in the case of domain licenses.


Property Documentation

- (NSUInteger) maxOperationTime [read, write, assign]

This property controls the maximum amount of time a DRM operation is allowed to take. If the operation would take longer, it fails with a timeout error. Also, see the error code 3362 - Operation timed out.

Definition at line 105 of file DRMInterface.h.


The documentation for this class was generated from the following file: