4 #import <Foundation/Foundation.h>
6 #import "keychain/ckks/CKKSCurrentKeyPointer.h"
7 #import "keychain/ckks/CKKSGroupOperation.h"
9 NS_ASSUME_NONNULL_BEGIN
11 @protocol CKKSKeySetContainerProtocol
<NSObject
>
12 @
property (readonly
, nullable
) CKKSCurrentKeySet
* keyset
;
15 @protocol CKKSKeySetProviderOperationProtocol
<NSObject
, CKKSKeySetContainerProtocol
>
16 @property NSString
* zoneName
;
17 - (void)provideKeySet
:(CKKSCurrentKeySet
*)keyset
;
20 // This is an odd operation:
21 // If you call initWithZoneName:keySet: and then add the operation to a queue, it will finish immediately.
22 // If you call initWithZoneName: and then add the operation to a queue, it will not start until provideKeySet runs.
23 // But! -timeout: will work, and the operation will finish
24 @interface CKKSProvideKeySetOperation
: CKKSGroupOperation
<CKKSKeySetProviderOperationProtocol
>
25 - (instancetype
)initWithZoneName
:(NSString
*)zoneName
;
27 - (void)provideKeySet
:(CKKSCurrentKeySet
*)keyset
;