// !$*UTF8*$! { 08FB7793FE84155DC02AAC07 /* Project object */ = { activeBuildConfigurationName = Debug; activeExecutable = F29A0E151129F5C60066D400 /* otest */; activeSDKPreference = macosx10.6; activeTarget = F29A0A841129DB100066D400 /* UnitTests */; addToTargets = ( F29A0A841129DB100066D400 /* UnitTests */, ); breakpoints = ( ); codeSenseManager = F2B6A5871125EE1F00C2ECA4 /* Code sense */; executables = ( F29A0DCA1129EE980066D400 /* Demo */, F29A0E151129F5C60066D400 /* otest */, F261706D1333CAB80077C0E8 /* otest */, F26170A01333DB2A0077C0E8 /* otest */, F2FB36FE13344E91002F06D2 /* otest */, ); perUserDictionary = { "PBXConfiguration.PBXBreakpointsDataSource.v1:1CA1AED706398EBD00589147" = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 20, 198, 20, 99, 99, 29, 20, ); PBXFileTableDataSourceColumnsKey = ( PBXBreakpointsDataSource_ActionID, PBXBreakpointsDataSource_TypeID, PBXBreakpointsDataSource_BreakpointID, PBXBreakpointsDataSource_UseID, PBXBreakpointsDataSource_LocationID, PBXBreakpointsDataSource_ConditionID, PBXBreakpointsDataSource_IgnoreCountID, PBXBreakpointsDataSource_ContinueID, ); }; PBXConfiguration.PBXFileTableDataSource3.PBXBookmarksDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXBookmarksDataSource_NameID; PBXFileTableDataSourceColumnWidthsKey = ( 200, 200, 441, ); PBXFileTableDataSourceColumnsKey = ( PBXBookmarksDataSource_LocationID, PBXBookmarksDataSource_NameID, PBXBookmarksDataSource_CommentsID, ); }; PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; PBXFileTableDataSourceColumnWidthsKey = ( 22, 300, 719.58349609375, ); PBXFileTableDataSourceColumnsKey = ( PBXExecutablesDataSource_ActiveFlagID, PBXExecutablesDataSource_NameID, PBXExecutablesDataSource_CommentsID, ); }; PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 853, 20, 48, 43, 43, 20, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, PBXFileDataSource_Target_ColumnID, ); }; PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID; PBXFileTableDataSourceColumnWidthsKey = ( 200, 846, ); PBXFileTableDataSourceColumnsKey = ( PBXFindDataSource_MessageID, PBXFindDataSource_LocationID, ); }; PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 792, 60, 20, 48, 43, 43, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXTargetDataSource_PrimaryAttribute, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, ); }; PBXPerProjectTemplateStateSaveDate = 322187869; PBXWorkspaceStateSaveDate = 322187869; }; perUserProjectItems = { F20C9D47112A674A00C44CDE /* PBXTextBookmark */ = F20C9D47112A674A00C44CDE /* PBXTextBookmark */; F22B6D7B124294AC00D5052C /* PBXTextBookmark */ = F22B6D7B124294AC00D5052C /* PBXTextBookmark */; F22B6DAE1242955300D5052C /* PBXTextBookmark */ = F22B6DAE1242955300D5052C /* PBXTextBookmark */; F2578BCA1243236C001FFCBB /* PBXTextBookmark */ = F2578BCA1243236C001FFCBB /* PBXTextBookmark */; F26170A41333DB300077C0E8 /* PBXTextBookmark */ = F26170A41333DB300077C0E8 /* PBXTextBookmark */; F26171021333EF4C0077C0E8 /* PBXTextBookmark */ = F26171021333EF4C0077C0E8 /* PBXTextBookmark */; F26171031333EF4C0077C0E8 /* PBXTextBookmark */ = F26171031333EF4C0077C0E8 /* PBXTextBookmark */; F26171051333EF4C0077C0E8 /* PBXTextBookmark */ = F26171051333EF4C0077C0E8 /* PBXTextBookmark */; F2617136133411800077C0E8 /* PBXTextBookmark */ = F2617136133411800077C0E8 /* PBXTextBookmark */; F2617137133411800077C0E8 /* PBXTextBookmark */ = F2617137133411800077C0E8 /* PBXTextBookmark */; F261713A133411800077C0E8 /* PBXTextBookmark */ = F261713A133411800077C0E8 /* PBXTextBookmark */; F261713B133411800077C0E8 /* PBXTextBookmark */ = F261713B133411800077C0E8 /* PBXTextBookmark */; F2FB37011334515A002F06D2 /* PBXTextBookmark */ = F2FB37011334515A002F06D2 /* PBXTextBookmark */; F2FB37021334515A002F06D2 /* PBXTextBookmark */ = F2FB37021334515A002F06D2 /* PBXTextBookmark */; F2FB37031334515A002F06D2 /* PBXTextBookmark */ = F2FB37031334515A002F06D2 /* PBXTextBookmark */; }; sourceControlManager = F2B6A5861125EE1F00C2ECA4 /* Source Control */; userBuildSettings = { }; }; 8DD76F960486AA7600D96B5E /* Demo */ = { activeExec = 0; executables = ( F29A0DCA1129EE980066D400 /* Demo */, ); }; B1837EBC100E709B00BA6C78 /* SOLogger */ = { activeExec = 0; }; F20C9D35112A637800C44CDE /* MultipleLoggerTests.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1155, 1081}}"; sepNavSelRange = "{1255, 0}"; sepNavVisRange = "{0, 1311}"; sepNavWindowFrame = "{{1220, 371}, {1214, 946}}"; }; }; F20C9D47112A674A00C44CDE /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0B0A1129DEC60066D400 /* FileDescriptorLoggingTests.m */; name = "FileDescriptorLoggingTests.m: 45"; rLen = 0; rLoc = 941; rType = 0; vrLen = 1149; vrLoc = 806; }; F22B6D7B124294AC00D5052C /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0A9F1129DB900066D400 /* Demo_Prefix.pch */; name = "Demo_Prefix.pch: 1"; rLen = 0; rLoc = 0; rType = 0; vrLen = 61; vrLoc = 0; }; F22B6DAE1242955300D5052C /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0ACA1129DC4A0066D400 /* UnitTests_Prefix.pch */; name = "UnitTests_Prefix.pch: 5"; rLen = 0; rLoc = 127; rType = 0; vrLen = 233; vrLoc = 0; }; F2578B6D12431CDD001FFCBB /* BackgroundThreadTests.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1291, 2133}}"; sepNavSelRange = "{884, 0}"; sepNavVisRange = "{0, 1589}"; sepNavWindowFrame = "{{591, 216}, {1350, 1176}}"; }; }; F2578BCA1243236C001FFCBB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F2578BCB1243236C001FFCBB /* asl.h */; name = "asl.h: 22"; rLen = 0; rLoc = 1026; rType = 0; vrLen = 1390; vrLoc = 8173; }; F2578BCB1243236C001FFCBB /* asl.h */ = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = asl.h; path = /usr/include/asl.h; sourceTree = "<absolute>"; }; F261706C1333CAB80077C0E8 /* otest */ = { isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = otest; path = /Developer/Tools/otest; sourceTree = "<absolute>"; }; F261706D1333CAB80077C0E8 /* otest */ = { isa = PBXExecutable; activeArgIndices = ( ); argumentStrings = ( ); autoAttachOnCrash = 1; breakpointsEnabled = 0; configStateDict = { }; customDataFormattersEnabled = 1; dataTipCustomDataFormattersEnabled = 1; dataTipShowTypeColumn = 1; dataTipSortType = 0; debuggerPlugin = GDBDebugging; disassemblyDisplayState = 0; enableDebugStr = 1; environmentEntries = ( ); executableSystemSymbolLevel = 0; executableUserSymbolLevel = 0; launchableReference = F261706C1333CAB80077C0E8 /* otest */; libgmallocEnabled = 0; name = otest; showTypeColumn = 0; sourceDirectories = ( ); }; F261709F1333DB2A0077C0E8 /* otest */ = { isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = otest; path = /Developer/Tools/otest; sourceTree = "<absolute>"; }; F26170A01333DB2A0077C0E8 /* otest */ = { isa = PBXExecutable; activeArgIndices = ( ); argumentStrings = ( ); autoAttachOnCrash = 1; breakpointsEnabled = 0; configStateDict = { }; customDataFormattersEnabled = 1; dataTipCustomDataFormattersEnabled = 1; dataTipShowTypeColumn = 1; dataTipSortType = 0; debuggerPlugin = GDBDebugging; disassemblyDisplayState = 0; enableDebugStr = 1; environmentEntries = ( ); executableSystemSymbolLevel = 0; executableUserSymbolLevel = 0; launchableReference = F261709F1333DB2A0077C0E8 /* otest */; libgmallocEnabled = 0; name = otest; showTypeColumn = 0; sourceDirectories = ( ); }; F26170A41333DB300077C0E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0AAA1129DB9B0066D400 /* ASLConnection.m */; name = "ASLConnection.m: 85"; rLen = 0; rLoc = 1790; rType = 0; vrLen = 1173; vrLoc = 0; }; F26171021333EF4C0077C0E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F20C9D35112A637800C44CDE /* MultipleLoggerTests.m */; name = "MultipleLoggerTests.m: 14"; rLen = 0; rLoc = 212; rType = 0; vrLen = 1417; vrLoc = 0; }; F26171031333EF4C0077C0E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F2578B6D12431CDD001FFCBB /* BackgroundThreadTests.m */; name = "BackgroundThreadTests.m: 50"; rLen = 0; rLoc = 1514; rType = 0; vrLen = 1928; vrLoc = 1223; }; F26171051333EF4C0077C0E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0EA01129FEB20066D400 /* UsefulMacros.h */; name = "UsefulMacros.h: 24"; rLen = 0; rLoc = 609; rType = 0; vrLen = 1208; vrLoc = 0; }; F2617136133411800077C0E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0AAD1129DB9B0066D400 /* SOLogger_Prefix.pch */; name = "SOLogger_Prefix.pch: 10"; rLen = 0; rLoc = 166; rType = 0; vrLen = 166; vrLoc = 0; }; F2617137133411800077C0E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F2617138133411800077C0E8 /* asl.h */; name = "asl.h: 166"; rLen = 0; rLoc = 6225; rType = 0; vrLen = 1880; vrLoc = 7537; }; F2617138133411800077C0E8 /* asl.h */ = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = asl.h; path = /Developer/SDKs/MacOSX10.6.sdk/usr/include/asl.h; sourceTree = "<absolute>"; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1145, 6670}}"; sepNavSelRange = "{1973, 0}"; sepNavVisRange = "{1559, 994}"; sepNavWindowFrame = "{{19, 68}, {1204, 705}}"; }; }; F261713A133411800077C0E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0AA01129DB900066D400 /* main.m */; name = "main.m: 18"; rLen = 0; rLoc = 389; rType = 0; vrLen = 1404; vrLoc = 253; }; F261713B133411800077C0E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0AA91129DB9B0066D400 /* ASLConnection.h */; name = "ASLConnection.h: 36"; rLen = 0; rLoc = 1345; rType = 0; vrLen = 2458; vrLoc = 205; }; F29A0A841129DB100066D400 /* UnitTests */ = { activeExec = 0; }; F29A0A9F1129DB900066D400 /* Demo_Prefix.pch */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1048, 729}}"; sepNavSelRange = "{0, 0}"; sepNavVisRange = "{0, 61}"; sepNavWindowFrame = "{{88, 205}, {749, 729}}"; }; }; F29A0AA01129DB900066D400 /* main.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1217, 2710}}"; sepNavSelRange = "{3156, 0}"; sepNavVisRange = "{3090, 1124}"; sepNavWindowFrame = "{{4, 0}, {1276, 778}}"; }; }; F29A0AA91129DB9B0066D400 /* ASLConnection.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {926, 1900}}"; sepNavSelRange = "{1345, 0}"; sepNavVisRange = "{205, 1540}"; sepNavWindowFrame = "{{406, 259}, {985, 743}}"; }; }; F29A0AAA1129DB9B0066D400 /* ASLConnection.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {825, 2032}}"; sepNavSelRange = "{763, 19}"; sepNavVisRange = "{602, 358}"; sepNavWindowFrame = "{{406, 259}, {985, 743}}"; }; }; F29A0AAB1129DB9B0066D400 /* SOLogger.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1031, 3820}}"; sepNavSelRange = "{3051, 0}"; sepNavVisRange = "{2463, 1261}"; sepNavWindowFrame = "{{19, 89}, {1372, 908}}"; }; }; F29A0AAC1129DB9B0066D400 /* SOLogger.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1217, 5112}}"; sepNavSelRange = "{302, 14}"; sepNavVisRange = "{0, 1235}"; sepNavWindowFrame = "{{4, 0}, {1276, 778}}"; }; }; F29A0AAD1129DB9B0066D400 /* SOLogger_Prefix.pch */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1615, 985}}"; sepNavSelRange = "{166, 0}"; sepNavVisRange = "{0, 166}"; sepNavWindowFrame = "{{111, 184}, {749, 729}}"; }; }; F29A0AB71129DBB30066D400 /* UnitTests-Info.plist */ = { uiCtxt = { sepNavWindowFrame = "{{19, 60}, {1214, 937}}"; }; }; F29A0ACA1129DC4A0066D400 /* UnitTests_Prefix.pch */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1048, 722}}"; sepNavSelRange = "{127, 0}"; sepNavVisRange = "{0, 233}"; sepNavWindowFrame = "{{326, 18}, {1214, 937}}"; }; }; F29A0ADA1129DCA60066D400 /* UnitTestDebugSetup.applescript */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1155, 855}}"; sepNavSelRange = "{359, 0}"; sepNavVisRange = "{47, 2747}"; sepNavWindowFrame = "{{19, 60}, {1214, 937}}"; }; }; F29A0ADF1129DD0E0066D400 /* SetupUnitTestDebugEnvironment */ = { activeExec = 0; }; F29A0AE31129DD420066D400 /* Debug.xcconfig */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1155, 824}}"; sepNavSelRange = "{106, 0}"; sepNavVisRange = "{0, 319}"; sepNavWindowFrame = "{{1980, -19}, {1214, 937}}"; }; }; F29A0AE41129DD420066D400 /* Release.xcconfig */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1155, 1195}}"; sepNavSelRange = "{805, 40}"; sepNavVisRange = "{321, 755}"; sepNavWindowFrame = "{{23, 48}, {1214, 937}}"; }; }; F29A0AE51129DD420066D400 /* UnitTests-Debug.xcconfig */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1155, 824}}"; sepNavSelRange = "{178, 0}"; sepNavVisRange = "{0, 291}"; sepNavWindowFrame = "{{318, 0}, {1214, 937}}"; }; }; F29A0AE61129DD420066D400 /* UnitTests-Release.xcconfig */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1155, 824}}"; sepNavSelRange = "{66, 0}"; sepNavVisRange = "{0, 277}"; sepNavWindowFrame = "{{39, 0}, {1214, 937}}"; }; }; F29A0B0A1129DEC60066D400 /* FileDescriptorLoggingTests.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1155, 1754}}"; sepNavSelRange = "{1680, 0}"; sepNavVisRange = "{973, 1698}"; sepNavWindowFrame = "{{295, 65}, {1214, 937}}"; }; }; F29A0DCA1129EE980066D400 /* Demo */ = { isa = PBXExecutable; activeArgIndices = ( ); argumentStrings = ( ); autoAttachOnCrash = 1; breakpointsEnabled = 0; configStateDict = { }; customDataFormattersEnabled = 1; dataTipCustomDataFormattersEnabled = 1; dataTipShowTypeColumn = 1; dataTipSortType = 0; debuggerPlugin = GDBDebugging; disassemblyDisplayState = 0; dylibVariantSuffix = ""; enableDebugStr = 1; environmentEntries = ( ); executableSystemSymbolLevel = 0; executableUserSymbolLevel = 0; libgmallocEnabled = 0; name = Demo; savedGlobals = { }; showTypeColumn = 0; sourceDirectories = ( ); }; F29A0E141129F5C60066D400 /* otest */ = { isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = otest; path = /Developer/Tools/otest; sourceTree = "<absolute>"; }; F29A0E151129F5C60066D400 /* otest */ = { isa = PBXExecutable; activeArgIndices = ( YES, YES, ); argumentStrings = ( "-SenTest All", "$(BUILT_PRODUCTS_DIR)/UnitTests.octest", ); autoAttachOnCrash = 1; breakpointsEnabled = 0; configStateDict = { }; customDataFormattersEnabled = 1; dataTipCustomDataFormattersEnabled = 1; dataTipShowTypeColumn = 1; dataTipSortType = 0; debuggerPlugin = GDBDebugging; disassemblyDisplayState = 0; dylibVariantSuffix = ""; enableDebugStr = 1; environmentEntries = ( { active = YES; name = DYLD_FALLBACK_FRAMEWORK_PATH; value = "$(DEVELOPER_LIBRARY_DIR)/Frameworks:$(DEVELOPER_LIBRARY_DIR)/PrivateFrameworks"; }, { active = YES; name = DYLD_LIBRARY_PATH; value = "$(BUILT_PRODUCTS_DIR)"; }, { active = YES; name = DYLD_FRAMEWORK_PATH; value = "$(BUILT_PRODUCTS_DIR)"; }, { active = YES; name = OBJC_DISABLE_GC; value = YES; }, ); executableSystemSymbolLevel = 0; executableUserSymbolLevel = 0; launchableReference = F29A0E141129F5C60066D400 /* otest */; libgmallocEnabled = 0; name = otest; savedGlobals = { }; showTypeColumn = 0; sourceDirectories = ( ); variableFormatDictionary = { }; }; F29A0EA01129FEB20066D400 /* UsefulMacros.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {825, 655}}"; sepNavSelRange = "{597, 0}"; sepNavVisRange = "{519, 430}"; sepNavWindowFrame = "{{65, 226}, {1030, 729}}"; }; }; F2B6A5861125EE1F00C2ECA4 /* Source Control */ = { isa = PBXSourceControlManager; fallbackIsa = XCSourceControlManager; isSCMEnabled = 0; scmConfiguration = { repositoryNamesForRoots = { "" = ""; }; }; }; F2B6A5871125EE1F00C2ECA4 /* Code sense */ = { isa = PBXCodeSenseManager; indexTemplatePath = ""; }; F2FB36FD13344E91002F06D2 /* otest */ = { isa = PBXFileReference; name = otest; path = /Developer/Tools/otest; sourceTree = "<absolute>"; }; F2FB36FE13344E91002F06D2 /* otest */ = { isa = PBXExecutable; activeArgIndices = ( ); argumentStrings = ( ); autoAttachOnCrash = 1; breakpointsEnabled = 0; configStateDict = { }; customDataFormattersEnabled = 1; dataTipCustomDataFormattersEnabled = 1; dataTipShowTypeColumn = 1; dataTipSortType = 0; debuggerPlugin = GDBDebugging; disassemblyDisplayState = 0; enableDebugStr = 1; environmentEntries = ( ); executableSystemSymbolLevel = 0; executableUserSymbolLevel = 0; launchableReference = F2FB36FD13344E91002F06D2 /* otest */; libgmallocEnabled = 0; name = otest; showTypeColumn = 0; sourceDirectories = ( ); }; F2FB37011334515A002F06D2 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0AAC1129DB9B0066D400 /* SOLogger.m */; name = "SOLogger.m: 37"; rLen = 39; rLoc = 981; rType = 0; vrLen = 1071; vrLoc = 556; }; F2FB37021334515A002F06D2 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0AAB1129DB9B0066D400 /* SOLogger.h */; name = "SOLogger.h: 57"; rLen = 0; rLoc = 3051; rType = 0; vrLen = 1430; vrLoc = 2516; }; F2FB37031334515A002F06D2 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F29A0AAB1129DB9B0066D400 /* SOLogger.h */; name = "SOLogger.h: 53"; rLen = 0; rLoc = 3051; rType = 0; vrLen = 1261; vrLoc = 2463; }; }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 8331 | Matt Attaway |
Adding initial version of MacMenu for Perforce MacMenu is a helpful Perforce client that sits in your toolbar. It allows you to run standard Perforce operations on the document that is open the currently active editor/viewer. |