]> git.saurik.com Git - apple/security.git/blame - OSX/sec/SOSCircle/SecureObjectSync/SOSTransportCircle.h
Security-57740.20.22.tar.gz
[apple/security.git] / OSX / sec / SOSCircle / SecureObjectSync / SOSTransportCircle.h
CommitLineData
d8f41ccd
A
1
2#ifndef SOSTransportCircle_h
3#define SOSTransportCircle_h
4
5#include <CoreFoundation/CoreFoundation.h>
6#include <CoreFoundation/CFRuntime.h>
5c19dc3a 7#include <Security/SecureObjectSync/SOSAccount.h>
d8f41ccd
A
8
9typedef struct __OpaqueSOSTransportCircle * SOSTransportCircleRef;
10
11struct __OpaqueSOSTransportCircle {
12 CFRuntimeBase _base;
13 SOSAccountRef account;
14
15 CFStringRef (*copyDescription)(SOSTransportCircleRef transport);
16 void (*destroy)(SOSTransportCircleRef transport);
17
18 bool (*postRetirement)(SOSTransportCircleRef transport, CFStringRef circleName, CFStringRef peer_id, CFDataRef retirement_data, CFErrorRef *error);
19 bool (*expireRetirementRecords)(SOSTransportCircleRef transport, CFDictionaryRef retirements, CFErrorRef *error);
20 bool (*flushChanges)(SOSTransportCircleRef transport, CFErrorRef *error);
21 bool (*postCircle)(SOSTransportCircleRef transport, CFStringRef circleName, CFDataRef circle_data, CFErrorRef *error);
5c19dc3a
A
22 CFIndex (*getTransportType)(SOSTransportCircleRef transport, CFErrorRef *error);
23
d8f41ccd
A
24 CFDictionaryRef (*handleRetirementMessages)(SOSTransportCircleRef transport, CFMutableDictionaryRef circle_retirement_messages_table, CFErrorRef *error);
25 CFArrayRef (*handleCircleMessages)(SOSTransportCircleRef transport, CFMutableDictionaryRef circle_circle_messages_table, CFErrorRef *error);
26
5c19dc3a
A
27 bool (*sendPeerInfo)(SOSTransportCircleRef transport, CFStringRef peerID, CFDataRef peerInfoData, CFErrorRef *error);
28 bool (*flushRingChanges)(SOSTransportCircleRef transport, CFErrorRef* error);
29 bool (*postRing)(SOSTransportCircleRef transport, CFStringRef ringName, CFDataRef ring, CFErrorRef *error);
30 bool (*sendDebugInfo)(SOSTransportCircleRef transport, CFStringRef type, CFTypeRef debugInfo, CFErrorRef *error);
31 bool (*sendAccountChangedWithDSID)(SOSTransportCircleRef transport, CFStringRef dsid, CFErrorRef *error);
d8f41ccd
A
32};
33
34SOSTransportCircleRef SOSTransportCircleCreateForSubclass(size_t size, SOSAccountRef account, CFErrorRef *error);
35
36bool SOSTransportCirclePostCircle(SOSTransportCircleRef transport, CFStringRef circleName, CFDataRef circle_data, CFErrorRef *error);
37
5c19dc3a 38bool SOSTransportCirclePostRetirement(SOSTransportCircleRef transport, CFStringRef circleName, SOSPeerInfoRef peer, CFErrorRef *error);
d8f41ccd
A
39
40bool SOSTransportCircleExpireRetirementRecords(SOSTransportCircleRef transport, CFDictionaryRef retirements, CFErrorRef *error);
41
42bool SOSTransportCircleFlushChanges(SOSTransportCircleRef transport, CFErrorRef *error);
43
5c19dc3a
A
44CFTypeID SOSTransportCircleGetTypeID(void);
45
46CFIndex SOSTransportCircleGetTransportType(SOSTransportCircleRef transport, CFErrorRef *error);
d8f41ccd
A
47
48SOSAccountRef SOSTransportCircleGetAccount(SOSTransportCircleRef transport);
49CF_RETURNS_RETAINED CFDictionaryRef SOSTransportCircleHandleRetirementMessages(SOSTransportCircleRef transport, CFMutableDictionaryRef circle_retirement_messages_table, CFErrorRef *error);
50
51
52CF_RETURNS_RETAINED CFArrayRef SOSTransportCircleHandleCircleMessages(SOSTransportCircleRef transport, CFMutableDictionaryRef circle_circle_messages_table, CFErrorRef *error);
53
5c19dc3a
A
54bool SOSTransportCircleSendPeerInfo(SOSTransportCircleRef transport, CFStringRef peerID, CFDataRef peerInfoData, CFErrorRef *error);
55
56bool SOSTransportCircleRingFlushChanges(SOSTransportCircleRef transport, CFErrorRef* error);
57
58bool SOSTransportCircleRingPostRing(SOSTransportCircleRef transport, CFStringRef ringName, CFDataRef ring, CFErrorRef *error);
59
60bool SOSTransportCircleSendDebugInfo(SOSTransportCircleRef transport, CFStringRef type, CFTypeRef debugInfo, CFErrorRef *error);
61
62bool SOSTransportCircleSendAccountChangedWithDSID(SOSTransportCircleRef transport, CFStringRef dsid, CFErrorRef *error);
63
64bool SOSTransportCircleSendOfficialDSID(SOSTransportCircleRef transport, CFStringRef dsid, CFErrorRef *error);
65
66bool SOSTransportCircleRecordLastCirclePushedInKVS(SOSTransportCircleRef transport, CFStringRef circle_name, CFDataRef circleData);
d8f41ccd
A
67
68#endif