CKKSZoneModifier.h [plain text]
#if OCTAGON
#import <CloudKit/CloudKit.h>
#import <Foundation/Foundation.h>
#import "keychain/ckks/CKKSNearFutureScheduler.h"
#import "keychain/ckks/CKKSReachabilityTracker.h"
#import "keychain/ckks/CKKSResultOperation.h"
#import "keychain/ckks/CKKSCloudKitClassDependencies.h"
NS_ASSUME_NONNULL_BEGIN
@interface CKKSZoneModifyOperations : NSObject
@property CKKSResultOperation* zoneModificationOperation;
@property CKKSResultOperation* zoneSubscriptionOperation;
@property (readonly) NSMutableArray<CKRecordZone*>* zonesToCreate;
@property (readonly) NSMutableArray<CKRecordZoneSubscription*>* subscriptionsToSubscribe;
@property (readonly) NSMutableArray<CKRecordZoneID*>* zoneIDsToDelete;
- (instancetype)init NS_UNAVAILABLE;
@property (nullable) NSArray<CKRecordZone*>* savedRecordZones;
@property (nullable) NSArray<CKRecordZoneID*>* deletedRecordZoneIDs;
@property (nullable) NSArray<CKSubscription*>* savedSubscriptions;
@property (nullable) NSArray<NSString*>* deletedSubscriptionIDs;
@end
@interface CKKSZoneModifier : NSObject
@property (readonly) CKKSReachabilityTracker* reachabilityTracker;
@property (readonly) CKKSCloudKitClassDependencies* cloudKitClassDependencies;
@property (readonly) CKContainer* container;
@property (readonly) CKDatabase* database;
@property (readonly) CKKSNearFutureScheduler* cloudkitRetryAfter;
- (void)inspectErrorForRetryAfter:(NSError*)ckerror;
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithContainer:(CKContainer*)container
reachabilityTracker:(CKKSReachabilityTracker*)reachabilityTracker
cloudkitDependencies:(CKKSCloudKitClassDependencies*)_cloudKitClassDependencies;
- (CKKSZoneModifyOperations*)createZone:(CKRecordZone*)zone;
- (CKKSZoneModifyOperations*)deleteZone:(CKRecordZoneID*)zoneID;
- (void)halt;
@end
NS_ASSUME_NONNULL_END
#endif