]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Cleaned most warning OSX OpenAFS preference and completed the AFSBackgrounder implem...
authorClaudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Mon, 3 Aug 2009 14:40:05 +0000 (16:40 +0200)
committerDerrick Brashear <shadow|account-1000005@unknown>
Thu, 17 Dec 2009 06:40:12 +0000 (22:40 -0800)
At startup the preference pane check for the presence in ~/Library/LaunchAgents of the file  it.infn.lnf.network.AFSBackgrounder.plist that. The agent could be started in OpenAFS preference pane view.
AFSBackgrounder has replaced the NSMenuExtra, when it doesn't quit well launchd restart it. AFSBackgrounder can be used also for other work, for now, at login it check the user preference for get token.
Has been made some refactoring in code for remove most warning.
The unused think are been delete from project.

Reviewed-on: http://gerrit.openafs.org/263
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit b0818fcdb227c8b291eb7b23e504fd1d2240eea6)
Change-Id: I155643e479de6e8fcb3bf286c16e339cb1fdb2f3
Reviewed-on: http://gerrit.openafs.org/949

19 files changed:
src/platform/DARWIN/AFSPreference/AFSBackgrounder/AFSBackgrounderDelegate.h
src/platform/DARWIN/AFSPreference/AFSBackgrounder/AFSBackgrounderDelegate.m
src/platform/DARWIN/AFSPreference/AFSBackgrounder/AFSMenuExtraView.m
src/platform/DARWIN/AFSPreference/AFSBackgrounder/resource/AFSBackounderMainMenu.xib
src/platform/DARWIN/AFSPreference/AFSBackgrounder/resource/Info.plist
src/platform/DARWIN/AFSPreference/AFSCommanderPref.h
src/platform/DARWIN/AFSPreference/AFSCommanderPref.m
src/platform/DARWIN/AFSPreference/AFSPropertyManager.m
src/platform/DARWIN/AFSPreference/DialogUtility.m
src/platform/DARWIN/AFSPreference/English.lproj/IpPanel.xib
src/platform/DARWIN/AFSPreference/English.lproj/OpenAFSPreference.xib
src/platform/DARWIN/AFSPreference/IpConfiguratorCommander.m
src/platform/DARWIN/AFSPreference/OpenAFS.xcodeproj/bisegni.perspectivev3 [new file with mode: 0644]
src/platform/DARWIN/AFSPreference/OpenAFS.xcodeproj/project.pbxproj
src/platform/DARWIN/AFSPreference/PListManager.h
src/platform/DARWIN/AFSPreference/PListManager.m
src/platform/DARWIN/AFSPreference/TaskUtil.m
src/platform/DARWIN/AFSPreference/ViewUtility.m
src/platform/DARWIN/AFSPreference/afshlp.m

index d42e52a8b1f05c5a1da3d4c3807a87c4494c2ee0..3670fcb40d035cde40dc408dbb657a919d3ba970 100644 (file)
        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;
@@ -47,7 +49,7 @@
 - (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;
 
index 73051ca82e40bdcd557b6348226a1001ca828708..9b5d996ffc79d5f675d2bf96adac1e8dffd74149 100644 (file)
 @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;
        }
 }
index 30cb910eb533ce64e19da1b60f91412dcb0b0c02..41e4cb6bcb5ae51239427c81af7876016d52de32 100644 (file)
     [statusItemMenu setDelegate:nil];    
     [self setNeedsDisplay:YES];
 }
+
+// -------------------------------------------------------------------------------
+//  - (void)menuNeedsUpdate:(NSMenu *)menu
+// -------------------------------------------------------------------------------
+- (void)menuNeedsUpdate:(NSMenu *)menu {
+       [backgrounderDelegator menuNeedsUpdate:menu];
+}
 @end
index 3780fc7f51cca2c3ce57824d5c5a77a12eb17bc7..6d0be7d5fec06c9547a225f56ce5a0433db3b46a 100644 (file)
                                        <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">
index 8755bbade1b3d8f4c8ef29242d8dd0f81e697f0c..fbf3b7e590bd31d79158f19980757617155da1d1 100644 (file)
@@ -2,8 +2,6 @@
 <!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>
@@ -17,7 +15,9 @@
        <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>
index 7280d407efeab21c00427e60bb247bbfcf15736a..df673728931958179323d657b4b15bfc83298666 100644 (file)
@@ -46,6 +46,7 @@ int CoreMenuExtraRemoveMenuExtra(void *menuExtra, int whoCares);
        IBOutlet NSButton *dynRoot;
        IBOutlet NSButton *afsDB;
        IBOutlet NSButton *verbose;
+       IBOutlet NSButton *backgrounderActivationCheck;
        IBOutlet NSBox *groupsBox;
        
        //id installationPathTextField;
@@ -117,9 +118,10 @@ int CoreMenuExtraRemoveMenuExtra(void *menuExtra, int whoCares);
 - (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;
@@ -135,6 +137,7 @@ int CoreMenuExtraRemoveMenuExtra(void *menuExtra, int whoCares);
 - (void) readPreferenceFile;
 - (void) refreshGui:(NSNotification *)notification;
 - (void) afsVolumeMountChange:(NSNotification *)notification;
+- (void)tabView:(NSTabView *)tabView willSelectTabViewItem: (NSTabViewItem *)tabViewItem;
 @end
 
 @interface AFSCommanderPref (NSTableDataSource)
index 96fd0fa499c30aa9d143a01f54871384e51faa2c..90389bb81f549ad123dec80f5de4f103fe0cb51f 100644 (file)
@@ -35,7 +35,7 @@
 #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
index aaefbd517baa3bfdd0e9dd6a8f5851c6ddb8a00a..21e53d5cc9636c714b0d18162127d2b2410e2417 100644 (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];
index 77feb2c798d4ba034ffba4cb69adc04887c7f5cb..1754cab01f3cd45cc45d440456190c5386839b97 100644 (file)
@@ -22,5 +22,6 @@
                                          modalDelegate:delegator 
                                         didEndSelector:fSelector
                                                contextInfo:nil];
+       return YES;
 }
 @end
index 269b673ec39b785840d008b86bde53f770c7abb8..956ef57c242ce40a8fd8f7e29e9fd0b873cc3f0e 100644 (file)
@@ -1,18 +1,28 @@
 <?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">
@@ -27,7 +37,7 @@
                        <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">
@@ -76,7 +87,7 @@
                                                <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>
index 3e8098df7e466f1510ed0499d0cbb71bd489ad88..15a6313aa97ca824c590bf36ea75c3c0b0b44c0f 100644 (file)
@@ -8,7 +8,7 @@
                <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>
@@ -53,7 +53,7 @@
                                                <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">
@@ -99,7 +99,7 @@
                                                                                <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>
@@ -4016,6 +4075,8 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</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>
@@ -4147,7 +4208,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</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">
@@ -4169,6 +4230,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>getNewToken:</string>
                                                        <string>info:</string>
                                                        <string>krb5KredentialAtLoginTimeEvent:</string>
+                                                       <string>manageBackgrounderActivation:</string>
                                                        <string>refreshConfiguration:</string>
                                                        <string>removeLink:</string>
                                                        <string>saveCacheManagerParam:</string>
@@ -4200,6 +4262,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>id</string>
                                                        <string>id</string>
                                                        <string>id</string>
+                                                       <string>id</string>
                                                </object>
                                        </object>
                                        <object class="NSMutableDictionary" key="outlets">
@@ -4214,6 +4277,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>afsRootMountPoint</string>
                                                        <string>afsVersionLabel</string>
                                                        <string>aklogCredentialAtLoginTime</string>
+                                                       <string>backgrounderActivationCheck</string>
                                                        <string>buttonAddLink</string>
                                                        <string>buttonRemoveLink</string>
                                                        <string>cacheDimension</string>
@@ -4260,6 +4324,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>NSButton</string>
                                                        <string>NSButton</string>
                                                        <string>NSButton</string>
+                                                       <string>NSButton</string>
                                                        <string>NSTextField</string>
                                                        <string>id</string>
                                                        <string>id</string>
index 668f7eb0e3b98907a920ea192da52ca3282b2a50..8ff39851e93bae850d938e9ccf18fe2955ff1d7e 100644 (file)
        [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]);
 }
 
 // -------------------------------------------------------------------------------
diff --git a/src/platform/DARWIN/AFSPreference/OpenAFS.xcodeproj/bisegni.perspectivev3 b/src/platform/DARWIN/AFSPreference/OpenAFS.xcodeproj/bisegni.perspectivev3
new file mode 100644 (file)
index 0000000..9dd7ec3
--- /dev/null
@@ -0,0 +1,1468 @@
+<?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>&lt;No Editor&gt;</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>&lt;No Editor&gt;</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>&lt;No Editor&gt;</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>
index c78cfd02c094ed90da5b2f2711e5c610ef1f5cf8..d62b81243552e648bc792cd8a2813e9dc3fd45d4 100644 (file)
@@ -17,7 +17,6 @@
                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 */; };
@@ -58,6 +57,9 @@
                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 */;
index 0acdfe4855608127303086783af7dcf0e7d8af1b..a5982948700a27f3d5f702a9e8c32bf33f84a5b7 100644 (file)
 #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
index ef94a64112e73f5f1a66afe6cb72100309843aa8..fac3772d6401ee637f718322ae00e7018e17e91d 100644 (file)
@@ -10,6 +10,8 @@
 #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
index abc79c93e07a8a8b53c76d394108c302bd1a2dbc..e325accac1b91b5b55bf726047d8cde987f34395 100644 (file)
        
        return status;
 }
-
 @end
index 00291a1878418dba531d33ba0b345a94efefc4f2..09e73fad22eefd0316ea10dccad53df2a44b6e77 100644 (file)
 {
        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];
                }
        }
        
index 809274b79a29dd476ab173c8c29cd91f0286d554..5860844acd55d3fdd4d172e089a64d4116b3c316 100644 (file)
@@ -21,6 +21,7 @@
 #include <string.h>
 #include <asl.h>
 #include <sys/event.h>
+#include <mach-o/dyld.h>
 #import "TaskUtil.h"
 #import "AuthUtil.h"
 #import "PListManager.h"
@@ -179,7 +180,7 @@ void runWithSelfRepair(char *selfPath, int argc, char *argv[])
        
       
        // 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];