]> git.saurik.com Git - apple/security.git/blobdiff - Security/sec/SOSCircle/SecureObjectSync/SOSTransportCircle.h
Security-57031.1.35.tar.gz
[apple/security.git] / Security / sec / SOSCircle / SecureObjectSync / SOSTransportCircle.h
diff --git a/Security/sec/SOSCircle/SecureObjectSync/SOSTransportCircle.h b/Security/sec/SOSCircle/SecureObjectSync/SOSTransportCircle.h
new file mode 100644 (file)
index 0000000..dc6eae9
--- /dev/null
@@ -0,0 +1,45 @@
+
+#ifndef SOSTransportCircle_h
+#define SOSTransportCircle_h
+
+#include <CoreFoundation/CoreFoundation.h>
+#include <CoreFoundation/CFRuntime.h>
+#include <SecureObjectSync/SOSAccount.h>
+
+typedef struct __OpaqueSOSTransportCircle * SOSTransportCircleRef;
+
+struct __OpaqueSOSTransportCircle {
+    CFRuntimeBase           _base;
+    SOSAccountRef           account;
+    
+    CFStringRef             (*copyDescription)(SOSTransportCircleRef transport);
+    void                    (*destroy)(SOSTransportCircleRef transport);
+    
+    bool                    (*postRetirement)(SOSTransportCircleRef transport,  CFStringRef circleName, CFStringRef peer_id, CFDataRef retirement_data, CFErrorRef *error);
+    bool                    (*expireRetirementRecords)(SOSTransportCircleRef transport, CFDictionaryRef retirements, CFErrorRef *error);
+    bool                    (*flushChanges)(SOSTransportCircleRef transport, CFErrorRef *error);
+    bool                    (*postCircle)(SOSTransportCircleRef transport,  CFStringRef circleName, CFDataRef circle_data, CFErrorRef *error);
+    CFDictionaryRef         (*handleRetirementMessages)(SOSTransportCircleRef transport, CFMutableDictionaryRef circle_retirement_messages_table, CFErrorRef *error);
+    CFArrayRef              (*handleCircleMessages)(SOSTransportCircleRef transport, CFMutableDictionaryRef circle_circle_messages_table, CFErrorRef *error);
+    
+};
+
+SOSTransportCircleRef SOSTransportCircleCreateForSubclass(size_t size, SOSAccountRef account, CFErrorRef *error);
+
+bool SOSTransportCirclePostCircle(SOSTransportCircleRef transport,  CFStringRef circleName, CFDataRef circle_data, CFErrorRef *error);
+
+bool SOSTransportCirclePostRetirement(SOSTransportCircleRef transport,  CFStringRef circleName, CFStringRef peer_id, CFDataRef retirement_data, CFErrorRef *error);
+
+bool SOSTransportCircleExpireRetirementRecords(SOSTransportCircleRef transport, CFDictionaryRef retirements, CFErrorRef *error);
+
+bool SOSTransportCircleFlushChanges(SOSTransportCircleRef transport, CFErrorRef *error);
+
+
+SOSAccountRef SOSTransportCircleGetAccount(SOSTransportCircleRef transport);
+CF_RETURNS_RETAINED CFDictionaryRef SOSTransportCircleHandleRetirementMessages(SOSTransportCircleRef transport, CFMutableDictionaryRef circle_retirement_messages_table, CFErrorRef *error);
+
+
+CF_RETURNS_RETAINED CFArrayRef SOSTransportCircleHandleCircleMessages(SOSTransportCircleRef transport, CFMutableDictionaryRef circle_circle_messages_table, CFErrorRef *error);
+
+
+#endif