]>
Commit | Line | Data |
---|---|---|
8a50f688 A |
1 | /* |
2 | * Copyright (c) 2017 Apple Inc. All Rights Reserved. | |
3 | * | |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
6 | * This file contains Original Code and/or Modifications of Original Code | |
7 | * as defined in and that are subject to the Apple Public Source License | |
8 | * Version 2.0 (the 'License'). You may not use this file except in | |
9 | * compliance with the License. Please obtain a copy of the License at | |
10 | * http://www.opensource.apple.com/apsl/ and read it before using this | |
11 | * file. | |
12 | * | |
13 | * The Original Code and all software distributed under the License are | |
14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. | |
18 | * Please see the License for the specific language governing rights and | |
19 | * limitations under the License. | |
20 | * | |
21 | * @APPLE_LICENSE_HEADER_END@ | |
22 | */ | |
23 | ||
24 | // You must be 64-bit to use this class. | |
25 | #if __OBJC2__ | |
26 | ||
27 | #import <Foundation/Foundation.h> | |
28 | ||
3f0f0d49 A |
29 | NS_ASSUME_NONNULL_BEGIN |
30 | ||
ecaf5866 A |
31 | |
32 | typedef NS_ENUM(NSUInteger, CKKSKnownBadState) { | |
33 | CKKSKnownStatePossiblyGood = 0, // State might be good: give your operation a shot! | |
34 | CKKSKnownStateTLKsMissing = 1, // CKKS doesn't have the TLKs: your operation will likely not succeed | |
35 | CKKSKnownStateWaitForUnlock = 2, // CKKS has some important things to do, but the device is locked. Your operation will likely not succeed | |
b54c578e | 36 | CKKSKnownStateWaitForOctagon = 3, // CKKS has important things to do, but Octagon hasn't done them yet. Your operation will likely not succeed |
ecaf5866 A |
37 | }; |
38 | ||
8a50f688 A |
39 | @interface CKKSControl : NSObject |
40 | ||
b54c578e A |
41 | @property (readonly,assign) BOOL synchronous; |
42 | ||
8a50f688 A |
43 | - (instancetype)init NS_UNAVAILABLE; |
44 | - (instancetype)initWithConnection:(NSXPCConnection*)connection; | |
45 | ||
3f0f0d49 A |
46 | - (void)rpcStatus:(NSString* _Nullable)viewName |
47 | reply:(void (^)(NSArray<NSDictionary*>* _Nullable result, NSError* _Nullable error))reply; | |
7512f6be A |
48 | - (void)rpcFastStatus:(NSString* _Nullable)viewName |
49 | reply:(void (^)(NSArray<NSDictionary*>* _Nullable result, NSError* _Nullable error))reply; | |
3f0f0d49 | 50 | - (void)rpcResetLocal:(NSString* _Nullable)viewName reply:(void (^)(NSError* _Nullable error))reply; |
79b9da22 | 51 | - (void)rpcResetCloudKit:(NSString* _Nullable)viewName reason:(NSString *)reason reply:(void (^)(NSError* _Nullable error))reply; |
3f0f0d49 A |
52 | - (void)rpcResync:(NSString* _Nullable)viewName reply:(void (^)(NSError* _Nullable error))reply; |
53 | - (void)rpcFetchAndProcessChanges:(NSString* _Nullable)viewName reply:(void (^)(NSError* _Nullable error))reply; | |
54 | - (void)rpcFetchAndProcessClassAChanges:(NSString* _Nullable)viewName reply:(void (^)(NSError* _Nullable error))reply; | |
55 | - (void)rpcPushOutgoingChanges:(NSString* _Nullable)viewName reply:(void (^)(NSError* _Nullable error))reply; | |
b54c578e | 56 | - (void)rpcCKMetric:(NSString *)eventName attributes:(NSDictionary *)attributes reply:(void(^)(NSError* error))reply; |
8a50f688 | 57 | |
b54c578e A |
58 | - (void)rpcPerformanceCounters: (void(^)(NSDictionary <NSString *,NSNumber *> *,NSError*))reply; |
59 | - (void)rpcGetCKDeviceIDWithReply: (void (^)(NSString* ckdeviceID))reply; | |
8a50f688 A |
60 | |
61 | // convenience wrapper for rpcStatus:reply: | |
3f0f0d49 | 62 | - (void)rpcTLKMissing:(NSString* _Nullable)viewName reply:(void (^)(bool missing))reply; |
ecaf5866 | 63 | - (void)rpcKnownBadState:(NSString* _Nullable)viewName reply:(void (^)(CKKSKnownBadState))reply; |
8a50f688 | 64 | |
3f0f0d49 | 65 | + (CKKSControl* _Nullable)controlObject:(NSError* _Nullable __autoreleasing* _Nullable)error; |
b54c578e | 66 | + (CKKSControl* _Nullable)CKKSControlObject:(BOOL)sync error:(NSError* _Nullable __autoreleasing* _Nullable)error; |
8a50f688 A |
67 | |
68 | @end | |
69 | ||
3f0f0d49 A |
70 | NS_ASSUME_NONNULL_END |
71 | #endif // __OBJC__ |