4 #import <Foundation/Foundation.h>
5 #import <dispatch/dispatch.h>
7 #import "keychain/ckks/CKKSGroupOperation.h"
8 #import "keychain/ckks/CKKSKeychainBackedKey.h"
9 #import "keychain/ot/OTOperationDependencies.h"
10 #import "keychain/ckks/CKKSTLKShare.h"
11 #import "keychain/ckks/CKKSKeychainView.h"
13 NS_ASSUME_NONNULL_BEGIN
15 @interface OTFetchCKKSKeysOperation
: CKKSGroupOperation
17 @property NSArray
<CKKSKeychainBackedKeySet
*>* viewKeySets
;
19 // This contains all key sets which couldn't be converted to CKKSKeychainBackedKeySet, due to some error
20 @property NSArray
<CKKSCurrentKeySet
*>* incompleteKeySets
;
22 // Any existing TLKShares
23 @property NSArray
<CKKSTLKShare
*>* tlkShares
;
25 // Any new TLKShares that CKKS suggested we upload along with this keyset
26 @property NSArray
<CKKSTLKShare
*>* pendingTLKShares
;
28 // Any views that didn't provide a keyset within time
29 @property NSSet
<NSString
*>* viewsTimedOutWithoutKeysets
;
31 // Set this to configure how long to wait for CKKS to resonse
32 @property dispatch_time_t desiredTimeout
;
34 - (instancetype
)initWithDependencies
:(OTOperationDependencies
*)dependencies
35 refetchNeeded
:(BOOL
)refetchNeeded
;
37 - (instancetype
)initWithViews
:(NSSet
<CKKSKeychainView
*>*)views
;