]> git.saurik.com Git - apple/security.git/blobdiff - keychain/ckks/CKKSKeychainView.h
Security-58286.260.20.tar.gz
[apple/security.git] / keychain / ckks / CKKSKeychainView.h
index 0aa9d38a3b9351bd74936ce16fc6b2c3681db603..b5ab8e2dccb6bcc113e6e45a934641b7a3083b3b 100644 (file)
@@ -65,7 +65,7 @@ NS_ASSUME_NONNULL_BEGIN
 @class CKKSOutgoingQueueEntry;
 @class CKKSZoneChangeFetcher;
 
-@interface CKKSKeychainView : CKKSZone <CKKSZoneUpdateReceiver, CKKSChangeFetcherErrorOracle, CKKSPeerUpdateListener>
+@interface CKKSKeychainView : CKKSZone <CKKSZoneUpdateReceiver, CKKSChangeFetcherClient, CKKSPeerUpdateListener>
 {
     CKKSZoneKeyState* _keyHierarchyState;
 }
@@ -108,7 +108,6 @@ NS_ASSUME_NONNULL_BEGIN
 @property CKKSNewTLKOperation* lastNewTLKOperation;
 @property CKKSOutgoingQueueOperation* lastOutgoingQueueOperation;
 @property CKKSProcessReceivedKeysOperation* lastProcessReceivedKeysOperation;
-@property CKKSFetchAllRecordZoneChangesOperation* lastRecordZoneChangesOperation;
 @property CKKSReencryptOutgoingItemsOperation* lastReencryptOutgoingItemsOperation;
 @property CKKSScanLocalItemsOperation* lastScanLocalItemsOperation;
 @property CKKSSynchronizeOperation* lastSynchronizeOperation;
@@ -139,6 +138,7 @@ NS_ASSUME_NONNULL_BEGIN
                           accountTracker:(CKKSCKAccountStateTracker*)accountTracker
                         lockStateTracker:(CKKSLockStateTracker*)lockStateTracker
                      reachabilityTracker:(CKKSReachabilityTracker *)reachabilityTracker
+                        changeFetcher:(CKKSZoneChangeFetcher*)fetcher
                         savedTLKNotifier:(CKKSNearFutureScheduler*)savedTLKNotifier
                             peerProvider:(id<CKKSPeerProvider>)peerProvider
     fetchRecordZoneChangesOperationClass:(Class<CKKSFetchRecordZoneChangesOperation>)fetchRecordZoneChangesOperationClass
@@ -194,6 +194,9 @@ NS_ASSUME_NONNULL_BEGIN
 // Schedules a process queueoperation to happen after the next device unlock. This may be Immediately, if the device is unlocked.
 - (void)processIncomingQueueAfterNextUnlock;
 
+// This operation will complete directly after the next ProcessIncomingQueue, and should supply that IQO's result. Used mainly for testing; otherwise you'd just kick off a IQO directly.
+- (CKKSResultOperation*)resultsOfNextProcessIncomingQueueOperation;
+
 // Schedules an operation to update this device's state record in CloudKit
 // If rateLimit is true, the operation will abort if it's updated the record in the past 3 days
 - (CKKSUpdateDeviceStateOperation*)updateDeviceState:(bool)rateLimit
@@ -257,16 +260,14 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (CKKSDeviceStateEntry* _Nullable)_onqueueCurrentDeviceStateEntry:(NSError* __autoreleasing*)error;
 
-// Called by the CKKSZoneChangeFetcher
-- (bool)isFatalCKFetchError:(NSError*)error;
-
 // Please don't use these unless you're an Operation in this package
 @property NSHashTable<CKKSIncomingQueueOperation*>* incomingQueueOperations;
 @property NSHashTable<CKKSOutgoingQueueOperation*>* outgoingQueueOperations;
 @property CKKSScanLocalItemsOperation* initialScanOperation;
 
-// Returns the current state of this view
+// Returns the current state of this view, fastStatus is the same, but as name promise, no expensive calculations
 - (NSDictionary<NSString*, NSString*>*)status;
+- (NSDictionary<NSString*, NSString*>*)fastStatus;
 @end
 
 NS_ASSUME_NONNULL_END