BOOL gotToken; //0-no 1-one o more token
@protected
+ AFSPropertyManager *afsMngr;
NSString *afsSysPath;
NSNumber *useAklogPrefValue;
NSNumber *showStatusMenu;
+ NSNumber *aklogTokenAtLogin;
//Icon for state visualization
- NSImage *hasTokenImage;
- NSImage *noTokenImage;
+ NSImage *hasTokenImage;
+ NSImage *noTokenImage;
//credential windows mainWindow
AFSMenuCredentialContoller *credentialMenuController;
- (void)chageMenuVisibility:(NSNotification *)notification;
- (NSImage*)getImageFromBundle:(NSString*)fileName fileExt:(NSString*)ext;
- (NSImage*)imageToRender;
-- (void)updateMenu;
+- (void)menuNeedsUpdate:(NSMenu *)menu;
- (void)repairHelperTool;
- (void) afsVolumeMountChange:(NSNotification *)notification;
@implementation AFSBackgrounderDelegate
#pragma mark NSApp Delegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
- NSLog(@"applicationDidFinishLaunching");
- //Create the NSStatusBar and set its length
- statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
-
- //Used to detect where our files are
- //NSBundle *bundle = [NSBundle mainBundle];
-
+ NSLog(@"Init the afs manager");
+ afsMngr = [[AFSPropertyManager alloc] initWithAfsPath:afsSysPath];
+ // allocate the lock for concurent afs check state
+ tokensLock = [[NSLock alloc] init];
+
+ //remove the auto eanble on menu item
+ [backgrounderMenu setAutoenablesItems:NO];
//Sets the images in our NSStatusItem
statusItem = nil;
name:NSWorkspaceDidUnmountNotification object:nil];
//try to see if we need tho show the menu at startup
- NSLog(@"showStatusMenu %d", [showStatusMenu intValue]);
+
[self setStatusItem:[showStatusMenu boolValue]];
-
+
+ NSLog(@"Check if we need to get token at login time %d", [aklogTokenAtLogin intValue]);
+ if([aklogTokenAtLogin boolValue] && afsState && !gotToken) {
+ NSLog(@"Proceed to get token");
+ //check if we must get the aklog at logint(first run of backgrounder
+ [self getToken:nil];
+ }
}
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender {
// send notify that menuextra has closed
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAfsCommanderID object:kPrefChangeNotification];
+ if(tokensLock) [tokensLock release];
+ if(afsMngr) [afsMngr release];
return NSTerminateNow;
}
// -------------------------------------------------------------------------------
[afsSysPath release];
afsSysPath = nil;
}
+ CFPreferencesSynchronize((CFStringRef)kAfsCommanderID, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
+ CFPreferencesSynchronize((CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
afsSysPath = PREFERENCE_AFS_SYS_PAT_STATIC;
(CFStringRef)kAfsCommanderID,
kCFPreferencesCurrentUser,
kCFPreferencesAnyHost);
+
+ aklogTokenAtLogin = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_AKLOG_TOKEN_AT_LOGIN, (CFStringRef)kAfsCommanderID,
+ kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
//set the menu name
[self updateAfsStatus:nil];
}
// -------------------------------------------------------------------------------
-// -(void) readPreferenceFile
+// - (void)chageMenuVisibility:(NSNotification *)notification
// -------------------------------------------------------------------------------
+/**/
- (void)chageMenuVisibility:(NSNotification *)notification {
NSLog(@"chageMenuVisibility");
[self readPreferenceFile:nil];
@try {
if(afsdPath == nil) return;
- AFSPropertyManager *afsMngr = [[AFSPropertyManager alloc] initWithAfsPath:afsSysPath];
currentAfsState = [afsMngr checkAfsStatus];
- [afsMngr release];
-
rootHelperApp = [[NSBundle mainBundle] pathForResource:@"afshlp" ofType:@""];
//[startStopScript setString: resourcePath];
[self repairHelperTool];
// make the parameter to call the root helper app
- //NSLog(@"Path installazione afs: %s",[afsSysPath UTF8String]);
- //NSLog(@"Path installazione afsd: %s", [afsdPath UTF8String]);
status = [[AuthUtil shared] autorize];
if(status == noErr){
if(currentAfsState){
[afsPropMngr loadConfiguration];
- if([useAklogPrefValue intValue]==NSOnState ) {
+ if([useAklogPrefValue boolValue]) {
NSLog(@"Use Aklog");
[afsPropMngr getTokens:false
usr:nil
// -------------------------------------------------------------------------------
- (void)releaseToken:(id)sender
{
- AFSPropertyManager *afsMngr = [[AFSPropertyManager alloc] initWithAfsPath:afsSysPath];
[afsMngr unlog:nil];
- [afsMngr release];
[self updateAfsStatus:nil];
}
if(![tokensLock tryLock]) return;
// check the afs state in esclusive mode
- AFSPropertyManager *afsMngr = [[AFSPropertyManager alloc] initWithAfsPath:afsSysPath];
afsState = [afsMngr checkAfsStatus];
NSArray *tokens = [afsMngr getTokenList];
- [afsMngr release];
gotToken = [tokens count] > 0;
[tokens release];
- [self updateMenu];
//unlock
[tokensLock unlock];
}
-
-
// -------------------------------------------------------------------------------
-// -(void) updateMenu
+// - (void)menuNeedsUpdate:(NSMenu *)menu
// -------------------------------------------------------------------------------
-- (void)updateMenu{
- [getReleaseTokenMenuItem setEnabled:afsState];
- [startStopMenuItem setTitle:afsState?kAfsButtonShutdown:kAfsButtonStartup];
- [[statusItem view] setNeedsDisplay:YES];
-
+- (void)menuNeedsUpdate:(NSMenu *)menu {
+ if (menu == backgrounderMenu)
+ {
+ [startStopMenuItem setTitle:afsState?@"Shutdown AFS":@"Startup AFS"];
+ [getReleaseTokenMenuItem setTitle:gotToken?@"Release token":@"Get New Token"];
+ [getReleaseTokenMenuItem setEnabled:afsState];
+ [[statusItem view] setNeedsDisplay:YES];
+
+ }
}
[statusItem setImage:noTokenImage];
} else {
if(!statusItem) return;
- [statusItem release];
+ [[NSStatusBar systemStatusBar] removeStatusItem:statusItem];
+ [statusItem autorelease];
statusItem = nil;
}
}
[statusItemMenu setDelegate:nil];
[self setNeedsDisplay:YES];
}
+
+// -------------------------------------------------------------------------------
+// - (void)menuNeedsUpdate:(NSMenu *)menu
+// -------------------------------------------------------------------------------
+- (void)menuNeedsUpdate:(NSMenu *)menu {
+ [backgrounderDelegator menuNeedsUpdate:menu];
+}
@end
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilderKit</string>
<string>com.apple.InterfaceBuilderKit</string>
- <string>{{113, 626}, {125, 53}}</string>
+ <string>{{120, 603}, {125, 53}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">18</int>
+ <int key="maxID">19</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
- <key>LSUIElement</key>
- <true/>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>1.0</string>
+ <string>1.0b</string>
+ <key>LSUIElement</key>
+ <true/>
<key>NSMainNibFile</key>
<string>AFSBackounderMainMenu</string>
<key>NSPrincipalClass</key>
IBOutlet NSButton *dynRoot;
IBOutlet NSButton *afsDB;
IBOutlet NSButton *verbose;
+ IBOutlet NSButton *backgrounderActivationCheck;
IBOutlet NSBox *groupsBox;
//id installationPathTextField;
- (IBAction) aklogSwitchEvent:(id) sender;
- (IBAction) credentialAtLoginTimeEvent:(id) sender;
- (IBAction) afsStartupSwitchEvent:(id) sender;
-- (void) credentialAtLoginTimeEventCreationLaunchAgentDir:(NSWindow*)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo;
- (IBAction) krb5KredentialAtLoginTimeEvent:(id) sender;
- (IBAction) searchCellTextEvent:(id) sender;
+- (IBAction) manageBackgrounderActivation:(id)sender;
+- (void) credentialAtLoginTimeEventCreationLaunchAgentDir:(NSWindow*)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo;
- (void) clearCellServDBFiltering;
- (void) filterCellServDB:(NSString*)textToFilter;
- (DBCellElement*) getCurrentCellInDB;
- (void) readPreferenceFile;
- (void) refreshGui:(NSNotification *)notification;
- (void) afsVolumeMountChange:(NSNotification *)notification;
+- (void)tabView:(NSTabView *)tabView willSelectTabViewItem: (NSTabViewItem *)tabViewItem;
@end
@interface AFSCommanderPref (NSTableDataSource)
#define TAB_TOKENS 1
#define TAB_CELL_SERV_DB 2
#define TAB_CACHE 3
-#define TAB_GROUP 4
+#define TAB_LINK 4
//CellServDB table id
#define CELLSRVDB_TABLE_USR_DFLT_CHECK_COLUMN 0
- (void) readPreferenceFile
{
- // read the preference for afs path
- //NSString *afsSysPath = PREFERENCE_AFS_SYS_PAT_STATIC;/*(NSString*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_AFS_SYS_PAT, (CFStringRef)kAfsCommanderID,
- // kCFPreferencesAnyUser, kCFPreferencesAnyHost);*/
- /*if(afsSysPath){
- [((NSTextField*) installationPathTextField ) setStringValue:afsSysPath];
- }*/
-
// read the preference for aklog use
NSNumber *useAklogPrefValue = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_USE_AKLOG, (CFStringRef)kAfsCommanderID,
kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
NSNumber *aklogTokenAtLogin = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_AKLOG_TOKEN_AT_LOGIN, (CFStringRef)kAfsCommanderID,
kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
[useAklogCheck setState:[useAklogPrefValue intValue]];
- if(useAklogPrefValue){
- [aklogCredentialAtLoginTime setEnabled:[aklogTokenAtLogin boolValue]];
- } else {
- [aklogCredentialAtLoginTime setEnabled:NSOffState];
- [aklogCredentialAtLoginTime setState:NSOffState];
- }
-
+ [aklogCredentialAtLoginTime setEnabled:useAklogPrefValue && [useAklogPrefValue boolValue]];
+ [aklogCredentialAtLoginTime setState:aklogTokenAtLogin && [aklogTokenAtLogin boolValue]];
+
+ //check krb5 at login time
+ [installKRB5AuthAtLoginButton setState:[PListManager checkKrb5AtLoginTimeLaunchdEnable]];
+
//check for AFS enable at startup
NSNumber *afsEnableStartupTime = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_START_AFS_AT_STARTUP,
(CFStringRef)kAfsCommanderID, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
//set the check button state
[checkButtonAfsAtBootTime setState:startAFSAtLogin];
- NSNumber *showStatusMenu = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU, (CFStringRef)kAfsCommanderID, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
+ NSNumber *showStatusMenu = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU, (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
[(NSButton*)afsMenucheckBox setState: [showStatusMenu boolValue]];
+
+ //backgrounder state
+ [backgrounderActivationCheck setState:[PListManager launchdJobState:BACKGROUNDER_P_FILE]];
}
// -------------------------------------------------------------------------------
//set aklog at login
CFPreferencesSetValue((CFStringRef)PREFERENCE_AKLOG_TOKEN_AT_LOGIN,
(CFNumberRef)[NSNumber numberWithBool:[aklogCredentialAtLoginTime state]],
- (CFStringRef)kAfsCommanderID, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
+ (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
//set aklog at login
CFPreferencesSetValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU,
(CFNumberRef)[NSNumber numberWithBool:[afsMenucheckBox state]],
- (CFStringRef)kAfsCommanderID, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
+ (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
CFPreferencesSynchronize((CFStringRef)kAfsCommanderID, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
CFPreferencesSynchronize((CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
}
-
// -------------------------------------------------------------------------------
// credentialAtLoginTimeEvent:
// -------------------------------------------------------------------------------
- (IBAction) enableLink:(id) sender {
}
+
+// -------------------------------------------------------------------------------
+// removeExtra:
+// -------------------------------------------------------------------------------
+- (IBAction) manageBackgrounderActivation:(id)sender {
+ [PListManager launchctlCommand:[(NSButton*)sender state]
+ userDomain:YES
+ option:[NSArray arrayWithObjects:@"-S", @"Aqua", nil]
+ plistName:[NSString stringWithFormat:@"%@.plist", BACKGROUNDER_P_FILE]];
+ //re ad the status to check taht all is gone well
+ [backgrounderActivationCheck setState:[PListManager launchdJobState:BACKGROUNDER_P_FILE]];
+}
+
+
+// -------------------------------------------------------------------------------
+// - (void)tabView:(NSTabView *)tabView willSelectTabViewItem: (NSTabViewItem *)tabViewItem
+// -------------------------------------------------------------------------------
+- (void)tabView:(NSTabView *)tabView willSelectTabViewItem: (NSTabViewItem *)tabViewItem
+{
+ //check to see if the cache param tab is the tab that will be selected
+ if([((NSString*)[tabViewItem identifier]) intValue] == TAB_LINK)
+ {
+
+ // [groupsBox setHidden:YES];
+ NSLog([tabViewItem label]);
+ [ViewUtility enbleDisableControlView:[tabViewItem view]
+ controlState:NO];
+ }
+}
+
@end
@implementation AFSCommanderPref (NSTableDataSource)
}
return rowCount;
}
-
-
@end
[lyncCreationSheet orderOut:self];
}
@end
-
-// -------------------------------------------------------------------------------
-// AFSCommanderPref(NSTabViewDelegator) - delegate for nstabview in
-// main preference view
-// -------------------------------------------------------------------------------
-@implementation AFSCommanderPref(NSTabViewDelegator)
-- (void)tabView:(NSTabView *)tabView willSelectTabViewItem: (NSTabViewItem *)tabViewItem
-{
- //check to see if the cache param tab is the tab that will be selected
- if([((NSString*)[tabViewItem identifier]) intValue] == TAB_GROUP)
- {
- //get
- NSLog(@"cache param tab");
- // [groupsBox setHidden:YES];
- NSLog([groupsBox title]);
- [ViewUtility enbleDisableControlView:[groupsBox contentView]
- controlState:NO];
- }
-}
-@end
\ No newline at end of file
reason:kThisCellFOError
userInfo:nil];
}
- NSLog(@"Cell found: %s", [cellName cString]);
+ NSLog(@"Cell found: %@", cellName);
//read TheseCell file
[filePath setString: installationPath];
{
NSString *tmpString = nil;
NSString *result = [TaskUtil executeTaskSearchingPath:@"fs" args:[NSArray arrayWithObjects:@"-version", nil]];
- if(result) NSLog(@"fs -version return: %s", [result cString]);
+ if(result) NSLog(@"fs -version return: %@", result);
NSCharacterSet *endVersionCS = [NSCharacterSet characterSetWithCharactersInString:@"qwertyuiopasdfghjklzxcvbnmMNBVCXZLKJHGFDSAPOIUYTREWQ"];
NSError *error = nil;
NSString *tmpStr = nil;
- NSLog(@"Try to opening file: %s",[configFile cString] );
+ NSLog(@"Try to opening file: %@",configFile);
NSString * result = [NSString stringWithContentsOfFile:configFile
encoding:NSASCIIStringEncoding
error:&error];
modalDelegate:delegator
didEndSelector:fSelector
contextInfo:nil];
+ return YES;
}
@end
<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02">
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03">
<data>
<int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">9C31</string>
- <string key="IBDocument.InterfaceBuilderVersion">648</string>
- <string key="IBDocument.AppKitVersion">949.26</string>
- <string key="IBDocument.HIToolboxVersion">352.00</string>
+ <string key="IBDocument.SystemVersion">9J61</string>
+ <string key="IBDocument.InterfaceBuilderVersion">680</string>
+ <string key="IBDocument.AppKitVersion">949.46</string>
+ <string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="6"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="429600039">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSCustomObject" id="657952263">
<object class="NSWindowTemplate" id="249730404">
<int key="NSWindowStyleMask">11</int>
<int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{622, 526}, {525, 370}}</string>
+ <string key="NSWindowRect">{{622, 551}, {525, 345}}</string>
<int key="NSWTFlags">813170688</int>
<string key="NSWindowTitle">Panel</string>
<object class="NSMutableString" key="NSWindowClass">
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
+ <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSWindowContentMinSize">{525, 345}</string>
<object class="NSView" key="NSWindowView" id="274468230">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSButton" id="800283714">
<reference key="NSNextResponder" ref="274468230"/>
<int key="NSvFlags">289</int>
- <string key="NSFrame">{{430, 13}, {80, 28}}</string>
+ <string key="NSFrame">{{428, 12}, {80, 28}}</string>
<reference key="NSSuperview" ref="274468230"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1042040079">
<object class="NSButton" id="956015576">
<reference key="NSNextResponder" ref="274468230"/>
<int key="NSvFlags">289</int>
- <string key="NSFrame">{{348, 13}, {80, 28}}</string>
+ <string key="NSFrame">{{346, 12}, {80, 28}}</string>
<reference key="NSSuperview" ref="274468230"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="441391248">
<object class="NSTextField" id="680338282">
<reference key="NSNextResponder" ref="274468230"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{51, 344}, {54, 16}}</string>
+ <string key="NSFrame">{{51, 319}, {54, 16}}</string>
<reference key="NSSuperview" ref="274468230"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="496687085">
<object class="NSTableView" id="234348651">
<reference key="NSNextResponder" ref="786132725"/>
<int key="NSvFlags">256</int>
- <string key="NSFrameSize">{453, 190}</string>
+ <string key="NSFrameSize">{453, 165}</string>
<reference key="NSSuperview" ref="786132725"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="367895900">
<bool key="NSAllowsTypeSelect">YES</bool>
</object>
</object>
- <string key="NSFrame">{{1, 17}, {453, 190}}</string>
+ <string key="NSFrame">{{1, 17}, {453, 165}}</string>
<reference key="NSSuperview" ref="585065386"/>
<reference key="NSNextKeyView" ref="234348651"/>
<reference key="NSDocView" ref="234348651"/>
</object>
<reference ref="211425262"/>
</object>
- <string key="NSFrame">{{16, 30}, {455, 208}}</string>
+ <string key="NSFrame">{{16, 30}, {455, 183}}</string>
<reference key="NSSuperview" ref="612441040"/>
<reference key="NSNextKeyView" ref="786132725"/>
<int key="NSsFlags">562</int>
<reference key="NSHScroller" ref="814656055"/>
<reference key="NSContentView" ref="786132725"/>
<reference key="NSHeaderClipView" ref="336840699"/>
+ <reference key="NSCornerView" ref="211425262"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
</object>
+ <object class="NSButton" id="216429474">
+ <reference key="NSNextResponder" ref="612441040"/>
+ <int key="NSvFlags">289</int>
+ <string key="NSFrame">{{315, 6}, {75, 16}}</string>
+ <reference key="NSSuperview" ref="612441040"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="305136955">
+ <int key="NSCellFlags">604110336</int>
+ <int key="NSCellFlags2">134479872</int>
+ <string key="NSContents">Delete</string>
+ <object class="NSFont" key="NSSupport" id="22">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">9.000000e+00</double>
+ <int key="NSfFlags">3614</int>
+ </object>
+ <reference key="NSControlView" ref="216429474"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">1</int>
+ <object class="NSFont" key="NSAlternateImage" id="160758642">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">9.000000e+00</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <string key="NSAlternateContents"/>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="655780437">
+ <reference key="NSNextResponder" ref="612441040"/>
+ <int key="NSvFlags">289</int>
+ <string key="NSFrame">{{396, 6}, {75, 16}}</string>
+ <reference key="NSSuperview" ref="612441040"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="675738899">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134479872</int>
+ <string key="NSContents">Add</string>
+ <reference key="NSSupport" ref="22"/>
+ <reference key="NSControlView" ref="655780437"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">1</int>
+ <reference key="NSAlternateImage" ref="160758642"/>
+ <string key="NSAlternateContents"/>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
</object>
- <string key="NSFrame">{{2, 2}, {487, 249}}</string>
+ <string key="NSFrame">{{2, 2}, {487, 224}}</string>
<reference key="NSSuperview" ref="338197250"/>
</object>
</object>
- <string key="NSFrame">{{17, 41}, {491, 266}}</string>
+ <string key="NSFrame">{{17, 41}, {491, 241}}</string>
<reference key="NSSuperview" ref="274468230"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSTitlePosition">2</int>
<bool key="NSTransparent">NO</bool>
</object>
- <object class="NSButton" id="216429474">
- <reference key="NSNextResponder" ref="274468230"/>
- <int key="NSvFlags">289</int>
- <string key="NSFrame">{{331, 52}, {75, 16}}</string>
- <reference key="NSSuperview" ref="274468230"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="305136955">
- <int key="NSCellFlags">604110336</int>
- <int key="NSCellFlags2">134479872</int>
- <string key="NSContents">Delete</string>
- <object class="NSFont" key="NSSupport" id="22">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">9.000000e+00</double>
- <int key="NSfFlags">3614</int>
- </object>
- <reference key="NSControlView" ref="216429474"/>
- <int key="NSButtonFlags">-2038284033</int>
- <int key="NSButtonFlags2">1</int>
- <object class="NSFont" key="NSAlternateImage" id="160758642">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">9.000000e+00</double>
- <int key="NSfFlags">16</int>
- </object>
- <string key="NSAlternateContents"/>
- <object class="NSMutableString" key="NSKeyEquivalent">
- <characters key="NS.bytes"/>
- </object>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- </object>
- <object class="NSButton" id="655780437">
- <reference key="NSNextResponder" ref="274468230"/>
- <int key="NSvFlags">289</int>
- <string key="NSFrame">{{412, 52}, {75, 16}}</string>
- <reference key="NSSuperview" ref="274468230"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="675738899">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">134479872</int>
- <string key="NSContents">Add</string>
- <reference key="NSSupport" ref="22"/>
- <reference key="NSControlView" ref="655780437"/>
- <int key="NSButtonFlags">-2038284033</int>
- <int key="NSButtonFlags2">1</int>
- <reference key="NSAlternateImage" ref="160758642"/>
- <string key="NSAlternateContents"/>
- <object class="NSMutableString" key="NSKeyEquivalent">
- <characters key="NS.bytes"/>
- </object>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- </object>
<object class="NSTextField" id="953679499">
<reference key="NSNextResponder" ref="274468230"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{44, 314}, {61, 16}}</string>
+ <string key="NSFrame">{{44, 289}, {61, 16}}</string>
<reference key="NSSuperview" ref="274468230"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="847361982">
<object class="NSTextField" id="379757882">
<reference key="NSNextResponder" ref="274468230"/>
<int key="NSvFlags">266</int>
- <string key="NSFrame">{{110, 344}, {389, 19}}</string>
+ <string key="NSFrame">{{110, 319}, {389, 19}}</string>
<reference key="NSSuperview" ref="274468230"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="620196816">
<object class="NSTextField" id="523190513">
<reference key="NSNextResponder" ref="274468230"/>
<int key="NSvFlags">266</int>
- <string key="NSFrame">{{110, 315}, {389, 19}}</string>
+ <string key="NSFrame">{{110, 290}, {389, 19}}</string>
<reference key="NSSuperview" ref="274468230"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="115478350">
</object>
</object>
</object>
- <string key="NSFrameSize">{525, 370}</string>
+ <string key="NSFrameSize">{525, 345}</string>
+ <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{525, 367}</string>
<reference key="object" ref="274468230"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="800283714"/>
- <reference ref="956015576"/>
<reference ref="680338282"/>
<reference ref="338197250"/>
- <reference ref="216429474"/>
- <reference ref="655780437"/>
<reference ref="953679499"/>
<reference ref="379757882"/>
<reference ref="523190513"/>
+ <reference ref="800283714"/>
+ <reference ref="956015576"/>
</object>
<reference key="parent" ref="249730404"/>
</object>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="585065386"/>
- </object>
- <reference key="parent" ref="274468230"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">38</int>
- <reference key="object" ref="216429474"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="305136955"/>
- </object>
- <reference key="parent" ref="274468230"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">39</int>
- <reference key="object" ref="655780437"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="675738899"/>
+ <reference ref="655780437"/>
+ <reference ref="216429474"/>
</object>
<reference key="parent" ref="274468230"/>
</object>
<reference key="object" ref="496687085"/>
<reference key="parent" ref="680338282"/>
</object>
- <object class="IBObjectRecord">
- <int key="objectID">65</int>
- <reference key="object" ref="305136955"/>
- <reference key="parent" ref="216429474"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">66</int>
- <reference key="object" ref="675738899"/>
- <reference key="parent" ref="655780437"/>
- </object>
<object class="IBObjectRecord">
<int key="objectID">67</int>
<reference key="object" ref="847361982"/>
<reference key="object" ref="228999791"/>
<reference key="parent" ref="1066913939"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">38</int>
+ <reference key="object" ref="216429474"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="305136955"/>
+ </object>
+ <reference key="parent" ref="338197250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">65</int>
+ <reference key="object" ref="305136955"/>
+ <reference key="parent" ref="216429474"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">39</int>
+ <reference key="object" ref="655780437"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="675738899"/>
+ </object>
+ <reference key="parent" ref="338197250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">66</int>
+ <reference key="object" ref="675738899"/>
+ <reference key="parent" ref="655780437"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<string>38.ImportedFromIB2</string>
<string>39.IBPluginDependency</string>
<string>39.ImportedFromIB2</string>
- <string>5.IBPluginDependency</string>
+ <string>5.IBEditorWindowLastContentRect</string>
+ <string>5.IBViewEditorWindowController.showingBoundsRectangles</string>
+ <string>5.IBViewEditorWindowController.showingLayoutRectangles</string>
+ <string>5.IBWindowTemplateEditedContentRect</string>
<string>5.ImportedFromIB2</string>
<string>5.windowTemplate.hasMinSize</string>
<string>5.windowTemplate.minSize</string>
<string>56.ImportedFromIB2</string>
<string>6.IBPluginDependency</string>
<string>6.ImportedFromIB2</string>
+ <string>62.IBPluginDependency</string>
+ <string>63.IBPluginDependency</string>
+ <string>64.IBPluginDependency</string>
+ <string>65.IBPluginDependency</string>
+ <string>66.IBPluginDependency</string>
+ <string>67.IBPluginDependency</string>
+ <string>68.IBPluginDependency</string>
+ <string>69.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
<string>7.ImportedFromIB2</string>
+ <string>70.IBPluginDependency</string>
<string>70.IBShouldRemoveOnLegacySave</string>
+ <string>71.IBPluginDependency</string>
<string>71.IBShouldRemoveOnLegacySave</string>
+ <string>72.IBPluginDependency</string>
<string>72.IBShouldRemoveOnLegacySave</string>
+ <string>73.IBPluginDependency</string>
<string>73.IBShouldRemoveOnLegacySave</string>
+ <string>74.IBPluginDependency</string>
<string>74.IBShouldRemoveOnLegacySave</string>
<string>8.IBPluginDependency</string>
<string>8.ImportedFromIB2</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1" id="5"/>
+ <integer value="1" id="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>{{76, 288}, {525, 345}}</string>
+ <boolean value="YES" id="5"/>
<reference ref="5"/>
- <reference ref="5"/>
+ <string>{{76, 288}, {525, 345}}</string>
+ <reference ref="9"/>
+ <reference ref="9"/>
<string>{525, 345}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
- <reference ref="5"/>
- <reference ref="5"/>
- <reference ref="5"/>
- <reference ref="5"/>
- <reference ref="5"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="5"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <string>addLink:</string>
<string>addRemoveCell:</string>
<string>afsMenuActivationEvent:</string>
+ <string>afsStartupSwitchEvent:</string>
<string>aklogSwitchEvent:</string>
+ <string>credentialAtLoginTimeEvent:</string>
+ <string>enableLink:</string>
<string>getNewToken:</string>
<string>info:</string>
+ <string>krb5KredentialAtLoginTimeEvent:</string>
+ <string>manageBackgrounderActivation:</string>
<string>refreshConfiguration:</string>
+ <string>removeLink:</string>
<string>saveCacheManagerParam:</string>
<string>saveConfiguration:</string>
<string>searchCellTextEvent:</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<string>afsMenucheckBox</string>
<string>afsRootMountPoint</string>
<string>afsVersionLabel</string>
+ <string>aklogCredentialAtLoginTime</string>
+ <string>backgrounderActivationCheck</string>
+ <string>buttonAddLink</string>
+ <string>buttonRemoveLink</string>
<string>cacheDimension</string>
<string>cellIpButton</string>
<string>cellList</string>
+ <string>checkButtonAfsAtBootTime</string>
+ <string>checkEnableLink</string>
<string>credentialCommander</string>
<string>credentialSheet</string>
<string>dCacheDim</string>
<string>groupsBox</string>
<string>infoController</string>
<string>infoSheet</string>
- <string>installationPathTextField</string>
+ <string>installKRB5AuthAtLoginButton</string>
<string>ipConfControllerCommander</string>
<string>ipConfigurationSheet</string>
<string>labelSaveResult</string>
+ <string>lyncCreationSheet</string>
+ <string>lynkCreationController</string>
<string>nVolEntry</string>
- <string>refreshConfigurationButton</string>
<string>removeCellButton</string>
<string>saveConfigurationButton</string>
<string>startStopButton</string>
<string>statCacheEntry</string>
+ <string>textFieldDevInfoLabel</string>
<string>textSearchField</string>
<string>tokensButton</string>
<string>tokensTable</string>
<string>id</string>
<string>NSTextField</string>
<string>NSTextField</string>
+ <string>NSButton</string>
+ <string>NSButton</string>
+ <string>NSButton</string>
+ <string>NSButton</string>
<string>NSTextField</string>
<string>id</string>
<string>id</string>
+ <string>NSButton</string>
+ <string>NSButton</string>
<string>id</string>
<string>id</string>
<string>NSTextField</string>
<string>NSBox</string>
<string>id</string>
<string>id</string>
+ <string>NSButton</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>LynkCreationController</string>
<string>NSTextField</string>
<string>id</string>
<string>id</string>
<string>id</string>
- <string>id</string>
+ <string>NSTextField</string>
<string>NSTextField</string>
<string>NSSearchField</string>
<string>NSButton</string>
</object>
<object class="IBPartialClassDescription">
<string key="className">FirstResponder</string>
+ <string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
<string key="minorKey"/>
</object>
</object>
+ <object class="IBPartialClassDescription">
+ <string key="className">LynkCreationController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>cancell:</string>
+ <string>save:</string>
+ <string>selectLinkDest:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>lynkCreationSheet</string>
+ <string>textFieldLinkDestPath</string>
+ <string>textfieldLinkName</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSPanel</string>
+ <string>NSTextField</string>
+ <string>NSTextField</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">LynkCreationController.h</string>
+ </object>
+ </object>
<object class="IBPartialClassDescription">
<string key="className">NSPreferencePane</string>
<string key="superclassName">NSObject</string>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
- <string key="IBDocument.LastKnownRelativeProjectPath">../../AFSCommander.xcodeproj</string>
+ <string key="IBDocument.LastKnownRelativeProjectPath">../OpenAFS.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="6"/>
+ <integer value="101"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTextField" id="415603882">
<reference key="NSNextResponder" ref="645279396"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{17, 0}, {488, 17}}</string>
+ <string key="NSFrame">{{17, 1}, {304, 14}}</string>
<reference key="NSSuperview" ref="645279396"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="947523856">
<object class="NSButton" id="709840556">
<reference key="NSNextResponder" ref="520583273"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{13, 9}, {109, 28}}</string>
+ <string key="NSFrame">{{13, 7}, {109, 28}}</string>
<reference key="NSSuperview" ref="520583273"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="675447498">
<object class="NSButton" id="871603218">
<reference key="NSNextResponder" ref="520583273"/>
<int key="NSvFlags">265</int>
- <string key="NSFrame">{{526, 12}, {21, 23}}</string>
+ <string key="NSFrame">{{526, 9}, {21, 23}}</string>
<reference key="NSSuperview" ref="520583273"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1009755861">
<int key="NSPeriodicInterval">25</int>
</object>
</object>
- <object class="NSButton" id="239701474">
- <reference key="NSNextResponder" ref="520583273"/>
- <int key="NSvFlags">268</int>
- <string key="NSFrame">{{273, 15}, {170, 18}}</string>
- <reference key="NSSuperview" ref="520583273"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="855912809">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">0</int>
- <string key="NSContents">Get Krb5 credential at login</string>
- <object class="NSFont" key="NSSupport" id="894635401">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">1.100000e+01</double>
- <int key="NSfFlags">16</int>
- </object>
- <reference key="NSControlView" ref="239701474"/>
- <int key="NSButtonFlags">1211912703</int>
- <int key="NSButtonFlags2">130</int>
- <object class="NSCustomResource" key="NSNormalImage" id="1069694397">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">NSSwitch</string>
- </object>
- <object class="NSButtonImageSource" key="NSAlternateImage" id="894136682">
- <string key="NSImageName">NSSwitch</string>
- </object>
- <string key="NSAlternateContents"/>
- <string key="NSKeyEquivalent"/>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- </object>
<object class="NSButton" id="713307252">
<reference key="NSNextResponder" ref="520583273"/>
<int key="NSvFlags">-2147483380</int>
- <string key="NSFrame">{{138, 15}, {117, 18}}</string>
+ <string key="NSFrame">{{138, 13}, {117, 18}}</string>
<reference key="NSSuperview" ref="520583273"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="98390178">
<reference key="NSControlView" ref="713307252"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">130</int>
- <reference key="NSNormalImage" ref="1069694397"/>
- <reference key="NSAlternateImage" ref="894136682"/>
+ <object class="NSCustomResource" key="NSNormalImage" id="502435249">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSSwitch</string>
+ </object>
+ <object class="NSButtonImageSource" key="NSAlternateImage" id="894136682">
+ <string key="NSImageName">NSSwitch</string>
+ </object>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
</object>
</object>
</object>
- <string key="NSFrame">{{1, 1}, {562, 49}}</string>
+ <string key="NSFrame">{{1, 1}, {562, 43}}</string>
<reference key="NSSuperview" ref="748501112"/>
</object>
</object>
- <string key="NSFrame">{{17, 417}, {564, 51}}</string>
+ <string key="NSFrame">{{17, 423}, {564, 45}}</string>
<reference key="NSSuperview" ref="645279396"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<object class="NSButton" id="210387551">
<reference key="NSNextResponder" ref="1020318718"/>
<int key="NSvFlags">265</int>
- <string key="NSFrame">{{322, 167}, {80, 28}}</string>
+ <string key="NSFrame">{{329, 164}, {80, 28}}</string>
<reference key="NSSuperview" ref="1020318718"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="327131725">
<object class="NSButton" id="977607312">
<reference key="NSNextResponder" ref="1020318718"/>
<int key="NSvFlags">265</int>
- <string key="NSFrame">{{407, 167}, {133, 28}}</string>
+ <string key="NSFrame">{{407, 164}, {133, 28}}</string>
<reference key="NSSuperview" ref="1020318718"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="73578210">
<object class="NSButton" id="893552286">
<reference key="NSNextResponder" ref="1020318718"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{14, 163}, {86, 18}}</string>
+ <string key="NSFrame">{{14, 172}, {86, 18}}</string>
<reference key="NSSuperview" ref="1020318718"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="428850916">
<reference key="NSControlView" ref="893552286"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<object class="NSButton" id="478533800">
<reference key="NSNextResponder" ref="1000204505"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{5, 31}, {75, 18}}</string>
+ <string key="NSFrame">{{5, 32}, {75, 18}}</string>
<reference key="NSSuperview" ref="1000204505"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="989004902">
<reference key="NSControlView" ref="478533800"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">130</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<object class="NSButton" id="541208829">
<reference key="NSNextResponder" ref="1000204505"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{5, 11}, {167, 18}}</string>
+ <string key="NSFrame">{{5, 12}, {167, 18}}</string>
<reference key="NSSuperview" ref="1000204505"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="95048095">
<reference key="NSControlView" ref="541208829"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">130</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
+ <reference key="NSAlternateImage" ref="894136682"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="239701474">
+ <reference key="NSNextResponder" ref="1000204505"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{5, 52}, {170, 18}}</string>
+ <reference key="NSSuperview" ref="1000204505"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="855912809">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">131072</int>
+ <string key="NSContents">Get Krb5 credential at login</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="239701474"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
</object>
</object>
</object>
- <string key="NSFrame">{{1, 1}, {195, 57}}</string>
+ <string key="NSFrame">{{1, 1}, {193, 78}}</string>
<reference key="NSSuperview" ref="184192603"/>
</object>
</object>
- <string key="NSFrame">{{103, 130}, {197, 73}}</string>
+ <string key="NSFrame">{{113, 97}, {195, 94}}</string>
<reference key="NSSuperview" ref="1020318718"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
- <string key="NSContents"/>
+ <string key="NSContents">Kerberos Setting</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="878835253"/>
<object class="NSColor" key="NSTextColor">
<int key="NSTitlePosition">2</int>
<bool key="NSTransparent">NO</bool>
</object>
+ <object class="NSButton" id="343070533">
+ <reference key="NSNextResponder" ref="1020318718"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{14, 152}, {96, 18}}</string>
+ <reference key="NSSuperview" ref="1020318718"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="237101992">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">131072</int>
+ <string key="NSContents">Backgrounder</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="343070533"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="502435249"/>
+ <reference key="NSAlternateImage" ref="894136682"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
</object>
<string key="NSFrame">{{10, 25}, {552, 363}}</string>
<reference key="NSSuperview" ref="739317740"/>
<reference key="NSControlView" ref="788506691"/>
<int key="NSButtonFlags">-2038021889</int>
<int key="NSButtonFlags2">35</int>
- <reference key="NSAlternateImage" ref="894635401"/>
+ <object class="NSFont" key="NSAlternateImage" id="894635401">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">1.100000e+01</double>
+ <int key="NSfFlags">16</int>
+ </object>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">400</int>
<reference key="NSControlView" ref="536830463"/>
<int key="NSButtonFlags">1215582719</int>
<int key="NSButtonFlags2">130</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<reference key="NSControlView" ref="536830463"/>
<int key="NSButtonFlags">1212436991</int>
<int key="NSButtonFlags2">130</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<reference key="NSControlView" ref="1070305297"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<reference key="NSControlView" ref="805322468"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<reference key="NSControlView" ref="1064737768"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">130</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<reference key="NSControlView" ref="509563943"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">130</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<reference key="NSControlView" ref="224507096"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">130</int>
- <reference key="NSNormalImage" ref="1069694397"/>
+ <reference key="NSNormalImage" ref="502435249"/>
<reference key="NSAlternateImage" ref="894136682"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<object class="NSTextField" id="1047946385">
<reference key="NSNextResponder" ref="645279396"/>
<int key="NSvFlags">289</int>
- <string key="NSFrame">{{229, 6}, {349, 11}}</string>
+ <string key="NSFrame">{{323, 3}, {258, 11}}</string>
<reference key="NSSuperview" ref="645279396"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="999146642">
</object>
<int key="connectionID">2053</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">backgrounderActivationCheck</string>
+ <reference key="source" ref="773588579"/>
+ <reference key="destination" ref="343070533"/>
+ </object>
+ <int key="connectionID">2056</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">manageBackgrounderActivation:</string>
+ <reference key="source" ref="773588579"/>
+ <reference key="destination" ref="343070533"/>
+ </object>
+ <int key="connectionID">2057</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<reference key="object" ref="645279396"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="415603882"/>
<reference ref="1047946385"/>
- <reference ref="748501112"/>
+ <reference ref="415603882"/>
<reference ref="739317740"/>
+ <reference ref="748501112"/>
</object>
<reference key="parent" ref="61231707"/>
</object>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="440720679"/>
- <reference ref="210387551"/>
<reference ref="977607312"/>
<reference ref="184192603"/>
<reference ref="893552286"/>
+ <reference ref="343070533"/>
+ <reference ref="210387551"/>
</object>
<reference key="parent" ref="269508902"/>
</object>
<reference ref="709840556"/>
<reference ref="713307252"/>
<reference ref="871603218"/>
- <reference ref="239701474"/>
</object>
<reference key="parent" ref="645279396"/>
</object>
<reference key="object" ref="184192603"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="239701474"/>
<reference ref="478533800"/>
<reference ref="541208829"/>
</object>
<reference key="object" ref="95048095"/>
<reference key="parent" ref="541208829"/>
</object>
- <object class="IBObjectRecord">
- <int key="objectID">2018</int>
- <reference key="object" ref="239701474"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="855912809"/>
- </object>
- <reference key="parent" ref="748501112"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">2019</int>
- <reference key="object" ref="855912809"/>
- <reference key="parent" ref="239701474"/>
- </object>
<object class="IBObjectRecord">
<int key="objectID">2022</int>
<reference key="object" ref="126070858"/>
<reference key="object" ref="98390178"/>
<reference key="parent" ref="713307252"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2054</int>
+ <reference key="object" ref="343070533"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="237101992"/>
+ </object>
+ <reference key="parent" ref="1020318718"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2055</int>
+ <reference key="object" ref="237101992"/>
+ <reference key="parent" ref="343070533"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2018</int>
+ <reference key="object" ref="239701474"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="855912809"/>
+ </object>
+ <reference key="parent" ref="184192603"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2019</int>
+ <reference key="object" ref="855912809"/>
+ <reference key="parent" ref="239701474"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<string>1199.IBPluginDependency</string>
<string>1199.ImportedFromIB2</string>
<string>12.IBEditorWindowLastContentRect</string>
+ <string>12.IBViewEditorWindowController.showingBoundsRectangles</string>
+ <string>12.IBViewEditorWindowController.showingLayoutRectangles</string>
<string>12.IBWindowTemplateEditedContentRect</string>
<string>12.ImportedFromIB2</string>
<string>12.windowTemplate.hasMinSize</string>
<string>2038.IBPluginDependency</string>
<string>2049.IBPluginDependency</string>
<string>2050.IBPluginDependency</string>
+ <string>2054.IBPluginDependency</string>
+ <string>2055.IBPluginDependency</string>
<string>207.IBPluginDependency</string>
<string>207.ImportedFromIB2</string>
<string>208.IBEditorWindowLastContentRect</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{50, 153}, {595, 486}}</string>
- <string>{{50, 153}, {595, 486}}</string>
- <reference ref="9"/>
+ <string>{{70, 135}, {595, 486}}</string>
<boolean value="NO" id="6"/>
+ <reference ref="6"/>
+ <string>{{70, 135}, {595, 486}}</string>
+ <reference ref="9"/>
+ <reference ref="6"/>
<string>{3.40282e+38, 3.40282e+38}</string>
<string>{0, 0}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{0, 510}, {715, 485}}</string>
<string>{{0, 510}, {715, 485}}</string>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">2053</int>
+ <int key="maxID">2057</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<string>getNewToken:</string>
<string>info:</string>
<string>krb5KredentialAtLoginTimeEvent:</string>
+ <string>manageBackgrounderActivation:</string>
<string>refreshConfiguration:</string>
<string>removeLink:</string>
<string>saveCacheManagerParam:</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<string>afsRootMountPoint</string>
<string>afsVersionLabel</string>
<string>aklogCredentialAtLoginTime</string>
+ <string>backgrounderActivationCheck</string>
<string>buttonAddLink</string>
<string>buttonRemoveLink</string>
<string>cacheDimension</string>
<string>NSButton</string>
<string>NSButton</string>
<string>NSButton</string>
+ <string>NSButton</string>
<string>NSTextField</string>
<string>id</string>
<string>id</string>
[cellElement setCellName:[((NSControl*) textFieldCellName) stringValue]];
[cellElement setCellComment:[((NSControl*) textFieldComment) stringValue]];
- NSLog(@"Deleting:\n%s",[[bkIPArray description] cString]);
+ NSLog(@"Deleting:\n%@",[bkIPArray description]);
[bkIPArray removeAllObjects];
NSLog(@"deleted:\n");
- NSLog(@"Coping:\n%s",[[workIPArray description] cString]);
+ NSLog(@"Coping:\n%@",[workIPArray description]);
[bkIPArray setArray:workIPArray];
- NSLog(@"Copied:\n%s",[[workIPArray description] cString]);
- NSLog(@"Releasing:\n%s",[[workIPArray description] cString]);
+ NSLog(@"Copied:\n%@",[workIPArray description]);
+ NSLog(@"Releasing:\n%@",[workIPArray description]);
[workIPArray release];
- NSLog(@"Released:\n%s",[[workIPArray description] cString]);
+ NSLog(@"Released:\n%@",[workIPArray description]);
}
// -------------------------------------------------------------------------------
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActivePerspectiveName</key>
+ <string>Project</string>
+ <key>AllowedModules</key>
+ <array>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Name</key>
+ <string>Groups and Files Outline View</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Name</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCTaskListModule</string>
+ <key>Name</key>
+ <string>Task List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Name</key>
+ <string>File and Smart Group Detail Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Name</key>
+ <string>Detailed Build Results Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Name</key>
+ <string>Project Batch Find Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Name</key>
+ <string>Project Format Conflicts List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Name</key>
+ <string>Bookmarks Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Name</key>
+ <string>Class Browser</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Name</key>
+ <string>Source Code Control Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXDebugBreakpointsModule</string>
+ <key>Name</key>
+ <string>Debug Breakpoints Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDockableInspector</string>
+ <key>Name</key>
+ <string>Inspector</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXOpenQuicklyModule</string>
+ <key>Name</key>
+ <string>Open Quickly Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Name</key>
+ <string>Debugger</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Name</key>
+ <string>Debug Console</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Name</key>
+ <string>Snapshots Tool</string>
+ </dict>
+ </array>
+ <key>BundlePath</key>
+ <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
+ <key>Description</key>
+ <string>AIODescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>perspectivev3</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>320DBA1B10270A3300A18A89</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.defaultV3</string>
+ <key>MajorVersion</key>
+ <integer>34</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>All-In-One</string>
+ <key>Notifications</key>
+ <array/>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>-1</integer>
+ <integer>-1</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>XCToolbarPerspectiveControl</string>
+ <string>NSToolbarSeparatorItem</string>
+ <string>active-combo-popup</string>
+ <string>action</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>clean-target</string>
+ <string>clean</string>
+ <string>buildOrClean</string>
+ <string>build-and-go</string>
+ <string>go-debug</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>servicesModuledebug</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>researchAssistant</string>
+ <string>get-info</string>
+ <string>com.apple.pbx.toolbar.searchfield</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.project</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C08E77C0454961000C914BD</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA23ED40692098700951B8B</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>231</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>089C166AFE841209C02AAC07</string>
+ <string>08FB77AFFE84173DC02AAC07</string>
+ <string>3276591010204DB4004CA418</string>
+ <string>19C28FB8FE9D52D311CA2CBB</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>27</integer>
+ <integer>26</integer>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {231, 1090}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <false/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {248, 1108}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>231</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>-1920 -126 1018 1149 -1920 -176 1920 1200 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>248pt</string>
+ </dict>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>320DBA1610270A3300A18A89</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>AFSBackgrounderDelegate.m</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>320DBA1710270A3300A18A89</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>AFSBackgrounderDelegate.m</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>320DBACD10272E1000A18A89</string>
+ <key>history</key>
+ <array>
+ <string>320DBA3E102725AA00A18A89</string>
+ <string>320DBAAD10272D2100A18A89</string>
+ <string>320DBACC10272E1000A18A89</string>
+ </array>
+ <key>prevStack</key>
+ <array>
+ <string>320DBA40102725AA00A18A89</string>
+ <string>320DBAAF10272D2100A18A89</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.CommonNavigatorGroupSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {765, 1103}}</string>
+ <key>RubberWindowFrame</key>
+ <string>-1920 -126 1018 1149 -1920 -176 1920 1200 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>1103pt</string>
+ </dict>
+ <dict>
+ <key>Proportion</key>
+ <string>0pt</string>
+ <key>Tabs</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA23EDF0692099D00951B8B</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{10, 27}, {765, -27}}</string>
+ <key>RubberWindowFrame</key>
+ <string>-1920 -126 1018 1149 -1920 -176 1920 1200 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA23EE00692099D00951B8B</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{10, 31}, {603, 297}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXCVSModuleFilterTypeKey</key>
+ <integer>1032</integer>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA23EE10692099D00951B8B</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM Results</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{10, 31}, {603, 297}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build</string>
+ <key>XCBuildResultsTrigger_Collapse</key>
+ <integer>1021</integer>
+ <key>XCBuildResultsTrigger_Open</key>
+ <integer>1011</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{10, 31}, {603, 297}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>765pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCModuleDock</string>
+ <string>PBXNavigatorGroup</string>
+ <string>XCDockableTabModule</string>
+ <string>XCDetailModule</string>
+ <string>PBXProjectFindModule</string>
+ <string>PBXCVSModule</string>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>320DBAB110272D2100A18A89</string>
+ <string>1CA23ED40692098700951B8B</string>
+ <string>320DBAB210272D2100A18A89</string>
+ <string>320DBA1610270A3300A18A89</string>
+ <string>320DBAB310272D2100A18A89</string>
+ <string>1CA23EDF0692099D00951B8B</string>
+ <string>1CA23EE00692099D00951B8B</string>
+ <string>1CA23EE10692099D00951B8B</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.defaultV3</string>
+ </dict>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>XCToolbarPerspectiveControl</string>
+ <string>NSToolbarSeparatorItem</string>
+ <string>active-combo-popup</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>build-and-go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>debugger-restart-executable</string>
+ <string>debugger-pause</string>
+ <string>debugger-step-over</string>
+ <string>debugger-step-into</string>
+ <string>debugger-step-out</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>com.apple.ide.XCBreakpointsToolbarItem</string>
+ <string>clear-log</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string>PBXDebugSessionModule</string>
+ <key>IconName</key>
+ <string>DebugTabIcon</string>
+ <key>Identifier</key>
+ <string>perspective.debug</string>
+ <key>IsVertical</key>
+ <integer>1</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CCC7628064C1048000F2A68</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {810, 0}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>0%</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {395, 213}}</string>
+ <string>{{395, 0}, {415, 213}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {810, 213}}</string>
+ <string>{{0, 213}, {810, 225}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CCC7629064C1048000F2A68</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleDrawerSize</key>
+ <string>{100, 120}</string>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 7}, {810, 438}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>443pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>XCModuleDock</string>
+ <string>PBXDebugCLIModule</string>
+ <string>PBXDebugSessionModule</string>
+ <string>XCConsole</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CC8E6A5069209BD00BB180A</string>
+ <string>1CC8E6A6069209BD00BB180A</string>
+ <string>1CCC7628064C1048000F2A68</string>
+ <string>1CCC7629064C1048000F2A68</string>
+ <string>1CC8E6A7069209BD00BB180A</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <true/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>0.0</real>
+ <key>ToolbarDisplayMode</key>
+ <integer>1</integer>
+ <key>ToolbarIsVisible</key>
+ <true/>
+ <key>ToolbarSizeMode</key>
+ <integer>2</integer>
+ <key>Type</key>
+ <string>Perspectives</string>
+ <key>UpdateMessage</key>
+ <string></string>
+ <key>WindowJustification</key>
+ <integer>5</integer>
+ <key>WindowOrderList</key>
+ <array>
+ <string>/Volumes/DeepData/Sorgenti/gitrepo/openafs/src/platform/DARWIN/AFSPreference/OpenAFS.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>-1920 -126 1018 1149 -1920 -176 1920 1200 </string>
+ <key>WindowToolsV3</key>
+ <array>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugger</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {317, 164}}</string>
+ <string>{{317, 0}, {377, 164}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {694, 164}}</string>
+ <string>{{0, 164}, {694, 216}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C162984064C10D400B95A72</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug - GLUTExamples (Underwater)</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleDrawerSize</key>
+ <string>{100, 120}</string>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 0}, {694, 380}}</string>
+ <key>RubberWindowFrame</key>
+ <string>321 238 694 422 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>1C0AD2AB069F1E9B00FABCE6</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>1C0AD2AC069F1E9B00FABCE6</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ <key>WindowString</key>
+ <string>321 238 694 422 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.build</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528F0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string><No Editor></string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052900623707200166675</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {500, 215}}</string>
+ <key>RubberWindowFrame</key>
+ <string>192 257 500 500 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>218pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 222}, {500, 236}}</string>
+ <key>RubberWindowFrame</key>
+ <string>192 257 500 500 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>236pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>458pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Build Results</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAA5065D492600B07095</string>
+ <string>1C78EAA6065D492600B07095</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.buildV3</string>
+ <key>WindowString</key>
+ <string>192 257 500 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.find</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CDD528C0622207200134675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string><No Editor></string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528D0623707200166675</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {781, 167}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>781pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528E0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{8, 0}, {773, 254}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>428pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Find</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXProjectFindModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>1C530D58069F1CE1000CFCEE</string>
+ <string>1C530D59069F1CE1000CFCEE</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1C530D5A069F1CE1000CFCEE</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.snapshots</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Snapshots</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCSnapshotModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <string>Yes</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.snapshots</string>
+ <key>WindowString</key>
+ <string>315 824 300 550 0 0 1440 878 </string>
+ <key>WindowToolIsVisible</key>
+ <string>Yes</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debuggerConsole</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAAC065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {700, 358}}</string>
+ <key>RubberWindowFrame</key>
+ <string>149 87 700 400 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>358pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>358pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger Console</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugCLIModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D5B069F1CE1000CFCEE</string>
+ <string>1C530D5C069F1CE1000CFCEE</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.consoleV3</string>
+ <key>WindowString</key>
+ <string>149 87 440 400 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D5B069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.scm</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB2065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string><No Editor></string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB3065D492600B07095</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {452, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052920623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ConsoleFrame</key>
+ <string>{{0, 259}, {452, 0}}</string>
+ <key>Frame</key>
+ <string>{{0, 7}, {452, 259}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ <key>TableConfiguration</key>
+ <array>
+ <string>Status</string>
+ <real>30</real>
+ <string>FileName</string>
+ <real>199</real>
+ <string>Path</string>
+ <real>197.09500122070312</real>
+ </array>
+ <key>TableFrame</key>
+ <string>{{0, 0}, {452, 250}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Proportion</key>
+ <string>262pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>266pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>SCM</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXCVSModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAB4065D492600B07095</string>
+ <string>1C78EAB5065D492600B07095</string>
+ <string>1C78EAB2065D492600B07095</string>
+ <string>1CD052920623707200166675</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.scmV3</string>
+ <key>WindowString</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>no</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>168</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {168, 350}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>0</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {185, 368}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>168</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA1AED706398EBD00589147</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{190, 0}, {554, 368}}</string>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>554pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>368pt</string>
+ </dict>
+ </array>
+ <key>MajorVersion</key>
+ <integer>3</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Breakpoints</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <string>1CDDB66907F98D9800BB5817</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpointsV3</string>
+ <key>WindowString</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <key>WindowToolIsVisible</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugAnimator</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug Visualizer</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugAnimatorV3</string>
+ <key>WindowString</key>
+ <string>100 100 700 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.bookmarks</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Proportion</key>
+ <string>166pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>166pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Bookmarks</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBookmarksModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowString</key>
+ <string>538 42 401 187 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.projectFormatConflicts</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Format Conflicts</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCProjectFormatConflictsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowContentMinSize</key>
+ <string>450 300</string>
+ <key>WindowString</key>
+ <string>50 850 472 307 0 0 1440 877</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.classBrowser</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>OptionsSetName</key>
+ <string>Hierarchy, all classes</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA6456E063B45B4001379D8</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Class Browser - NSObject</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ClassesFrame</key>
+ <string>{{0, 0}, {369, 96}}</string>
+ <key>ClassesTreeTableConfiguration</key>
+ <array>
+ <string>PBXClassNameColumnIdentifier</string>
+ <real>208</real>
+ <string>PBXClassBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0, 0}, {616, 353}}</string>
+ <key>MembersFrame</key>
+ <string>{{0, 105}, {369, 395}}</string>
+ <key>MembersTreeTableConfiguration</key>
+ <array>
+ <string>PBXMemberTypeIconColumnIdentifier</string>
+ <real>22</real>
+ <string>PBXMemberNameColumnIdentifier</string>
+ <real>216</real>
+ <string>PBXMemberTypeColumnIdentifier</string>
+ <real>94</real>
+ <string>PBXMemberBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <integer>1</integer>
+ <key>RubberWindowFrame</key>
+ <string>597 125 616 374 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Proportion</key>
+ <string>354pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>354pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Class Browser</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXClassBrowserModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EABA065D492600B07095</string>
+ <string>1C78EABB065D492600B07095</string>
+ <string>1CA6456E063B45B4001379D8</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.classbrowser</string>
+ <key>WindowString</key>
+ <string>597 125 616 374 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.refactoring</string>
+ <key>IncludeInToolsMenu</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{0, 0}, {500, 335}</string>
+ <key>RubberWindowFrame</key>
+ <string>{0, 0}, {500, 335}</string>
+ </dict>
+ <key>Module</key>
+ <string>XCRefactoringModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Refactoring</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCRefactoringModule</string>
+ </array>
+ <key>WindowString</key>
+ <string>200 200 500 356 0 0 1920 1200 </string>
+ </dict>
+ </array>
+</dict>
+</plist>
3228B9B01020526900DF98DA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3228B9AF1020526900DF98DA /* main.m */; };
3228B9B4102052A900DF98DA /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 327309620C2AB433008C322B /* Security.framework */; };
3228B9BE102052BE00DF98DA /* version.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3228B9BD102052BE00DF98DA /* version.plist */; };
- 3228B9D5102070A200DF98DA /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3276591D10204E08004CA418 /* Info.plist */; };
322B90450C2F0A2D0068F99A /* start_afs.sh in Resources */ = {isa = PBXBuildFile; fileRef = 322B90430C2F0A2D0068F99A /* start_afs.sh */; };
322B90460C2F0A2D0068F99A /* stop_afs.sh in Resources */ = {isa = PBXBuildFile; fileRef = 322B90440C2F0A2D0068F99A /* stop_afs.sh */; };
322CEF600C211D220060D66D /* DBCellElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 322CEF5F0C211D220060D66D /* DBCellElement.m */; };
327756270C3053A100C15D11 /* TaskUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 327756260C3053A100C15D11 /* TaskUtil.m */; };
327756280C3053A100C15D11 /* TaskUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 327756250C3053A100C15D11 /* TaskUtil.h */; };
327756290C3053A100C15D11 /* TaskUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 327756260C3053A100C15D11 /* TaskUtil.m */; };
+ 328014501025F503008E1060 /* afshlp in Resources */ = {isa = PBXBuildFile; fileRef = 49683EE40C3446380093C7C8 /* afshlp */; };
+ 328014A71025FB2B008E1060 /* start_afs.sh in Resources */ = {isa = PBXBuildFile; fileRef = 322B90430C2F0A2D0068F99A /* start_afs.sh */; };
+ 328014A81025FB2C008E1060 /* stop_afs.sh in Resources */ = {isa = PBXBuildFile; fileRef = 322B90440C2F0A2D0068F99A /* stop_afs.sh */; };
32B0AFDF0C01729400272348 /* AFSPropertyManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B0AFDD0C01729400272348 /* AFSPropertyManager.h */; };
32B0AFE00C01729400272348 /* AFSPropertyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B0AFDE0C01729400272348 /* AFSPropertyManager.m */; };
32B565740D8FAF62005255F2 /* NSString+search.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B565720D8FAF62005255F2 /* NSString+search.h */; };
499716940C23E36F001339E3 /* CellIp.h in Headers */ = {isa = PBXBuildFile; fileRef = 322CEF6C0C211DCC0060D66D /* CellIp.h */; };
499716950C23E370001339E3 /* DBCellElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 322CEF5F0C211D220060D66D /* DBCellElement.m */; };
499716960C23E370001339E3 /* DBCellElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 322CEF5E0C211D220060D66D /* DBCellElement.h */; };
- 4998A6A40DC33C9300146652 /* afsltd.m in Sources */ = {isa = PBXBuildFile; fileRef = 4998A6A30DC33C9300146652 /* afsltd.m */; };
- 4998A6A50DC33CD800146652 /* AFSPropertyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B0AFDE0C01729400272348 /* AFSPropertyManager.m */; };
- 4998A6A60DC33CDB00146652 /* DBCellElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 322CEF5F0C211D220060D66D /* DBCellElement.m */; };
- 4998A6A70DC33CDB00146652 /* CellIp.m in Sources */ = {isa = PBXBuildFile; fileRef = 322CEF6D0C211DCC0060D66D /* CellIp.m */; };
- 4998A6A80DC33CE600146652 /* FileUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 3273088C0C2A9B05008C322B /* FileUtil.m */; };
- 4998A6A90DC33CE700146652 /* AuthUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 3213E9400C2ABFD200D3D2F6 /* AuthUtil.m */; };
- 4998A6AA0DC33CE800146652 /* TaskUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 327756260C3053A100C15D11 /* TaskUtil.m */; };
- 4998A6AB0DC33CE900146652 /* ViewUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 495B043F0D219A2900F1E328 /* ViewUtility.m */; };
- 4998A6AC0DC33CEA00146652 /* NSString+search.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B565730D8FAF62005255F2 /* NSString+search.m */; };
- 4998A6AD0DC33CEB00146652 /* PListManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 498DCB420DC2240B00D143C8 /* PListManager.m */; };
- 4998A6F00DC3415600146652 /* SecurityFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 327308D20C2AA364008C322B /* SecurityFoundation.framework */; };
- 4998A6F10DC3415700146652 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 327309620C2AB433008C322B /* Security.framework */; };
- 4998A6F20DC3415800146652 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 495C39460D81EA3C003426FC /* Kerberos.framework */; };
- 4998A6F30DC3415900146652 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 493564E70CE711F300699A24 /* Carbon.framework */; };
- 4998A6F40DC3415900146652 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4940075A0CE62EB500F40D0A /* CoreServices.framework */; };
- 4998A6F50DC3415A00146652 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
49AF1F480C25B52A006A046E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 49AF1F470C25B52A006A046E /* InfoPlist.strings */; };
49B766450DCA47A50014A80F /* DialogUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 49B766430DCA47A50014A80F /* DialogUtility.h */; };
49B766460DCA47A50014A80F /* DialogUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 49B766440DCA47A50014A80F /* DialogUtility.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
+ 328014511025F52A008E1060 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 49683EE30C3446380093C7C8;
+ remoteInfo = afshlp;
+ };
32E29A9810249A1200D2C2E5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 49683EE30C3446380093C7C8 /* afshlp */;
+ remoteGlobalIDString = 49683EE30C3446380093C7C8;
remoteInfo = afshlp;
};
32E29A9A10249A1600D2C2E5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 3276591A10204E08004CA418 /* AFSBackgrounder */;
+ remoteGlobalIDString = 3276591A10204E08004CA418;
remoteInfo = AFSBackgrounder;
};
/* End PBXContainerItemProxy section */
49683EEB0C3446600093C7C8 /* afshlp.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = afshlp.m; sourceTree = "<group>"; };
498DCB410DC2240B00D143C8 /* PListManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PListManager.h; sourceTree = "<group>"; };
498DCB420DC2240B00D143C8 /* PListManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PListManager.m; sourceTree = "<group>"; };
- 4998A6860DC33BEC00146652 /* LoginTimeDaemon */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = LoginTimeDaemon; sourceTree = BUILT_PRODUCTS_DIR; };
- 4998A6A30DC33C9300146652 /* afsltd.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = afsltd.m; sourceTree = "<group>"; };
49B766430DCA47A50014A80F /* DialogUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DialogUtility.h; sourceTree = "<group>"; };
49B766440DCA47A50014A80F /* DialogUtility.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DialogUtility.m; sourceTree = "<group>"; };
49E43BE60C47D9EE00084436 /* global.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = global.h; sourceTree = "<group>"; };
- 8D202CF70486D31800D8A456 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ 8D202CF70486D31800D8A456 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = AFSBackgrounder/resource/Info.plist; sourceTree = "<group>"; };
8D202CF80486D31800D8A456 /* OpenAFS.prefPane */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = OpenAFS.prefPane; sourceTree = BUILT_PRODUCTS_DIR; };
F506C035013D953901CA16C8 /* PreferencePanes.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PreferencePanes.framework; path = /System/Library/Frameworks/PreferencePanes.framework; sourceTree = "<absolute>"; };
F506C03C013D9D7901CA16C8 /* AFSCommanderPref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFSCommanderPref.h; sourceTree = "<group>"; };
);
runOnlyForDeploymentPostprocessing = 0;
};
- 4998A6840DC33BEC00146652 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 4998A6F00DC3415600146652 /* SecurityFoundation.framework in Frameworks */,
- 4998A6F10DC3415700146652 /* Security.framework in Frameworks */,
- 4998A6F20DC3415800146652 /* Kerberos.framework in Frameworks */,
- 4998A6F30DC3415900146652 /* Carbon.framework in Frameworks */,
- 4998A6F40DC3415900146652 /* CoreServices.framework in Frameworks */,
- 4998A6F50DC3415A00146652 /* Cocoa.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
8D202CF20486D31800D8A456 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
8D202CF80486D31800D8A456 /* OpenAFS.prefPane */,
32CF01390C203C1800A8DC58 /* Test */,
49683EE40C3446380093C7C8 /* afshlp */,
- 4998A6860DC33BEC00146652 /* LoginTimeDaemon */,
3276591B10204E08004CA418 /* AFSBackgrounder.app */,
);
name = Products;
3228B9B21020527000DF98DA /* resource */ = {
isa = PBXGroup;
children = (
+ 3276591D10204E08004CA418 /* Info.plist */,
+ 3228B9BD102052BE00DF98DA /* version.plist */,
+ 3231521910243E09005901AA /* AFSMenuCredentialContoller.h */,
3231522910243E2C005901AA /* hasToken.png */,
3231522A10243E2C005901AA /* noToken.png */,
3231522710243E21005901AA /* CredentialWindow.nib */,
- 3276591D10204E08004CA418 /* Info.plist */,
- 3228B9BD102052BE00DF98DA /* version.plist */,
3276592D10204F8D004CA418 /* AFSBackounderMainMenu.xib */,
);
name = resource;
3231521E10243E09005901AA /* AFSMenuExtraView.m */,
3231521D10243E09005901AA /* AFSMenuExtraView.h */,
3231521A10243E09005901AA /* AFSMenuCredentialContoller.m */,
- 3231521910243E09005901AA /* AFSMenuCredentialContoller.h */,
3231522310243E10005901AA /* CredentialWindow */,
3228B9B21020527000DF98DA /* resource */,
);
children = (
32CFFEFD0C20316B00A8DC58 /* TestLib.m */,
49683EEB0C3446600093C7C8 /* afshlp.m */,
- 4998A6A30DC33C9300146652 /* afsltd.m */,
);
name = "Stand Alone Program";
sourceTree = "<group>";
buildRules = (
);
dependencies = (
+ 328014521025F52A008E1060 /* PBXTargetDependency */,
);
name = AFSBackgrounder;
productName = AFSBackgrounder;
productReference = 49683EE40C3446380093C7C8 /* afshlp */;
productType = "com.apple.product-type.tool";
};
- 4998A6850DC33BEC00146652 /* LoginTimeDaemon */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 4998A6A10DC33C2000146652 /* Build configuration list for PBXNativeTarget "LoginTimeDaemon" */;
- buildPhases = (
- 4998A6830DC33BEC00146652 /* Sources */,
- 4998A6840DC33BEC00146652 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = LoginTimeDaemon;
- productName = LoginTimeDaemon;
- productReference = 4998A6860DC33BEC00146652 /* LoginTimeDaemon */;
- productType = "com.apple.product-type.tool";
- };
8D202CE80486D31800D8A456 /* OpenAFS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DBD214808BA80EA00186707 /* Build configuration list for PBXNativeTarget "OpenAFS" */;
8D202CE80486D31800D8A456 /* OpenAFS */,
32CF01380C203C1800A8DC58 /* Test */,
49683EE30C3446380093C7C8 /* afshlp */,
- 4998A6850DC33BEC00146652 /* LoginTimeDaemon */,
3276591A10204E08004CA418 /* AFSBackgrounder */,
);
};
files = (
3276592E10204F8D004CA418 /* AFSBackounderMainMenu.xib in Resources */,
3228B9BE102052BE00DF98DA /* version.plist in Resources */,
- 3228B9D5102070A200DF98DA /* Info.plist in Resources */,
3231522810243E21005901AA /* CredentialWindow.nib in Resources */,
3231522B10243E2C005901AA /* hasToken.png in Resources */,
3231522C10243E2C005901AA /* noToken.png in Resources */,
+ 328014501025F503008E1060 /* afshlp in Resources */,
+ 328014A71025FB2B008E1060 /* start_afs.sh in Resources */,
+ 328014A81025FB2C008E1060 /* stop_afs.sh in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
);
runOnlyForDeploymentPostprocessing = 0;
};
- 4998A6830DC33BEC00146652 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 4998A6A40DC33C9300146652 /* afsltd.m in Sources */,
- 4998A6A50DC33CD800146652 /* AFSPropertyManager.m in Sources */,
- 4998A6A60DC33CDB00146652 /* DBCellElement.m in Sources */,
- 4998A6A70DC33CDB00146652 /* CellIp.m in Sources */,
- 4998A6A80DC33CE600146652 /* FileUtil.m in Sources */,
- 4998A6A90DC33CE700146652 /* AuthUtil.m in Sources */,
- 4998A6AA0DC33CE800146652 /* TaskUtil.m in Sources */,
- 4998A6AB0DC33CE900146652 /* ViewUtility.m in Sources */,
- 4998A6AC0DC33CEA00146652 /* NSString+search.m in Sources */,
- 4998A6AD0DC33CEB00146652 /* PListManager.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
8D202CF00486D31800D8A456 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
+ 328014521025F52A008E1060 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 49683EE30C3446380093C7C8 /* afshlp */;
+ targetProxy = 328014511025F52A008E1060 /* PBXContainerItemProxy */;
+ };
32E29A9910249A1200D2C2E5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 49683EE30C3446380093C7C8 /* afshlp */;
};
name = Release;
};
- 4998A6880DC33BED00146652 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
- ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_MODEL_TUNING = G5;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- INSTALL_PATH = /usr/local/bin;
- OTHER_LDFLAGS = (
- "-framework",
- Foundation,
- "-framework",
- AppKit,
- );
- PREBINDING = NO;
- PRODUCT_NAME = LoginTimeDaemon;
- };
- name = Debug;
- };
- 4998A6890DC33BED00146652 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
- ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
- COPY_PHASE_STRIP = YES;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_MODEL_TUNING = G5;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
- GCC_WARN_UNUSED_PARAMETER = NO;
- INSTALL_PATH = /usr/local/bin;
- OTHER_LDFLAGS = (
- "-framework",
- Foundation,
- "-framework",
- AppKit,
- );
- PREBINDING = NO;
- PRODUCT_NAME = LoginTimeDaemon;
- ZERO_LINK = NO;
- };
- name = Release;
- };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 4998A6A10DC33C2000146652 /* Build configuration list for PBXNativeTarget "LoginTimeDaemon" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 4998A6880DC33BED00146652 /* Debug */,
- 4998A6890DC33BED00146652 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
/* End XCConfigurationList section */
};
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
#define AUTH_FILE_BK @"/etc/authorization_bk"
#define TMP_FILE @"/tmp/authorization"
+#define BACKGROUNDER_P_FILE @"it.infn.lnf.network.AFSBackgrounder"
#define HOME_LAUNCHD_AGENT_FOLDER @"~/Library/LaunchAgents"
#define BACKGROUNDER_LAUNCHD_CONTROL_FILE @"~/Library/LaunchAgents/it.infn.lnf.network.AFSBackgrounder.plist"
#define BACKGROUNDER_LAUNCHD_TMP_CONTROL_FILE @"/tmp/it.infn.lnf.network.AFSBackgrounder.plist"
-#define BACKGROUNDER_AGENT_NAME @"AFSBackgrounder.app/Contents/MacOS/AFSBackgrounder"
#define LAUNCHD_DAEMON_FOLDER @"/Library/LaunchDaemons"
#define AFS_STARTUP_TMP_CONTROL_FILE @"/tmp/it.infn.lnf.network.afsstartup.plist"
@discussion <#(comprehensive description)#>
*/
+(void) manageAfsStartupLaunchdFile:(BOOL)enable afsStartupScript:(NSString*)afsStartupScript afsBasePath:(NSString*)afsBasePath afsdPath:(NSString*)afsdPath;
+
+/*!
+ @method launchctlCommand
+ @abstract exec the launchctl command on a particular plist job
+ @discussion <#(comprehensive description)#>
+*/
++(void) launchctlCommand:(BOOL)enable userDomain:(BOOL)userDomain option:(NSArray*)option plistName:(NSString*)plistName;
+
+/*!
+ @method launchdJobState
+ @abstract check is a job has been submitted to launchd
+ @discussion <#(comprehensive description)#>
+ */
++(BOOL) launchdJobState:(NSString*)jobName;
@end
#import "FileUtil.h"
#import "TaskUtil.h"
+#define BACKGROUNDER_AGENT_NAME @"AFSBackgrounder.app/Contents/MacOS/AFSBackgrounder"
+
@implementation PListManager
// -------------------------------------------------------------------------------
// krb5TiketAtLoginTime:
// -------------------------------------------------------------------------------
+(void) installBackgrounderLaunchdFile:(BOOL)install resourcePath:(NSString*) rsrcPath {
NSData *plistData = nil;
- NSMutableDictionary *launchdDic = nil;
+ NSMutableDictionary *launchdDic = nil;
+ NSMutableDictionary *keepAliveDic = nil;
NSString *error = nil;
NSString *backgrounderPath = [[rsrcPath stringByAppendingString:@"/"] stringByAppendingString:BACKGROUNDER_AGENT_NAME];
if(install) {
if(![[NSFileManager defaultManager] fileExistsAtPath:[BACKGROUNDER_LAUNCHD_CONTROL_FILE stringByExpandingTildeInPath]]) {
- launchdDic = [[NSMutableDictionary alloc] init];
+ launchdDic = [[[NSMutableDictionary alloc] init] autorelease];
+ keepAliveDic = [[[NSMutableDictionary alloc] init] autorelease];
[launchdDic setObject:@"it.infn.lnf.network.AFSBackgrounder"
forKey:@"Label"];
+ [keepAliveDic setObject:[NSNumber numberWithBool:NO]
+ forKey:@"SuccessfulExit"];
+
+ [launchdDic setObject:keepAliveDic
+ forKey:@"KeepAlive"];
+
[launchdDic setObject:@"Aqua"
forKey:@"LimitLoadToSessionType"];
if(enable) {
//Check first if the launchd configuration file for startup is present
if(![[NSFileManager defaultManager] fileExistsAtPath:[AFS_STARTUP_CONTROL_FILE stringByExpandingTildeInPath]]) {
- launchdDic = [[NSMutableDictionary alloc] init];
+ launchdDic = [[[NSMutableDictionary alloc] init] autorelease];
//argDic = [[NSMutableArray alloc] init];
[launchdDic setObject:@"it.infn.lnf.afsstartup"
forKey:@"Label"];
- //[argDic addObject:afsStartupScript];
- //[argDic addObject:afsBasePath/*"/var/db/openafs"*/];
- //[argDic addObject:afsdPath/*"/usr/sbin/afsd"*/];
[launchdDic setObject:[NSArray arrayWithObjects:afsStartupScript, afsBasePath, afsdPath, nil]
forKey:@"ProgramArguments"];
}
+// -------------------------------------------------------------------------------
+// launchctlCommand:
+// -------------------------------------------------------------------------------
++(void) launchctlCommand:(BOOL)enable
+ userDomain:(BOOL)userDomain
+ option:(NSArray*)option
+ plistName:(NSString*)plistName {
+ NSMutableArray *argument = [NSMutableArray array];
+ NSMutableString *commandPath = [NSMutableString stringWithCapacity:0];
+ NSUInteger searchDomain = userDomain?NSUserDomainMask:NSSystemDomainMask;
+ //
+ NSArray *libraryPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, searchDomain, YES);
+ //set the load unload
+ [argument addObject:enable?@"load":@"unload"];
+
+ //if there are load the user custo option
+ if(option) [argument addObjectsFromArray:option];
+
+ //construct the path
+ [commandPath appendString:[libraryPath objectAtIndex:0]];
+ [commandPath appendFormat:@"/LaunchAgents/%@", plistName];
+
+ [argument addObject:commandPath];
+ //exec the command
+ [TaskUtil executeTaskSearchingPath:@"launchctl"
+ args:argument];
+}
+
+// -------------------------------------------------------------------------------
+// launchdJobState:
+// -------------------------------------------------------------------------------
++(BOOL) launchdJobState:(NSString*)jobName {
+ NSMutableArray *argument = [NSMutableArray array];
+
+ //set the load unload
+ [argument addObject:@"list"];
+ [argument addObject:jobName];
+ //exec the command
+ NSString *taskResult =[TaskUtil executeTaskSearchingPath:@"launchctl"
+ args:argument];
+ return taskResult && [taskResult rangeOfString:jobName].location != NSNotFound;
+}
@end
{
if(!parentView) return;
NSArray *views = [parentView subviews];
-
for(int idx = 0; idx < [views count]; idx++)
{
NSObject *obj = [views objectAtIndex:idx];
- if([obj respondsToSelector:@selector(setEnabled:)])
+ if([obj isKindOfClass:[NSButton class]])
{
- //[obj setEnabled:controlState];
- [obj performSelector:@selector(setEnabled:) withObject:controlState];
+ [(NSButton*)obj setEnabled:controlState];
+ //[obj performSelector:@selector(setEnabled:) withObject:controlState];
}
}
#include <string.h>
#include <asl.h>
#include <sys/event.h>
+#include <mach-o/dyld.h>
#import "TaskUtil.h"
#import "AuthUtil.h"
#import "PListManager.h"
// Make the qargs array for passing to child the same args of father
- const char *arguments = {argv[1], argv[2], argv[3], "--self-repair", 0L};
+ const char *arguments[] = {argv[1], argv[2], argv[3], "--self-repair", 0L};
// Get the privileged AuthorizationRef
[[AuthUtil shared] autorize];