TPPolicyDocument.h [plain text]
#import <Foundation/Foundation.h>
#import "TPPolicy.h"
#import "TPEncrypter.h"
#import "TPDecrypter.h"
#import "TPHash.h"
#import "TPTypes.h"
NS_ASSUME_NONNULL_BEGIN
@interface TPPolicyDocument : NSObject
@property (nonatomic, readonly) TPCounter policyVersion;
@property (nonatomic, readonly) NSString *policyHash;
@property (nonatomic, readonly) NSData *pList;
+ (nullable instancetype)policyDocWithHash:(NSString *)policyHash
pList:(NSData *)pList;
+ (instancetype)policyDocWithVersion:(TPCounter)policyVersion
modelToCategory:(NSArray<NSDictionary*> *)modelToCategory
categoriesByView:(NSDictionary<NSString*,NSArray<NSString*>*> *)categoriesByView
introducersByCategory:(NSDictionary<NSString*,NSArray<NSString*>*> *)introducersByCategory
redactions:(NSDictionary<NSString*,NSData*> *)redactions
hashAlgo:(TPHashAlgo)hashAlgo;
+ (nullable NSData *)redactionWithEncrypter:(id<TPEncrypter>)encrypter
modelToCategory:(nullable NSArray<NSDictionary*> *)modelToCategory
categoriesByView:(nullable NSDictionary<NSString*,NSArray<NSString*>*> *)categoriesByView
introducersByCategory:(nullable NSDictionary<NSString*,NSArray<NSString*>*> *)introducersByCategory
error:(NSError **)error;
- (nullable id<TPPolicy>)policyWithSecrets:(NSDictionary<NSString*,NSData*> *)secrets
decrypter:(id<TPDecrypter>)decrypter
error:(NSError **)error;
- (BOOL)isEqualToPolicyDocument:(TPPolicyDocument *)other;
@end
NS_ASSUME_NONNULL_END