]> git.saurik.com Git - apple/security.git/blob - keychain/SecureObjectSync/SOSAccountTrust.m
Security-59754.41.1.tar.gz
[apple/security.git] / keychain / SecureObjectSync / SOSAccountTrust.m
1 //
2 // SOSAccountTrust.c
3 // Security
4 //
5 #import "keychain/SecureObjectSync/SOSAccountPriv.h"
6 #import "keychain/SecureObjectSync/SOSAccountTrust.h"
7
8 @implementation SOSAccountTrust
9 @synthesize cachedOctagonEncryptionKey = _cachedOctagonEncryptionKey;
10 @synthesize cachedOctagonSigningKey = _cachedOctagonSigningKey;
11
12 +(instancetype)trust
13 {
14 return [[SOSAccountTrust alloc]init];
15 }
16
17 -(id)init
18 {
19 if ((self = [super init])) {
20 self.retirees = [NSMutableSet set];
21 self.fullPeerInfo = NULL;
22 self.trustedCircle = NULL;
23 self.departureCode = kSOSDepartureReasonError;
24 self.expansion = [NSMutableDictionary dictionary];
25 }
26 return self;
27 }
28
29 -(id)initWithRetirees:(NSMutableSet*)r fpi:(SOSFullPeerInfoRef)fpi circle:(SOSCircleRef) trusted_circle
30 departureCode:(enum DepartureReason)code peerExpansion:(NSMutableDictionary*)e
31 {
32
33 if ((self = [super init])) {
34 self.retirees = r;
35 self.fullPeerInfo = fpi;
36 self.trustedCircle = trusted_circle;
37 self.departureCode = code;
38 self.expansion = e;
39 }
40 return self;
41 }
42 - (void)dealloc {
43 if(self) {
44 CFReleaseNull(self->fullPeerInfo);
45 CFReleaseNull(self->peerInfo);
46 CFReleaseNull(self->trustedCircle);
47 CFReleaseNull(self->_cachedOctagonSigningKey);
48 CFReleaseNull(self->_cachedOctagonEncryptionKey);
49 }
50 }
51
52 - (SOSPeerInfoRef) peerInfo {
53 return SOSFullPeerInfoGetPeerInfo(self.fullPeerInfo);
54 }
55
56 - (NSString*) peerID {
57 return (__bridge_transfer NSString*) CFRetainSafe(SOSPeerInfoGetPeerID(self.peerInfo));
58 }
59
60 @synthesize trustedCircle = trustedCircle;
61
62 - (void) setTrustedCircle:(SOSCircleRef) circle {
63 CFRetainAssign(self->trustedCircle, circle);
64 }
65
66 @synthesize retirees = retirees;
67
68 -(void) setRetirees:(NSSet *)newRetirees
69 {
70 self->retirees = newRetirees.mutableCopy;
71 }
72
73 @synthesize fullPeerInfo = fullPeerInfo;
74
75 - (void) setFullPeerInfo:(SOSFullPeerInfoRef) newIdentity {
76 CFRetainAssign(self->fullPeerInfo, newIdentity);
77 }
78
79 @synthesize expansion = expansion;
80
81 -(void)setExpansion:(NSDictionary*) newExpansion
82 {
83 self->expansion = newExpansion.mutableCopy;
84 }
85
86 @synthesize departureCode = departureCode;
87
88 -(void)setDepartureCode:(enum DepartureReason)newDepartureCode
89 {
90 self->departureCode = newDepartureCode;
91 }
92
93 @end
94