CKKSOperationDependencies.h [plain text]
#if OCTAGON
#import <Foundation/Foundation.h>
#import <CloudKit/CloudKit.h>
#import "keychain/ckks/CKKSAccountStateTracker.h"
#import "keychain/ckks/CKKSCurrentKeyPointer.h"
#import "keychain/ckks/CKKSKeychainViewState.h"
#import "keychain/ckks/CKKSLockStateTracker.h"
#import "keychain/ckks/CKKSPeerProvider.h"
#import "keychain/ckks/CKKSProvideKeySetOperation.h"
#import "keychain/ckks/CKKSReachabilityTracker.h"
#import "keychain/ckks/CKKSNearFutureScheduler.h"
#import "keychain/ckks/CKKSSQLDatabaseObject.h"
#import "keychain/ckks/CKKSZoneModifier.h"
#import "keychain/analytics/CKKSLaunchSequence.h"
#import "keychain/ot/OctagonStateMachineHelpers.h"
#import "keychain/trust/TrustedPeers/TPSyncingPolicy.h"
NS_ASSUME_NONNULL_BEGIN
@interface CKKSOperationDependencies : NSObject
@property (readonly) NSSet<CKKSKeychainViewState*>* zones;
@property (readonly) CKRecordZoneID* zoneID;
@property (nullable) CKOperationGroup* ckoperationGroup;
@property CKDatabase* ckdatabase;
@property (nullable) CKOperationGroup* currentOutgoingQueueOperationGroup;
@property (readonly) CKKSLaunchSequence* launch;
@property (readonly) id<OctagonStateFlagHandler> flagHandler;
@property (readonly) CKKSAccountStateTracker* accountStateTracker;
@property (readonly) CKKSLockStateTracker* lockStateTracker;
@property (readonly) CKKSReachabilityTracker* reachabilityTracker;
@property (atomic) NSArray<id<CKKSPeerProvider>>* peerProviders;
@property (nullable) TPSyncingPolicy* syncingPolicy;
@property (readonly,weak) id<CKKSDatabaseProviderProtocol> databaseProvider;
@property CKKSZoneModifier* zoneModifier;
@property (readonly) CKKSNearFutureScheduler* notifyViewChangedScheduler;
@property (readonly) CKKSNearFutureScheduler* savedTLKNotifier;
@property (nullable) CKKSNearFutureScheduler* requestPolicyCheck;
@property NSHashTable<CKKSResultOperation<CKKSKeySetProviderOperationProtocol>*>* keysetProviderOperations;
- (instancetype)initWithViewState:(CKKSKeychainViewState*)viewState
zoneModifier:(CKKSZoneModifier*)zoneModifier
ckdatabase:(CKDatabase*)ckdatabase
ckoperationGroup:(CKOperationGroup* _Nullable)operationGroup
flagHandler:(id<OctagonStateFlagHandler>)flagHandler
launchSequence:(CKKSLaunchSequence*)launchSequence
accountStateTracker:(CKKSAccountStateTracker*)accountStateTracker
lockStateTracker:(CKKSLockStateTracker*)lockStateTracker
reachabilityTracker:(CKKSReachabilityTracker*)reachabilityTracker
peerProviders:(NSArray<id<CKKSPeerProvider>>*)peerProviders
databaseProvider:(id<CKKSDatabaseProviderProtocol>)databaseProvider
notifyViewChangedScheduler:(CKKSNearFutureScheduler*)notifyViewChangedScheduler
savedTLKNotifier:(CKKSNearFutureScheduler*)savedTLKNotifier;
- (NSArray<CKKSPeerProviderState*>*)currentTrustStates;
- (void)provideKeySet:(CKKSCurrentKeySet*)keyset;
- (bool)intransactionCKRecordChanged:(CKRecord*)record resync:(bool)resync;
- (bool)intransactionCKRecordDeleted:(CKRecordID*)recordID recordType:(NSString*)recordType resync:(bool)resync;
- (bool)intransactionCKWriteFailed:(NSError*)ckerror attemptedRecordsChanged:(NSDictionary<CKRecordID*, CKRecord*>*)savedRecords;
@end
NS_ASSUME_NONNULL_END
#endif // OCTAGON