To prevent future compatibility with osx we must use NSStatusItem instead NSMenuExtra that is not documented api.
For this has been created a background only application that will manage all function managed by current NSMenuExtra
Reviewed-on: http://gerrit.openafs.org/261
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
--- /dev/null
+//
+// AFSBackgrounder.h
+// OpenAFS
+//
+// Created by Claudio Bisegni on 29/07/09.
+// Copyright 2009 Infn. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface AFSBackgrounderDelegate : NSObject {
+ IBOutlet NSMenu *backgrounderMenu;
+ NSStatusItem *statusItem;
+ NSImage *statusImage;
+ NSImage *statusHighlightImage;
+}
+
+@end
--- /dev/null
+//
+// AFSBackgrounder.m
+// OpenAFS
+//
+// Created by Claudio Bisegni on 29/07/09.
+// Copyright 2009 Infn. All rights reserved.
+//
+
+#import "AFSBackgrounderDelegate.h"
+
+
+@implementation AFSBackgrounderDelegate
+- (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];
+
+ //Allocates and loads the images into the application which will be used for our NSStatusItem
+ statusImage = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"hasToken" ofType:@"png"]];
+ statusHighlightImage = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"noToken" ofType:@"png"]];
+
+ //Sets the images in our NSStatusItem
+ [statusItem setImage:statusImage];
+ [statusItem setAlternateImage:statusHighlightImage];
+
+ //Tells the NSStatusItem what menu to load
+ [statusItem setMenu:backgrounderMenu];
+ //Sets the tooptip for our item
+ [statusItem setToolTip:@"Andrews Menu Item"];
+ //Enables highlighting
+ [statusItem setHighlightMode:YES];
+}
+@end
--- /dev/null
+//
+// main.m
+// test
+//
+// Created by Claudio Bisegni on 29/07/09.
+// Copyright Infn 2009. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+int main(int argc, char *argv[])
+{
+ return NSApplicationMain(argc, (const char **) argv);
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03">
+ <data>
+ <int key="IBDocument.SystemTarget">1050</int>
+ <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>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilderKit</string>
+ <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="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSCustomObject" id="1001">
+ <string key="NSClassName">NSObject</string>
+ </object>
+ <object class="NSCustomObject" id="1003">
+ <string key="NSClassName">FirstResponder</string>
+ </object>
+ <object class="NSCustomObject" id="1004">
+ <string key="NSClassName">NSApplication</string>
+ </object>
+ <object class="NSMenu" id="913072818">
+ <string key="NSTitle"/>
+ <object class="NSMutableArray" key="NSMenuItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMenuItem" id="77178862">
+ <reference key="NSMenu" ref="913072818"/>
+ <string key="NSTitle">Start AFS</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <object class="NSCustomResource" key="NSOnImage" id="769352467">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuCheckmark</string>
+ </object>
+ <object class="NSCustomResource" key="NSMixedImage" id="863282242">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuMixedState</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="661887258">
+ <reference key="NSMenu" ref="913072818"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="769352467"/>
+ <reference key="NSMixedImage" ref="863282242"/>
+ </object>
+ <object class="NSMenuItem" id="10398219">
+ <reference key="NSMenu" ref="913072818"/>
+ <string key="NSTitle">Get Token</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="769352467"/>
+ <reference key="NSMixedImage" ref="863282242"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSCustomObject" id="437456796">
+ <string key="NSClassName">AFSBackgrounderDelegate</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="1004"/>
+ <reference key="destination" ref="437456796"/>
+ </object>
+ <int key="connectionID">6</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">backgrounderMenu</string>
+ <reference key="source" ref="437456796"/>
+ <reference key="destination" ref="913072818"/>
+ </object>
+ <int key="connectionID">12</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <object class="NSArray" key="object" id="1002">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="1001"/>
+ <reference key="parent" ref="1002"/>
+ <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="1003"/>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="1004"/>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="913072818"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="77178862"/>
+ <reference ref="661887258"/>
+ <reference ref="10398219"/>
+ </object>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">StatusMenu</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="437456796"/>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">Delegate</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">9</int>
+ <reference key="object" ref="77178862"/>
+ <reference key="parent" ref="913072818"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">10</int>
+ <reference key="object" ref="661887258"/>
+ <reference key="parent" ref="913072818"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">11</int>
+ <reference key="object" ref="10398219"/>
+ <reference key="parent" ref="913072818"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.IBPluginDependency</string>
+ <string>-2.IBPluginDependency</string>
+ <string>-3.IBPluginDependency</string>
+ <string>1.IBEditorWindowLastContentRect</string>
+ <string>1.IBPluginDependency</string>
+ <string>10.IBPluginDependency</string>
+ <string>11.IBPluginDependency</string>
+ <string>5.IBPluginDependency</string>
+ <string>9.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilderKit</string>
+ <string>com.apple.InterfaceBuilderKit</string>
+ <string>{{244, 767}, {125, 53}}</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>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <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>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <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>
+ <nil key="sourceID"/>
+ <int key="maxID">12</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">AFSBackgrounderDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">backgrounderMenu</string>
+ <string key="NS.object.0">NSMenu</string>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">AFSBackgrounder/AFSBackgrounderDelegate.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.LastKnownRelativeProjectPath">../../OpenAFS.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ </data>
+</archive>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>LSUIElement</key>
+ <true/>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>AFSBackounderMainMenu</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>BuildVersion</key>
+ <string>3</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>ProductBuildVersion</key>
+ <string>9M2729</string>
+ <key>ProjectName</key>
+ <string>DevToolsWizardTemplates</string>
+ <key>SourceVersion</key>
+ <string>11600000</string>
+</dict>
+</plist>
322884030C3E45C800E778CC /* InfoController.h in Headers */ = {isa = PBXBuildFile; fileRef = 322884010C3E45C800E778CC /* InfoController.h */; };
322884040C3E45C800E778CC /* InfoController.m in Sources */ = {isa = PBXBuildFile; fileRef = 322884020C3E45C800E778CC /* InfoController.m */; };
322884050C3E45C800E778CC /* InfoController.m in Sources */ = {isa = PBXBuildFile; fileRef = 322884020C3E45C800E778CC /* InfoController.m */; };
+ 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 */; };
+ 3228BA1910207A4200DF98DA /* hasToken.png in Resources */ = {isa = PBXBuildFile; fileRef = 3228BA1810207A4200DF98DA /* hasToken.png */; };
+ 3228BA1B10207A5200DF98DA /* noToken.png in Resources */ = {isa = PBXBuildFile; fileRef = 3228BA1A10207A5200DF98DA /* noToken.png */; };
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 */; };
327308D80C2AA369008C322B /* SecurityFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 327308D20C2AA364008C322B /* SecurityFoundation.framework */; };
327309970C2AB433008C322B /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 327309620C2AB433008C322B /* Security.framework */; };
327309980C2AB434008C322B /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 327309620C2AB433008C322B /* Security.framework */; };
+ 3276592110204E4E004CA418 /* AFSPropertyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B0AFDE0C01729400272348 /* AFSPropertyManager.m */; };
+ 3276592210204E51004CA418 /* DBCellElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 322CEF5F0C211D220060D66D /* DBCellElement.m */; };
+ 3276592310204E51004CA418 /* CellIp.m in Sources */ = {isa = PBXBuildFile; fileRef = 322CEF6D0C211DCC0060D66D /* CellIp.m */; };
+ 3276592410204EE0004CA418 /* FileUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 3273088C0C2A9B05008C322B /* FileUtil.m */; };
+ 3276592510204EE1004CA418 /* AuthUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 3213E9400C2ABFD200D3D2F6 /* AuthUtil.m */; };
+ 3276592610204EE2004CA418 /* TaskUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 327756260C3053A100C15D11 /* TaskUtil.m */; };
+ 3276592710204EE2004CA418 /* ViewUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 495B043F0D219A2900F1E328 /* ViewUtility.m */; };
+ 3276592810204EE3004CA418 /* NSString+search.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B565730D8FAF62005255F2 /* NSString+search.m */; };
+ 3276592910204EE4004CA418 /* PListManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 498DCB420DC2240B00D143C8 /* PListManager.m */; };
+ 3276592A10204EE5004CA418 /* DialogUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 49B766440DCA47A50014A80F /* DialogUtility.m */; };
+ 3276592E10204F8D004CA418 /* AFSBackounderMainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3276592D10204F8D004CA418 /* AFSBackounderMainMenu.xib */; };
+ 3276593110204F9E004CA418 /* AFSBackgrounderDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3276593010204F9E004CA418 /* AFSBackgrounderDelegate.m */; };
+ 3276594110204FFA004CA418 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 495C39460D81EA3C003426FC /* Kerberos.framework */; };
+ 3276594310204FFA004CA418 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4940075A0CE62EB500F40D0A /* CoreServices.framework */; };
+ 3276594410204FFC004CA418 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+ 3276594510205003004CA418 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 493564E70CE711F300699A24 /* Carbon.framework */; };
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 */; };
3223836B0C32A96F00380547 /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
322884010C3E45C800E778CC /* InfoController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InfoController.h; sourceTree = "<group>"; };
322884020C3E45C800E778CC /* InfoController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InfoController.m; sourceTree = "<group>"; };
+ 3228B9AF1020526900DF98DA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = AFSBackgrounder/main.m; sourceTree = "<group>"; };
+ 3228B9BD102052BE00DF98DA /* version.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = version.plist; path = AFSBackgrounder/resource/version.plist; sourceTree = "<group>"; };
+ 3228BA1810207A4200DF98DA /* hasToken.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = hasToken.png; sourceTree = "<group>"; };
+ 3228BA1A10207A5200DF98DA /* noToken.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = noToken.png; sourceTree = "<group>"; };
322B90430C2F0A2D0068F99A /* start_afs.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = start_afs.sh; sourceTree = "<group>"; };
322B90440C2F0A2D0068F99A /* stop_afs.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = stop_afs.sh; sourceTree = "<group>"; };
322CEF5E0C211D220060D66D /* DBCellElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DBCellElement.h; sourceTree = "<group>"; };
3273088C0C2A9B05008C322B /* FileUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FileUtil.m; sourceTree = "<group>"; };
327308D20C2AA364008C322B /* SecurityFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityFoundation.framework; path = /System/Library/Frameworks/SecurityFoundation.framework; sourceTree = "<absolute>"; };
327309620C2AB433008C322B /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
+ 3276591B10204E08004CA418 /* AFSBackgrounder.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AFSBackgrounder.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 3276591D10204E08004CA418 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = AFSBackgrounder/resource/Info.plist; sourceTree = "<group>"; };
+ 3276592D10204F8D004CA418 /* AFSBackounderMainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = AFSBackounderMainMenu.xib; path = AFSBackgrounder/resource/AFSBackounderMainMenu.xib; sourceTree = "<group>"; };
+ 3276592F10204F9E004CA418 /* AFSBackgrounderDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFSBackgrounderDelegate.h; path = AFSBackgrounder/AFSBackgrounderDelegate.h; sourceTree = "<group>"; };
+ 3276593010204F9E004CA418 /* AFSBackgrounderDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFSBackgrounderDelegate.m; path = AFSBackgrounder/AFSBackgrounderDelegate.m; sourceTree = "<group>"; };
327756250C3053A100C15D11 /* TaskUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TaskUtil.h; sourceTree = "<group>"; };
327756260C3053A100C15D11 /* TaskUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TaskUtil.m; sourceTree = "<group>"; };
32B0AFDD0C01729400272348 /* AFSPropertyManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFSPropertyManager.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
+ 3276591910204E08004CA418 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3276594110204FFA004CA418 /* Kerberos.framework in Frameworks */,
+ 3276594310204FFA004CA418 /* CoreServices.framework in Frameworks */,
+ 3276594410204FFC004CA418 /* Cocoa.framework in Frameworks */,
+ 3276594510205003004CA418 /* Carbon.framework in Frameworks */,
+ 3228B9B4102052A900DF98DA /* Security.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
32CF01370C203C1800A8DC58 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
32CFFEF90C20314100A8DC58 /* Stand Alone Program */,
08FB77AFFE84173DC02AAC07 /* Classes */,
494BD47A0C43EDD400DB0A3A /* AFSMenuExtra */,
+ 3276591010204DB4004CA418 /* AFSBackgrounder */,
32DBCFA10370C40200C91783 /* Other Sources */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* Frameworks and Libraries */,
49683EE40C3446380093C7C8 /* afshlp */,
494C74DE0C46052800D3A2D2 /* AFSMenuExtra.menu */,
4998A6860DC33BEC00146652 /* LoginTimeDaemon */,
+ 3276591B10204E08004CA418 /* AFSBackgrounder.app */,
);
name = Products;
sourceTree = "<group>";
name = Info;
sourceTree = "<group>";
};
+ 3228B9B21020527000DF98DA /* resource */ = {
+ isa = PBXGroup;
+ children = (
+ 3228BA1810207A4200DF98DA /* hasToken.png */,
+ 3228BA1A10207A5200DF98DA /* noToken.png */,
+ 3276591D10204E08004CA418 /* Info.plist */,
+ 3228B9BD102052BE00DF98DA /* version.plist */,
+ 3276592D10204F8D004CA418 /* AFSBackounderMainMenu.xib */,
+ );
+ name = resource;
+ sourceTree = "<group>";
+ };
322CEF6B0C211DAC0060D66D /* Afs Element */ = {
isa = PBXGroup;
children = (
name = Utility;
sourceTree = "<group>";
};
+ 3276591010204DB4004CA418 /* AFSBackgrounder */ = {
+ isa = PBXGroup;
+ children = (
+ 3228B9AF1020526900DF98DA /* main.m */,
+ 3276592F10204F9E004CA418 /* AFSBackgrounderDelegate.h */,
+ 3276593010204F9E004CA418 /* AFSBackgrounderDelegate.m */,
+ 3228B9B21020527000DF98DA /* resource */,
+ );
+ name = AFSBackgrounder;
+ sourceTree = "<group>";
+ };
32B0AFB40C016E6900272348 /* English.lproj */ = {
isa = PBXGroup;
children = (
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
+ 3276591A10204E08004CA418 /* AFSBackgrounder */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 3276592010204E08004CA418 /* Build configuration list for PBXNativeTarget "AFSBackgrounder" */;
+ buildPhases = (
+ 3276591710204E08004CA418 /* Resources */,
+ 3276591810204E08004CA418 /* Sources */,
+ 3276591910204E08004CA418 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = AFSBackgrounder;
+ productName = AFSBackgrounder;
+ productReference = 3276591B10204E08004CA418 /* AFSBackgrounder.app */;
+ productType = "com.apple.product-type.application";
+ };
32CF01380C203C1800A8DC58 /* Test */ = {
isa = PBXNativeTarget;
buildConfigurationList = 32CF013C0C203C4900A8DC58 /* Build configuration list for PBXNativeTarget "Test" */;
49683EE30C3446380093C7C8 /* afshlp */,
494BD4680C43ED0C00DB0A3A /* AFSMenuExtra */,
4998A6850DC33BEC00146652 /* LoginTimeDaemon */,
+ 3276591A10204E08004CA418 /* AFSBackgrounder */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
+ 3276591710204E08004CA418 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3276592E10204F8D004CA418 /* AFSBackounderMainMenu.xib in Resources */,
+ 3228B9BE102052BE00DF98DA /* version.plist in Resources */,
+ 3228B9D5102070A200DF98DA /* Info.plist in Resources */,
+ 3228BA1910207A4200DF98DA /* hasToken.png in Resources */,
+ 3228BA1B10207A5200DF98DA /* noToken.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
494BD4650C43ED0C00DB0A3A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
+ 3276591810204E08004CA418 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3276592110204E4E004CA418 /* AFSPropertyManager.m in Sources */,
+ 3276592210204E51004CA418 /* DBCellElement.m in Sources */,
+ 3276592310204E51004CA418 /* CellIp.m in Sources */,
+ 3276592410204EE0004CA418 /* FileUtil.m in Sources */,
+ 3276592510204EE1004CA418 /* AuthUtil.m in Sources */,
+ 3276592610204EE2004CA418 /* TaskUtil.m in Sources */,
+ 3276592710204EE2004CA418 /* ViewUtility.m in Sources */,
+ 3276592810204EE3004CA418 /* NSString+search.m in Sources */,
+ 3276592910204EE4004CA418 /* PListManager.m in Sources */,
+ 3276592A10204EE5004CA418 /* DialogUtility.m in Sources */,
+ 3276593110204F9E004CA418 /* AFSBackgrounderDelegate.m in Sources */,
+ 3228B9B01020526900DF98DA /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
32CF01360C203C1800A8DC58 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
};
name = Release;
};
+ 3276591E10204E08004CA418 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ 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";
+ INFOPLIST_FILE = AFSBackgrounder/resource/Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ OTHER_LDFLAGS = (
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = AFSBackgrounder;
+ };
+ name = Debug;
+ };
+ 3276591F10204E08004CA418 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ 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";
+ INFOPLIST_FILE = AFSBackgrounder/resource/Info.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ OTHER_LDFLAGS = (
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = AFSBackgrounder;
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
32CF013D0C203C4900A8DC58 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ 3276592010204E08004CA418 /* Build configuration list for PBXNativeTarget "AFSBackgrounder" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3276591E10204E08004CA418 /* Debug */,
+ 3276591F10204E08004CA418 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
32CF013C0C203C4900A8DC58 /* Build configuration list for PBXNativeTarget "Test" */ = {
isa = XCConfigurationList;
buildConfigurations = (