]> git.saurik.com Git - apple/security.git/blobdiff - keychain/SecureObjectSync/SOSAccountTrust.h
Security-59306.11.20.tar.gz
[apple/security.git] / keychain / SecureObjectSync / SOSAccountTrust.h
diff --git a/keychain/SecureObjectSync/SOSAccountTrust.h b/keychain/SecureObjectSync/SOSAccountTrust.h
new file mode 100644 (file)
index 0000000..b881ff0
--- /dev/null
@@ -0,0 +1,60 @@
+//
+//  SOSAccountTrust_h
+//  Security
+
+#ifndef SOSAccountTrust_h
+#define SOSAccountTrust_h
+
+#import <Foundation/Foundation.h>
+#import "keychain/SecureObjectSync/SOSCircle.h"
+#import "keychain/SecureObjectSync/SOSFullPeerInfo.h"
+#import "keychain/SecureObjectSync/SOSRing.h"
+
+typedef bool (^SOSModifyCircleBlock)(SOSCircleRef circle);
+typedef void (^SOSIteratePeerBlock)(SOSPeerInfoRef peerInfo);
+typedef bool (^SOSModifyPeerBlock)(SOSPeerInfoRef peerInfo);
+typedef bool (^SOSModifyPeerInfoBlock)(SOSFullPeerInfoRef fpi, CFErrorRef *error);
+typedef SOSRingRef(^RingNameBlock)(CFStringRef name, SOSRingRef ring);
+typedef void (^SOSModifyPeersInCircleBlock)(SOSCircleRef circle, CFMutableArrayRef appendPeersTo);
+
+@interface SOSAccountTrust : NSObject
+{
+   NSMutableDictionary *   expansion;
+
+    SOSFullPeerInfoRef      fullPeerInfo;
+    SOSPeerInfoRef          peerInfo;
+    NSString*               peerID;
+
+    SOSCircleRef            trustedCircle;
+    NSMutableSet *          retirees;
+    enum DepartureReason    departureCode;
+
+    SecKeyRef               _cachedOctagonSigningKey;
+    SecKeyRef               _cachedOctagonEncryptionKey;
+}
+@property (strong, nonatomic)   NSMutableDictionary *   expansion;
+
+@property (nonatomic)           SOSFullPeerInfoRef      fullPeerInfo;
+
+// Convenince getters
+@property (nonatomic, readonly) SOSPeerInfoRef          peerInfo;
+@property (nonatomic, readonly) NSString*               peerID;
+
+
+@property (nonatomic)           SOSCircleRef            trustedCircle;
+@property (strong, nonatomic)   NSMutableSet *          retirees;
+@property (nonatomic)           enum DepartureReason    departureCode;
+
+@property (assign)              SecKeyRef               cachedOctagonSigningKey;
+@property (assign)              SecKeyRef               cachedOctagonEncryptionKey;
+
++(instancetype)trust;
+
+-(id)init;
+-(id)initWithRetirees:(NSMutableSet*)retirees fpi:(SOSFullPeerInfoRef)identity circle:(SOSCircleRef) trusted_circle
+        departureCode:(enum DepartureReason)code peerExpansion:(NSMutableDictionary*)expansion;
+
+
+@end
+
+#endif /* Trust_h */