3 #import "keychain/ckks/CKKSPeer.h"
4 #import "keychain/ot/OTDefines.h"
5 #import "keychain/SecureObjectSync/SOSCloudCircle.h"
7 NS_ASSUME_NONNULL_BEGIN
9 @protocol OTSOSAdapter
<CKKSPeerProvider
>
10 @property
bool sosEnabled
;
11 - (SOSCCStatus
)circleStatus
:(NSError
**)error
;
12 - (id
<CKKSSelfPeer
> _Nullable
)currentSOSSelf
:(NSError
**)error
;
13 - (NSSet
<id
<CKKSRemotePeerProtocol
>>* _Nullable
)fetchTrustedPeers
:(NSError
**)error
;
14 - (void)updateOctagonKeySetWithAccount
:(id
<CKKSSelfPeer
>)currentSelfPeer error
:(NSError
**)error
;
17 @interface OTSOSActualAdapter
: NSObject
<OTSOSAdapter
>
18 - (instancetype
)init NS_UNAVAILABLE
;
19 - (instancetype
)initAsEssential
:(BOOL
)essential
;
22 + (NSArray
<NSData
*>*)peerPublicSigningKeySPKIs
:(NSSet
<id
<CKKSPeer
>>* _Nullable
)peers
;
24 + (NSSet
<NSString
*>*)sosCKKSViewList
;
27 // This adapter is for a platform which does not have SOS (e.g., aTV, Watch, HomePod)
28 @interface OTSOSMissingAdapter
: NSObject
<OTSOSAdapter
>