CKKSZoneChangeFetcher.h [plain text]
#if OCTAGON
#import <CloudKit/CloudKit.h>
#import <Foundation/Foundation.h>
#import "keychain/ckks/CKKSResultOperation.h"
NS_ASSUME_NONNULL_BEGIN
@protocol SecCKKSFetchBecause <NSObject>
@end
typedef NSString<SecCKKSFetchBecause> CKKSFetchBecause;
extern CKKSFetchBecause* const CKKSFetchBecauseAPNS;
extern CKKSFetchBecause* const CKKSFetchBecauseAPIFetchRequest;
extern CKKSFetchBecause* const CKKSFetchBecauseCurrentItemFetchRequest;
extern CKKSFetchBecause* const CKKSFetchBecauseInitialStart;
extern CKKSFetchBecause* const CKKSFetchBecauseSecuritydRestart;
extern CKKSFetchBecause* const CKKSFetchBecausePreviousFetchFailed;
extern CKKSFetchBecause* const CKKSFetchBecauseKeyHierarchy;
extern CKKSFetchBecause* const CKKSFetchBecauseTesting;
extern CKKSFetchBecause* const CKKSFetchBecauseResync;
@protocol CKKSChangeFetcherErrorOracle <NSObject>
- (bool)isFatalCKFetchError:(NSError*)error;
@end
@class CKKSKeychainView;
@interface CKKSZoneChangeFetcher : NSObject
@property (nullable, weak) CKKSKeychainView* ckks;
@property (readonly) NSError* lastCKFetchError;
@property CKRecordZoneID* zoneID;
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithCKKSKeychainView:(CKKSKeychainView*)ckks;
- (CKKSResultOperation*)requestSuccessfulFetch:(CKKSFetchBecause*)why;
- (CKKSResultOperation*)requestSuccessfulResyncFetch:(CKKSFetchBecause*)why;
- (void)holdFetchesUntil:(CKKSResultOperation* _Nullable)holdOperation;
- (void)cancel;
@end
NS_ASSUME_NONNULL_END
#endif