![]() |
Adobe Access Objective-C API
4.0
This document describes the Objective-C API exposed for Adobe Access support on
iOS.
|
00001 00044 #ifndef DRMINTERFACE_H 00045 #define DRMINTERFACE_H 00046 00047 #include <Foundation/Foundation.h> 00048 00049 00050 00051 @class DRMLicense; 00052 @class DRMMetadata; 00053 @class DRMLicenseDomain; 00054 @class DRMPlaybackTimeWindow; 00055 @class DRMSession; 00056 00057 #pragma mark Declarations 00058 typedef void (^DRMOperationError)(NSUInteger majorCode, NSUInteger minorCode, NSError* platformError); 00059 typedef void (^DRMOperationComplete)(); 00060 typedef void (^DRMLicenseAcquired)(DRMLicense* license); 00061 typedef void (^DRMPlaylistUpdated)(NSURL * playlist, DRMMetadata * metadata); 00062 typedef void (^DRMAuthenticationComplete)(NSData* authenticationToken); 00063 00067 typedef enum 00068 { 00069 UNKNOWN = 0, 00070 ANONYMOUS = 1, 00071 USERNAME_AND_PASSWORD = 2 00072 } DRMAuthenticationMethod; 00073 00076 typedef enum 00078 { 00081 FORCE_REFRESH = 0, 00086 LOCAL_ONLY = 1, 00090 ALLOW_SERVER = 2, 00091 } DRMAcquireLicenseSettings; 00092 00093 #pragma mark - 00094 00095 00099 00100 00101 00102 @interface DRMManager : NSObject 00105 @property(nonatomic, readwrite, getter=getMaxOperationTime, setter=setMaxOperationTime:) NSUInteger maxOperationTime; 00106 00109 +(DRMManager*) sharedManager; 00110 00114 -(void) setAuthenticationToken:(DRMMetadata*)metadata authenticationDomain:(NSString*)authenticationDomain token:(NSData*)token error:(DRMOperationError)error complete:(DRMOperationComplete)complete; 00115 00124 -(void) authenticate:(DRMMetadata*)metadata url:(NSString*)serverURL authenticationDomain:(NSString*)authenticationDomain username:(NSString*)username password:(NSString*)password error:(DRMOperationError)error complete:(DRMAuthenticationComplete)complete; 00125 00131 -(void) acquirePreviewLicense:(DRMMetadata*)contentData error:(DRMOperationError)error acquired:(DRMLicenseAcquired)acquired; 00132 00138 -(void) acquireLicense:(DRMMetadata*)contentData setting:(DRMAcquireLicenseSettings)setting error:(DRMOperationError)error acquired:(DRMLicenseAcquired)acquired; 00139 00143 -(void) storeLicenseBytes:(NSData*)licenseBytes error:(DRMOperationError)error complete:(DRMOperationComplete)complete; 00144 00147 00148 -(void) resetDRM:(DRMOperationError)error complete:(DRMOperationComplete)complete; 00149 00156 -(void) joinLicenseDomain:(DRMLicenseDomain*)licenseDomain forceRefresh:(BOOL)forceRefresh error:(DRMOperationError)error complete:(DRMOperationComplete)complete; 00157 -(void) leaveLicenseDomain:(DRMLicenseDomain*)licenseDomain error:(DRMOperationError)error complete:(DRMOperationComplete)complete; 00158 00162 -(DRMSession*) createDRMSession:(DRMMetadata*)metadata playlist: (NSURL*) playlist error:(DRMOperationError)error complete:(DRMOperationComplete)complete; 00163 00166 -(BOOL) isSupportedPlaylist:(NSURL*)url; 00167 00176 -(void) getUpdatedPlaylist:(NSURL*)url error:(DRMOperationError)error updated:(DRMPlaylistUpdated)updated; 00177 @end // DRMManager 00178 00183 00184 @interface DRMMetadata : NSObject 00186 @property(nonatomic, readonly, retain, getter=getServerUrl) NSString* serverUrl; 00188 @property(nonatomic, readonly, retain, getter=getLicenseId) NSString* licenseId; 00190 @property(nonatomic, readonly, retain, getter=getPolicies) NSArray* policies; 00191 00192 - (id) initFromNSData:(NSData*)rawData error:(DRMOperationError)error; 00193 @end // DRMMetadata 00194 00195 00196 00201 00202 @interface DRMPolicy : NSObject 00203 00211 @property(nonatomic, readonly, retain, getter=getDisplayName) NSString* displayName; 00214 @property(nonatomic, readonly, getter=getAuthenticationMethod) DRMAuthenticationMethod authenticationMethod; 00218 @property(nonatomic, readonly, retain, getter=getAuthenticationDomain) NSString* authenticationDomain; 00222 @property(nonatomic, readonly, retain, getter=getLicenseDomain) DRMLicenseDomain* licenseDomain; 00223 @end // DRMPolicy 00224 00225 00232 00233 @interface DRMLicenseDomain : NSObject 00236 @property(nonatomic, readonly, getter=getAuthenticationMethod) DRMAuthenticationMethod authenticationMethod; 00240 @property(nonatomic, readonly, retain, getter=getAuthenticationDomain) NSString* authenticationDomain; 00242 @property(nonatomic, readonly, retain, getter=getServerUrl) NSString* serverUrl; 00243 @end // DRMLicenseDomain 00244 00245 00249 00250 @interface DRMLicense : NSObject 00252 @property(nonatomic, readonly, retain, getter=getCustomProperties) NSDictionary* customProperties; 00253 00255 @property(nonatomic, readonly, retain, getter=getLicenseStartDate) NSDate* licenseStartDate; 00256 00258 @property(nonatomic, readonly, retain, getter=getLicenseEndDate) NSDate* licenseEndDate; 00259 00261 @property(nonatomic, readonly, retain, getter=getOfflineStorageStartDate) NSDate* offlineStorageStartDate; 00262 00264 @property(nonatomic, readonly, retain, getter=getOfflineStorageEndDate) NSDate* offlineStorageEndDate; 00265 00270 @property(nonatomic, readonly, retain, getter=getPlaybackTimeWindow) DRMPlaybackTimeWindow* playbackTimeWindow; 00271 00272 //- (id) initFromNSData:(NSData*)rawData; 00273 00274 - (NSData*) toNSData; 00275 @end // DRMLicense 00276 00280 @interface DRMPlaybackTimeWindow : NSObject 00281 00283 @property(nonatomic, readonly, getter=getPlaybackPeriodInSeconds) NSUInteger playbackPeriodInSeconds; 00284 00286 @property(nonatomic, readonly, retain, getter=getPlaybackStartDate) NSDate * playbackStartDate; 00287 00289 @property(nonatomic, readonly, retain, getter=getPlaybackEndDate) NSDate * playbackEndDate; 00290 @end // DRMPlaybackTimeWindow 00291 00292 00296 00297 @interface DRMSession : NSObject 00298 00299 @end // DRMPlaybackTimeWindow 00300 00301 00302 #endif // DRMINTERFACE_H