DxDrmManager.h
1 /*
2  Copyright
3  This code is strictly confidential and the receiver is obliged to use it
4  exclusively for his or her own purposes. No part of Viaccess Orca code may
5  be reproduced or transmitted in any form or by any means, electronic or
6  mechanical, including photocopying, recording, or by any information storage
7  and retrieval system, without permission in writing from Viaccess Orca.
8  The information in this code is subject to change without notice. Viaccess
9  Orca does not warrant that this code is error free. If you find any problems
10  with this code or wish to make comments, please report them to Viaccess
11  Orca.
12 
13  Trademarks
14  Viaccess Orca is a registered trademark of Viaccess S.A in France and/or
15  other countries. All other product and company names mentioned herein are the
16  trademarks of their respective owners.
17  Viaccess S.A may hold patents, patent applications, trademarks, copyrights
18  or other intellectual property rights over the code hereafter. Unless
19  expressly specified otherwise in a Viaccess Orca written license agreement,
20  the delivery of this code does not imply the concession of any license over
21  these patents, trademarks, copyrights or other intellectual property.
22  */
23 
29 #import <Foundation/Foundation.h>
30 #import "DxDrmManagerDefines.h"
31 
32 #import "IDxChallenge.h"
33 
34 #define SOAP_ERROR_CUSTOM_DATA @"soapErrorCustomData"
35 #define SOAP_ERROR_REDIRECT_URL @"soapErrorRedirectUrl"
36 #define SOAP_ERROR_BODY @"soapErrorBody"
37 
38 //TODO: only for current doxygen format
45 @interface DxDrmManager : NSObject {
46 }
47 
50 
51 
58 
68 + (DxDrmManager *)sharedManager:(NSError**)drmError;
69 
83 + (BOOL)DEBUG_setLoggingLevel:(NSString *)loggingLevel
84  withLogFile:(NSString *)logFile
85  useStdOutLogs:(BOOL)stdoutLogs
86  withDisabledModules:(NSString *)disabledModules;
87 
103 - (DxDrmManagerStatus)executeInitiatorWithFile:(NSString *)filename;
104 
139 - (DxDrmManagerStatus)executeInitiatorWithFile:(NSString *)filename error:(NSError**)drmError;
140 
157 - (DxDrmManagerStatus)executeInitiatorWithData:(NSData *)data;
158 
194 - (DxDrmManagerStatus)executeInitiatorWithData:(NSData *)data error:(NSError**)drmError;
195 
212 - (DxDrmManagerStatus)executeInitiatorWithURL:(NSURL *)url;
213 
249 - (DxDrmManagerStatus)executeInitiatorWithURL:(NSURL *)url error:(NSError**)drmError;
250 
263 - (DxDrmManagerStatus)verifyRightsForFile:(NSString *)filename;
264 
280 - (DxDrmManagerStatus)personalizationVerify;
281 
299 - (DxDrmManagerStatus)performPersonalizationWithSessionID:(NSString *)sessionID withServerURL:(NSString *)serverURL withAppVersion:(NSString *)appVersionOrNil;
314 - (DxDrmManagerStatus)performPersonalizationWithServerURL:(NSString *)serverURL withAppVersion:(NSString*) appVersion withPublicData:(NSString *)publicData withPrivateData:(NSString *)privateData;
323 - (DxDrmManagerStatus)deleteRightsForFile:(NSString *)filename;
324 
336 - (DxDrmManagerStatus)acquireRightsForFile:(NSString *)filename withCustomData:(NSString *)dataOrNil withRightsUrl:(NSString *)urlOrNil;
337 
367 - (DxDrmManagerStatus)acquireRightsForFile:(NSString *)filename withCustomData:(NSString *)dataOrNil withRightsUrl:(NSString *)urlOrNil error:(NSError**)drmError;
368 
386 - (NSArray *)getRightObjectsForFile:(NSString *)filename result:(DxDrmManagerStatus*)checkResultOrNil;
387 
401 - (BOOL)isDrmContent:(NSString *)contentFilename result:(DxDrmManagerStatus*)checkResultOrNil;
402 
410 - (BOOL) verifySecClockSet;
411 
418 - (DxDrmManagerStatus) performSecClockSet;
419 
435 - (DxDrmManagerStatus) setCookies: (NSArray *) cookies;
436 
446 - (void) setConfigurationParams:(DxConfigurationParams)configParam withValue:(int)value;
454 - (DxDrmManagerStatus) setConfigurationString:(DxConfigurationParams)configParam withValue:(NSString*)value;
455 
459 - (NSString *)getDrmVersion;
460 
464 - (NSString *)getDeviceId;
465 
484 -(IDxChallenge *) generatePersonalizationChallengeWithSessionID:(NSString *)sessionID withAppVersion:(NSString *)appVersionOrNil result:(DxDrmManagerStatus*)checkResultOrNil;
485 
505 
506 -(IDxChallenge *) generatePersonalizationChallengeWithAppVersion:(NSString*)appVersion withPublicData:(NSString *)publicData withPrivateData:(NSString *)privateData result:(DxDrmManagerStatus*)checkResult;
517 -(IDxChallenge *) generateChallengeFromInitiator:(NSString*) initiatorPath result:(DxDrmManagerStatus*)checkResultOrNil;
518 
528 -(IDxChallenge *) generateLicenseChallengeFromContent:(NSString*) contentPath withCustomData:(NSString*)customData result:(DxDrmManagerStatus*)checkResultOrNil;
529 
538 -(IDxChallenge *) generateLicenseChallengeFromDrmHeader:(NSString*) drmHeader result:(DxDrmManagerStatus*)checkResultOrNil;
539 
546 -(IDxChallenge *) generateSecClockChallengeResult:(DxDrmManagerStatus*)checkResultOrNil;
547 
548 
549 
562 - (DxDrmManagerStatus)DEBUG_deletePersonalization;
563 
575 - (DxDrmManagerStatus)DEBUG_deletePlayReadyStore;
576 
577 
583 - (void)DEBUG_setLocalPersonalization:(BOOL)enable;
584 
585 
586 @end
DxDrmManagerStatus DEBUG_deletePlayReadyStore()
Deletes PlayReady Store - deleting licenses and domains of the client from the PlayReady server...
DxDrmManagerStatus DEBUG_deletePersonalization()
Deletes from the application secure storage all the assets of the PlayReady scheme that were stored...
bool bDeletePersonalizationUponStartup
Definition: DxDrmManager.h:48
DxDrmManagerStatus personalizationVerify()
Verifies that the personalization process of the assets that were stored with the specified tag was c...
BOOL verifySecClockSet()
Verifies whether the secure clock is set.
NSString * getDrmVersion()
Returns a string representation of the SecurePlayer version.
The object of this interface will be returned from generateChallengeFromInitiator or from generateCha...
Definition: IDxChallenge.h:33
bool bDeletePlayReadyStoreUponStartup
Definition: DxDrmManager.h:49
DxDrmManager * sharedManager()
Instantiator method to supply Signleton object of DxDrmManager.
DxDrmManagerStatus performSecClockSet()
Sets the secure clock required for normal operation of DRM operations.
NSString * getDeviceId()
Returns a string representation of the Device ID.
DxDrmManager supplies an interface to perform DRM (Digital Rights Management) operations.
Definition: DxDrmManager.h:45