/ Sample / GSSSampleOSX / AppDelegate.m
AppDelegate.m
 1  //
 2  //  AppDelegate.m
 3  //  GSSSampleOSX
 4  //
 5  //  Created by Love Hörnquist Åstrand on 2011-11-13.
 6  //
 7  
 8  #import "AppDelegate.h"
 9  #import <GSS/GSSItem.h>
10  
11  @implementation AppDelegate
12  
13  @synthesize window = _window;
14  @synthesize tableview = _tableview;
15  @synthesize credentials = _credentials;
16  @synthesize arrayController = _arrayController;
17  
18  - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
19  {
20  	[self refreshCredentials:nil];
21  }
22  
23  - (IBAction)refreshCredentials:(id)sender
24  {
25  	_credentials = [[NSMutableArray alloc] init];
26  	
27  	CFMutableDictionaryRef attrs = CFDictionaryCreateMutable(NULL, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
28  	
29  	CFDictionaryAddValue(attrs, kGSSAttrClass, kGSSAttrClassKerberos);
30  	
31  	CFErrorRef error = NULL;
32  	
33  	CFArrayRef items = GSSItemCopyMatching(attrs, &error);
34  	if (items) {
35  		CFIndex n, count = CFArrayGetCount(items);
36  		for (n = 0; n < count; n++) {
37  			CFTypeRef item = CFArrayGetValueAtIndex(items, n);
38  			NSLog(@"item %d = %@", (int)n, item);
39  			
40  			NSDictionary *i;
41  			
42  			i = [(__bridge NSDictionary *)item mutableCopy];
43  			[i setValue:@"expire1" forKey:@"kGSSAttrTransientExpire"];
44  			NSLog(@"%@ %@", i, [i className]);
45  			[_credentials addObject:i];
46  		}
47  		CFRelease(items);
48  	}
49  	CFRelease(attrs);
50  	
51  	[_credentials addObject:@{ @"kGSSAttrNameDisplay" : @"foo", @"kGSSAttrTransientExpire" : @"expire"}];
52  	
53  	NSLog(@"%@", _credentials);
54  	
55  	[_arrayController setContent:_credentials];
56  	
57  	NSLog(@"item %@", [_arrayController valueForKeyPath:@"arrangedObjects.kGSSAttrNameDisplay"]);
58  	NSLog(@"item %@", [_arrayController valueForKeyPath:@"arrangedObjects.kGSSAttrTransientExpire"]);
59  	
60  	[_tableview reloadData];
61  	
62  	
63  }
64  @end