]> git.saurik.com Git - apple/security.git/blob - Security/sec/SOSCircle/SecureObjectSync/SOSTransportKeyParameter.h
Security-57031.1.35.tar.gz
[apple/security.git] / Security / sec / SOSCircle / SecureObjectSync / SOSTransportKeyParameter.h
1
2 #ifndef SOSTransportKeyParameter_h
3 #define SOSTransportKeyParameter_h
4
5 #include <CoreFoundation/CoreFoundation.h>
6 #include <CoreFoundation/CFRuntime.h>
7 #include <SecureObjectSync/SOSAccount.h>
8
9 typedef struct __OpaqueSOSTransportKeyParameter * SOSTransportKeyParameterRef;
10
11 struct __OpaqueSOSTransportKeyParameter {
12 CFRuntimeBase _base;
13 SOSAccountRef account;
14 /* Connections from CF land to vtable land */
15 CFStringRef (*copyDescription)(SOSTransportKeyParameterRef object);
16 void (*destroy)(SOSTransportKeyParameterRef object);
17
18
19 // TODO: Make this take broader parameters and assemble the key parameters blob?
20 bool (*publishCloudParameters)(SOSTransportKeyParameterRef transport, CFDataRef data, CFErrorRef* error);
21 bool (*handleKeyParameterChanges)(SOSTransportKeyParameterRef transport, CFDataRef data, CFErrorRef error);
22 bool (*setToNewAccount)(SOSTransportKeyParameterRef transport);
23 };
24
25 bool SOSTrasnportKeyParameterPublishCloudParameters(SOSTransportKeyParameterRef transport, CFDataRef data, CFErrorRef* error);
26
27 bool SOSTrasnportKeyParameterPublishCloudParameters(SOSTransportKeyParameterRef transport, CFDataRef data, CFErrorRef* error);
28 SOSTransportKeyParameterRef SOSTransportKeyParameterCreateForSubclass(size_t size, SOSAccountRef account, CFErrorRef *error);
29 bool SOSTransportKeyParameterHandleKeyParameterChanges(SOSTransportKeyParameterRef transport, CFDataRef data, CFErrorRef error);
30 bool SOSTransportKeyParameterHandleNewAccount(SOSTransportKeyParameterRef transport);
31
32 SOSAccountRef SOSTransportKeyParameterGetAccount(SOSTransportKeyParameterRef transport);
33
34 #endif