4 #import <Foundation/Foundation.h>
5 #import <TrustedPeers/TrustedPeers.h>
6 #import "keychain/ckks/CKKSGroupOperation.h"
7 #import "keychain/ot/OctagonStateMachineHelpers.h"
8 #import "keychain/ot/OTStates.h"
9 #import "keychain/ot/OTSOSAdapter.h"
11 #import "keychain/ot/proto/generated_source/OTAccountMetadataClassC.h"
12 #import "keychain/ot/OTDeviceInformation.h"
14 NS_ASSUME_NONNULL_BEGIN
16 @
class OTOperationDependencies
;
18 @interface OTSOSUpgradeOperation
: CKKSGroupOperation
<OctagonStateTransitionOperationProtocol
>
20 @
property (readonly
, nullable
) TPPolicyVersion
* policyOverride
;
22 - (instancetype
)initWithDependencies
:(OTOperationDependencies
*)dependencies
23 intendedState
:(OctagonState
*)intendedState
24 ckksConflictState
:(OctagonState
*)ckksConflictState
25 errorState
:(OctagonState
*)errorState
26 deviceInfo
:(OTDeviceInformation
*)deviceInfo
27 policyOverride
:(TPPolicyVersion
* _Nullable
)policyOverride
;