// // Copyright (c) 2012 Apple. All rights reserved. // #import "Authority.h" #import @implementation Authority - (Authority *)initWithAssessment:(NSDictionary *)assessment { [self updateWithAssessment:assessment]; return self; } - (void)updateWithAssessment:(NSDictionary *)assessment { self.identity = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyID]; self.remarks = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyRemarks]; self.disabled = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyDisabled]; self.codeRequirement = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyRequirement]; self.bookmark = [assessment objectForKey:(__bridge id)kSecAssessmentRuleKeyBookmark]; } - (NSString *)description { if (self.remarks) return self.remarks; return @"description here"; } - (NSImage *)icon { if (self.bookmark == NULL) return NULL; NSURL *url = [NSURL URLByResolvingBookmarkData:self.bookmark options:0 relativeToURL:NULL bookmarkDataIsStale:NULL error:NULL]; NSDictionary *icons = [url resourceValuesForKeys:@[ NSURLEffectiveIconKey, NSURLCustomIconKey ] error:NULL]; NSImage *image = [icons objectForKey: NSURLCustomIconKey]; if (image) return image; return [icons objectForKey: NSURLEffectiveIconKey]; } @end