]> git.saurik.com Git - apple/security.git/blob - keychain/ot/OTOperationDependencies.h
Security-59306.80.4.tar.gz
[apple/security.git] / keychain / ot / OTOperationDependencies.h
1
2 #import <Foundation/Foundation.h>
3
4 #import "keychain/ot/CuttlefishXPCWrapper.h"
5 #import "keychain/ot/OctagonStateMachine.h"
6 #import "keychain/ot/OTSOSAdapter.h"
7 #import "keychain/ot/OTAuthKitAdapter.h"
8 #import "keychain/ot/OTCuttlefishAccountStateHolder.h"
9 #import "keychain/ot/OTDeviceInformationAdapter.h"
10 #import "keychain/ckks/CKKSViewManager.h"
11 #import "keychain/ckks/CKKSNearFutureScheduler.h"
12 #import "keychain/escrowrequest/Framework/SecEscrowRequest.h"
13
14 NS_ASSUME_NONNULL_BEGIN
15
16 // Used for dependency injection into most OctagonStateTransition operations
17 @interface OTOperationDependencies : NSObject
18
19 @property NSString* containerName;
20 @property NSString* contextID;
21
22 @property OTCuttlefishAccountStateHolder* stateHolder;
23
24 @property id<OctagonStateFlagHandler> flagHandler;
25 @property id<OTSOSAdapter> sosAdapter;
26 @property (nullable) id<CKKSPeerProvider> octagonAdapter;
27 @property id<OTAuthKitAdapter> authKitAdapter;
28 @property id<OTDeviceInformationAdapter> deviceInformationAdapter;
29 @property (readonly) CuttlefishXPCWrapper* cuttlefishXPCWrapper;
30 @property CKKSViewManager* viewManager;
31 @property CKKSLockStateTracker* lockStateTracker;
32 @property Class<SecEscrowRequestable> escrowRequestClass;
33
34 - (instancetype)initForContainer:(NSString*)containerName
35 contextID:(NSString*)contextID
36 stateHolder:(OTCuttlefishAccountStateHolder*)stateHolder
37 flagHandler:(id<OctagonStateFlagHandler>)flagHandler
38 sosAdapter:(id<OTSOSAdapter>)sosAdapter
39 octagonAdapter:(id<CKKSPeerProvider> _Nullable)octagonAdapter
40 authKitAdapter:(id<OTAuthKitAdapter>)authKitAdapter
41 deviceInfoAdapter:(id<OTDeviceInformationAdapter>)deviceInfoAdapter
42 viewManager:(CKKSViewManager*)viewManager
43 lockStateTracker:(CKKSLockStateTracker *)lockStateTracker
44 cuttlefishXPCWrapper:(CuttlefishXPCWrapper *)cuttlefishXPCWrapper
45 escrowRequestClass:(Class<SecEscrowRequestable>)escrowRequestClass;
46 @end
47
48 NS_ASSUME_NONNULL_END