CKKSZoneChangeFetcher.h [plain text]
#if OCTAGON
#import <CloudKit/CloudKit.h>
#import <Foundation/Foundation.h>
#import "keychain/ckks/CKKSResultOperation.h"
#import "keychain/ckks/CKKSFetchAllRecordZoneChangesOperation.h"
NS_ASSUME_NONNULL_BEGIN
@class CKKSKeychainView;
@class CKKSReachabilityTracker;
@class CKKSNearFutureScheduler;
@interface CKKSZoneChangeFetcher : NSObject
@property (readonly) Class<CKKSFetchRecordZoneChangesOperation> fetchRecordZoneChangesOperationClass;
@property (readonly) CKContainer* container;
@property CKKSReachabilityTracker* reachabilityTracker;
@property (readonly) NSError* lastCKFetchError;
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithContainer:(CKContainer*)container
fetchClass:(Class<CKKSFetchRecordZoneChangesOperation>)fetchRecordsOperationClass
reachabilityTracker:(CKKSReachabilityTracker *)reachabilityTracker;
- (void)registerClient:(id<CKKSChangeFetcherClient>)client;
- (CKKSResultOperation*)requestSuccessfulFetch:(CKKSFetchBecause*)why;
- (CKKSResultOperation*)requestSuccessfulFetchForManyReasons:(NSSet<CKKSFetchBecause*>*)why;
- (CKKSResultOperation*)requestSuccessfulFetchDueToAPNS:(CKRecordZoneNotification*)notification;
- (void)holdFetchesUntil:(CKKSResultOperation* _Nullable)holdOperation;
- (void)cancel;
@property CKKSNearFutureScheduler* fetchScheduler;
@end
NS_ASSUME_NONNULL_END
#endif