1// 2// Copyright (c) 2012 Apple. All rights reserved. 3// 4 5#import "Authority.h" 6 7#import <Security/SecAssessment.h> 8 9@implementation Authority 10 11 12- (Authority *)initWithAssessment:(NSDictionary *)assessment 13{ 14 [self updateWithAssessment:assessment]; 15 return self; 16} 17 18- (void)updateWithAssessment:(NSDictionary *)assessment 19{ 20 self.identity = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyID]; 21 self.remarks = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyRemarks]; 22 self.disabled = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyDisabled]; 23 self.codeRequirement = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyRequirement]; 24 self.bookmark = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyBookmark]; 25} 26 27- (NSString *)description 28{ 29 if (self.remarks) 30 return self.remarks; 31 return @"description here"; 32} 33 34- (NSImage *)icon 35{ 36 if (self.bookmark == NULL) 37 return NULL; 38 39 NSURL *url = [NSURL URLByResolvingBookmarkData:self.bookmark options:0 relativeToURL:NULL bookmarkDataIsStale:NULL error:NULL]; 40 41 NSDictionary *icons = [url resourceValuesForKeys:@[ NSURLEffectiveIconKey, NSURLCustomIconKey ] error:NULL]; 42 43 NSImage *image = [icons objectForKey: NSURLCustomIconKey]; 44 if (image) 45 return image; 46 47 return [icons objectForKey: NSURLEffectiveIconKey]; 48} 49 50@end 51