You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(7) |
Jul
(5) |
Aug
(24) |
Sep
(21) |
Oct
(2) |
Nov
|
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
(5) |
Mar
(6) |
Apr
(8) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(23) |
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
(7) |
Oct
(8) |
Nov
(8) |
Dec
(1) |
2009 |
Jan
(5) |
Feb
(6) |
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
(2) |
Dec
|
2010 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
(1) |
Oct
(6) |
Nov
(2) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(16) |
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
(9) |
Feb
(6) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
(3) |
Dec
|
From: <haw...@us...> - 2008-12-01 15:18:28
|
Revision: 219 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=219&view=rev Author: hawkmoon Date: 2008-12-01 15:18:26 +0000 (Mon, 01 Dec 2008) Log Message: ----------- Applied change for Tracker Item #2354094 Modified Paths: -------------- trunk/PGSQLKit/PGSQLRecordset.m Property Changed: ---------------- trunk/PGSQLKit/ trunk/PGSQLKit/PGSQLKit.xcodeproj/ Property changes on: trunk/PGSQLKit ___________________________________________________________________ Added: svn:ignore + build Property changes on: trunk/PGSQLKit/PGSQLKit.xcodeproj ___________________________________________________________________ Added: svn:ignore + arsatori.mode1v3 arsatori.pbxuser Modified: trunk/PGSQLKit/PGSQLRecordset.m =================================================================== --- trunk/PGSQLKit/PGSQLRecordset.m 2008-11-20 01:20:30 UTC (rev 218) +++ trunk/PGSQLKit/PGSQLRecordset.m 2008-12-01 15:18:26 UTC (rev 219) @@ -230,6 +230,7 @@ } } NSDictionary *result = [[[NSDictionary alloc] initWithDictionary:dict] autorelease]; + [dict release]; return result; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-11-20 01:20:35
|
Revision: 218 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=218&view=rev Author: hawkmoon Date: 2008-11-20 01:20:30 +0000 (Thu, 20 Nov 2008) Log Message: ----------- Modified Paths: -------------- trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/classes.nib trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/info.nib trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/keyedobjects.nib trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/project.pbxproj trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/info.nib trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/keyedobjects.nib trunk/Automator/PostgreSQL Query Action/Info.plist trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.h trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.m trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.xcodeproj/project.pbxproj trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/PostgreSQL Network Configuration.xcodeproj/project.pbxproj Modified: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/classes.nib =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/classes.nib 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/classes.nib 2008-11-20 01:20:30 UTC (rev 218) @@ -1,25 +1,58 @@ -{ - IBClasses = ( - { - ACTIONS = {completed = id; run = id; runNext = id; stop = id; }; - CLASS = AMAction; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - CLASS = AMAppleScriptAction; - LANGUAGE = ObjC; - OUTLETS = {"_script" = NSAppleScript; }; - SUPERCLASS = AMBundleAction; - }, - { - ACTIONS = {onSelectConnection = id; }; - CLASS = AMBundleAction; - LANGUAGE = ObjC; - OUTLETS = {dataSourceList = NSPopUpButton; view = NSView; }; - SUPERCLASS = AMAction; - }, - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } - ); - IBVersion = 1; -} \ No newline at end of file +<?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>IBClasses</key> + <array> + <dict> + <key>ACTIONS</key> + <dict> + <key>onSelectConnection</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>AMBundleAction</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>dataSourceList</key> + <string>NSPopUpButton</string> + <key>view</key> + <string>NSView</string> + </dict> + <key>SUPERCLASS</key> + <string>AMAction</string> + </dict> + <dict> + <key>ACTIONS</key> + <dict> + <key>completed</key> + <string>id</string> + <key>run</key> + <string>id</string> + <key>runNext</key> + <string>id</string> + <key>stop</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>AMAction</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + <dict> + <key>CLASS</key> + <string>FirstResponder</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> Modified: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/info.nib =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/info.nib 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/info.nib 2008-11-20 01:20:30 UTC (rev 218) @@ -1,16 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>IBDocumentLocation</key> - <string>723 255 356 240 0 0 1920 1178 </string> - <key>IBEditorPositions</key> - <dict> - <key>5</key> - <string>705 647 509 294 0 0 1920 1178 </string> - </dict> <key>IBFramework Version</key> - <string>446.1</string> + <string>672</string> <key>IBOldestOS</key> <integer>4</integer> <key>IBOpenObjects</key> @@ -18,6 +11,8 @@ <integer>5</integer> </array> <key>IBSystem Version</key> - <string>8R4061a</string> + <string>9F33</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> </dict> </plist> Modified: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist 2008-11-20 01:20:30 UTC (rev 218) @@ -20,7 +20,7 @@ <key>AMCanShowWhenRun</key> <true/> <key>AMCategory</key> - <string>Database</string> + <string>AMCategoryutilities</string> <key>AMDefaultParameters</key> <dict/> <key>AMDescription</key> @@ -43,7 +43,7 @@ <string>Executes a query against a PostgreSQL Database, and returns a list of data elements from the database.</string> </dict> <key>AMIconName</key> - <string>PGDAAP</string> + <string>query-tool</string> <key>AMKeywords</key> <array/> <key>AMName</key> @@ -66,7 +66,7 @@ <key>ApplyButton</key> <string>(* Button label for user to add proposed Action, e.g. Add. *)</string> <key>IgnoreButton</key> - <string>(* Button label for user not to add proposed Action, e.g. Don't Add. *)</string> + <string>(* Button label for user not to add proposed Action, e.g. Don't Add. *)</string> <key>Level</key> <integer>0</integer> <key>Message</key> Modified: trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/project.pbxproj =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/project.pbxproj 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/project.pbxproj 2008-11-20 01:20:30 UTC (rev 218) @@ -10,6 +10,7 @@ 431AC42F0CA9A806006A2B73 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 431AC42E0CA9A806006A2B73 /* Security.framework */; }; 431AC4330CA9A837006A2B73 /* PGSQLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 431AC4320CA9A837006A2B73 /* PGSQLKit.framework */; }; 431AC43C0CA9A9B8006A2B73 /* PGSQLKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 431AC4320CA9A837006A2B73 /* PGSQLKit.framework */; }; + 436C84AC0ECC8EFA007996FD /* query-tool.icns in Resources */ = {isa = PBXBuildFile; fileRef = 436C84AB0ECC8EFA007996FD /* query-tool.icns */; }; 650E79E2067AB5AE00B4A4EC /* Automator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 650E79E1067AB5AE00B4A4EC /* Automator.framework */; }; 65181752067A8D39005BD953 /* PostgreSQL Dynamic Query Action.m in Sources */ = {isa = PBXBuildFile; fileRef = 65181750067A8D39005BD953 /* PostgreSQL Dynamic Query Action.m */; }; 65C50ADF067A987800FE4393 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 65C50ADD067A987800FE4393 /* main.nib */; }; @@ -38,6 +39,7 @@ 32DBCF630370AF2F00C91783 /* PostgreSQL Dynamic Query Action_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PostgreSQL Dynamic Query Action_Prefix.pch"; sourceTree = "<group>"; }; 431AC42E0CA9A806006A2B73 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; }; 431AC4320CA9A837006A2B73 /* PGSQLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PGSQLKit.framework; path = /Library/Frameworks/PGSQLKit.framework; sourceTree = "<absolute>"; }; + 436C84AB0ECC8EFA007996FD /* query-tool.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "query-tool.icns"; sourceTree = "<group>"; }; 650E79E1067AB5AE00B4A4EC /* Automator.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Automator.framework; path = /System/Library/Frameworks/Automator.framework; sourceTree = "<absolute>"; }; 6518174F067A8D39005BD953 /* PostgreSQL Dynamic Query Action.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PostgreSQL Dynamic Query Action.h"; sourceTree = "<group>"; }; 65181750067A8D39005BD953 /* PostgreSQL Dynamic Query Action.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PostgreSQL Dynamic Query Action.m"; sourceTree = "<group>"; }; @@ -85,6 +87,7 @@ 089C167CFE841241C02AAC07 /* Resources */ = { isa = PBXGroup; children = ( + 436C84AB0ECC8EFA007996FD /* query-tool.icns */, 65C50ADD067A987800FE4393 /* main.nib */, 8D5B49B7048680CD000E48DA /* Info.plist */, 089C167DFE841241C02AAC07 /* InfoPlist.strings */, @@ -184,6 +187,7 @@ files = ( 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, 65C50ADF067A987800FE4393 /* main.nib in Resources */, + 436C84AC0ECC8EFA007996FD /* query-tool.icns in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/info.nib =================================================================== --- trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/info.nib 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/info.nib 2008-11-20 01:20:30 UTC (rev 218) @@ -3,15 +3,17 @@ <plist version="1.0"> <dict> <key>IBFramework Version</key> - <string>629</string> + <string>672</string> <key>IBLastKnownRelativeProjectPath</key> <string>../../PostgreSQL Query Action.xcodeproj</string> <key>IBOldestOS</key> <integer>5</integer> <key>IBOpenObjects</key> - <array/> + <array> + <integer>5</integer> + </array> <key>IBSystem Version</key> - <string>9A581</string> + <string>9F33</string> <key>targetFramework</key> <string>IBCocoaFramework</string> </dict> Modified: trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: trunk/Automator/PostgreSQL Query Action/Info.plist =================================================================== --- trunk/Automator/PostgreSQL Query Action/Info.plist 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Query Action/Info.plist 2008-11-20 01:20:30 UTC (rev 218) @@ -7,7 +7,7 @@ <key>AMApplication</key> <string>Database</string> <key>AMCanShowSelectedItemsWhenRun</key> - <false/> + <true/> <key>AMCanShowWhenRun</key> <true/> <key>AMCategory</key> @@ -57,7 +57,7 @@ <key>ApplyButton</key> <string>(* Button label for user to add proposed Action, e.g. Add. *)</string> <key>IgnoreButton</key> - <string>(* Button label for user not to add proposed Action, e.g. Don't Add. *)</string> + <string>(* Button label for user not to add proposed Action, e.g. Don't Add. *)</string> <key>Level</key> <integer>0</integer> <key>Message</key> Modified: trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.h =================================================================== --- trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.h 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.h 2008-11-20 01:20:30 UTC (rev 218) @@ -17,6 +17,5 @@ - (id)runWithInput:(id)input fromAction:(AMAction *)anAction error:(NSDictionary **)errorInfo; - (IBAction)onSelectConnection:(id)sender; -- (IBAction)onRegisterApplication:(id)sender; @end Modified: trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.m =================================================================== --- trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.m 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.m 2008-11-20 01:20:30 UTC (rev 218) @@ -7,7 +7,6 @@ // #import "PostgreSQL Query Action.h" -// #import "RegistrationDialog.h" #import <Security/Security.h> #import <CoreFoundation/CoreFoundation.h> #import <stdlib.h> @@ -73,8 +72,6 @@ [dict setValue:@"" forKey:@"userName"]; [dict setValue:@"" forKey:@"password"]; [dict setValue:@"" forKey:@"databaseName"]; - [dict setValue:@"YES" forKey:@"isRegistered"]; - [dict setValue:@"Unregistered" forKey:@"registeredOwner"]; // alter this to read the password (last two nulls) status = SecKeychainItemCopyContent(item, NULL, &list, &passwordLen, @@ -140,16 +137,11 @@ { self = [super initWithDefinition:dict fromArchive:archived]; - [[self parameters] setValue:@"NO" forKey:@"isRegistered"]; - [[self parameters] setValue:@"Unregistered" forKey:@"registeredOwner"]; - // load the plist and see if the key information is present. // first check the local machine domain, then the local user. If the file // exists, read it and verify it. - - if (self != nil) { NSMutableArray *savedConnections = [[NSMutableArray alloc] init]; @@ -267,8 +259,6 @@ [dict setValue:@"" forKey:@"userName"]; [dict setValue:@"" forKey:@"password"]; [dict setValue:@"" forKey:@"databaseName"]; - [dict setValue:@"YES" forKey:@"isRegistered"]; - [dict setValue:@"Unregistered" forKey:@"registeredOwner"]; return; } @@ -309,12 +299,5 @@ } -- (IBAction)onRegisterApplication:(id)sender -{ - - // change this to just load the registration applicatoin from the bundle - // RegistrationDialog *dlg = [[RegistrationDialog alloc] init]; - // [dlg beginModalDialogForWindow:[[self view] window]]; -} @end Modified: trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.xcodeproj/project.pbxproj =================================================================== --- trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.xcodeproj/project.pbxproj 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.xcodeproj/project.pbxproj 2008-11-20 01:20:30 UTC (rev 218) @@ -10,7 +10,6 @@ 43078FF30CEBCCD900A1F930 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43078FF20CEBCCD900A1F930 /* WebKit.framework */; }; 43273FEE0C98745900C9E033 /* PGSQLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43273FED0C98745900C9E033 /* PGSQLKit.framework */; }; 433A145A0CA8535D006583AA /* PGSQLKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 43273FED0C98745900C9E033 /* PGSQLKit.framework */; }; - 43A10E670CEB9D6700C2BC85 /* Registration.nib in Resources */ = {isa = PBXBuildFile; fileRef = 43A10E650CEB9D6600C2BC85 /* Registration.nib */; }; 43B0134A0CE4FB6B00C29C2B /* query-tool.icns in Resources */ = {isa = PBXBuildFile; fileRef = 43B013490CE4FB6B00C29C2B /* query-tool.icns */; }; 43DADC010C9DB4C900C62852 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43DADC000C9DB4C900C62852 /* Security.framework */; }; 650E79E2067AB5AE00B4A4EC /* Automator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 650E79E1067AB5AE00B4A4EC /* Automator.framework */; }; @@ -41,9 +40,6 @@ 32DBCF630370AF2F00C91783 /* PostgreSQL Query Action_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PostgreSQL Query Action_Prefix.pch"; sourceTree = "<group>"; }; 43078FF20CEBCCD900A1F930 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/WebKit.framework; sourceTree = SYSTEM_DEVELOPER_DIR; }; 43273FED0C98745900C9E033 /* PGSQLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PGSQLKit.framework; path = /Library/Frameworks/PGSQLKit.framework; sourceTree = "<absolute>"; }; - 432BB7050CE661A600154411 /* RegistrationDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegistrationDialog.h; sourceTree = "<group>"; }; - 432BB7060CE661A600154411 /* RegistrationDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegistrationDialog.m; sourceTree = "<group>"; }; - 43A10E660CEB9D6600C2BC85 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Registration.nib; sourceTree = "<group>"; }; 43B013490CE4FB6B00C29C2B /* query-tool.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "query-tool.icns"; sourceTree = "<group>"; }; 43DADC000C9DB4C900C62852 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; }; 650E79E1067AB5AE00B4A4EC /* Automator.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Automator.framework; path = /System/Library/Frameworks/Automator.framework; sourceTree = "<absolute>"; }; @@ -94,7 +90,6 @@ 089C167CFE841241C02AAC07 /* Resources */ = { isa = PBXGroup; children = ( - 43A10E650CEB9D6600C2BC85 /* Registration.nib */, 43B013490CE4FB6B00C29C2B /* query-tool.icns */, 65C50ADD067A987800FE4393 /* main.nib */, 8D5B49B7048680CD000E48DA /* Info.plist */, @@ -108,8 +103,6 @@ children = ( 6518174F067A8D39005BD953 /* PostgreSQL Query Action.h */, 65181750067A8D39005BD953 /* PostgreSQL Query Action.m */, - 432BB7050CE661A600154411 /* RegistrationDialog.h */, - 432BB7060CE661A600154411 /* RegistrationDialog.m */, ); name = Classes; sourceTree = "<group>"; @@ -199,7 +192,6 @@ 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, 65C50ADF067A987800FE4393 /* main.nib in Resources */, 43B0134A0CE4FB6B00C29C2B /* query-tool.icns in Resources */, - 43A10E670CEB9D6700C2BC85 /* Registration.nib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -241,14 +233,6 @@ name = InfoPlist.strings; sourceTree = "<group>"; }; - 43A10E650CEB9D6600C2BC85 /* Registration.nib */ = { - isa = PBXVariantGroup; - children = ( - 43A10E660CEB9D6600C2BC85 /* English */, - ); - name = Registration.nib; - sourceTree = "<group>"; - }; 65C50ADD067A987800FE4393 /* main.nib */ = { isa = PBXVariantGroup; children = ( Modified: trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml =================================================================== --- trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml 2008-11-20 01:20:30 UTC (rev 218) @@ -1 +1 @@ -<pkgref spec="1.12" uuid="0CE0FB3E-841F-4ECB-A530-576853338088"><config><identifier>com.druware.postgresqlformac.postgresqlForMac.postgresql8.pkg</identifier><version>8.3.5</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true" includeRoot="true">/var/tmp/merge/Universal/Library/PostgreSQL8</installFrom><installTo mod="true">/Library/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>scripts.postinstall.path</mod><mod>scripts.postflight.path</mod><mod>scripts.postupgrade.path</mod><mod>version</mod><mod>includeRoot</mod><mod>installFrom.path</mod><mod>installTo</mod><mod>installTo.path</mod></config><scripts><postflight mod="true">/Users/arsatori/Projects/PostgreSQL/postflight</postflight><postinstall mod="true">/Users/arsatori/Projects/PostgreSQL/postinstall</postinstall><postupgrade mod="true">/Users/arsatori/Projects/PostgreSQL/postupgrade</postupgrade></scripts><contents><file-list>01postgresql-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file +<pkgref spec="1.12" uuid="0CE0FB3E-841F-4ECB-A530-576853338088"><config><identifier>com.druware.postgresqlformac.postgresqlForMac.postgresql8.pkg</identifier><version>8.3.5</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true" includeRoot="true">/var/tmp/merge/Universal/Library/PostgreSQL8</installFrom><installTo mod="true">/Library/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>scripts.postinstall.isRelativeType</mod><mod>scripts.postupgrade.isRelativeType</mod><mod>scripts.postinstall.isAbsoluteType</mod><mod>scripts.postupgrade.path</mod><mod>version</mod><mod>includeRoot</mod><mod>parent</mod><mod>scripts.postinstall.path</mod><mod>scripts.postflight.path</mod><mod>scripts.postflight.isRelativeType</mod><mod>installFrom.path</mod><mod>installTo</mod><mod>installTo.path</mod></config><scripts><postflight mod="true">./postflight</postflight><postinstall mod="true">./postinstall</postinstall><postupgrade mod="true">./postupgrade</postupgrade></scripts><contents><file-list>01postgresql-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file Modified: trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml =================================================================== --- trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml 2008-11-20 01:20:30 UTC (rev 218) @@ -1,4 +1,4 @@ -<pkmkdoc spec="1.12"><properties><title>PostgreSQL for Mac</title><build>/Users/arsatori/Desktop/PostgreSQL for Mac.mpkg</build><organization>com.druware.postgresqlformac</organization><userSees ui="both"/><min-target os="2"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><description>Installs a full PostgreSQL Database server environment on Mac OS X.</description><contents><choice title="Database Server" id="choice0" description="The core of the PostgreSQL for Mac deployment, this is the PostgreSQL Database engine, packaged and installed to the /Library/PostgreSQL location." starts_selected="true" starts_enabled="false" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql8.pkg"/><choice title="StartUp Item" id="choice1" starts_selected="true" starts_enabled="false" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql.pkg"/></choice><choice title="Server Applications" id="choice5" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.queryToolForPostgres.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.createDatabase.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.createUser.pkg"/></choice></choice><choice title="Database Access Toolkits" id="choice3" starts_selected="true" starts_enabled="true" starts_hidden="false"><choice title="Java (JDBC3)" id="choice6" description="Recommended JDBC Driver for Java 1.5." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql83603jdbc3.pkg"/></choice><choice title="PGSQLKit Framework" id="choice11" description="PGSQLKit Framework for development and deployment of linked applications " starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.pgsqlkit.pkg"/></choice></choice></contents><resources bg-scale="tofit" bg-align="bottomleft"><locale lang="en"><resource type="background">/Users/arsatori/Projects/PostgreSQL/svn/trunk/Installers/PostgreSQL/Resources/background.tif</resource><resource mime-type="text/rtf" kind="embedded" type="license"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf350 +<pkmkdoc spec="1.12"><properties><title>PostgreSQL for Mac</title><build>/Volumes/KINGSTON/PostgreSQL for Mac.mpkg</build><organization>com.druware.postgresqlformac</organization><userSees ui="both"/><min-target os="2"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><description>Installs a full PostgreSQL Database server environment on Mac OS X.</description><contents><choice title="Database Server" id="choice0" description="The core of the PostgreSQL for Mac deployment, this is the PostgreSQL Database engine, packaged and installed to the /Library/PostgreSQL location." starts_selected="true" starts_enabled="false" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql8.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresqlServer.pkg"/><choice title="StartUp Item" id="choice1" starts_selected="true" starts_enabled="false" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql.pkg"/></choice><choice title="Server Applications" id="choice5" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.queryToolForPostgres.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.createDatabase.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.createUser.pkg"/></choice></choice><choice title="Database Access Toolkits" id="choice3" starts_selected="true" starts_enabled="true" starts_hidden="false"><choice title="Java (JDBC3)" id="choice6" description="Recommended JDBC Driver for Java 1.5." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql83603jdbc3.pkg"/></choice><choice title="PGSQLKit Framework" id="choice11" description="PGSQLKit Framework for development and deployment of linked applications " starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.pgsqlkit.pkg"/></choice></choice></contents><resources bg-scale="tofit" bg-align="bottomleft"><locale lang="en"><resource relative="true" type="background">../PostgreSQL/Resources/background.tif</resource><resource mime-type="text/rtf" kind="embedded" type="license"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf350 {\fonttbl\f0\fnil\fcharset0 Verdana;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural @@ -50,4 +50,4 @@ \b must \b0 shut down the running copy, and it is strongly recommended that you take a few moments to make a full backup of your databases before you upgrade.\cf0 \ \ -Thank you for choosing PostgreSQL.}]]></resource></locale></resources><flags/><item type="file">01postgresql.xml</item><item type="file">02postgresql.xml</item><item type="file">03postgresql.xml</item><item type="file">04pgsqlkit.xml</item><item type="file">05query.xml</item><item type="file">06create.xml</item><item type="file">07create.xml</item><mod>properties.customizeOption</mod><mod>properties.title</mod><mod>description</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod></pkmkdoc> \ No newline at end of file +Thank you for choosing PostgreSQL.}]]></resource></locale></resources><flags/><item type="file">01postgresql.xml</item><item type="file">02postgresql.xml</item><item type="file">03postgresql.xml</item><item type="file">04pgsqlkit.xml</item><item type="file">05query.xml</item><item type="file">06create.xml</item><item type="file">07create.xml</item><item type="file">08postgresql.xml</item><mod>properties.customizeOption</mod><mod>properties.title</mod><mod>description</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod></pkmkdoc> \ No newline at end of file Modified: trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/PostgreSQL Network Configuration.xcodeproj/project.pbxproj =================================================================== --- trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/PostgreSQL Network Configuration.xcodeproj/project.pbxproj 2008-11-13 19:00:34 UTC (rev 217) +++ trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/PostgreSQL Network Configuration.xcodeproj/project.pbxproj 2008-11-20 01:20:30 UTC (rev 218) @@ -8,7 +8,8 @@ /* Begin PBXBuildFile section */ 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; - 43D227DE0E4D324E0009C979 /* pg_hba.conf in Resources */ = {isa = PBXBuildFile; fileRef = 43D227DD0E4D324E0009C979 /* pg_hba.conf */; }; + 43DB841B0ECCEEEF00EAB6B6 /* PGNCController.m in Sources */ = {isa = PBXBuildFile; fileRef = 43DB841A0ECCEEEF00EAB6B6 /* PGNCController.m */; }; + 43DB84200ECCEF0900EAB6B6 /* PGHBAFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 43DB841F0ECCEF0900EAB6B6 /* PGHBAFile.m */; }; 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; @@ -23,7 +24,10 @@ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; 32CA4F630368D1EE00C91783 /* PostgreSQL Network Configuration_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PostgreSQL Network Configuration_Prefix.pch"; sourceTree = "<group>"; }; - 43D227DD0E4D324E0009C979 /* pg_hba.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = pg_hba.conf; path = ../../../../../../Desktop/pg_hba.conf; sourceTree = SOURCE_ROOT; }; + 43DB84190ECCEEEF00EAB6B6 /* PGNCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PGNCController.h; sourceTree = "<group>"; }; + 43DB841A0ECCEEEF00EAB6B6 /* PGNCController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PGNCController.m; sourceTree = "<group>"; }; + 43DB841E0ECCEF0900EAB6B6 /* PGHBAFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PGHBAFile.h; sourceTree = "<group>"; }; + 43DB841F0ECCEF0900EAB6B6 /* PGHBAFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PGHBAFile.m; sourceTree = "<group>"; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 8D1107320486CEB800E47090 /* PostgreSQL Network Configuration.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "PostgreSQL Network Configuration.app"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -43,6 +47,10 @@ 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( + 43DB841E0ECCEF0900EAB6B6 /* PGHBAFile.h */, + 43DB841F0ECCEF0900EAB6B6 /* PGHBAFile.m */, + 43DB84190ECCEEEF00EAB6B6 /* PGNCController.h */, + 43DB841A0ECCEEEF00EAB6B6 /* PGNCController.m */, ); name = Classes; sourceTree = "<group>"; @@ -76,7 +84,6 @@ 29B97314FDCFA39411CA2CEA /* PostgreSQL Network Configuration */ = { isa = PBXGroup; children = ( - 43D227DD0E4D324E0009C979 /* pg_hba.conf */, 080E96DDFE201D6D7F000001 /* Classes */, 29B97315FDCFA39411CA2CEA /* Other Sources */, 29B97317FDCFA39411CA2CEA /* Resources */, @@ -159,7 +166,6 @@ files = ( 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */, - 43D227DE0E4D324E0009C979 /* pg_hba.conf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -171,6 +177,8 @@ buildActionMask = 2147483647; files = ( 8D11072D0486CEB800E47090 /* main.m in Sources */, + 43DB841B0ECCEEEF00EAB6B6 /* PGNCController.m in Sources */, + 43DB84200ECCEF0900EAB6B6 /* PGHBAFile.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-11-13 19:00:43
|
Revision: 217 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=217&view=rev Author: hawkmoon Date: 2008-11-13 19:00:34 +0000 (Thu, 13 Nov 2008) Log Message: ----------- REmoved, SVN doe not cope well with pages documents. Removed Paths: ------------- trunk/Installers/PostgreSQL for Mac/README.pages/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-11-13 16:22:59
|
Revision: 216 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=216&view=rev Author: hawkmoon Date: 2008-11-13 16:22:55 +0000 (Thu, 13 Nov 2008) Log Message: ----------- 8.3.5 Release Modified Paths: -------------- trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist trunk/Automator/PostgreSQL Query Action/Info.plist trunk/CreateDatabase/Info.plist trunk/CreateUser/Create User.xcodeproj/arsatori.pbxuser trunk/CreateUser/Create User.xcodeproj/project.pbxproj trunk/CreateUser/Info.plist trunk/CreateUser/PGNewUserUI.h trunk/CreateUser/PGNewUserUI.m trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/02postgresql.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml trunk/PGSQLKit/Info.plist trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib trunk/PreferencePane/PostgreSQL Server/Info.plist trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m trunk/StartupHelper/main.c trunk/StartupItem/.DS_Store trunk/pgCocoaDB/Info.plist Modified: trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist 2008-11-13 16:22:55 UTC (rev 216) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AMAccepts</key> @@ -93,7 +93,7 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>1.0</string> + <string>8.3.5</string> <key>NSPrincipalClass</key> <string>PostgreSQL_Dynamic_Query_Action</string> </dict> Modified: trunk/Automator/PostgreSQL Query Action/Info.plist =================================================================== --- trunk/Automator/PostgreSQL Query Action/Info.plist 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/Automator/PostgreSQL Query Action/Info.plist 2008-11-13 16:22:55 UTC (rev 216) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AMAccepts</key> @@ -84,7 +84,7 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>1.0</string> + <string>8.3.5</string> <key>NSPrincipalClass</key> <string>PostgreSQL_Query_Action</string> </dict> Modified: trunk/CreateDatabase/Info.plist =================================================================== --- trunk/CreateDatabase/Info.plist 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/CreateDatabase/Info.plist 2008-11-13 16:22:55 UTC (rev 216) @@ -17,7 +17,7 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>8.3.2</string> + <string>8.3.5</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/CreateUser/Create User.xcodeproj/arsatori.pbxuser =================================================================== --- trunk/CreateUser/Create User.xcodeproj/arsatori.pbxuser 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/CreateUser/Create User.xcodeproj/arsatori.pbxuser 2008-11-13 16:22:55 UTC (rev 216) @@ -12,12 +12,26 @@ 43F67E640CBC623400B36845 /* Create User */, ); perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXBookmarksDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXBookmarksDataSource_NameID; + PBXFileTableDataSourceColumnWidthsKey = ( + 200, + 200, + 83.58349609375, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXBookmarksDataSource_LocationID, + PBXBookmarksDataSource_NameID, + PBXBookmarksDataSource_CommentsID, + ); + }; PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 247, + 693, 20, 48, 43, @@ -39,7 +53,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 207, + 234, 60, 20, 48, @@ -56,21 +70,96 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 247023369; - PBXWorkspaceStateSaveDate = 247023369; + PBXPerProjectTemplateStateSaveDate = 248284821; + PBXWorkspaceStateSaveDate = 248284821; }; + perUserProjectItems = { + 436C843F0ECC88C0007996FD /* PBXTextBookmark */ = 436C843F0ECC88C0007996FD /* PBXTextBookmark */; + 436C84400ECC88C0007996FD /* PBXTextBookmark */ = 436C84400ECC88C0007996FD /* PBXTextBookmark */; + 436C84410ECC88C0007996FD /* PBXTextBookmark */ = 436C84410ECC88C0007996FD /* PBXTextBookmark */; + 436C84420ECC88C0007996FD /* PBXTextBookmark */ = 436C84420ECC88C0007996FD /* PBXTextBookmark */; + 436C84430ECC88C0007996FD /* PBXTextBookmark */ = 436C84430ECC88C0007996FD /* PBXTextBookmark */; + 436C84440ECC88C0007996FD /* PBXTextBookmark */ = 436C84440ECC88C0007996FD /* PBXTextBookmark */; + }; sourceControlManager = 43F67E700CBC623B00B36845 /* Source Control */; userBuildSettings = { }; }; + 434CDC6E07CAD73E000F3026 /* PGNewUserUI.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {871, 802}}"; + sepNavSelRange = "{1084, 0}"; + sepNavVisRange = "{0, 1091}"; + }; + }; 434CDC6F07CAD73E000F3026 /* PGNewUserUI.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {859, 2686}}"; - sepNavSelRange = "{2474, 22}"; - sepNavVisRange = "{2049, 663}"; + sepNavIntBoundsRect = "{{0, 0}, {871, 2604}}"; + sepNavSelRange = "{2611, 18}"; + sepNavVisRange = "{1041, 1591}"; sepNavWindowFrame = "{{15, 63}, {674, 1110}}"; }; }; + 436C843F0ECC88C0007996FD /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 434CDC6E07CAD73E000F3026 /* PGNewUserUI.h */; + name = "PGNewUserUI.h: 42"; + rLen = 0; + rLoc = 1084; + rType = 0; + vrLen = 1091; + vrLoc = 0; + }; + 436C84400ECC88C0007996FD /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 434CDC6F07CAD73E000F3026 /* PGNewUserUI.m */; + name = "PGNewUserUI.m: 115"; + rLen = 18; + rLoc = 2611; + rType = 0; + vrLen = 1696; + vrLoc = 1334; + }; + 436C84410ECC88C0007996FD /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 434CDC6E07CAD73E000F3026 /* PGNewUserUI.h */; + name = "PGNewUserUI.h: 31"; + rLen = 0; + rLoc = 826; + rType = 0; + vrLen = 1069; + vrLoc = 0; + }; + 436C84420ECC88C0007996FD /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 434CDC6F07CAD73E000F3026 /* PGNewUserUI.m */; + name = "PGNewUserUI.m: 115"; + rLen = 18; + rLoc = 2611; + rType = 0; + vrLen = 1457; + vrLoc = 1437; + }; + 436C84430ECC88C0007996FD /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 434CDC6E07CAD73E000F3026 /* PGNewUserUI.h */; + name = "PGNewUserUI.h: 42"; + rLen = 0; + rLoc = 1084; + rType = 0; + vrLen = 1091; + vrLoc = 0; + }; + 436C84440ECC88C0007996FD /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 434CDC6F07CAD73E000F3026 /* PGNewUserUI.m */; + name = "PGNewUserUI.m: 115"; + rLen = 18; + rLoc = 2611; + rType = 0; + vrLen = 1591; + vrLoc = 1041; + }; 43F67E640CBC623400B36845 /* Create User */ = { isa = PBXExecutable; activeArgIndices = ( @@ -78,7 +167,7 @@ argumentStrings = ( ); autoAttachOnCrash = 1; - breakpointsEnabled = 1; + breakpointsEnabled = 0; configStateDict = { }; customDataFormattersEnabled = 1; Modified: trunk/CreateUser/Create User.xcodeproj/project.pbxproj =================================================================== --- trunk/CreateUser/Create User.xcodeproj/project.pbxproj 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/CreateUser/Create User.xcodeproj/project.pbxproj 2008-11-13 16:22:55 UTC (rev 216) @@ -11,8 +11,8 @@ 434CDC7107CAD73E000F3026 /* PGNewUserUI.m in Sources */ = {isa = PBXBuildFile; fileRef = 434CDC6F07CAD73E000F3026 /* PGNewUserUI.m */; }; 434CDC9307CADA42000F3026 /* create_user_wiz.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CDC9207CADA42000F3026 /* create_user_wiz.png */; }; 434CDDD407CC3F41000F3026 /* add user_32.icns in Resources */ = {isa = PBXBuildFile; fileRef = 434CDDD307CC3F41000F3026 /* add user_32.icns */; }; - 437617F70EB947330067C28F /* pgCocoaDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 437617F60EB947330067C28F /* pgCocoaDB.framework */; }; - 437617FA0EB9473A0067C28F /* pgCocoaDB.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 437617F60EB947330067C28F /* pgCocoaDB.framework */; }; + 436D43DA0EBA112F003BE656 /* PGSQLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 436D43D90EBA112F003BE656 /* PGSQLKit.framework */; }; + 436D43DD0EBA1135003BE656 /* PGSQLKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 436D43D90EBA112F003BE656 /* PGSQLKit.framework */; }; 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; }; 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; @@ -26,7 +26,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 437617FA0EB9473A0067C28F /* pgCocoaDB.framework in CopyFiles */, + 436D43DD0EBA1135003BE656 /* PGSQLKit.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -44,7 +44,7 @@ 434CDC6F07CAD73E000F3026 /* PGNewUserUI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PGNewUserUI.m; sourceTree = "<group>"; }; 434CDC9207CADA42000F3026 /* create_user_wiz.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = create_user_wiz.png; sourceTree = "<group>"; }; 434CDDD307CC3F41000F3026 /* add user_32.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "add user_32.icns"; sourceTree = "<group>"; }; - 437617F60EB947330067C28F /* pgCocoaDB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = pgCocoaDB.framework; path = ../pgCocoaDB/build/Deployment/pgCocoaDB.framework; sourceTree = SOURCE_ROOT; }; + 436D43D90EBA112F003BE656 /* PGSQLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PGSQLKit.framework; path = ../PGSQLKit/build/Release/PGSQLKit.framework; sourceTree = SOURCE_ROOT; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 8D1107320486CEB800E47090 /* Create User.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Create User.app"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -55,7 +55,7 @@ buildActionMask = 2147483647; files = ( 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, - 437617F70EB947330067C28F /* pgCocoaDB.framework in Frameworks */, + 436D43DA0EBA112F003BE656 /* PGSQLKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -74,7 +74,7 @@ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( - 437617F60EB947330067C28F /* pgCocoaDB.framework */, + 436D43D90EBA112F003BE656 /* PGSQLKit.framework */, 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, ); name = "Linked Frameworks"; @@ -232,8 +232,10 @@ FRAMEWORK_SEARCH_PATHS = ( ../pgCocoaDB/build, "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", ); FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../pgCocoaDB/build/Deployment\""; + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../PGSQLKit/build/Release\""; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; @@ -259,8 +261,10 @@ FRAMEWORK_SEARCH_PATHS = ( ../pgCocoaDB/build, "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", ); FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../pgCocoaDB/build/Deployment\""; + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../PGSQLKit/build/Release\""; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -281,8 +285,10 @@ FRAMEWORK_SEARCH_PATHS = ( ../pgCocoaDB/build, "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", ); FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../pgCocoaDB/build/Deployment\""; + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../PGSQLKit/build/Release\""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Create User_Prefix.pch"; Modified: trunk/CreateUser/Info.plist =================================================================== --- trunk/CreateUser/Info.plist 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/CreateUser/Info.plist 2008-11-13 16:22:55 UTC (rev 216) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> @@ -17,7 +17,7 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>8.1.0</string> + <string>8.3.5</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/CreateUser/PGNewUserUI.h =================================================================== --- trunk/CreateUser/PGNewUserUI.h 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/CreateUser/PGNewUserUI.h 2008-11-13 16:22:55 UTC (rev 216) @@ -3,15 +3,12 @@ // Create User // // Created by Andy Satori on 2/21/05. -// Copyright 2005 __MyCompanyName__. All rights reserved. +// Copyright 2005 Druware Software Designs. All rights reserved. // #import <Cocoa/Cocoa.h> -#import <pgCocoaDB/Connection.h> -#import <pgCocoaDB/Databases.h> -#import <pgCocoaDB/RecordSet.h> +#import <PGSQLKit/PGSQLKit.h> - @interface PGNewUserUI : NSObject { IBOutlet NSButton *back; @@ -35,10 +32,13 @@ IBOutlet NSButton *allowCreateUser; IBOutlet NSButton *versionSevenFeaturesOnly; - Connection *_conn; + PGSQLConnection *_conn; } - (IBAction)onBack:(id)sender; - (IBAction)onCancel:(id)sender; - (IBAction)onNext:(id)sender; + +- (void)createUser; + @end Modified: trunk/CreateUser/PGNewUserUI.m =================================================================== --- trunk/CreateUser/PGNewUserUI.m 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/CreateUser/PGNewUserUI.m 2008-11-13 16:22:55 UTC (rev 216) @@ -24,7 +24,7 @@ { BOOL isRunning = NO; - _conn = [[[[Connection alloc] init] autorelease] retain]; + _conn = [[[[PGSQLConnection alloc] init] autorelease] retain]; // set the defaults [groups removeAllItems]; @@ -57,7 +57,7 @@ if ([[user stringValue] length] == 0) { return; } [_conn setUserName:[user stringValue]]; - [_conn setHost:[server stringValue]]; + [_conn setServer:[server stringValue]]; [_conn setPort:[port stringValue]]; [_conn setPassword:[password stringValue]]; @@ -68,7 +68,7 @@ NSAlert *alert = [NSAlert alertWithMessageText:@"Database Connection failed" defaultButton:@"OK" alternateButton:nil - otherButton:nil informativeTextWithFormat:@"%@", [_conn errorDescription]]; + otherButton:nil informativeTextWithFormat:@"%@", [_conn lastError]]; [alert beginSheetModalForWindow:[NSApp mainWindow] modalDelegate:nil didEndSelector:nil contextInfo:nil]; return; } @@ -77,11 +77,11 @@ [groups addItemWithTitle:@"- default -"]; // load the rest from a quick query of the database - RecordSet *rs = [_conn execQuery:@"select groname from pg_group order by groname asc"]; + PGSQLRecordset *rs = [_conn open:@"select groname from pg_group order by groname asc"]; int i ; - for (i = 0; i < [rs count]; i++) + for (i = 0; i < [rs recordCount]; i++) { - [groups addItemWithTitle:[[[[rs itemAtIndex:i] fields] itemAtIndex:0] value]]; + [groups addItemWithTitle:[[rs fieldByIndex:i] asString]]; } [back setEnabled:YES]; @@ -181,7 +181,7 @@ { if ([_conn isConnected]) { - [_conn disconnect]; + [_conn close]; [_conn release]; _conn = nil; } Modified: trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml =================================================================== --- trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml 2008-11-13 16:22:55 UTC (rev 216) @@ -1 +1 @@ -<pkgref spec="1.12" uuid="0CE0FB3E-841F-4ECB-A530-576853338088"><config><identifier>com.druware.postgresqlformac.postgresqlForMac.postgresql8.pkg</identifier><version>8.3.4</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true" includeRoot="true">/var/tmp/merge/Universal/Library/PostgreSQL8</installFrom><installTo mod="true">/Library/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>scripts.postinstall.path</mod><mod>scripts.postflight.path</mod><mod>scripts.postupgrade.path</mod><mod>version</mod><mod>includeRoot</mod><mod>installFrom.path</mod><mod>installTo</mod><mod>installTo.path</mod></config><scripts><postflight mod="true">/Users/arsatori/Projects/PostgreSQL/postflight</postflight><postinstall mod="true">/Users/arsatori/Projects/PostgreSQL/postinstall</postinstall><postupgrade mod="true">/Users/arsatori/Projects/PostgreSQL/postupgrade</postupgrade></scripts><contents><file-list>01postgresql-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file +<pkgref spec="1.12" uuid="0CE0FB3E-841F-4ECB-A530-576853338088"><config><identifier>com.druware.postgresqlformac.postgresqlForMac.postgresql8.pkg</identifier><version>8.3.5</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true" includeRoot="true">/var/tmp/merge/Universal/Library/PostgreSQL8</installFrom><installTo mod="true">/Library/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>scripts.postinstall.path</mod><mod>scripts.postflight.path</mod><mod>scripts.postupgrade.path</mod><mod>version</mod><mod>includeRoot</mod><mod>installFrom.path</mod><mod>installTo</mod><mod>installTo.path</mod></config><scripts><postflight mod="true">/Users/arsatori/Projects/PostgreSQL/postflight</postflight><postinstall mod="true">/Users/arsatori/Projects/PostgreSQL/postinstall</postinstall><postupgrade mod="true">/Users/arsatori/Projects/PostgreSQL/postupgrade</postupgrade></scripts><contents><file-list>01postgresql-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file Modified: trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/02postgresql.xml =================================================================== --- trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/02postgresql.xml 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/02postgresql.xml 2008-11-13 16:22:55 UTC (rev 216) @@ -1 +1 @@ -<pkgref spec="1.12" uuid="A6D3C252-8A0E-40F3-8D65-9EE2D626B073"><config><identifier>com.druware.postgresqlformac.postgresqlForMac.postgresql.pkg</identifier><version>8.3.4</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true" includeRoot="true">/Users/arsatori/Projects/PostgreSQL/svn/trunk/StartupItem/PostgreSQL</installFrom><installTo mod="true">/Library/StartupItems/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>version</mod><mod>installTo.path</mod><mod>includeRoot</mod><mod>installTo</mod></config><contents><file-list>02postgresql-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file +<pkgref spec="1.12" uuid="A6D3C252-8A0E-40F3-8D65-9EE2D626B073"><config><identifier>com.druware.postgresqlformac.postgresqlForMac.postgresql.pkg</identifier><version>8.3.5</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true" includeRoot="true">/Users/arsatori/Projects/PostgreSQL/svn/trunk/StartupItem/PostgreSQL</installFrom><installTo mod="true">/Library/StartupItems/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>version</mod><mod>installTo.path</mod><mod>includeRoot</mod><mod>installTo</mod></config><contents><file-list>02postgresql-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file Modified: trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml =================================================================== --- trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml 2008-11-13 16:22:55 UTC (rev 216) @@ -1,4 +1,4 @@ -<pkmkdoc spec="1.12"><properties><title>PostgreSQL for Mac</title><build>/Users/arsatori/Desktop/PostgreSQL for Mac.mpkg</build><organization>com.druware.postgresqlformac</organization><userSees ui="both"/><min-target os="2"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><description>Installs a full PostgreSQL Database server environment on Mac OS X.</description><contents><choice title="Database Server" id="choice0" description="The core of the PostgreSQL for Mac deployment, this is the PostgreSQL Database engine, packaged and installed to the /Library/PostgreSQL location." starts_selected="true" starts_enabled="false" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql8.pkg"/><choice title="StartUp Item" id="choice1" starts_selected="true" starts_enabled="false" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql.pkg"/></choice><choice title="Server Applications" id="choice5" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.serviceManager.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.cleaninstallation.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.queryToolForPostgres.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.createDatabase.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.createUser.pkg"/></choice></choice><choice title="Database Access Toolkits" id="choice3" starts_selected="true" starts_enabled="true" starts_hidden="false"><choice title="Java (JDBC3)" id="choice6" description="Recommended JDBC Driver for Java 1.5." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql83603jdbc3.pkg"/></choice><choice title="PGSQLKit Framework" id="choice11" description="PGSQLKit Framework for development and deployment of linked applications " starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.pgsqlkit.pkg"/></choice></choice></contents><resources bg-scale="tofit" bg-align="bottomleft"><locale lang="en"><resource type="background">/Users/arsatori/Projects/PostgreSQL/svn/trunk/Installers/PostgreSQL/Resources/background.tif</resource><resource mime-type="text/rtf" kind="embedded" type="license"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf350 +<pkmkdoc spec="1.12"><properties><title>PostgreSQL for Mac</title><build>/Users/arsatori/Desktop/PostgreSQL for Mac.mpkg</build><organization>com.druware.postgresqlformac</organization><userSees ui="both"/><min-target os="2"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><description>Installs a full PostgreSQL Database server environment on Mac OS X.</description><contents><choice title="Database Server" id="choice0" description="The core of the PostgreSQL for Mac deployment, this is the PostgreSQL Database engine, packaged and installed to the /Library/PostgreSQL location." starts_selected="true" starts_enabled="false" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql8.pkg"/><choice title="StartUp Item" id="choice1" starts_selected="true" starts_enabled="false" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql.pkg"/></choice><choice title="Server Applications" id="choice5" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.queryToolForPostgres.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.createDatabase.pkg"/><pkgref id="com.druware.postgresqlformac.postgresqlForMac.createUser.pkg"/></choice></choice><choice title="Database Access Toolkits" id="choice3" starts_selected="true" starts_enabled="true" starts_hidden="false"><choice title="Java (JDBC3)" id="choice6" description="Recommended JDBC Driver for Java 1.5." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.postgresql83603jdbc3.pkg"/></choice><choice title="PGSQLKit Framework" id="choice11" description="PGSQLKit Framework for development and deployment of linked applications " starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.druware.postgresqlformac.postgresqlForMac.pgsqlkit.pkg"/></choice></choice></contents><resources bg-scale="tofit" bg-align="bottomleft"><locale lang="en"><resource type="background">/Users/arsatori/Projects/PostgreSQL/svn/trunk/Installers/PostgreSQL/Resources/background.tif</resource><resource mime-type="text/rtf" kind="embedded" type="license"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf350 {\fonttbl\f0\fnil\fcharset0 Verdana;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural @@ -50,4 +50,4 @@ \b must \b0 shut down the running copy, and it is strongly recommended that you take a few moments to make a full backup of your databases before you upgrade.\cf0 \ \ -Thank you for choosing PostgreSQL.}]]></resource></locale></resources><flags/><item type="file">01postgresql.xml</item><item type="file">02postgresql.xml</item><item type="file">03service.xml</item><item type="file">04postgresql.xml</item><item type="file">05pgsqlkit.xml</item><item type="file">06clean.xml</item><item type="file">07query.xml</item><item type="file">08create.xml</item><item type="file">09create.xml</item><mod>properties.customizeOption</mod><mod>properties.title</mod><mod>description</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod></pkmkdoc> \ No newline at end of file +Thank you for choosing PostgreSQL.}]]></resource></locale></resources><flags/><item type="file">01postgresql.xml</item><item type="file">02postgresql.xml</item><item type="file">03postgresql.xml</item><item type="file">04pgsqlkit.xml</item><item type="file">05query.xml</item><item type="file">06create.xml</item><item type="file">07create.xml</item><mod>properties.customizeOption</mod><mod>properties.title</mod><mod>description</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod></pkmkdoc> \ No newline at end of file Modified: trunk/PGSQLKit/Info.plist =================================================================== --- trunk/PGSQLKit/Info.plist 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/PGSQLKit/Info.plist 2008-11-13 16:22:55 UTC (rev 216) @@ -19,7 +19,7 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>8.3.4</string> + <string>8.3.5</string> <key>NSPrincipalClass</key> <string></string> </dict> Modified: trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib =================================================================== --- trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib 2008-11-13 16:22:55 UTC (rev 216) @@ -642,10 +642,6 @@ <string key="NSClassName">NSImage</string> <string key="NSResourceName">lock_32</string> </object> - <object class="NSCustomResource" key="NSAlternateImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">ulock_32</string> - </object> <string key="NSAlternateContents"/> <string key="NSKeyEquivalent"/> <int key="NSPeriodicDelay">400</int> Modified: trunk/PreferencePane/PostgreSQL Server/Info.plist =================================================================== --- trunk/PreferencePane/PostgreSQL Server/Info.plist 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/PreferencePane/PostgreSQL Server/Info.plist 2008-11-13 16:22:55 UTC (rev 216) @@ -21,7 +21,7 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>1.0</string> + <string>8.3.5</string> <key>NSMainNibFile</key> <string>PostgreSQL_ServerPref</string> <key>NSPrefPaneIconFile</key> Modified: trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m =================================================================== --- trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m 2008-11-13 16:22:55 UTC (rev 216) @@ -24,8 +24,10 @@ thisBundle = [NSBundle bundleWithIdentifier:@"com.druware.postgresqlserverpreferences"]; isLocked = YES; + + [self onTimedUpdate:nil]; - [self performSelector:@selector(onTimedUpdate:) withObject:self afterDelay:0.1]; +// [self performSelector:@selector(onTimedUpdate:) withObject:self afterDelay:0.1]; } #pragma mark -- @@ -82,7 +84,6 @@ - (IBAction)toggleLock:(id)sender { - NSLog(@"got isLocked"); if (isLocked) { [self unlockPane]; @@ -98,7 +99,6 @@ return; } - #pragma mark -- #pragma mark Status Update Handlers Modified: trunk/StartupHelper/main.c =================================================================== --- trunk/StartupHelper/main.c 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/StartupHelper/main.c 2008-11-13 16:22:55 UTC (rev 216) @@ -2,6 +2,8 @@ #include <sys/types.h> #include <unistd.h> +#include <stdlib.h> +#include <string.h> int main (int argc, const char * argv[]) { // insert code here... Modified: trunk/StartupItem/.DS_Store =================================================================== --- trunk/StartupItem/.DS_Store 2008-11-13 15:26:24 UTC (rev 215) +++ trunk/StartupItem/.DS_Store 2008-11-13 16:22:55 UTC (rev 216) @@ -1,3 +1,5 @@ - |
From: <haw...@us...> - 2008-11-13 15:26:28
|
Revision: 215 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=215&view=rev Author: hawkmoon Date: 2008-11-13 15:26:24 +0000 (Thu, 13 Nov 2008) Log Message: ----------- 8.3.5 Release Modified Paths: -------------- trunk/QueryTool/Info.plist trunk/QueryTool/Query Tool for Postgres.xcodeproj/project.pbxproj Modified: trunk/QueryTool/Info.plist =================================================================== --- trunk/QueryTool/Info.plist 2008-11-12 02:50:10 UTC (rev 214) +++ trunk/QueryTool/Info.plist 2008-11-13 15:26:24 UTC (rev 215) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> @@ -42,7 +42,7 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>8.1</string> + <string>8.3.5</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/QueryTool/Query Tool for Postgres.xcodeproj/project.pbxproj =================================================================== --- trunk/QueryTool/Query Tool for Postgres.xcodeproj/project.pbxproj 2008-11-12 02:50:10 UTC (rev 214) +++ trunk/QueryTool/Query Tool for Postgres.xcodeproj/project.pbxproj 2008-11-13 15:26:24 UTC (rev 215) @@ -48,6 +48,7 @@ 438CC5540BADD1DF00C69C7C /* QueryDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 438CC5470BADD1DF00C69C7C /* QueryDataSource.m */; }; 438CC6150BADD3B600C69C7C /* Preferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = 438CC60F0BADD3B600C69C7C /* Preferences.nib */; }; 438CC61E0BADD40300C69C7C /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 438CC6180BADD40300C69C7C /* MainMenu.nib */; }; + 43B5F6400EC34EA400AE6451 /* pgCocoaDB.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 43B5F63F0EC34E9E00AE6451 /* pgCocoaDB.framework */; }; 43CC25B90BD6830400C21D32 /* pgCocoaDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43CC25AD0BD6830400C21D32 /* pgCocoaDB.framework */; }; 8D15AC290486D014006FF6A4 /* Query Tool for Postgres_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32DBCF750370BD2300C91783 /* Query Tool for Postgres_Prefix.pch */; }; 8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */; }; @@ -56,6 +57,16 @@ 8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 43B5F63E0EC34E9E00AE6451 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 43B5F6370EC34E9E00AE6451 /* pgCocoaDB.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8DC2EF5B0486A6940098B216; + remoteInfo = pgCocoaDB; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ 4327F0CC07CEBD3500AB5CFE /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; @@ -63,6 +74,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + 43B5F6400EC34EA400AE6451 /* pgCocoaDB.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -117,6 +129,7 @@ 438CC5470BADD1DF00C69C7C /* QueryDataSource.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = QueryDataSource.m; sourceTree = "<group>"; }; 438CC6100BADD3B600C69C7C /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Preferences.nib; sourceTree = "<group>"; }; 438CC6190BADD40300C69C7C /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; }; + 43B5F6370EC34E9E00AE6451 /* pgCocoaDB.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = pgCocoaDB.xcodeproj; path = ../pgCocoaDB/pgCocoaDB.xcodeproj; sourceTree = SOURCE_ROOT; }; 43CC25AD0BD6830400C21D32 /* pgCocoaDB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = pgCocoaDB.framework; path = /Library/Frameworks/pgCocoaDB.framework; sourceTree = "<absolute>"; }; 8D15AC360486D014006FF6A4 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 8D15AC370486D014006FF6A4 /* Query Tool for Postgres.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Query Tool for Postgres.app"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -164,6 +177,7 @@ 2A37F4AAFDCFA73011CA2CEA /* Query Tool for Postgres */ = { isa = PBXGroup; children = ( + 43B5F6370EC34E9E00AE6451 /* pgCocoaDB.xcodeproj */, 2A37F4ABFDCFA73011CA2CEA /* Classes */, 2A37F4AFFDCFA73011CA2CEA /* Other Sources */, 2A37F4B8FDCFA73011CA2CEA /* Resources */, @@ -249,6 +263,14 @@ name = Frameworks; sourceTree = "<group>"; }; + 43B5F6380EC34E9E00AE6451 /* Products */ = { + isa = PBXGroup; + children = ( + 43B5F63F0EC34E9E00AE6451 /* pgCocoaDB.framework */, + ); + name = Products; + sourceTree = "<group>"; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -302,6 +324,12 @@ hasScannedForEncodings = 1; mainGroup = 2A37F4AAFDCFA73011CA2CEA /* Query Tool for Postgres */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 43B5F6380EC34E9E00AE6451 /* Products */; + ProjectRef = 43B5F6370EC34E9E00AE6451 /* pgCocoaDB.xcodeproj */; + }, + ); projectRoot = ""; targets = ( 8D15AC270486D014006FF6A4 /* Query Tool for Postgres */, @@ -309,6 +337,16 @@ }; /* End PBXProject section */ +/* Begin PBXReferenceProxy section */ + 43B5F63F0EC34E9E00AE6451 /* pgCocoaDB.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = pgCocoaDB.framework; + remoteRef = 43B5F63E0EC34E9E00AE6451 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + /* Begin PBXResourcesBuildPhase section */ 8D15AC2B0486D014006FF6A4 /* Resources */ = { isa = PBXResourcesBuildPhase; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-11-12 02:50:15
|
Revision: 214 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=214&view=rev Author: hawkmoon Date: 2008-11-12 02:50:10 +0000 (Wed, 12 Nov 2008) Log Message: ----------- Completed switchover to lock based authentication, stubbed in code for auto-start and data/log directory changes. Modified Paths: -------------- trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m Added Paths: ----------- trunk/PreferencePane/PostgreSQL Server/CHANGELOG Added: trunk/PreferencePane/PostgreSQL Server/CHANGELOG =================================================================== --- trunk/PreferencePane/PostgreSQL Server/CHANGELOG (rev 0) +++ trunk/PreferencePane/PostgreSQL Server/CHANGELOG 2008-11-12 02:50:10 UTC (rev 214) @@ -0,0 +1,3 @@ +11.10.2008 + - completed transition from command based security to lock based security. + - disabled parts of the panel that are not yet ready for usage. \ No newline at end of file Modified: trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib =================================================================== --- trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib 2008-11-06 22:14:53 UTC (rev 213) +++ trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib 2008-11-12 02:50:10 UTC (rev 214) @@ -8,7 +8,7 @@ <string key="IBDocument.HIToolboxVersion">352.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="6"/> + <integer value="12"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -344,7 +344,7 @@ <object class="NSTextField" id="582898452"> <reference key="NSNextResponder" ref="1037298196"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{57, 26}, {205, 17}}</string> + <string key="NSFrame">{{53, 26}, {205, 17}}</string> <reference key="NSSuperview" ref="1037298196"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="912924051"> @@ -364,7 +364,7 @@ <reference key="NSSuperview" ref="1037298196"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="520371744"> - <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags">604110336</int> <int key="NSCellFlags2">134217728</int> <string key="NSContents"/> <reference key="NSSupport" ref="834305099"/> @@ -426,7 +426,7 @@ <reference key="NSSuperview" ref="524366641"/> <bool key="NSEnabled">YES</bool> <object class="NSImageCell" key="NSCell" id="748496408"> - <int key="NSCellFlags">130560</int> + <int key="NSCellFlags">537001472</int> <int key="NSCellFlags2">33554432</int> <object class="NSCustomResource" key="NSContents"> <string key="NSClassName">NSImage</string> @@ -458,7 +458,7 @@ <reference key="NSSuperview" ref="524366641"/> <bool key="NSEnabled">YES</bool> <object class="NSImageCell" key="NSCell" id="586411677"> - <int key="NSCellFlags">130560</int> + <int key="NSCellFlags">537001472</int> <int key="NSCellFlags2">33554432</int> <object class="NSCustomResource" key="NSContents"> <string key="NSClassName">NSImage</string> @@ -490,7 +490,7 @@ <reference key="NSSuperview" ref="524366641"/> <bool key="NSEnabled">YES</bool> <object class="NSImageCell" key="NSCell" id="1020196943"> - <int key="NSCellFlags">130560</int> + <int key="NSCellFlags">537001472</int> <int key="NSCellFlags2">33554432</int> <object class="NSCustomResource" key="NSContents"> <string key="NSClassName">NSImage</string> @@ -570,7 +570,7 @@ <reference key="NSSuperview" ref="524366641"/> <bool key="NSEnabled">YES</bool> <object class="NSImageCell" key="NSCell" id="456356155"> - <int key="NSCellFlags">130560</int> + <int key="NSCellFlags">537001472</int> <int key="NSCellFlags2">33554432</int> <object class="NSCustomResource" key="NSContents"> <string key="NSClassName">NSImage</string> @@ -624,37 +624,33 @@ <int key="NSTitlePosition">2</int> <bool key="NSTransparent">NO</bool> </object> - <object class="NSImageView" id="773331922"> + <object class="NSButton" id="832480426"> <reference key="NSNextResponder" ref="1037298196"/> <int key="NSvFlags">268</int> - <object class="NSMutableSet" key="NSDragTypes"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="set.sortedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>Apple PDF pasteboard type</string> - <string>Apple PICT pasteboard type</string> - <string>Apple PNG pasteboard type</string> - <string>NSFilenamesPboardType</string> - <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string> - <string>NeXT TIFF v4.0 pasteboard type</string> - </object> - </object> - <string key="NSFrame">{{20, 20}, {32, 32}}</string> + <string key="NSFrame">{{18, 17}, {32, 32}}</string> <reference key="NSSuperview" ref="1037298196"/> <bool key="NSEnabled">YES</bool> - <object class="NSImageCell" key="NSCell" id="762926357"> - <int key="NSCellFlags">130560</int> - <int key="NSCellFlags2">33554432</int> - <object class="NSCustomResource" key="NSContents"> + <object class="NSButtonCell" key="NSCell" id="724626920"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="834305099"/> + <reference key="NSControlView" ref="832480426"/> + <int key="NSButtonFlags">1211912447</int> + <int key="NSButtonFlags2">130</int> + <object class="NSCustomResource" key="NSNormalImage"> <string key="NSClassName">NSImage</string> <string key="NSResourceName">lock_32</string> </object> - <int key="NSAlign">0</int> - <int key="NSScale">0</int> - <int key="NSStyle">0</int> - <bool key="NSAnimates">NO</bool> + <object class="NSCustomResource" key="NSAlternateImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">ulock_32</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> </object> - <bool key="NSEditable">YES</bool> </object> </object> <string key="NSFrameSize">{661, 345}</string> @@ -743,14 +739,6 @@ </object> <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> - <string key="label">onRestartService:</string> - <reference key="source" ref="294453543"/> - <reference key="destination" ref="627609165"/> - </object> - <int key="connectionID">164</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> <string key="label">onStopService:</string> <reference key="source" ref="294453543"/> <reference key="destination" ref="39267976"/> @@ -763,8 +751,24 @@ <reference key="source" ref="294453543"/> <reference key="destination" ref="176611005"/> </object> - <int key="connectionID">166</int> + <int key="connectionID">173</int> </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">toggleLock:</string> + <reference key="source" ref="294453543"/> + <reference key="destination" ref="832480426"/> + </object> + <int key="connectionID">176</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">lockToggle</string> + <reference key="source" ref="294453543"/> + <reference key="destination" ref="832480426"/> + </object> + <int key="connectionID">177</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -816,10 +820,10 @@ <reference ref="140310987"/> <reference ref="341207287"/> <reference ref="627609165"/> + <reference ref="582898452"/> + <reference ref="832480426"/> <reference ref="328183076"/> - <reference ref="582898452"/> <reference ref="487703545"/> - <reference ref="773331922"/> <reference ref="58562495"/> </object> <reference key="parent" ref="660800786"/> @@ -1164,18 +1168,18 @@ <reference key="parent" ref="732046822"/> </object> <object class="IBObjectRecord"> - <int key="objectID">160</int> - <reference key="object" ref="773331922"/> + <int key="objectID">174</int> + <reference key="object" ref="832480426"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="762926357"/> + <reference ref="724626920"/> </object> <reference key="parent" ref="1037298196"/> </object> <object class="IBObjectRecord"> - <int key="objectID">161</int> - <reference key="object" ref="762926357"/> - <reference key="parent" ref="773331922"/> + <int key="objectID">175</int> + <reference key="object" ref="724626920"/> + <reference key="parent" ref="832480426"/> </object> </object> </object> @@ -1241,8 +1245,8 @@ <string>157.IBPluginDependency</string> <string>158.IBPluginDependency</string> <string>159.IBPluginDependency</string> - <string>160.IBPluginDependency</string> - <string>161.IBPluginDependency</string> + <string>174.IBPluginDependency</string> + <string>175.IBPluginDependency</string> <string>6.IBPluginDependency</string> <string>6.ImportedFromIB2</string> </object> @@ -1274,9 +1278,9 @@ <reference ref="9"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <string>{{561, 541}, {661, 345}}</string> + <string>{{4, 459}, {661, 345}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{561, 541}, {661, 345}}</string> + <string>{{4, 459}, {661, 345}}</string> <reference ref="9"/> <reference ref="9"/> <string>{3.40282e+38, 3.40282e+38}</string> @@ -1332,7 +1336,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">166</int> + <int key="maxID">179</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -1382,6 +1386,7 @@ <string>onStartService:</string> <string>onStopService:</string> <string>onTimedUpdate:</string> + <string>toggleLock:</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -1390,6 +1395,7 @@ <string>id</string> <string>id</string> <string>id</string> + <string>id</string> </object> </object> <object class="NSMutableDictionary" key="outlets"> @@ -1398,6 +1404,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <string>addServer</string> <string>autostartOption</string> + <string>lockToggle</string> <string>progress</string> <string>refresh</string> <string>restartService</string> @@ -1418,6 +1425,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <string>NSButton</string> <string>NSButton</string> + <string>NSButton</string> <string>NSProgressIndicator</string> <string>NSButton</string> <string>NSButton</string> Modified: trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj =================================================================== --- trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj 2008-11-06 22:14:53 UTC (rev 213) +++ trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj 2008-11-12 02:50:10 UTC (rev 214) @@ -25,6 +25,7 @@ 434CF8B10E4CAC130040ED14 /* data-folder.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8B00E4CAC130040ED14 /* data-folder.png */; }; 434CF8B30E4CAC570040ED14 /* security_32.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8B20E4CAC570040ED14 /* security_32.png */; }; 434CF8B50E4CAC890040ED14 /* prefs_32.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8B40E4CAC890040ED14 /* prefs_32.png */; }; + 43AFFB260ECA7AE500FF139F /* CHANGELOG in Resources */ = {isa = PBXBuildFile; fileRef = 43AFFB250ECA7AE500FF139F /* CHANGELOG */; }; 43B1AB790EC1E204002D4317 /* StartupHelper in Resources */ = {isa = PBXBuildFile; fileRef = 43B1AB5E0EC13A66002D4317 /* StartupHelper */; }; 43B5F6890EC354EB00AE6451 /* PostgreSQLPrefPane.icns in Resources */ = {isa = PBXBuildFile; fileRef = 43B5F6880EC354EB00AE6451 /* PostgreSQLPrefPane.icns */; }; 43B5F6B20EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 43B5F6B10EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff */; }; @@ -79,6 +80,7 @@ 434CF8B00E4CAC130040ED14 /* data-folder.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "data-folder.png"; sourceTree = "<group>"; }; 434CF8B20E4CAC570040ED14 /* security_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_32.png; sourceTree = "<group>"; }; 434CF8B40E4CAC890040ED14 /* prefs_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = prefs_32.png; sourceTree = "<group>"; }; + 43AFFB250ECA7AE500FF139F /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = "<group>"; }; 43B1AB590EC13A66002D4317 /* StartupHelper.xcode */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = StartupHelper.xcode; path = ../../StartupHelper/StartupHelper.xcode; sourceTree = SOURCE_ROOT; }; 43B5F6880EC354EB00AE6451 /* PostgreSQLPrefPane.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = PostgreSQLPrefPane.icns; path = ../../../../../../Desktop/PostgreSQLPrefPane.icns; sourceTree = SOURCE_ROOT; }; 43B5F6B10EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = PostgreSQL_ServerPref.tiff; sourceTree = "<group>"; }; @@ -107,6 +109,7 @@ 089C166AFE841209C02AAC07 /* PostgreSQL Server */ = { isa = PBXGroup; children = ( + 43AFFB250ECA7AE500FF139F /* CHANGELOG */, 08FB77AFFE84173DC02AAC07 /* Classes */, 32DBCFA10370C40200C91783 /* Other Sources */, 089C167CFE841241C02AAC07 /* Resources */, @@ -250,6 +253,9 @@ /* Begin PBXProject section */ 089C1669FE841209C02AAC07 /* Project object */ = { isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + }; buildConfigurationList = 1DBD214C08BA80EA00186707 /* Build configuration list for PBXProject "PostgreSQL Server" */; compatibilityVersion = "Xcode 3.1"; hasScannedForEncodings = 1; @@ -303,6 +309,7 @@ 434CF8B50E4CAC890040ED14 /* prefs_32.png in Resources */, 43B5F6890EC354EB00AE6451 /* PostgreSQLPrefPane.icns in Resources */, 43B5F6B20EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff in Resources */, + 43AFFB260ECA7AE500FF139F /* CHANGELOG in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h =================================================================== --- trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h 2008-11-06 22:14:53 UTC (rev 213) +++ trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h 2008-11-12 02:50:10 UTC (rev 214) @@ -32,20 +32,27 @@ IBOutlet NSTextField *stopServiceLabel; IBOutlet NSWindow *window; IBOutlet NSProgressIndicator *working; + IBOutlet NSButton *lockToggle; NSBundle *thisBundle; + AuthorizationFlags myFlags; AuthorizationRef myAuthorizationRef; - NSString *command; NSString *operation; + BOOL isLocked; + double updateInterval; } - (void) mainViewDidLoad; +- (BOOL)unlockPane; +- (BOOL)lockPane; +- (IBAction)toggleLock:(id)sender; + - (BOOL)checkPostmasterStatus; - (void)updateButtonStatus:(BOOL)isRunning; Modified: trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m =================================================================== --- trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m 2008-11-06 22:14:53 UTC (rev 213) +++ trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m 2008-11-12 02:50:10 UTC (rev 214) @@ -23,10 +23,83 @@ updateInterval = 0.5; thisBundle = [NSBundle bundleWithIdentifier:@"com.druware.postgresqlserverpreferences"]; + isLocked = YES; + [self performSelector:@selector(onTimedUpdate:) withObject:self afterDelay:0.1]; } #pragma mark -- +#pragma mark Lock Management Handlers + +- (BOOL)unlockPane +{ + OSStatus myStatus; + myFlags = kAuthorizationFlagDefaults; + + NSString *pathToHelper = [thisBundle pathForResource:@"StartupHelper" ofType:nil]; + + // myAuthorizationItem.AuthorizationString = "@ + myStatus = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, + myFlags, &myAuthorizationRef); + if (myStatus != errAuthorizationSuccess) + return NO; + + AuthorizationItem myItems = {kAuthorizationRightExecute, [pathToHelper length], (char *)[pathToHelper cString], 0}; + AuthorizationRights myRights = {1, &myItems}; + + myFlags = kAuthorizationFlagDefaults | + kAuthorizationFlagInteractionAllowed | + kAuthorizationFlagPreAuthorize | + kAuthorizationFlagExtendRights; + + + // this pops the dialog. If the above AuthItemRIghts includes more than one item, then it will auth all or none. + myStatus = AuthorizationCopyRights (myAuthorizationRef, &myRights, + kAuthorizationEmptyEnvironment, myFlags, NULL ); // this pops the dialog + + if (myStatus == errAuthorizationSuccess) + { + isLocked = NO; + return YES; + } + + + isLocked = YES; + return NO; +} + +- (BOOL)lockPane +{ + if (!isLocked) + { + AuthorizationFree (myAuthorizationRef, kAuthorizationFlagDefaults); + isLocked = YES; + return YES; + } + + return NO; +} + +- (IBAction)toggleLock:(id)sender +{ + NSLog(@"got isLocked"); + if (isLocked) + { + [self unlockPane]; + } else { + [self lockPane]; + } + + if (isLocked) + { + [lockToggle setState:NSOffState]; + } + + return; +} + + +#pragma mark -- #pragma mark Status Update Handlers - (void)updateButtonStatus:(BOOL)isRunning @@ -92,6 +165,17 @@ - (IBAction)onRestartService:(id)sender { + // if locked, need to unlock before calling exec + if (isLocked) + { + [self toggleLock:sender]; + } + + if (isLocked) + { + return; + } + if (command != nil) { [command release]; @@ -106,13 +190,24 @@ } operation = [[NSString alloc] initWithString:@"restart"]; - [NSThread detachNewThreadSelector:@selector(execWithRights) toTarget:self withObject:operation]; + [NSThread detachNewThreadSelector:@selector(execStartupWithRights) toTarget:self withObject:operation]; return; } - (IBAction)onStartService:(id)sender { + // if locked, need to unlock before calling exec + if (isLocked) + { + [self toggleLock:sender]; + } + + if (isLocked) + { + return; + } + if (command != nil) { [command release]; @@ -127,12 +222,23 @@ } operation = [[NSString alloc] initWithString:@"start"]; - [NSThread detachNewThreadSelector:@selector(execWithRights) toTarget:self withObject:operation]; + [NSThread detachNewThreadSelector:@selector(execStartupWithRights) toTarget:self withObject:operation]; return; } - (IBAction)onStopService:(id)sender { + // if locked, need to unlock before calling exec + if (isLocked) + { + [self toggleLock:sender]; + } + + if (isLocked) + { + return; + } + if (command != nil) { [command release]; @@ -149,75 +255,44 @@ [working startAnimation:sender]; - [NSThread detachNewThreadSelector:@selector(execWithRights) toTarget:self withObject:operation]; + [NSThread detachNewThreadSelector:@selector(execStartupWithRights) toTarget:self withObject:operation]; return; } -- (void)execWithRights +- (void)execStartupWithRights { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; OSStatus myStatus; - AuthorizationFlags myFlags = kAuthorizationFlagDefaults; + + NSString *pathToHelper = [thisBundle pathForResource:@"StartupHelper" ofType:nil]; + + const char *myToolPath = [pathToHelper cString]; + char *myArguments[4]; - NSString *pathToHelper = [thisBundle pathForResource:@"StartupHelper" ofType:nil]; + myArguments[0] = (char *)[command cString]; + myArguments[1] = (char *)[operation cString]; + myArguments[2] = "MANUAL"; + myArguments[3] = NULL; - // myAuthorizationItem.AuthorizationString = "@ - myStatus = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, - myFlags, &myAuthorizationRef); - if (myStatus != errAuthorizationSuccess) - return; + FILE *myCommunicationsPipe = NULL; - do - { - AuthorizationItem myItems = {kAuthorizationRightExecute, [pathToHelper length], (char *)[pathToHelper cString], 0}; - AuthorizationRights myRights = {1, &myItems}; - - myFlags = kAuthorizationFlagDefaults | - kAuthorizationFlagInteractionAllowed | - kAuthorizationFlagPreAuthorize | - kAuthorizationFlagExtendRights; - - - // this pops the dialog. If the above AuthItemRIghts includes more than one item, then it will auth all or none. - myStatus = AuthorizationCopyRights (myAuthorizationRef, &myRights, - kAuthorizationEmptyEnvironment, myFlags, NULL ); // this pops the dialog - - if (myStatus == errAuthorizationSuccess) + myFlags = kAuthorizationFlagDefaults; + myStatus = AuthorizationExecuteWithPrivileges(myAuthorizationRef, + myToolPath, myFlags, myArguments, &myCommunicationsPipe); + + if (myStatus == errAuthorizationSuccess) + for(;;) { - const char *myToolPath = [pathToHelper cString]; - char *myArguments[4]; - myArguments[0] = (char *)[command cString]; - myArguments[1] = (char *)[operation cString]; - myArguments[2] = "MANUAL"; - myArguments[3] = NULL; + char myReadBuffer[4096]; - FILE *myCommunicationsPipe = NULL; - - myFlags = kAuthorizationFlagDefaults; - myStatus = AuthorizationExecuteWithPrivileges(myAuthorizationRef, - myToolPath, myFlags, myArguments, &myCommunicationsPipe); - - if (myStatus == errAuthorizationSuccess) - for(;;) - { - - char myReadBuffer[4096]; - - int bytesRead = read(fileno(myCommunicationsPipe), - myReadBuffer, sizeof(myReadBuffer)); - if (bytesRead < 1) break; - } - - } - } while (0); + int bytesRead = read(fileno(myCommunicationsPipe), + myReadBuffer, sizeof(myReadBuffer)); + if (bytesRead < 1) break; + } - AuthorizationFree (myAuthorizationRef, kAuthorizationFlagDefaults); - - if (myStatus) NSLog(@"Status: %i\n", myStatus); - // update the buttons [working stopAnimation:nil]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-11-06 22:14:56
|
Revision: 213 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=213&view=rev Author: hawkmoon Date: 2008-11-06 22:14:53 +0000 (Thu, 06 Nov 2008) Log Message: ----------- Modified Paths: -------------- trunk/StartupItem/PostgreSQL/PostgreSQL Modified: trunk/StartupItem/PostgreSQL/PostgreSQL =================================================================== --- trunk/StartupItem/PostgreSQL/PostgreSQL 2008-11-06 22:11:51 UTC (rev 212) +++ trunk/StartupItem/PostgreSQL/PostgreSQL 2008-11-06 22:14:53 UTC (rev 213) @@ -9,6 +9,11 @@ # History # ------- # +# 2008-11-06 Andy Satori <dr...@dr...> +# Refactored DATA_PATH and LOG_FILE our to variables to make them +# easier to maintain and adjust from the GUI Preference Pane and +# associated tools. +# # 2007-04-02 Andy Satori <dr...@dr...> # Added manual-restart manual-start options for use with the # startup manager and allow the user to use hostconfig properly. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-11-06 22:11:57
|
Revision: 212 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=212&view=rev Author: hawkmoon Date: 2008-11-06 22:11:51 +0000 (Thu, 06 Nov 2008) Log Message: ----------- Enabled Service Manager code, still need to migrate the settings code from the testbeds to the Preference Pane Modified Paths: -------------- trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib trunk/PreferencePane/PostgreSQL Server/Info.plist trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.tiff Modified: trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib =================================================================== --- trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib 2008-11-06 17:12:59 UTC (rev 211) +++ trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib 2008-11-06 22:11:51 UTC (rev 212) @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> <data> - <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9E17</string> - <string key="IBDocument.InterfaceBuilderVersion">670</string> - <string key="IBDocument.AppKitVersion">949.33</string> + <int key="IBDocument.SystemTarget">1040</int> + <string key="IBDocument.SystemVersion">9F33</string> + <string key="IBDocument.InterfaceBuilderVersion">672</string> + <string key="IBDocument.AppKitVersion">949.34</string> <string key="IBDocument.HIToolboxVersion">352.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -741,6 +741,30 @@ </object> <int key="connectionID">163</int> </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">onRestartService:</string> + <reference key="source" ref="294453543"/> + <reference key="destination" ref="627609165"/> + </object> + <int key="connectionID">164</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">onStopService:</string> + <reference key="source" ref="294453543"/> + <reference key="destination" ref="39267976"/> + </object> + <int key="connectionID">165</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">onRestartService:</string> + <reference key="source" ref="294453543"/> + <reference key="destination" ref="176611005"/> + </object> + <int key="connectionID">166</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -1250,9 +1274,9 @@ <reference ref="9"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <string>{{4, 527}, {661, 345}}</string> + <string>{{561, 541}, {661, 345}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{4, 527}, {661, 345}}</string> + <string>{{561, 541}, {661, 345}}</string> <reference ref="9"/> <reference ref="9"/> <string>{3.40282e+38, 3.40282e+38}</string> @@ -1308,7 +1332,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">163</int> + <int key="maxID">166</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -1354,12 +1378,18 @@ <object class="NSMutableArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>launchNetworkConfiguration:</string> + <string>onRestartService:</string> <string>onStartService:</string> + <string>onStopService:</string> + <string>onTimedUpdate:</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> <string>id</string> <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> </object> </object> <object class="NSMutableDictionary" key="outlets"> Modified: trunk/PreferencePane/PostgreSQL Server/Info.plist =================================================================== --- trunk/PreferencePane/PostgreSQL Server/Info.plist 2008-11-06 17:12:59 UTC (rev 211) +++ trunk/PreferencePane/PostgreSQL Server/Info.plist 2008-11-06 22:11:51 UTC (rev 212) @@ -7,7 +7,7 @@ <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> <key>CFBundleIconFile</key> - <string></string> + <string>PostgreSQLPrefPane</string> <key>CFBundleIdentifier</key> <string>com.druware.postgresqlserverpreferences</string> <key>CFBundleInfoDictionaryVersion</key> Modified: trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj =================================================================== --- trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj 2008-11-06 17:12:59 UTC (rev 211) +++ trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj 2008-11-06 22:11:51 UTC (rev 212) @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ 434CF81A0E4C88500040ED14 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 434CF8190E4C88500040ED14 /* Security.framework */; }; - 434CF8630E4C988C0040ED14 /* StartupHelper in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8620E4C988C0040ED14 /* StartupHelper */; }; 434CF86F0E4C99F50040ED14 /* restart.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8670E4C99F50040ED14 /* restart.png */; }; 434CF8700E4C99F50040ED14 /* start.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8680E4C99F50040ED14 /* start.png */; }; 434CF8710E4C99F50040ED14 /* stop.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8690E4C99F50040ED14 /* stop.png */; }; @@ -26,16 +25,35 @@ 434CF8B10E4CAC130040ED14 /* data-folder.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8B00E4CAC130040ED14 /* data-folder.png */; }; 434CF8B30E4CAC570040ED14 /* security_32.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8B20E4CAC570040ED14 /* security_32.png */; }; 434CF8B50E4CAC890040ED14 /* prefs_32.png in Resources */ = {isa = PBXBuildFile; fileRef = 434CF8B40E4CAC890040ED14 /* prefs_32.png */; }; + 43B1AB790EC1E204002D4317 /* StartupHelper in Resources */ = {isa = PBXBuildFile; fileRef = 43B1AB5E0EC13A66002D4317 /* StartupHelper */; }; + 43B5F6890EC354EB00AE6451 /* PostgreSQLPrefPane.icns in Resources */ = {isa = PBXBuildFile; fileRef = 43B5F6880EC354EB00AE6451 /* PostgreSQLPrefPane.icns */; }; + 43B5F6B20EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 43B5F6B10EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff */; }; 8D202CEA0486D31800D8A456 /* PostgreSQL Server_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32DBCFA20370C41700C91783 /* PostgreSQL Server_Prefix.pch */; }; 8D202CEB0486D31800D8A456 /* PostgreSQL_ServerPref.h in Headers */ = {isa = PBXBuildFile; fileRef = F506C03C013D9D7901CA16C8 /* PostgreSQL_ServerPref.h */; }; 8D202CED0486D31800D8A456 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; - 8D202CEE0486D31800D8A456 /* PostgreSQL_ServerPref.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F506C040013D9D8001CA16C8 /* PostgreSQL_ServerPref.tiff */; }; 8D202CEF0486D31800D8A456 /* PostgreSQL_ServerPref.xib in Resources */ = {isa = PBXBuildFile; fileRef = F506C042013D9D8C01CA16C8 /* PostgreSQL_ServerPref.xib */; }; 8D202CF10486D31800D8A456 /* PostgreSQL_ServerPref.m in Sources */ = {isa = PBXBuildFile; fileRef = F506C03D013D9D7901CA16C8 /* PostgreSQL_ServerPref.m */; }; 8D202CF30486D31800D8A456 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 8D202CF40486D31800D8A456 /* PreferencePanes.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F506C035013D953901CA16C8 /* PreferencePanes.framework */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 43B1AB5D0EC13A66002D4317 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 43B1AB590EC13A66002D4317 /* StartupHelper.xcode */; + proxyType = 2; + remoteGlobalIDString = 8DD76FB20486AB0100D96B5E; + remoteInfo = StartupHelper; + }; + 43B1AB730EC13A9E002D4317 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 43B1AB590EC13A66002D4317 /* StartupHelper.xcode */; + proxyType = 1; + remoteGlobalIDString = 8DD76FA90486AB0100D96B5E; + remoteInfo = StartupHelper; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXFileReference section */ 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; @@ -43,7 +61,7 @@ 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; 32DBCFA20370C41700C91783 /* PostgreSQL Server_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PostgreSQL Server_Prefix.pch"; sourceTree = "<group>"; }; 434CF8190E4C88500040ED14 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 434CF8620E4C988C0040ED14 /* StartupHelper */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = StartupHelper; path = ../../svn/trunk/StartupHelper/build/Deployment/StartupHelper; sourceTree = SOURCE_ROOT; }; + 434CF8620E4C988C0040ED14 /* Deployment */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Deployment; path = ../../StartupHelper/build/Deployment; sourceTree = SOURCE_ROOT; }; 434CF8670E4C99F50040ED14 /* restart.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = restart.png; sourceTree = "<group>"; }; 434CF8680E4C99F50040ED14 /* start.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = start.png; sourceTree = "<group>"; }; 434CF8690E4C99F50040ED14 /* stop.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = stop.png; sourceTree = "<group>"; }; @@ -61,12 +79,14 @@ 434CF8B00E4CAC130040ED14 /* data-folder.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "data-folder.png"; sourceTree = "<group>"; }; 434CF8B20E4CAC570040ED14 /* security_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_32.png; sourceTree = "<group>"; }; 434CF8B40E4CAC890040ED14 /* prefs_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = prefs_32.png; sourceTree = "<group>"; }; + 43B1AB590EC13A66002D4317 /* StartupHelper.xcode */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = StartupHelper.xcode; path = ../../StartupHelper/StartupHelper.xcode; sourceTree = SOURCE_ROOT; }; + 43B5F6880EC354EB00AE6451 /* PostgreSQLPrefPane.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = PostgreSQLPrefPane.icns; path = ../../../../../../Desktop/PostgreSQLPrefPane.icns; sourceTree = SOURCE_ROOT; }; + 43B5F6B10EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = PostgreSQL_ServerPref.tiff; sourceTree = "<group>"; }; 8D202CF70486D31800D8A456 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 8D202CF80486D31800D8A456 /* PostgreSQL Server.prefPane */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PostgreSQL Server.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 /* PostgreSQL_ServerPref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PostgreSQL_ServerPref.h; sourceTree = "<group>"; }; F506C03D013D9D7901CA16C8 /* PostgreSQL_ServerPref.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PostgreSQL_ServerPref.m; sourceTree = "<group>"; }; - F506C040013D9D8001CA16C8 /* PostgreSQL_ServerPref.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = PostgreSQL_ServerPref.tiff; sourceTree = "<group>"; }; F506C043013D9D8C01CA16C8 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/PostgreSQL_ServerPref.xib; sourceTree = "<group>"; }; /* End PBXFileReference section */ @@ -92,6 +112,7 @@ 089C167CFE841241C02AAC07 /* Resources */, 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 19C28FB8FE9D52D311CA2CBB /* Products */, + 43B1AB590EC13A66002D4317 /* StartupHelper.xcode */, ); name = "PostgreSQL Server"; sourceTree = "<group>"; @@ -108,6 +129,8 @@ 089C167CFE841241C02AAC07 /* Resources */ = { isa = PBXGroup; children = ( + 43B5F6B10EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff */, + 43B5F6880EC354EB00AE6451 /* PostgreSQLPrefPane.icns */, 434CF8B40E4CAC890040ED14 /* prefs_32.png */, 434CF8B20E4CAC570040ED14 /* security_32.png */, 434CF8B00E4CAC130040ED14 /* data-folder.png */, @@ -123,10 +146,9 @@ 434CF86C0E4C99F50040ED14 /* xserve-running.png */, 434CF86D0E4C99F50040ED14 /* xserve-stopped.png */, 434CF86E0E4C99F50040ED14 /* xserve-unknown.png */, - 434CF8620E4C988C0040ED14 /* StartupHelper */, + 434CF8620E4C988C0040ED14 /* Deployment */, 8D202CF70486D31800D8A456 /* Info.plist */, 089C167DFE841241C02AAC07 /* InfoPlist.strings */, - F506C040013D9D8001CA16C8 /* PostgreSQL_ServerPref.tiff */, F506C042013D9D8C01CA16C8 /* PostgreSQL_ServerPref.xib */, ); name = Resources; @@ -178,6 +200,14 @@ name = "Other Sources"; sourceTree = "<group>"; }; + 43B1AB5A0EC13A66002D4317 /* Products */ = { + isa = PBXGroup; + children = ( + 43B1AB5E0EC13A66002D4317 /* StartupHelper */, + ); + name = Products; + sourceTree = "<group>"; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -207,6 +237,7 @@ buildRules = ( ); dependencies = ( + 43B1AB740EC13A9E002D4317 /* PBXTargetDependency */, ); name = "PostgreSQL Server"; productInstallPath = "$(HOME)/Library/PreferencePanes"; @@ -224,6 +255,12 @@ hasScannedForEncodings = 1; mainGroup = 089C166AFE841209C02AAC07 /* PostgreSQL Server */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 43B1AB5A0EC13A66002D4317 /* Products */; + ProjectRef = 43B1AB590EC13A66002D4317 /* StartupHelper.xcode */; + }, + ); projectRoot = ""; targets = ( 8D202CE80486D31800D8A456 /* PostgreSQL Server */, @@ -231,15 +268,24 @@ }; /* End PBXProject section */ +/* Begin PBXReferenceProxy section */ + 43B1AB5E0EC13A66002D4317 /* StartupHelper */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = StartupHelper; + remoteRef = 43B1AB5D0EC13A66002D4317 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + /* Begin PBXResourcesBuildPhase section */ 8D202CEC0486D31800D8A456 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 43B1AB790EC1E204002D4317 /* StartupHelper in Resources */, 8D202CED0486D31800D8A456 /* InfoPlist.strings in Resources */, - 8D202CEE0486D31800D8A456 /* PostgreSQL_ServerPref.tiff in Resources */, 8D202CEF0486D31800D8A456 /* PostgreSQL_ServerPref.xib in Resources */, - 434CF8630E4C988C0040ED14 /* StartupHelper in Resources */, 434CF86F0E4C99F50040ED14 /* restart.png in Resources */, 434CF8700E4C99F50040ED14 /* start.png in Resources */, 434CF8710E4C99F50040ED14 /* stop.png in Resources */, @@ -255,6 +301,8 @@ 434CF8B10E4CAC130040ED14 /* data-folder.png in Resources */, 434CF8B30E4CAC570040ED14 /* security_32.png in Resources */, 434CF8B50E4CAC890040ED14 /* prefs_32.png in Resources */, + 43B5F6890EC354EB00AE6451 /* PostgreSQLPrefPane.icns in Resources */, + 43B5F6B20EC355CA00AE6451 /* PostgreSQL_ServerPref.tiff in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -282,6 +330,14 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 43B1AB740EC13A9E002D4317 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StartupHelper; + targetProxy = 43B1AB730EC13A9E002D4317 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { isa = PBXVariantGroup; @@ -343,7 +399,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.4; }; name = Debug; }; @@ -355,7 +411,7 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx10.4; }; name = Release; }; Modified: trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h =================================================================== --- trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h 2008-11-06 17:12:59 UTC (rev 211) +++ trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h 2008-11-06 22:11:51 UTC (rev 212) @@ -7,7 +7,10 @@ // #import <PreferencePanes/PreferencePanes.h> +#import <Cocoa/Cocoa.h> +#include <Security/Authorization.h> +#include <Security/AuthorizationTags.h> @interface PostgreSQL_ServerPref : NSPreferencePane { @@ -30,8 +33,15 @@ IBOutlet NSWindow *window; IBOutlet NSProgressIndicator *working; + NSBundle *thisBundle; + + AuthorizationRef myAuthorizationRef; + + NSString *command; NSString *operation; + + double updateInterval; } - (void) mainViewDidLoad; @@ -39,7 +49,11 @@ - (BOOL)checkPostmasterStatus; - (void)updateButtonStatus:(BOOL)isRunning; +- (IBAction)onTimedUpdate:(id)sender; + +- (IBAction)onRestartService:(id)sender; - (IBAction)onStartService:(id)sender; +- (IBAction)onStopService:(id)sender; - (IBAction)launchNetworkConfiguration:(id)sender; Modified: trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m =================================================================== --- trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m 2008-11-06 17:12:59 UTC (rev 211) +++ trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m 2008-11-06 22:11:51 UTC (rev 212) @@ -9,21 +9,28 @@ #import "PostgreSQL_ServerPref.h" #import "AGProcess.h" -#include <Security/Authorization.h> -#include <Security/AuthorizationTags.h> +#include <sys/types.h> +#include <sys/uio.h> +#include <unistd.h> + + @implementation PostgreSQL_ServerPref - (void) mainViewDidLoad { // Check the current Status and change to display accordingly. - [self updateButtonStatus:[self checkPostmasterStatus]]; + updateInterval = 0.5; + thisBundle = [NSBundle bundleWithIdentifier:@"com.druware.postgresqlserverpreferences"]; + + [self performSelector:@selector(onTimedUpdate:) withObject:self afterDelay:0.1]; } +#pragma mark -- +#pragma mark Status Update Handlers + - (void)updateButtonStatus:(BOOL)isRunning { - NSBundle *bundleApp = [NSBundle bundleWithIdentifier:@"com.druware.postgresqlserverpreferences"]; - [startService setEnabled:(!isRunning)]; [startServiceLabel setEnabled:(!isRunning)]; @@ -36,14 +43,14 @@ if (isRunning) { // set the image to running - NSString *imagePath = [bundleApp pathForResource:@"xserve-running" ofType:@"png"]; + NSString *imagePath = [thisBundle pathForResource:@"xserve-running" ofType:@"png"]; NSImage *image = [[NSImage alloc] initWithContentsOfFile:imagePath]; [serviceImage setImage:image]; [status setStringValue:@"Current Status: Running"]; } else { // set the image to stopped - NSString *imagePath = [bundleApp pathForResource:@"xserve-stopped" ofType:@"png"]; + NSString *imagePath = [thisBundle pathForResource:@"xserve-stopped" ofType:@"png"]; NSImage *image = [[NSImage alloc] initWithContentsOfFile:imagePath]; [serviceImage setImage:image]; [status setStringValue:@"Current Status: Down"]; @@ -74,17 +81,87 @@ return NO; } +- (IBAction)onTimedUpdate:(id)sender +{ + [self updateButtonStatus:[self checkPostmasterStatus]]; + [self performSelector:@selector(onTimedUpdate:) withObject:self afterDelay:updateInterval]; +} +#pragma mark -- +#pragma mark Service Management Handlers + +- (IBAction)onRestartService:(id)sender +{ + if (command != nil) + { + [command release]; + command = nil; + } + command = [[NSString alloc] initWithString:@"/Library/StartupItems/PostgreSQL/PostgreSQL"]; + + if (operation != nil) + { + [operation release]; + operation = nil; + } + operation = [[NSString alloc] initWithString:@"restart"]; + + [NSThread detachNewThreadSelector:@selector(execWithRights) toTarget:self withObject:operation]; + + return; +} + +- (IBAction)onStartService:(id)sender +{ + if (command != nil) + { + [command release]; + command = nil; + } + command = [[NSString alloc] initWithString:@"/Library/StartupItems/PostgreSQL/PostgreSQL"]; + + if (operation != nil) + { + [operation release]; + operation = nil; + } + operation = [[NSString alloc] initWithString:@"start"]; + + [NSThread detachNewThreadSelector:@selector(execWithRights) toTarget:self withObject:operation]; + return; +} + +- (IBAction)onStopService:(id)sender +{ + if (command != nil) + { + [command release]; + command = nil; + } + command = [[NSString alloc] initWithString:@"/Library/StartupItems/PostgreSQL/PostgreSQL"]; + + if (operation != nil) + { + [operation release]; + operation = nil; + } + operation = [[NSString alloc] initWithString:@"stop"]; + + [working startAnimation:sender]; + + [NSThread detachNewThreadSelector:@selector(execWithRights) toTarget:self withObject:operation]; + + return; +} + - (void)execWithRights { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; OSStatus myStatus; AuthorizationFlags myFlags = kAuthorizationFlagDefaults; - AuthorizationRef myAuthorizationRef; - NSBundle *bundleApp = [NSBundle mainBundle]; - NSString *pathToHelper = [bundleApp pathForResource:@"StartupHelper" ofType:nil]; + NSString *pathToHelper = [thisBundle pathForResource:@"StartupHelper" ofType:nil]; // myAuthorizationItem.AuthorizationString = "@ myStatus = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, @@ -94,28 +171,30 @@ do { - AuthorizationItem myItems = {kAuthorizationRightExecute, [pathToHelper length], [pathToHelper cString], 0}; + AuthorizationItem myItems = {kAuthorizationRightExecute, [pathToHelper length], (char *)[pathToHelper cString], 0}; AuthorizationRights myRights = {1, &myItems}; myFlags = kAuthorizationFlagDefaults | kAuthorizationFlagInteractionAllowed | kAuthorizationFlagPreAuthorize | - kAuthorizationFlagExtendRights; + kAuthorizationFlagExtendRights; + + + // this pops the dialog. If the above AuthItemRIghts includes more than one item, then it will auth all or none. myStatus = AuthorizationCopyRights (myAuthorizationRef, &myRights, - kAuthorizationEmptyEnvironment, myFlags, NULL ); + kAuthorizationEmptyEnvironment, myFlags, NULL ); // this pops the dialog if (myStatus == errAuthorizationSuccess) { const char *myToolPath = [pathToHelper cString]; char *myArguments[4]; - myArguments[0] = [command cString]; - myArguments[1] = [operation cString]; + myArguments[0] = (char *)[command cString]; + myArguments[1] = (char *)[operation cString]; myArguments[2] = "MANUAL"; myArguments[3] = NULL; FILE *myCommunicationsPipe = NULL; - char myReadBuffer[128]; myFlags = kAuthorizationFlagDefaults; myStatus = AuthorizationExecuteWithPrivileges(myAuthorizationRef, @@ -124,11 +203,14 @@ if (myStatus == errAuthorizationSuccess) for(;;) { - int bytesRead = read (fileno (myCommunicationsPipe), - myReadBuffer, sizeof (myReadBuffer)); + + char myReadBuffer[4096]; + + int bytesRead = read(fileno(myCommunicationsPipe), + myReadBuffer, sizeof(myReadBuffer)); if (bytesRead < 1) break; - NSLog(@"%s", myReadBuffer); - } + } + } } while (0); @@ -136,11 +218,7 @@ if (myStatus) NSLog(@"Status: %i\n", myStatus); - sleep(3); - // update the buttons - BOOL isRunning = [self checkPostmasterStatus]; - [self updateButtonStatus:isRunning]; [working stopAnimation:nil]; [pool release]; @@ -149,14 +227,16 @@ return; } -- (IBAction)onStartService:(id)sender -{ - return; -} +#pragma mark -- +#pragma mark Configuration Management Handlers + - (IBAction)launchNetworkConfiguration:(id)sender { return; } + + + @end Modified: trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.tiff =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-11-06 17:13:07
|
Revision: 211 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=211&view=rev Author: hawkmoon Date: 2008-11-06 17:12:59 +0000 (Thu, 06 Nov 2008) Log Message: ----------- Refactored DATA_PATH and LOG_FILE out to variables to make them easier to maintain and adjust from the GUI Preference Pane and associated tools. Modified Paths: -------------- trunk/StartupItem/PostgreSQL/PostgreSQL Modified: trunk/StartupItem/PostgreSQL/PostgreSQL =================================================================== --- trunk/StartupItem/PostgreSQL/PostgreSQL 2008-10-30 18:20:38 UTC (rev 210) +++ trunk/StartupItem/PostgreSQL/PostgreSQL 2008-11-06 17:12:59 UTC (rev 211) @@ -55,6 +55,10 @@ # The PostgreSQL BSD-style license applies to this file # +# set the data path (this will be altered by the GUI configuration tools) +DATA_PATH="/Library/PostgreSQL8/data" +LOG_FILE="/Library/PostgreSQL8/log/PostgreSQL8.log" + StartService () { shouldStartPostgres="-NO-" @@ -69,17 +73,18 @@ if [ "$shouldStartPostgres" = "-YES-" ]; then ConsoleMessage "Starting PostgreSQL database server" - su -m postgres -c '/Library/PostgreSQL8/bin/pg_ctl start -D /Library/PostgreSQL8/data -l /Library/PostgreSQL8/log/PostgreSQL8.log -o -i' + su -m postgres -c "/Library/PostgreSQL8/bin/pg_ctl start -D $DATA_PATH -l $LOG_FILE -o -i" fi } StopService() { - ConsoleMessage "Stopping PostgreSQL database services" - su -m postgres -c '/Library/PostgreSQL8/bin/pg_ctl stop -D /Library/PostgreSQL8/data' - x=`ps -auxwc | grep '^postgres' |grep 'postgres$' | awk -F" " '{print $2}'` + su -m postgres -c "/Library/PostgreSQL8/bin/pg_ctl stop -D $DATA_PATH" + + sleep 1 + x=`ps auxwc | grep '^postgres' |grep 'postgres$' | awk -F" " '{print $2}'` if /bin/test "$x" then set $x @@ -91,11 +96,12 @@ RestartService () { StopService + sleep 1 StartService } + overrideEnvironment='-NO-' - for f in "$@" do if [ "$f" = "MANUAL" ]; then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-10-30 18:20:46
|
Revision: 210 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=210&view=rev Author: hawkmoon Date: 2008-10-30 18:20:38 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Added Automator Actions from Druware. These are no longer going to be commercial. Added Paths: ----------- trunk/Automator/ trunk/Automator/PostgreSQL Dynamic Query Action/ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/InfoPlist.strings trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/classes.nib trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/icon_query_tool.tiff trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/info.nib trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/keyedobjects.nib trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/classes.nib trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/icon_query_tool.tiff trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/info.nib trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/keyedobjects.nib trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.h trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.m trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/ trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/default.pbxuser trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/project.pbxproj trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action_Prefix.pch trunk/Automator/PostgreSQL Query Action/ trunk/Automator/PostgreSQL Query Action/English.lproj/ trunk/Automator/PostgreSQL Query Action/English.lproj/InfoPlist.strings trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/ trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/classes.nib trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/info.nib trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/keyedobjects.nib trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.xib trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/ trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/classes.nib trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/icon_query_tool.tiff trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/info.nib trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/keyedobjects.nib trunk/Automator/PostgreSQL Query Action/English.lproj/main.nib/odbc-tran60.tiff trunk/Automator/PostgreSQL Query Action/Info.plist trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.h trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.m trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.xcodeproj/ trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.xcodeproj/default.pbxuser trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action.xcodeproj/project.pbxproj trunk/Automator/PostgreSQL Query Action/PostgreSQL Query Action_Prefix.pch trunk/Automator/PostgreSQL Query Action/RegistrationDialog.h trunk/Automator/PostgreSQL Query Action/RegistrationDialog.m trunk/Automator/PostgreSQL Query Action/query-tool.icns Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Property changes on: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/InfoPlist.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/classes.nib =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/classes.nib (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/classes.nib 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,25 @@ +{ + IBClasses = ( + { + ACTIONS = {completed = id; run = id; runNext = id; stop = id; }; + CLASS = AMAction; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + CLASS = AMAppleScriptAction; + LANGUAGE = ObjC; + OUTLETS = {"_script" = NSAppleScript; }; + SUPERCLASS = AMBundleAction; + }, + { + ACTIONS = {onSelectConnection = id; }; + CLASS = AMBundleAction; + LANGUAGE = ObjC; + OUTLETS = {dataSourceList = NSPopUpButton; view = NSView; }; + SUPERCLASS = AMAction; + }, + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } + ); + IBVersion = 1; +} \ No newline at end of file Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/icon_query_tool.tiff =================================================================== (Binary files differ) Property changes on: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/icon_query_tool.tiff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/info.nib =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/info.nib (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/info.nib 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBDocumentLocation</key> + <string>723 255 356 240 0 0 1920 1178 </string> + <key>IBEditorPositions</key> + <dict> + <key>5</key> + <string>705 647 509 294 0 0 1920 1178 </string> + </dict> + <key>IBFramework Version</key> + <string>446.1</string> + <key>IBOldestOS</key> + <integer>4</integer> + <key>IBOpenObjects</key> + <array> + <integer>5</integer> + </array> + <key>IBSystem Version</key> + <string>8R4061a</string> +</dict> +</plist> Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/keyedobjects.nib =================================================================== (Binary files differ) Property changes on: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main.nib/keyedobjects.nib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/classes.nib =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/classes.nib (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/classes.nib 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,25 @@ +{ + IBClasses = ( + { + ACTIONS = {completed = id; run = id; runNext = id; stop = id; }; + CLASS = AMAction; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + CLASS = AMAppleScriptAction; + LANGUAGE = ObjC; + OUTLETS = {"_script" = NSAppleScript; }; + SUPERCLASS = AMBundleAction; + }, + { + ACTIONS = {onSelectConnection = id; }; + CLASS = AMBundleAction; + LANGUAGE = ObjC; + OUTLETS = {dataSourceList = NSPopUpButton; view = NSView; }; + SUPERCLASS = AMAction; + }, + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } + ); + IBVersion = 1; +} \ No newline at end of file Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/icon_query_tool.tiff =================================================================== (Binary files differ) Property changes on: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/icon_query_tool.tiff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/info.nib =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/info.nib (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/info.nib 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBDocumentLocation</key> + <string>723 255 356 240 0 0 1920 1178 </string> + <key>IBEditorPositions</key> + <dict> + <key>5</key> + <string>705 647 509 294 0 0 1920 1178 </string> + </dict> + <key>IBFramework Version</key> + <string>446.1</string> + <key>IBOldestOS</key> + <integer>4</integer> + <key>IBOpenObjects</key> + <array> + <integer>5</integer> + </array> + <key>IBSystem Version</key> + <string>8R4061a</string> +</dict> +</plist> Added: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/keyedobjects.nib =================================================================== (Binary files differ) Property changes on: trunk/Automator/PostgreSQL Dynamic Query Action/English.lproj/main~.nib/keyedobjects.nib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/Info.plist 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <false/> + <key>Types</key> + <array> + <string>com.apple.cocoa.string</string> + </array> + </dict> + <key>AMApplication</key> + <string>Database</string> + <key>AMCanShowSelectedItemsWhenRun</key> + <true/> + <key>AMCanShowWhenRun</key> + <true/> + <key>AMCategory</key> + <string>Database</string> + <key>AMDefaultParameters</key> + <dict/> + <key>AMDescription</key> + <dict> + <key>AMDAlert</key> + <string></string> + <key>AMDInput</key> + <string></string> + <key>AMDNote</key> + <string></string> + <key>AMDOptions</key> + <string>Provide the User Name, Password and connection information in addition to the query to run. The query will not work without a valid login and password.</string> + <key>AMDRelatedActions</key> + <string></string> + <key>AMDRequires</key> + <string>Requires the PGSQLKit, which should be part of the action pack bundle.</string> + <key>AMDResult</key> + <string>Returns an array of records, if appropriate.</string> + <key>AMDSummary</key> + <string>Executes a query against a PostgreSQL Database, and returns a list of data elements from the database.</string> + </dict> + <key>AMIconName</key> + <string>PGDAAP</string> + <key>AMKeywords</key> + <array/> + <key>AMName</key> + <string>PostgreSQL Dynamic Query Action</string> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.string</string> + </array> + </dict> + <key>AMRequiredResources</key> + <array/> + <key>AMWarning</key> + <dict> + <key>Action</key> + <string>(* Action name to be suggested to add prior to this action to make the task safer, e.g. com.apple.Automator.CopyFiles, goes here. *)</string> + <key>ApplyButton</key> + <string>(* Button label for user to add proposed Action, e.g. Add. *)</string> + <key>IgnoreButton</key> + <string>(* Button label for user not to add proposed Action, e.g. Don't Add. *)</string> + <key>Level</key> + <integer>0</integer> + <key>Message</key> + <string>(* Warning message presented to user goes here. *)</string> + </dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleGetInfoString</key> + <string>PostgreSQL Query Action version 1.0, Copyright (c) 2007, Druware Software Designs.</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.Druware.Automator.PostgreSQL_Dynamic_Query_Action</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>BNDL</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>NSPrincipalClass</key> + <string>PostgreSQL_Dynamic_Query_Action</string> +</dict> +</plist> Added: trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.h =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.h (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.h 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,22 @@ +// +// PostgreSQL Dynamic Query Action.h +// PostgreSQL Dynamic Query Action +// +// Created by Andy Satori on 9/25/07. +// Copyright 2007 Druware Software Designs. All rights reserved. +// + +#import <Cocoa/Cocoa.h> +#import <Automator/AMBundleAction.h> +#import <PGSQLKit/PGSQLKit.h> + + +@interface PostgreSQL_Dynamic_Query_Action : AMBundleAction +{ + IBOutlet NSPopUpButton *dataSourceList; +} + +- (id)runWithInput:(id)input fromAction:(AMAction *)anAction error:(NSDictionary **)errorInfo; +- (IBAction)onSelectConnection:(id)sender; + +@end Added: trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.m =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.m (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.m 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,290 @@ +// +// PostgreSQL Dynamic Query Action.m +// PostgreSQL Dynamic Query Action +// +// Created by Andy Satori on 9/25/07. +// Copyright 2007 Druware Software Designs. All rights reserved. +// + +#import "PostgreSQL Dynamic Query Action.h" +#import <Security/Security.h> +#import <CoreFoundation/CoreFoundation.h> +#import <stdlib.h> + +@implementation PostgreSQL_Dynamic_Query_Action + +- (id)runWithInput:(id)input fromAction:(AMAction *)anAction error:(NSDictionary **)errorInfo +{ + // Add your code here, returning the data to be passed to the next action. + NSMutableDictionary *dict = [self parameters]; + + NSString *user = [dict valueForKey:@"userName"]; + NSString *password = [dict valueForKey:@"password"]; + + NSString *serverName = [dict valueForKey:@"serverName"]; + NSString *serverPort = [dict valueForKey:@"serverPort"]; + NSString *databaseName = [dict valueForKey:@"databaseName"]; + + NSString *query = [NSString stringWithString:input]; + + PGSQLConnection *connection = [[PGSQLConnection alloc] init]; + + [connection setUserName:user]; + [connection setPassword:password]; + + [connection setServer:serverName]; + [connection setPort:serverPort]; + [connection setDatabaseName:databaseName]; + + if ([connection connect]) + { + PGSQLRecordset *rs = [connection open:query]; + + NSMutableArray *result = [[NSMutableArray alloc] init]; + while (![rs isEOF]) + { + [result addObject:[rs dictionaryFromRecord]]; + [rs moveNext]; + } + [rs close]; + [connection close]; + + return result; + } else { + // setup the error dictionary + } + return nil; + // return input; +} + +- (NSString *)connectionNameForKeychainItem:(SecKeychainItemRef)item +{ + OSStatus status; + SecKeychainAttribute attributes[2]; + SecKeychainAttributeList list; + NSString *result = nil; + + attributes[0].tag = kSecLabelItemAttr; + + list.count = 1; + list.attr = attributes; + + status = SecKeychainItemCopyContent(item, NULL, &list, NULL, NULL); + + if (status == noErr) + { + char buffer[1024]; + SecKeychainAttribute attr; + int i; + + for (i = 0; i < list.count; i++) + { + attr = list.attr[i]; + if (attr.length < 1024) + { + strncpy(buffer, attr.data, attr.length); + buffer[attr.length] = '\0'; + result = [[NSString alloc] initWithFormat:@"%s", buffer]; + } + } + } + + SecKeychainItemFreeContent(&list, NULL); + return result; +} + +- (NSString *)setConnectionDetails:(NSMutableDictionary *)dict forKeychainItem:(SecKeychainItemRef)item +{ + OSStatus status; + SecKeychainAttribute attributes[4]; + SecKeychainAttributeList list; + NSString *where = nil; + char *password; + UInt32 passwordLen; + passwordLen = 1024; + password = malloc(passwordLen); + + attributes[0].tag = kSecServiceItemAttr; + attributes[1].tag = kSecAccountItemAttr; + + list.count = 2; + list.attr = attributes; + + [dict setValue:@"" forKey:@"serverName"]; + [dict setValue:@"" forKey:@"port"]; + [dict setValue:@"" forKey:@"userName"]; + [dict setValue:@"" forKey:@"password"]; + [dict setValue:@"" forKey:@"databaseName"]; + + // alter this to read the password (last two nulls) + status = SecKeychainItemCopyContent(item, NULL, &list, &passwordLen, + (void *)&password); + + if (status == noErr) + { + char buffer[1024]; + SecKeychainAttribute attr; + int i; + + for (i = 0; i < list.count; i++) + { + attr = list.attr[i]; + switch (attr.tag) + { + case kSecServiceItemAttr: + if (attr.length < 1024) + { + strncpy(buffer, attr.data, attr.length); + buffer[attr.length] = '\0'; + where = [[NSString alloc] initWithFormat:@"%s", buffer]; + + // split the where into the location elements + NSRange range1 = [where rangeOfString:@"@"]; + NSRange range2 = [where rangeOfString:@":"]; + NSRange range3 = NSMakeRange( + (range1.location + range1.length), + (range2.location - (range1.location + range1.length))); + + [dict setValue:[where substringWithRange:range3] forKey:@"serverName"]; + [dict setValue:[where substringFromIndex:range2.location + range2.length] forKey:@"serverPort"]; + [dict setValue:[where substringToIndex:range1.location] forKey:@"databaseName"]; + } + break; + case kSecAccountItemAttr: + if (attr.length < 1024) + { + strncpy(buffer, attr.data, attr.length); + buffer[attr.length] = '\0'; + NSString *who = [[NSString alloc] initWithFormat:@"%s", buffer]; + [dict setValue:who forKey:@"userName"]; + } + break; + default: + break; + } + } + + strncpy(buffer, password, passwordLen); + buffer[passwordLen] = '\0'; + // set the password + [dict setValue:[NSString stringWithFormat:@"%s", buffer]forKey:@"password"]; + } + + free(password); + + + return where; +} + +- (id)initWithDefinition:(NSDictionary *)dict fromArchive:(BOOL)archived +{ + self = [super initWithDefinition:dict fromArchive:archived]; + + if (self != nil) + { + + NSColor *unregisteredColor = [NSColor redColor]; + [dict setValue:@"Unregistered" forKey:@"registeredStatus"]; + [dict setValue:unregisteredColor forKey:@"registeredColor"]; + + + NSMutableArray *savedConnections = [[NSMutableArray alloc] init]; + NSMutableDictionary *dict = [[[NSMutableDictionary alloc] init] autorelease]; + [dict setValue:@"--none--" forKey:@"name"]; + [savedConnections addObject:dict]; + + PGSQLConnection *connection = [[PGSQLConnection alloc] init]; + + // populate the list from the keychain + OSStatus status; + SecKeychainSearchRef search; + SecKeychainAttribute attributes[1]; + SecKeychainAttributeList list; + SecKeychainItemRef item; + + attributes[0].tag = kSecCreatorItemAttr; + attributes[0].data = "pgds"; + attributes[0].length = 4; + + list.count = 1; + list.attr = attributes; + + status = SecKeychainSearchCreateFromAttributes(NULL, + kSecGenericPasswordItemClass, + &list, &search); + if (status != noErr) + { + NSLog(@"Error reading the keychain: %d", status); + } + + while (SecKeychainSearchCopyNext(search, &item) == noErr) + { + dict = [[[NSMutableDictionary alloc] init] autorelease]; + [dict setValue:[self connectionNameForKeychainItem:item] forKey:@"name"]; + [savedConnections addObject:dict]; + CFRelease(item); + } + CFRelease(search); + + [[self parameters] setObject:savedConnections forKey:@"savedConnectionList"]; + [connection release]; + connection = nil; + } + + return self; +} + + +- (IBAction)onSelectConnection:(id)sender +{ + NSLog(@"Selection Changed"); + + NSMutableDictionary *dict = [self parameters]; + + if ([dataSourceList indexOfSelectedItem] == 0) + { + [dict setValue:@"" forKey:@"serverName"]; + [dict setValue:@"" forKey:@"serverPort"]; + [dict setValue:@"" forKey:@"userName"]; + [dict setValue:@"" forKey:@"password"]; + [dict setValue:@"" forKey:@"databaseName"]; + return; + } + + NSString *selectedValue = [[dataSourceList selectedItem] title]; + + OSStatus status; + SecKeychainSearchRef search; + SecKeychainAttribute attributes[2]; + SecKeychainAttributeList list; + SecKeychainItemRef item; + + attributes[0].tag = kSecCreatorItemAttr; + attributes[0].data = "pgds"; + attributes[0].length = 4; + + attributes[1].tag = kSecLabelItemAttr; + attributes[1].data = (char *)[selectedValue cString]; + attributes[1].length = [selectedValue length]; + + list.count = 2; + list.attr = attributes; + + status = SecKeychainSearchCreateFromAttributes(NULL, + kSecGenericPasswordItemClass, + &list, &search); + if (status != noErr) + { + NSLog(@"Error reading the keychain: %d", status); + } + + while (SecKeychainSearchCopyNext(search, &item) == noErr) + { + [self setConnectionDetails:dict forKeychainItem:item]; + CFRelease(item); + } + + CFRelease(search); +} + +@end Added: trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/default.pbxuser =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/default.pbxuser (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/default.pbxuser 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,76 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 = { + activeBuildStyle = 014CEA420018CDE011CA2923; + activeExecutable = 658A2E03067AB99300421F51; + activeTarget = 8D5B49AC048680CD000E48DA; + codeSenseManager = 658A2DD0067AB96600421F51; + executables = ( + 658A2E03067AB99300421F51, + ); + sourceControlManager = 658A2DCF067AB96600421F51; + userBuildSettings = { + }; + }; + 658A2DCF067AB96600421F51 = { + fallbackIsa = XCSourceControlManager; + isa = PBXSourceControlManager; + scmConfiguration = { + }; + scmType = ""; + }; + 658A2DD0067AB96600421F51 = { + indexTemplatePath = ""; + isa = PBXCodeSenseManager; + usesDefaults = 1; + wantsCodeCompletion = 1; + wantsCodeCompletionAutoPopup = 0; + wantsCodeCompletionAutoSuggestions = 1; + wantsCodeCompletionCaseSensitivity = 1; + wantsCodeCompletionListAlways = 0; + wantsCodeCompletionOnlyMatchingItems = 1; + wantsCodeCompletionParametersIncluded = 1; + wantsCodeCompletionPlaceholdersInserted = 1; + wantsCodeCompletionTabCompletes = 1; + wantsIndex = 1; + }; + 658A2E03067AB99300421F51 = { + activeArgIndex = 0; + activeArgIndices = ( + YES, + ); + argumentStrings = ( + "-action \"PostgreSQL Dynamic Query Action.action\"", + ); + configStateDict = { + }; + cppStopOnCatchEnabled = 0; + cppStopOnThrowEnabled = 0; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + isa = PBXExecutable; + launchableReference = 658A2E04067AB99300421F51; + libgmallocEnabled = 0; + name = Automator; + shlibInfoDictList = ( + ); + sourceDirectories = ( + ); + }; + 658A2E04067AB99300421F51 = { + isa = PBXFileReference; + lastKnownFileType = wrapper.application; + name = Automator.app; + path = /Applications/Automator.app; + refType = 0; + sourceTree = "<absolute>"; + }; + 8D5B49AC048680CD000E48DA = { + activeExec = 0; + }; +} Added: trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/project.pbxproj =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/project.pbxproj (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action.xcodeproj/project.pbxproj 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,321 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 431AC42F0CA9A806006A2B73 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 431AC42E0CA9A806006A2B73 /* Security.framework */; }; + 431AC4330CA9A837006A2B73 /* PGSQLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 431AC4320CA9A837006A2B73 /* PGSQLKit.framework */; }; + 431AC43C0CA9A9B8006A2B73 /* PGSQLKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 431AC4320CA9A837006A2B73 /* PGSQLKit.framework */; }; + 650E79E2067AB5AE00B4A4EC /* Automator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 650E79E1067AB5AE00B4A4EC /* Automator.framework */; }; + 65181752067A8D39005BD953 /* PostgreSQL Dynamic Query Action.m in Sources */ = {isa = PBXBuildFile; fileRef = 65181750067A8D39005BD953 /* PostgreSQL Dynamic Query Action.m */; }; + 65C50ADF067A987800FE4393 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 65C50ADD067A987800FE4393 /* main.nib */; }; + 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; + 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 431AC4350CA9A83F006A2B73 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 431AC43C0CA9A9B8006A2B73 /* PGSQLKit.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; + 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; + 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; + 32DBCF630370AF2F00C91783 /* PostgreSQL Dynamic Query Action_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PostgreSQL Dynamic Query Action_Prefix.pch"; sourceTree = "<group>"; }; + 431AC42E0CA9A806006A2B73 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; }; + 431AC4320CA9A837006A2B73 /* PGSQLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PGSQLKit.framework; path = /Library/Frameworks/PGSQLKit.framework; sourceTree = "<absolute>"; }; + 650E79E1067AB5AE00B4A4EC /* Automator.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Automator.framework; path = /System/Library/Frameworks/Automator.framework; sourceTree = "<absolute>"; }; + 6518174F067A8D39005BD953 /* PostgreSQL Dynamic Query Action.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PostgreSQL Dynamic Query Action.h"; sourceTree = "<group>"; }; + 65181750067A8D39005BD953 /* PostgreSQL Dynamic Query Action.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PostgreSQL Dynamic Query Action.m"; sourceTree = "<group>"; }; + 65C50ADE067A987800FE4393 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/main.nib; sourceTree = "<group>"; }; + 8D5B49B6048680CD000E48DA /* PostgreSQL Dynamic Query Action.action */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PostgreSQL Dynamic Query Action.action"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D5B49B3048680CD000E48DA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, + 650E79E2067AB5AE00B4A4EC /* Automator.framework in Frameworks */, + 431AC42F0CA9A806006A2B73 /* Security.framework in Frameworks */, + 431AC4330CA9A837006A2B73 /* PGSQLKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* PostgreSQL Dynamic Query Action */ = { + isa = PBXGroup; + children = ( + 08FB77AFFE84173DC02AAC07 /* Classes */, + 32C88E010371C26100C91783 /* Other Sources */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, + 19C28FB8FE9D52D311CA2CBB /* Products */, + ); + name = "PostgreSQL Dynamic Query Action"; + sourceTree = "<group>"; + }; + 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, + 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, + ); + name = "Frameworks and Libraries"; + sourceTree = "<group>"; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 65C50ADD067A987800FE4393 /* main.nib */, + 8D5B49B7048680CD000E48DA /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = "<group>"; + }; + 08FB77AFFE84173DC02AAC07 /* Classes */ = { + isa = PBXGroup; + children = ( + 6518174F067A8D39005BD953 /* PostgreSQL Dynamic Query Action.h */, + 65181750067A8D39005BD953 /* PostgreSQL Dynamic Query Action.m */, + ); + name = Classes; + sourceTree = "<group>"; + }; + 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 431AC4320CA9A837006A2B73 /* PGSQLKit.framework */, + 431AC42E0CA9A806006A2B73 /* Security.framework */, + 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, + 650E79E1067AB5AE00B4A4EC /* Automator.framework */, + ); + name = "Linked Frameworks"; + sourceTree = "<group>"; + }; + 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 089C1672FE841209C02AAC07 /* Foundation.framework */, + 089C167FFE841241C02AAC07 /* AppKit.framework */, + ); + name = "Other Frameworks"; + sourceTree = "<group>"; + }; + 19C28FB8FE9D52D311CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D5B49B6048680CD000E48DA /* PostgreSQL Dynamic Query Action.action */, + ); + name = Products; + sourceTree = "<group>"; + }; + 32C88E010371C26100C91783 /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32DBCF630370AF2F00C91783 /* PostgreSQL Dynamic Query Action_Prefix.pch */, + ); + name = "Other Sources"; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D5B49AC048680CD000E48DA /* PostgreSQL Dynamic Query Action */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4E59C33F08A97622001206A8 /* Build configuration list for PBXNativeTarget "PostgreSQL Dynamic Query Action" */; + buildPhases = ( + 8D5B49AF048680CD000E48DA /* Resources */, + 8D5B49B1048680CD000E48DA /* Sources */, + 8D5B49B3048680CD000E48DA /* Frameworks */, + 25038767080C6D0B00E1128B /* ShellScript */, + 431AC4350CA9A83F006A2B73 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PostgreSQL Dynamic Query Action"; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "PostgreSQL Dynamic Query Action"; + productReference = 8D5B49B6048680CD000E48DA /* PostgreSQL Dynamic Query Action.action */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 4E59C34308A97622001206A8 /* Build configuration list for PBXProject "PostgreSQL Dynamic Query Action" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 1; + mainGroup = 089C166AFE841209C02AAC07 /* PostgreSQL Dynamic Query Action */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D5B49AC048680CD000E48DA /* PostgreSQL Dynamic Query Action */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D5B49AF048680CD000E48DA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, + 65C50ADF067A987800FE4393 /* main.nib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 25038767080C6D0B00E1128B /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/usr/bin/amlint \"${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D5B49B1048680CD000E48DA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 65181752067A8D39005BD953 /* PostgreSQL Dynamic Query Action.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = "<group>"; + }; + 65C50ADD067A987800FE4393 /* main.nib */ = { + isa = PBXVariantGroup; + children = ( + 65C50ADE067A987800FE4393 /* English */, + ); + name = main.nib; + sourceTree = "<group>"; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 4E59C34008A97622001206A8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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 = "PostgreSQL Dynamic Query Action_Prefix.pch"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Automator"; + OTHER_OSAFLAGS = "-x -t 0 -c 0"; + PRODUCT_NAME = "PostgreSQL Dynamic Query Action"; + WRAPPER_EXTENSION = action; + ZERO_LINK = YES; + }; + name = Debug; + }; + 4E59C34108A97622001206A8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "PostgreSQL Dynamic Query Action_Prefix.pch"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Automator"; + OTHER_OSAFLAGS = "-x -t 0 -c 0"; + PRODUCT_NAME = "PostgreSQL Dynamic Query Action"; + WRAPPER_EXTENSION = action; + }; + name = Release; + }; + 4E59C34408A97622001206A8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = Debug; + }; + 4E59C34508A97622001206A8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 4E59C33F08A97622001206A8 /* Build configuration list for PBXNativeTarget "PostgreSQL Dynamic Query Action" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4E59C34008A97622001206A8 /* Debug */, + 4E59C34108A97622001206A8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4E59C34308A97622001206A8 /* Build configuration list for PBXProject "PostgreSQL Dynamic Query Action" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4E59C34408A97622001206A8 /* Debug */, + 4E59C34508A97622001206A8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} Added: trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action_Prefix.pch =================================================================== --- trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action_Prefix.pch (rev 0) +++ trunk/Automator/PostgreSQL Dynamic Query Action/PostgreSQL Dynamic Query Action_Prefix.pch 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'PostgreSQL Dynamic Query Action' target in the 'PostgreSQL Dynamic Query Action' project. +// + +#ifdef __OBJC__ + #import <Cocoa/Cocoa.h> +#endif Added: trunk/Automator/PostgreSQL Query Action/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Property changes on: trunk/Automator/PostgreSQL Query Action/English.lproj/InfoPlist.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/classes.nib =================================================================== --- trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/classes.nib (rev 0) +++ trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/classes.nib 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,53 @@ +<?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>IBClasses</key> + <array> + <dict> + <key>ACTIONS</key> + <dict> + <key>onCancel</key> + <string>id</string> + <key>onNext</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>RegistrationDialog</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>cancel</key> + <string>NSButton</string> + <key>emailAddress</key> + <string>NSTextField</string> + <key>next</key> + <string>NSButton</string> + <key>ownerName</key> + <string>NSTextField</string> + <key>product</key> + <string>NSTextField</string> + <key>purchaseConfirmationCode</key> + <string>NSTextField</string> + <key>purchaseDate</key> + <string>NSTextField</string> + <key>regPanel</key> + <string>NSWindow</string> + <key>registrationPageView</key> + <string>WebView</string> + <key>serialKey</key> + <string>NSTextView</string> + <key>validatedCode</key> + <string>NSTextField</string> + <key>version</key> + <string>NSTextField</string> + </dict> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> Added: trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/info.nib =================================================================== --- trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/info.nib (rev 0) +++ trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/info.nib 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,18 @@ +<?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>IBFramework Version</key> + <string>629</string> + <key>IBLastKnownRelativeProjectPath</key> + <string>../../PostgreSQL Query Action.xcodeproj</string> + <key>IBOldestOS</key> + <integer>5</integer> + <key>IBOpenObjects</key> + <array/> + <key>IBSystem Version</key> + <string>9B18</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> +</dict> +</plist> Added: trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/keyedobjects.nib =================================================================== (Binary files differ) Property changes on: trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.nib/keyedobjects.nib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.xib =================================================================== --- trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.xib (rev 0) +++ trunk/Automator/PostgreSQL Query Action/English.lproj/Registration.xib 2008-10-30 18:20:38 UTC (rev 210) @@ -0,0 +1,2025 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.01"> + <data> + <int key="IBDocument.SystemTarget">1050</int> + <string key="IBDocument.SystemVersion">9A581</string> + <string key="IBDocument.InterfaceBuilderVersion">629</string> + <string key="IBDocument.AppKitVersion">949</string> + <string key="IBDocument.HIToolboxVersion">343.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="2"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string id="11537020">com.apple.WebKitIBPlugin</string> + <string id="211859359">com.apple.InterfaceBuilder.CocoaPlugin</string> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSCustomObject" id="1001"> + <string key="NSClassName">RegistrationDialog</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="NSWindowTemplate" id="1005"> + <int key="NSWindowStyleMask">15</int> + <int key="NSWindowBacking">2</int> + <string key="NSWindowRect">{{196, 97}, {622, 413}}</string> + <int key="NSWTFlags">536870912</int> + <string key="NSWindowTitle">Window</string> + <string key="NSWindowClass" id="546964260">NSWindow</string> + <nil key="NSViewClass"/> + <object class="NSView" key="NSWindowView" id="1006"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="872045429"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{416, 12}, {96, 32}}</string> + <reference key="NSSuperview" ref="1006"/> + <reference key="NSWindow"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1055781808"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string type="base64-UTF8" key="NSContents">TmV4dCA+Pg</string> + <object class="NSFont" key="NSSupport" id="471830988"> + <string key="NSName" id="722674430">LucidaGrande</string> + <double key="NSSize">1.300000e+01</double> + <int key="NSfFlags">1044</int> + </object> + <reference key="NSControlView" ref="872045429"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents" id="937557411"/> + <reference key="NSKeyEquivalent" ref="937557411"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="347131844"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{512, 12}, {96, 32}}</string> + <reference key="NSSuperview" ref="1006"/> + <reference key="NSWindow"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="599036324"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Cancel</string> + <reference key="NSSupport" ref="471830988"/> + <reference key="NSControlView" ref="347131844"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <reference key="NSAlternateContents" ref="937557411"/> + <reference key="NSKeyEquivalent" ref="937557411"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSTabView" id="831628695"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">12</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="919037075"> + <reference key="NSNextResponder" ref="831628695"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextField" id="792674768"> + <reference key="NSNextResponder" ref="919037075"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{14, 290}, {38, 17}}</string> + <reference key="NSSuperview" ref="919037075"/> + <reference key="NSWindow"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="305275571"> + <int key="NSCellFlags">67239488</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents" id="850517223">Label</string> + <reference key="NSSupport" ref="471830988"/> + <reference key="NSControlView" ref="792674768"/> + <object class="NSColor" key="NSBackgroundColor" id="231559556"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName" id="1010369127">System</string> + <string key="NSColorName">controlColor</string> + <object class="NSColor" key="NSColor" id="33398921"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor" id="630964601"> + <int key="NSColorSpace">6</int> + <reference key="NSCatalogName" ref="1010369127"/> + <string key="NSColorName">controlTextColor</string> + <object class="NSColor" key="NSColor" id="282358649"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + </object> + </object> + </object> + <object class="NSTextField" id="841941629"> + <reference key="NSNextResponder" ref="919037075"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{57, 288}, {240, 22}}</string> + <reference key="NSSuperview" ref="919037075"/> + <reference key="NSWindow"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="305448489"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">272630784</int> + <reference key="NSContents" ref="937557411"/> + <reference key="NSSupport" ref="471830988"/> + <reference key="NSControlView" ref="841941629"/> + <bool key="NSDrawsBackground">YES</bool> + <object class="NSColor" key="NSBackgroundColor" id="827781145"> + <int key="NSColorSpace">6</int> + <reference key="NSCatalogName" ref="1010369127"/> + <string key="NSColorName">textBackgroundColor</string> + <object class="NSColor" key="NSColor" id="807232683"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">6</int> + <reference key="NSCatalogName" ref="1010369127"/> + <string key="NSColorName">textColor</string> + <reference key="NSColor" ref="282358649"/> + </object> + </object> + </object> + <object class="NSTextField" id="396734370"> + <reference key="NSNextResponder" ref="919037075"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{14, 263}, {38, 17}}</string> + <reference key="NSSuperview" ref="919037075"/> + <reference key="NSWindow"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="653731863"> + <int key="NSCellFlags">67239488</int> + <int key="NSCellFlags2">272630784</int> + <reference key="NSContents" ref="850517223"/> + <reference key="NSSupport" ref="471830988"/> + <reference key="NSControlView" ref="396734370"/> + <reference key="NSBackgroundColor" ref="231559556"/> + <reference key="NSTextColor" ref="630964601"/> + </object> + </object> + <object class="NSScrollView" id="745173933"> + <reference key="NSNextResponder" ref="919037075"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSClipView" id="1053030900"> + <reference key="NSNextResponder" ref="745173933"/> + <int key="NSvFlags">2304</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextView" id="550859200"> + <reference key="NSNextResponder" ref="1053030900"/> + <int key="NSvFlags">2322</int> + <object class="NSMutableSet" key="NSDragTypes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="set.sortedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string id="896061464">Apple HTML pasteboard type</string> + <string>Apple PDF pasteboard type</string> + <string id="778264198">Apple PICT pasteboard type</string> + <string>Apple PNG pasteboard type</string> + <string id="731441325">Apple URL pasteboard type</string> + <string>CorePasteboardFlavorType 0x6D6F6F76</string> + <string>CorePasteboardFlavorType 0x75726C20</string> + <string id="590278409">NSColor pasteboard type</string> + <string id="988985960">NSFilenamesPboardType</string> + <string id="85645767">NSStringPboardType</string> + <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string> + <string id="988610349">NeXT RTFD pasteboard type</string> + <string id="382733965">NeXT Rich Text Format v1.0 pasteboard type</string> + <string id="46405372">NeXT TIFF v4.0 pasteboard type</string> + <string>NeXT font pasteboard type</string> + <string>NeXT ruler pasteboard type</string> + <string id="899111429">WebURLsWithTitlesPboardType</string> + </object> + </object> + <string key="NSFrameSize">{416, 96}</string> + <reference key="NSSuperview" ref="1053030900"/> + <reference key="NSWindow"/> + <object class="NSTextContainer" key="NSTextContainer" id="654640750"> + <object class="NSLayoutManager" key="NSLayoutManager"> + <object class="NSTextStorage" key="NSTextStorage"> + <object class="NSMutableString" key="NSString"> + <characters key="NS.bytes">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Et harumd und lookum like Greek to me, dereud facilis est er expedit distinct. Nam liber te conscient to factor tum poen legum odioque civiuda</characters> + </object> + <object class="NSMutableArray" key="NSAttributes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSDictionary"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string id="19313166">NSFont</string> + <string id="823970510">NSParagraphStyle</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSFont"> + <reference key="NSName" ref="722674430"/> + <double key="NSSize">1.000000e+01</double> + <int key="NSfFlags">2843</int> + </object> + <object class="NSParagraphStyle"> + <int key="NSAlignment">3</int> + <object class="NSArray" key="NSTabStops"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextTab" id="284743119"> + <double key="NSLocation">0.000000e+00</double> + </object> + <object class="NSTextTab" id="175164886"> + <double key="NSLocation">5.600000e+01</double> + </object> + <object class="NSTextTab" id="1058560956"> + <double key="NSLocation">1.120000e+02</double> + </object> + <object class="NSTextTab" id="167628693"> + <double key="NSLocation">1.680000e+02</double> + </object> + <object class="NSTextTab" id="452501994"> + <double key="NSLocation">2.240000e+02</double> + </object> + <object class="NSTextTab" id="936473673"> + <double key="NSLocation">2.800000e+02</double> + </object> + <object class="NSTextTab" id="296556441"> + <double key="NSLocation">3.360000e+02</double> + </object> + <object class="NSTextTab" id="686859414"> + <double key="NSLocation">3.920000e+02</double> + </object> + <object class="NSTextTab" id="127255504"> + <double key="NSLocation">4.480000e+02</double> + </object> + <object class="NSTextTab" id="194174709"> + <double key="NSLocation">5.040000e+02</double> + </object> + <object class="NSTextTab" id="107524810"> + <double key="NSLocation">5.600000e+02</double> + </object> + <object class="NSTextTab" id="2470231"> + <double key="NSLocation">6.160000e+02</double> + </object> + <object class="NSTextTab" id="266231615"> + <double key="NSLocation">6.720000e+02</double> + </object> + <object class="NSTextTab" id="979569239"> + <double key="NSLocation">7.280000e+02</double> + </object> + <object class="NSTextTab" id="940026642"> + <double key="NSLocation">7.840000e+02</double> + </object> + <object class="NSTextTab" id="738061603"> + <double key="NSLocation">8.400000e+02</d... [truncated message content] |
From: <haw...@us...> - 2008-10-30 18:17:21
|
Revision: 209 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=209&view=rev Author: hawkmoon Date: 2008-10-30 18:17:07 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Added Preference Pane rough code, this is not the current status from Dru, but an older code drop. Added Paths: ----------- trunk/PreferencePane/ trunk/PreferencePane/PostgreSQL Server/ trunk/PreferencePane/PostgreSQL Server/AGProcess.h trunk/PreferencePane/PostgreSQL Server/AGProcess.m trunk/PreferencePane/PostgreSQL Server/English.lproj/ trunk/PreferencePane/PostgreSQL Server/English.lproj/InfoPlist.strings trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib trunk/PreferencePane/PostgreSQL Server/Info.plist trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/ trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server.xcodeproj/project.pbxproj trunk/PreferencePane/PostgreSQL Server/PostgreSQL Server_Prefix.pch trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.h trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.m trunk/PreferencePane/PostgreSQL Server/PostgreSQL_ServerPref.tiff trunk/PreferencePane/PostgreSQL Server/Utilities/ trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/ trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/English.lproj/ trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/English.lproj/InfoPlist.strings trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/English.lproj/MainMenu.xib trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/Info.plist trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/PostgreSQL Network Configuration.xcodeproj/ trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/PostgreSQL Network Configuration.xcodeproj/TemplateIcon.icns trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/PostgreSQL Network Configuration.xcodeproj/project.pbxproj trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/PostgreSQL Network Configuration_Prefix.pch trunk/PreferencePane/PostgreSQL Server/Utilities/PostgreSQL Network Configuration/main.m trunk/PreferencePane/PostgreSQL Server/Xserve 42U.icns trunk/PreferencePane/PostgreSQL Server/data-folder.png trunk/PreferencePane/PostgreSQL Server/lock_32.png trunk/PreferencePane/PostgreSQL Server/ntwrk_32.png trunk/PreferencePane/PostgreSQL Server/postgres-logo.png trunk/PreferencePane/PostgreSQL Server/prefs_32.png trunk/PreferencePane/PostgreSQL Server/restart.png trunk/PreferencePane/PostgreSQL Server/security_32.png trunk/PreferencePane/PostgreSQL Server/start.png trunk/PreferencePane/PostgreSQL Server/stop.png trunk/PreferencePane/PostgreSQL Server/ulock_32.png trunk/PreferencePane/PostgreSQL Server/xserve-alert.png trunk/PreferencePane/PostgreSQL Server/xserve-running.png trunk/PreferencePane/PostgreSQL Server/xserve-stopped.png trunk/PreferencePane/PostgreSQL Server/xserve-unknown.png Added: trunk/PreferencePane/PostgreSQL Server/AGProcess.h =================================================================== --- trunk/PreferencePane/PostgreSQL Server/AGProcess.h (rev 0) +++ trunk/PreferencePane/PostgreSQL Server/AGProcess.h 2008-10-30 18:17:07 UTC (rev 209) @@ -0,0 +1,313 @@ +// AGProcess.h +// +// Copyright (c) 2002 Aram Greenman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import <Foundation/NSObject.h> +#include <mach/mach_types.h> + +/*! +@constant AGProcessValueUnknown +Indicates that the value of a statistic couldn't be determined. */ +enum { + AGProcessValueUnknown = 0xffffffff +}; + +/*! +@enum AGProcessState +Possible return values for -[AGProcess state]. +@constant AGProcessStateUnknown The state couldn't be determined. +@constant AGProcessStateRunnable The process is runnable. +@constant AGProcessStateUninterruptible The process is in disk or other uninterruptible wait. +@constant AGProcessStateSleeping The process has been sleeping for 20 seconds or less. +@constant AGProcessStateIdle The process has been sleeping for more than 20 seconds. +@constant AGProcessStateSuspended The process is suspended. +@constant AGProcessStateZombie The process has exited but the parent has not yet waited for it. +@constant AGProcessStateExited The process has exited. +*/ +typedef enum _AGProcessState { + AGProcessStateUnknown, + AGProcessStateRunnable, + AGProcessStateUninterruptible, + AGProcessStateSleeping, + AGProcessStateIdle, + AGProcessStateSuspended, + AGProcessStateZombie, + AGProcessStateExited +} AGProcessState; + +@class NSString, NSArray, NSDictionary; + +/*! +@class AGProcess +@abstract A class for reporting Unix process statistics. +@discussion AGProcess is a class for reporting Unix process statistics. It is similar to NSProcessInfo except that it provides more information, and can represent any process, not just the current process. Additionally it provides methods for sending signals to processes. + +Instances are created with -initWithProcessIdentifier: or +processForProcessIdentifier:, but several convenience methods exist for obtaining instances based on other information, the most useful being +currentProcess, +allProcesses, and +userProcess. + +The level of information an AGProcess can return depends on the user's permission. In general, a user can obtain general information like the arguments or process ID for any process, but can only obtain CPU and memory usage statistics for their own processes, unless they are root. Also, no information is available after the process has exited except the process ID and the state (AGProcessStateZombie or AGProcessStateExited). Methods which return a numerical value will return AGProcessValueUnknown if the statistic can't be obtained. +*/ +@interface AGProcess : NSObject { + int process; + task_t task; + NSString *command; + NSArray *arguments; + NSDictionary *environment; +} + +/*! +@method initWithProcessIdentifier: +Initializes the receiver with the given process identifier. Returns nil if no such process exists. */ +- (id)initWithProcessIdentifier:(int)pid; + +/*! +@method currentProcess +Returns the current process. */ ++ (AGProcess *)currentProcess; + +/*! +@method allProcesses +Returns an array of all processes. */ ++ (NSArray *)allProcesses; + +/*! +@method userProcesses +Returns an array of all processes running for the current user. */ ++ (NSArray *)userProcesses; + +/*! +@method processForProcessIdentifier: +Returns the process for the given process identifier, or nil if no such process exists. */ ++ (AGProcess *)processForProcessIdentifier:(int)pid; + +/*! +@method processesForProcessGroup: +Returns an array of all processes in the given process group. */ ++ (NSArray *)processesForProcessGroup:(int)pgid; + +/*! +@method processesForTerminal: +Returns an array of all processes running on the given terminal. Takes a terminal device number. */ ++ (NSArray *)processesForTerminal:(int)tdev; + +/*! +@method processesForUser: +Returns an array of all processes for the given user. */ ++ (NSArray *)processesForUser:(int)uid; + +/*! +@method processesForRealUser: +Returns an array of all processes for the given real user. */ ++ (NSArray *)processesForRealUser:(int)ruid; + +/*! +@method processForCommand: +Returns the process for the given command, or nil if no such process exists. If there is more than one process with the same command, there is no guarantee which will be returned. */ ++ (AGProcess *)processForCommand:(NSString *)comm; + +/*! +@method processesForCommand: +Returns an array of all processes for the given command. */ ++ (NSArray *)processesForCommand:(NSString *)comm; + +/*! +@method processIdentifier +Returns the process identifier. */ +- (int)processIdentifier; + +/*! +@method parentProcessIdentifier +Returns the parent process identifier. */ +- (int)parentProcessIdentifier; + +/*! +@method processGroup +Returns the process group. */ +- (int)processGroup; + +/*! +@method terminal +Returns the terminal device number. */ +- (int)terminal; + +/*! +@method terminalProcessGroup +Returns the terminal process group. */ +- (int)terminalProcessGroup; + +/*! +@method userIdentifier +Returns the user identifier. */ +- (int)userIdentifier; + +/*! +@method realUserIdentifier +Returns the real user identifier. */ +- (int)realUserIdentifier; + +/*! +@method percentCPUUsage +Returns the current CPU usage in the range 0.0 - 1.0. */ +- (double)percentCPUUsage; + +/*! +@method totalCPUTime +Returns the accumulated CPU time in seconds. */ +- (double)totalCPUTime; + +/*! +@method userCPUTime +Returns the accumulated user CPU time in seconds. */ +- (double)userCPUTime; + +/*! +@method systemCPUTime +Returns the accumulated system CPU time in seconds. */ +- (double)systemCPUTime; + +/*! +@method percentMemoryUsage +Returns resident memory usage as a fraction of the host's physical memory in the range 0.0 - 1.0. */ +- (double)percentMemoryUsage; + +/*! +@method virtualMemorySize +Returns the virtual memory size in bytes. */ +- (unsigned)virtualMemorySize; + +/*! +@method residentMemorySize +Returns the resident memory size in bytes. */ +- (unsigned)residentMemorySize; + +/*! +@method state +Returns the current state. Possible values are defined by AGProcessState. */ +- (AGProcessState)state; + +/*! +@method priority +Returns the current priority. */ +- (int)priority; + +/*! +@method basePriority +Returns the base priority. */ +- (int)basePriority; + +/*! +@method threadCount +Returns the number of threads. */ +- (int)threadCount; + +/*! +@method command +Attempts to return the command that was called to execute the process. If that fails, attempts to return the accounting name. If that fails, returns an empty string. */ +- (NSString *)command; + +/*! +@method arguments +Returns an array containing the command line arguments called to execute the process. This method is not perfectly reliable. */ +- (NSArray *)arguments; + +/*! +@method environment +Returns a dictionary containing the environment variables of the process. This method is not perfectly reliable. */ +- (NSDictionary *)environment; + +/*! +@method parent +Returns the parent process. */ +- (AGProcess *)parent; + +/*! +@method children +Returns an array containing the process's children, if any. */ +- (NSArray *)children; + +/*! +@method siblings +Returns an array containing the process's siblings, if any. */ +- (NSArray *)siblings; + +@end + +@interface AGProcess (Signals) + +/*! +@method suspend +Sends SIGSTOP. */ +- (BOOL)suspend; + +/*! +@method resume +Sends SIGCONT. */ +- (BOOL)resume; + +/*! +@method interrupt +Sends SIGINT. */ +- (BOOL)interrupt; + +/*! +@method terminate +Sends SIGTERM. */ +- (BOOL)terminate; + +/* +@method kill: +Sends the given signal, see man 3 signal for possible values. Returns NO if the signal couldn't be sent. */ +- (BOOL)kill:(int)signal; + +@end + +@interface AGProcess (MachTaskEvents) + +/*! +@method faults +Returns the number of page faults. */ +- (int)faults; + +/*! +@method pageins +Returns the number of pageins. */ +- (int)pageins; + +/*! +@method copyOnWriteFaults +Returns the number of copy on write faults. */ +- (int)copyOnWriteFaults; + +/*! +@method messagesSent +Returns the number of Mach messages sent. */ +- (int)messagesSent; + +/*! +@method messagesReceived +Returns the number of Mach messages received. */ +- (int)messagesReceived; + +/*! +@method machSystemCalls +Returns the number of Mach system calls. */ +- (int)machSystemCalls; + +/*! +@method unixSystemCalls +Returns the number of Unix system calls. */ +- (int)unixSystemCalls; + +/*! +@method contextSwitches +Returns the number of context switches. */ +- (int)contextSwitches; + +@end Added: trunk/PreferencePane/PostgreSQL Server/AGProcess.m =================================================================== --- trunk/PreferencePane/PostgreSQL Server/AGProcess.m (rev 0) +++ trunk/PreferencePane/PostgreSQL Server/AGProcess.m 2008-10-30 18:17:07 UTC (rev 209) @@ -0,0 +1,842 @@ +// AGProcess.m +// +// Copyright (c) 2002 Aram Greenman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Version History: +// +// 0.1 - February 13, 2003 +// Initial release - Aram Greenman +// +// 0.2 - August 4, 2003 +// Added code to check OS versions in computations for task memory usage - Aram Greenman +// Added methods to retrieve task events (pageins, faults, etc.) - Craig Hockenberry +// Fixed compilation warnings in AGGetMachThreadPriority - Craig Hockenberry +// Fixed -siblings to exclude the receiver - Steve Gehrman + +#import "AGProcess.h" +#import <Foundation/Foundation.h> +#include <mach/mach_host.h> +#include <mach/mach_port.h> +#include <mach/mach_traps.h> +#include <mach/shared_memory_server.h> +#include <mach/task.h> +#include <mach/thread_act.h> +#include <mach/vm_map.h> +#include <sys/param.h> +#include <sys/sysctl.h> +#include <sys/types.h> +#include <signal.h> +#include <unistd.h> + +static unsigned global_shared_text_segment; +static unsigned shared_data_region_size; +static unsigned shared_text_region_size; + +// call this before any of the AGGetMach... functions +// sets the correct split library segment for running kernel +// should work at least through Darwin 6.6 (Mac OS X 10.2.6) +static kern_return_t +AGMachStatsInit() { + int mib[2] = {CTL_KERN, KERN_OSRELEASE}; + size_t len = 256; + char rel[len]; + + if (sysctl(mib, 2, &rel, &len, NULL, 0) < 0) + return KERN_FAILURE; + + // kernel version < 6.0 (Mac OS X 10.2) + if (strcmp(rel, "6") < 0) { + global_shared_text_segment = 0x70000000; + shared_data_region_size = 0x10000000; + shared_text_region_size = 0x10000000; + } + // use values defined for the kernel we built under + else { + global_shared_text_segment = GLOBAL_SHARED_TEXT_SEGMENT; + shared_data_region_size = SHARED_DATA_REGION_SIZE; + shared_text_region_size = SHARED_TEXT_REGION_SIZE; + } + + return KERN_SUCCESS; +} + +static kern_return_t +AGGetMachTaskMemoryUsage(task_t task, unsigned *virtual_size, unsigned *resident_size, double *percent) { + kern_return_t error; + struct task_basic_info t_info; + struct host_basic_info h_info; + struct vm_region_basic_info_64 vm_info; + mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT, h_info_count = HOST_BASIC_INFO_COUNT, vm_info_count = VM_REGION_BASIC_INFO_COUNT_64; + vm_address_t address = global_shared_text_segment; + vm_size_t size; + mach_port_t object_name; + + if ((error = task_info(task, TASK_BASIC_INFO, (task_info_t)&t_info, &t_info_count)) != KERN_SUCCESS) + return error; + if ((error = host_info(mach_host_self(), HOST_BASIC_INFO, (host_info_t)&h_info, &h_info_count)) != KERN_SUCCESS) + return error; + + // check for firmware split libraries + // this is copied from the ps source code + if ((error = vm_region_64(task, &address, &size, VM_REGION_BASIC_INFO, (vm_region_info_t)&vm_info, &vm_info_count, &object_name)) != KERN_SUCCESS) + return error; + + if (vm_info.reserved && size == shared_text_region_size && t_info.virtual_size > (shared_text_region_size + shared_data_region_size)) + t_info.virtual_size -= (shared_text_region_size + shared_data_region_size); + + if (virtual_size != NULL) *virtual_size = t_info.virtual_size; + if (resident_size != NULL) *resident_size = t_info.resident_size; + if (percent != NULL) *percent = (double)t_info.resident_size / h_info.memory_size; + + return error; +} + +static kern_return_t +AGGetMachThreadCPUUsage(thread_t thread, double *user_time, double *system_time, double *percent) { + kern_return_t error; + struct thread_basic_info th_info; + mach_msg_type_number_t th_info_count = THREAD_BASIC_INFO_COUNT; + + if ((error = thread_info(thread, THREAD_BASIC_INFO, (thread_info_t)&th_info, &th_info_count)) != KERN_SUCCESS) + return error; + + if (user_time != NULL) *user_time = th_info.user_time.seconds + th_info.user_time.microseconds / 1e6; + if (system_time != NULL) *system_time = th_info.system_time.seconds + th_info.system_time.microseconds / 1e6; + if (percent != NULL) *percent = (double)th_info.cpu_usage / TH_USAGE_SCALE; + + return error; +} + +static kern_return_t +AGGetMachTaskCPUUsage(task_t task, double *user_time, double *system_time, double *percent) { + kern_return_t error; + struct task_basic_info t_info; + thread_array_t th_array; + mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT, th_count; + int i; + double my_user_time = 0, my_system_time = 0, my_percent = 0; + + if ((error = task_info(task, TASK_BASIC_INFO, (task_info_t)&t_info, &t_info_count)) != KERN_SUCCESS) + return error; + if ((error = task_threads(task, &th_array, &th_count)) != KERN_SUCCESS) + return error; + + // sum time for live threads + for (i = 0; i < th_count; i++) { + double th_user_time, th_system_time, th_percent; + if ((error = AGGetMachThreadCPUUsage(th_array[i], &th_user_time, &th_system_time, &th_percent)) != KERN_SUCCESS) + break; + my_user_time += th_user_time; + my_system_time += th_system_time; + my_percent += th_percent; + } + + // destroy thread array + for (i = 0; i < th_count; i++) + mach_port_deallocate(mach_task_self(), th_array[i]); + vm_deallocate(mach_task_self(), (vm_address_t)th_array, sizeof(thread_t) * th_count); + + // check last error + if (error != KERN_SUCCESS) + return error; + + // add time for dead threads + my_user_time += t_info.user_time.seconds + t_info.user_time.microseconds / 1e6; + my_system_time += t_info.system_time.seconds + t_info.system_time.microseconds / 1e6; + + if (user_time != NULL) *user_time = my_user_time; + if (system_time != NULL) *system_time = my_system_time; + if (percent != NULL) *percent = my_percent; + + return error; +} + +static kern_return_t +AGGetMachThreadPriority(thread_t thread, int *current_priority, int *base_priority) { + kern_return_t error; + struct thread_basic_info th_info; + mach_msg_type_number_t th_info_count = THREAD_BASIC_INFO_COUNT; + int my_current_priority = 0, my_base_priority = 0; + + if ((error = thread_info(thread, THREAD_BASIC_INFO, (thread_info_t)&th_info, &th_info_count)) != KERN_SUCCESS) + return error; + + switch (th_info.policy) { + case POLICY_TIMESHARE: { + struct policy_timeshare_info pol_info; + mach_msg_type_number_t pol_info_count = POLICY_TIMESHARE_INFO_COUNT; + + if ((error = thread_info(thread, THREAD_SCHED_TIMESHARE_INFO, (thread_info_t)&pol_info, &pol_info_count)) != KERN_SUCCESS) + return error; + my_current_priority = pol_info.cur_priority; + my_base_priority = pol_info.base_priority; + break; + } case POLICY_RR: { + struct policy_rr_info pol_info; + mach_msg_type_number_t pol_info_count = POLICY_RR_INFO_COUNT; + + if ((error = thread_info(thread, THREAD_SCHED_RR_INFO, (thread_info_t)&pol_info, &pol_info_count)) != KERN_SUCCESS) + return error; + my_current_priority = my_base_priority = pol_info.base_priority; + break; + } case POLICY_FIFO: { + struct policy_fifo_info pol_info; + mach_msg_type_number_t pol_info_count = POLICY_FIFO_INFO_COUNT; + + if ((error = thread_info(thread, THREAD_SCHED_FIFO_INFO, (thread_info_t)&pol_info, &pol_info_count)) != KERN_SUCCESS) + return error; + my_current_priority = my_base_priority = pol_info.base_priority; + break; + } + } + + if (current_priority != NULL) *current_priority = my_current_priority; + if (base_priority != NULL) *base_priority = my_base_priority; + + return error; +} + +static kern_return_t +AGGetMachTaskPriority(task_t task, int *current_priority, int *base_priority) { + kern_return_t error; + thread_array_t th_array; + mach_msg_type_number_t th_count; + int i; + int my_current_priority = 0, my_base_priority = 0; + + if ((error = task_threads(task, &th_array, &th_count)) != KERN_SUCCESS) + return error; + + for (i = 0; i < th_count; i++) { + int th_current_priority, th_base_priority; + if ((error = AGGetMachThreadPriority(th_array[i], &th_current_priority, &th_base_priority)) != KERN_SUCCESS) + break; + if (th_current_priority > my_current_priority) + my_current_priority = th_current_priority; + if (th_base_priority > my_base_priority) + my_base_priority = th_base_priority; + } + + // destroy thread array + for (i = 0; i < th_count; i++) + mach_port_deallocate(mach_task_self(), th_array[i]); + vm_deallocate(mach_task_self(), (vm_address_t)th_array, sizeof(thread_t) * th_count); + + // check last error + if (error != KERN_SUCCESS) + return error; + + if (current_priority != NULL) *current_priority = my_current_priority; + if (base_priority != NULL) *base_priority = my_base_priority; + + return error; +} + +static kern_return_t +AGGetMachThreadState(thread_t thread, int *state) { + kern_return_t error; + struct thread_basic_info th_info; + mach_msg_type_number_t th_info_count = THREAD_BASIC_INFO_COUNT; + int my_state; + + if ((error = thread_info(thread, THREAD_BASIC_INFO, (thread_info_t)&th_info, &th_info_count)) != KERN_SUCCESS) + return error; + + switch (th_info.run_state) { + case TH_STATE_RUNNING: + my_state = AGProcessStateRunnable; + break; + case TH_STATE_UNINTERRUPTIBLE: + my_state = AGProcessStateUninterruptible; + break; + case TH_STATE_WAITING: + my_state = th_info.sleep_time > 20 ? AGProcessStateIdle : AGProcessStateSleeping; + break; + case TH_STATE_STOPPED: + my_state = AGProcessStateSuspended; + break; + case TH_STATE_HALTED: + my_state = AGProcessStateZombie; + break; + default: + my_state = AGProcessStateUnknown; + } + + if (state != NULL) *state = my_state; + + return error; +} + +static kern_return_t +AGGetMachTaskState(task_t task, int *state) { + kern_return_t error; + thread_array_t th_array; + mach_msg_type_number_t th_count; + int i; + int my_state = INT_MAX; + + if ((error = task_threads(task, &th_array, &th_count)) != KERN_SUCCESS) + return error; + + for (i = 0; i < th_count; i++) { + int th_state; + if ((error = AGGetMachThreadState(th_array[i], &th_state)) != KERN_SUCCESS) + break; + // most active state takes precedence + if (th_state < my_state) + my_state = th_state; + } + + // destroy thread array + for (i = 0; i < th_count; i++) + mach_port_deallocate(mach_task_self(), th_array[i]); + vm_deallocate(mach_task_self(), (vm_address_t)th_array, sizeof(thread_t) * th_count); + + // check last error + if (error != KERN_SUCCESS) + return error; + + if (state != NULL) *state = my_state; + + return error; +} + +static kern_return_t +AGGetMachTaskThreadCount(task_t task, int *count) { + kern_return_t error; + thread_array_t th_array; + mach_msg_type_number_t th_count; + int i; + + if ((error = task_threads(task, &th_array, &th_count)) != KERN_SUCCESS) + return error; + + for (i = 0; i < th_count; i++) + mach_port_deallocate(mach_task_self(), th_array[i]); + vm_deallocate(mach_task_self(), (vm_address_t)th_array, sizeof(thread_t) * th_count); + + if (count != NULL) *count = th_count; + + return error; +} + +static kern_return_t +AGGetMachTaskEvents(task_t task, int *faults, int *pageins, int *cow_faults, int *messages_sent, int *messages_received, int *syscalls_mach, int *syscalls_unix, int *csw) { + kern_return_t error; + task_events_info_data_t t_events_info; + mach_msg_type_number_t t_events_info_count = TASK_EVENTS_INFO_COUNT; + + if ((error = task_info(task, TASK_EVENTS_INFO, (task_info_t)&t_events_info, &t_events_info_count)) != KERN_SUCCESS) + return error; + + if (faults != NULL) *faults = t_events_info.faults; + if (pageins != NULL) *pageins = t_events_info.pageins; + if (cow_faults != NULL) *cow_faults = t_events_info.cow_faults; + if (messages_sent != NULL) *messages_sent = t_events_info.messages_sent; + if (messages_received != NULL) *messages_received = t_events_info.messages_received; + if (syscalls_mach != NULL) *syscalls_mach = t_events_info.syscalls_mach; + if (syscalls_unix != NULL) *syscalls_unix = t_events_info.syscalls_unix; + if (csw != NULL) *csw = t_events_info.csw; + + return error; +} + +@interface AGProcess (Private) ++ (NSArray *)processesForThirdLevelName:(int)name value:(int)value; +- (void)doProcargs; +@end + +@implementation AGProcess (Private) + ++ (NSArray *)processesForThirdLevelName:(int)name value:(int)value { + AGProcess *proc; + NSMutableArray *processes = [NSMutableArray array]; + int mib[4] = { CTL_KERN, KERN_PROC, name, value }; + struct kinfo_proc *info; + size_t length; + int level, count, i; + + // KERN_PROC_ALL has 3 elements, all others have 4 + level = name == KERN_PROC_ALL ? 3 : 4; + + if (sysctl(mib, level, NULL, &length, NULL, 0) < 0) + return processes; + if (!(info = NSZoneMalloc(NULL, length))) + return processes; + if (sysctl(mib, level, info, &length, NULL, 0) < 0) { + NSZoneFree(NULL, info); + return processes; + } + + // number of processes + count = length / sizeof(struct kinfo_proc); + + for (i = 0; i < count; i++) { + if (proc = [[self alloc] initWithProcessIdentifier:info[i].kp_proc.p_pid]) + [processes addObject:proc]; + [proc release]; + } + + NSZoneFree(NULL, info); + return processes; +} + +- (void)doProcargs { + id args = [NSMutableArray array]; + id env = [NSMutableDictionary dictionary]; + size_t length = 4096; // max buffer accepted by sysctl() KERN_PROCARGS + char buffer[length + 1]; + int mib[3] = { CTL_KERN, KERN_PROCARGS, process }; + int offset, last_offset, i; + BOOL word; + char c; + + // make sure this is only executed once for an instance + if (command) + return; + + if (sysctl(mib, 3, buffer, &length, NULL, 0) < 0) { + // probably a zombie or exited proc, try to at least get the accounting name + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + + if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) + command = [[NSString alloc] init]; + else + command = [[NSString alloc] initWithCString:info.kp_proc.p_comm]; + } else { + // find the comm string, should be the first non-garbage string in the buffer + offset = last_offset = 0; + buffer[length] = NULL; // prevent buffer overrun + + do { + for ( ; offset < length; offset++) { + if (buffer[offset]) { // found a chunk of data + last_offset = offset; + word = YES; + for ( ; offset < length; offset++) { + if (!(c = buffer[offset])) // reached end of data + break; + if (!(isprint(c))) // found a non-printing character + word = NO; + } + if (word) + break; + } + } + command = [[NSString stringWithCString:buffer + last_offset] lastPathComponent]; + } while ([command isEqualToString:@"LaunchCFMApp"]); // skip LaunchCFMApp + + [command retain]; + + // get rest of args and env + for ( ; offset < length; offset++) { + if (buffer[offset]) { + NSString *string = [NSString stringWithCString:buffer + offset]; + [args addObject:string]; + offset += [string cStringLength]; + } + } + + // count backwards past env + // first string which does not contain an '=' should usually be the last arg + for (i = [args count] - 1; i > 0; i--) { + NSString *string = [args objectAtIndex:i]; + int index = [string rangeOfString:@"="].location; + if (index == NSNotFound) + break; + [env setObject:[string substringFromIndex:index + 1] forKey:[string substringToIndex:index]]; + } + args = [args subarrayWithRange:NSMakeRange(0, i + 1)]; + } + + if (![args count]) + args = [NSArray arrayWithObject:command]; + arguments = [args retain]; + environment = [env retain]; +} + +@end + +@implementation AGProcess + ++ (void)initialize { + AGMachStatsInit(); + [super initialize]; +} + +- (id)initWithProcessIdentifier:(int)pid { + if (self = [super init]) { + process = pid; + if (task_for_pid(mach_task_self(), process, &task) != KERN_SUCCESS) + task = MACH_PORT_NULL; + if ([self state] == AGProcessStateExited) { + [self release]; + return nil; + } + } + return self; +} + ++ (AGProcess *)currentProcess { + return [self processForProcessIdentifier:getpid()]; +} + ++ (NSArray *)allProcesses { + return [self processesForThirdLevelName:KERN_PROC_ALL value:0]; +} + ++ (NSArray *)userProcesses { + return [self processesForUser:geteuid()]; +} + ++ (AGProcess *)processForProcessIdentifier:(int)pid { + return [[[self alloc] initWithProcessIdentifier:pid] autorelease]; +} + ++ (NSArray *)processesForProcessGroup:(int)pgid { + return [self processesForThirdLevelName:KERN_PROC_PGRP value:pgid]; +} + ++ (NSArray *)processesForTerminal:(int)tty { + return [self processesForThirdLevelName:KERN_PROC_TTY value:tty]; +} + ++ (NSArray *)processesForUser:(int)uid { + return [self processesForThirdLevelName:KERN_PROC_UID value:uid]; +} + ++ (NSArray *)processesForRealUser:(int)ruid { + return [self processesForThirdLevelName:KERN_PROC_RUID value:ruid]; +} + ++ (NSArray *)processesForCommand:(NSString *)comm { + NSArray *all = [self allProcesses]; + NSMutableArray *result = [NSMutableArray array]; + int i, count = [all count]; + for (i = 0; i < count; i++) + if ([[[all objectAtIndex:i] command] isEqualToString:comm]) + [result addObject:[all objectAtIndex:i]]; + return result; +} + ++ (AGProcess *)processForCommand:(NSString *)comm { + NSArray *processes = [self processesForCommand:comm]; + if ([processes count]) + return [processes objectAtIndex:0]; + return nil; +} + +- (int)processIdentifier { + return process; +} + +- (int)parentProcessIdentifier { + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) + return AGProcessValueUnknown; + if (length == 0) + return AGProcessValueUnknown; + return info.kp_eproc.e_ppid; +} + +- (int)processGroup { + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) + return AGProcessValueUnknown; + if (length == 0) + return AGProcessValueUnknown; + return info.kp_eproc.e_pgid; +} + +- (int)terminal { + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) + return AGProcessValueUnknown; + if (length == 0 || info.kp_eproc.e_tdev == 0) + return AGProcessValueUnknown; + return info.kp_eproc.e_tdev; +} + +- (int)terminalProcessGroup { + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) + return AGProcessValueUnknown; + if (length == 0 || info.kp_eproc.e_tpgid == 0) + return AGProcessValueUnknown; + return info.kp_eproc.e_tpgid; +} + +- (int)userIdentifier { + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) + return AGProcessValueUnknown; + if (length == 0) + return AGProcessValueUnknown; + return info.kp_eproc.e_ucred.cr_uid; +} + +- (int)realUserIdentifier { + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) + return AGProcessValueUnknown; + if (length == 0) + return AGProcessValueUnknown; + return info.kp_eproc.e_pcred.p_ruid; +} + +- (NSString *)command { + [self doProcargs]; + return command; +} + +- (NSArray *)arguments { + [self doProcargs]; + return arguments; +} + +- (NSDictionary *)environment { + [self doProcargs]; + return environment; +} + +- (AGProcess *)parent { + return [[self class] processForProcessIdentifier:[self parentProcessIdentifier]]; +} + +- (NSArray *)children { + NSArray *all = [[self class] allProcesses]; + NSMutableArray *children = [NSMutableArray array]; + int i, count = [all count]; + for (i = 0; i < count; i++) + if ([[all objectAtIndex:i] parentProcessIdentifier] == process) + [children addObject:[all objectAtIndex:i]]; + return children; +} + +- (NSArray *)siblings { + NSArray *all = [[self class] allProcesses]; + NSMutableArray *siblings = [NSMutableArray array]; + int i, count = [all count], ppid = [self parentProcessIdentifier]; + for (i = 0; i < count; i++) { + AGProcess *p = [all objectAtIndex:i]; + if ([p parentProcessIdentifier] == ppid && [p processIdentifier] != process) + [siblings addObject:p]; + } + return siblings; +} + +- (double)percentCPUUsage { + double percent; + if (AGGetMachTaskCPUUsage(task, NULL, NULL, &percent) != KERN_SUCCESS) + return AGProcessValueUnknown; + return percent; +} + +- (double)totalCPUTime { + double user, system; + if (AGGetMachTaskCPUUsage(task, &user, &system, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return user + system; +} + +- (double)userCPUTime { + double user; + if (AGGetMachTaskCPUUsage(task, &user, NULL, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return user; +} + +- (double)systemCPUTime { + double system; + if (AGGetMachTaskCPUUsage(task, NULL, &system, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return system; +} + +- (double)percentMemoryUsage { + double percent; + if (AGGetMachTaskMemoryUsage(task, NULL, NULL, &percent) != KERN_SUCCESS) + return AGProcessValueUnknown; + return percent; +} + +- (unsigned)virtualMemorySize { + unsigned size; + if (AGGetMachTaskMemoryUsage(task, &size, NULL, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return size; +} + +- (unsigned)residentMemorySize { + unsigned size; + if (AGGetMachTaskMemoryUsage(task, NULL, &size, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return size; +} + +- (AGProcessState)state { + int state; + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + if (sysctl(mib, 4, &info, &length, NULL, 0) < 0) + return AGProcessStateExited; + if (length == 0) + return AGProcessStateExited; + if (info.kp_proc.p_stat == SZOMB) + return AGProcessStateZombie; + if (AGGetMachTaskState(task, &state) != KERN_SUCCESS) + return AGProcessStateUnknown; + return state; +} + +- (int)priority { + int priority; + if (AGGetMachTaskPriority(task, &priority, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return priority; +} + +- (int)basePriority { + int priority; + if (AGGetMachTaskPriority(task, NULL, &priority) != KERN_SUCCESS) + return AGProcessValueUnknown; + return priority; +} + +- (int)threadCount { + int count; + if (AGGetMachTaskThreadCount(task, &count) != KERN_SUCCESS) + return AGProcessValueUnknown; + return count; +} + +- (unsigned)hash { + return process; +} + +- (BOOL)isEqual:(id)object { + if (![object isKindOfClass:[self class]]) + return NO; + return process == [(AGProcess *)object processIdentifier]; +} + +- (NSString *)description { + return [NSString stringWithFormat:@"%@ process = %d, task = %u, command = %@, arguments = %@, environment = %@", [super description], process, task, [self command], [self arguments], [self environment]]; +} + +- (void)dealloc { + mach_port_deallocate(mach_task_self(), task); + [command release]; + [arguments release]; + [environment release]; + [super dealloc]; +} + +@end + +@implementation AGProcess (Signals) + +- (BOOL)suspend { + return [self kill:SIGSTOP]; +} + +- (BOOL)resume { + return [self kill:SIGCONT]; +} + +- (BOOL)interrupt { + return [self kill:SIGINT]; +} + +- (BOOL)terminate { + return [self kill:SIGTERM]; +} + +- (BOOL)kill:(int)signal { + return kill(process, signal) == 0; +} + +@end + +@implementation AGProcess (MachTaskEvents) + +- (int)faults { + unsigned faults; + if (AGGetMachTaskEvents(task, &faults, NULL, NULL, NULL, NULL, NULL, NULL, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return faults; +} + +- (int)pageins { + int pageins; + if (AGGetMachTaskEvents(task, NULL, &pageins, NULL, NULL, NULL, NULL, NULL, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return pageins; +} + +- (int)copyOnWriteFaults { + int cow_faults; + if (AGGetMachTaskEvents(task, NULL, NULL, &cow_faults, NULL, NULL, NULL, NULL, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return cow_faults; +} + +- (int)messagesSent { + int messages_sent; + if (AGGetMachTaskEvents(task, NULL, NULL, NULL, &messages_sent, NULL, NULL, NULL, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return messages_sent; +} + +- (int)messagesReceived { + int messages_received; + if (AGGetMachTaskEvents(task, NULL, NULL, NULL, NULL, &messages_received, NULL, NULL, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return messages_received; +} + +- (int)machSystemCalls { + int syscalls_mach; + if (AGGetMachTaskEvents(task, NULL, NULL, NULL, NULL, NULL, &syscalls_mach, NULL, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return syscalls_mach; +} + +- (int)unixSystemCalls { + int syscalls_unix; + if (AGGetMachTaskEvents(task, NULL, NULL, NULL, NULL, NULL, NULL, &syscalls_unix, NULL) != KERN_SUCCESS) + return AGProcessValueUnknown; + return syscalls_unix; +} + +- (int)contextSwitches { + int csw; + if (AGGetMachTaskEvents(task, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &csw) != KERN_SUCCESS) + return AGProcessValueUnknown; + return csw; +} + +@end Property changes on: trunk/PreferencePane/PostgreSQL Server/AGProcess.m ___________________________________________________________________ Added: svn:executable + * Added: trunk/PreferencePane/PostgreSQL Server/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Property changes on: trunk/PreferencePane/PostgreSQL Server/English.lproj/InfoPlist.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib =================================================================== --- trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib (rev 0) +++ trunk/PreferencePane/PostgreSQL Server/English.lproj/PostgreSQL_ServerPref.xib 2008-10-30 18:17:07 UTC (rev 209) @@ -0,0 +1,1419 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> + <data> + <int key="IBDocument.SystemTarget">1050</int> + <string key="IBDocument.SystemVersion">9E17</string> + <string key="IBDocument.InterfaceBuilderVersion">670</string> + <string key="IBDocument.AppKitVersion">949.33</string> + <string key="IBDocument.HIToolboxVersion">352.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="NSMutableArray" key="IBDocument.RootObjects" id="409411428"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSCustomObject" id="294453543"> + <string key="NSClassName">PostgreSQL_ServerPref</string> + </object> + <object class="NSCustomObject" id="308860122"> + <string key="NSClassName">FirstResponder</string> + </object> + <object class="NSCustomObject" id="278121016"> + <string key="NSClassName">NSApplication</string> + </object> + <object class="NSWindowTemplate" id="660800786"> + <int key="NSWindowStyleMask">7</int> + <int key="NSWindowBacking">2</int> + <string key="NSWindowRect">{{-46, 463}, {661, 345}}</string> + <int key="NSWTFlags">1081606144</int> + <string type="base64-UTF8" key="NSWindowTitle">PDwgZG8gbm90IGxvY2FsaXplID4+A</string> + <string key="NSWindowClass">NSWindow</string> + <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">{224.664, 10}</string> + <object class="NSView" key="NSWindowView" id="1037298196"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSImageView" id="627609165"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">268</int> + <object class="NSMutableSet" key="NSDragTypes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="set.sortedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>Apple PDF pasteboard type</string> + <string>Apple PICT pasteboard type</string> + <string>Apple PNG pasteboard type</string> + <string>NSFilenamesPboardType</string> + <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string> + <string>NeXT TIFF v4.0 pasteboard type</string> + </object> + </object> + <string key="NSFrame">{{0, 94}, {289, 251}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <double key="NSViewAlphaValue">4.577465e-01</double> + <bool key="NSEnabled">YES</bool> + <object class="NSImageCell" key="NSCell" id="357708450"> + <int key="NSCellFlags">130560</int> + <int key="NSCellFlags2">33554432</int> + <object class="NSCustomResource" key="NSContents"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">postgres-logo</string> + </object> + <int key="NSAlign">0</int> + <int key="NSScale">0</int> + <int key="NSStyle">0</int> + <bool key="NSAnimates">NO</bool> + </object> + <bool key="NSEditable">YES</bool> + </object> + <object class="NSImageView" id="171549217"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <object class="NSMutableSet" key="NSDragTypes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="set.sortedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>Apple PDF pasteboard type</string> + <string>Apple PICT pasteboard type</string> + <string>Apple PNG pasteboard type</string> + <string>NSFilenamesPboardType</string> + <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string> + <string>NeXT TIFF v4.0 pasteboard type</string> + </object> + </object> + <string key="NSFrame">{{20, 101}, {138, 138}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSImageCell" key="NSCell" id="947598781"> + <int key="NSCellFlags">130560</int> + <int key="NSCellFlags2">33554432</int> + <object class="NSCustomResource" key="NSContents"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">xserve-unknown</string> + </object> + <int key="NSAlign">0</int> + <int key="NSScale">2</int> + <int key="NSStyle">0</int> + <bool key="NSAnimates">NO</bool> + </object> + <bool key="NSEditable">YES</bool> + </object> + <object class="NSButton" id="304276232"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{180, 196}, {40, 42}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="221416573"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <object class="NSFont" key="NSSupport" id="24"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.000000e+01</double> + <int key="NSfFlags">16</int> + </object> + <reference key="NSControlView" ref="304276232"/> + <int key="NSButtonFlags">-2037628673</int> + <int key="NSButtonFlags2">2</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">start</string> + </object> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <object class="NSButton" id="39267976"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{180, 152}, {40, 42}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="3864331"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="24"/> + <reference key="NSControlView" ref="39267976"/> + <int key="NSButtonFlags">-2037628673</int> + <int key="NSButtonFlags2">2</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">stop</string> + </object> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <object class="NSButton" id="176611005"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{180, 108}, {40, 42}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="986865757"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="24"/> + <reference key="NSControlView" ref="176611005"/> + <int key="NSButtonFlags">-2037628673</int> + <int key="NSButtonFlags2">2</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">restart</string> + </object> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <object class="NSButton" id="291656672"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{179, 81}, {175, 18}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="398026578"> + <int key="NSCellFlags">604110336</int> + <int key="NSCellFlags2">131072</int> + <string key="NSContents">Auto-start service at boot</string> + <object class="NSFont" key="NSSupport" id="26"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.100000e+01</double> + <int key="NSfFlags">3100</int> + </object> + <reference key="NSControlView" ref="291656672"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <object class="NSButtonImageSource" key="NSAlternateImage"> + <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="NSTextField" id="1054078456"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{20, 60}, {335, 11}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="295520004"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">4194304</int> + <string key="NSContents">Current Status: Unknown</string> + <object class="NSFont" key="NSSupport"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">9.000000e+00</double> + <int key="NSfFlags">3614</int> + </object> + <reference key="NSControlView" ref="1054078456"/> + <object class="NSColor" key="NSBackgroundColor" id="271454391"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC41MDE5NjA4MSAwLjUwMTk2MDgxIDAuNTAxOTYwODEAA</bytes> + </object> + </object> + </object> + <object class="NSBox" id="135244490"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{23, 72}, {329, 5}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <object class="NSFont" key="NSSupport" id="834305099"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.300000e+01</double> + <int key="NSfFlags">1044</int> + </object> + <object class="NSColor" key="NSBackgroundColor" id="355701703"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">textBackgroundColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <int key="NSBorderType">3</int> + <int key="NSBoxType">2</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSTextField" id="979487735"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{223, 212}, {80, 13}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="967200391"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">4194304</int> + <string key="NSContents">Start</string> + <object class="NSFont" key="NSSupport" id="776402491"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.000000e+01</double> + <int key="NSfFlags">2843</int> + </object> + <reference key="NSControlView" ref="979487735"/> + <reference key="NSBackgroundColor" ref="271454391"/> + <object class="NSColor" key="NSTextColor" id="1027142172"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlTextColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + </object> + </object> + </object> + <object class="NSTextField" id="609154561"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{223, 168}, {80, 13}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="303770490"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">4194304</int> + <string key="NSContents">Stop</string> + <reference key="NSSupport" ref="776402491"/> + <reference key="NSControlView" ref="609154561"/> + <reference key="NSBackgroundColor" ref="271454391"/> + <reference key="NSTextColor" ref="1027142172"/> + </object> + </object> + <object class="NSTextField" id="140310987"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{223, 124}, {80, 13}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="566973395"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">4194304</int> + <string key="NSContents">Restart</string> + <reference key="NSSupport" ref="776402491"/> + <reference key="NSControlView" ref="140310987"/> + <reference key="NSBackgroundColor" ref="271454391"/> + <reference key="NSTextColor" ref="1027142172"/> + </object> + </object> + <object class="NSProgressIndicator" id="341207287"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">-2147482368</int> + <object class="NSPSMatrix" key="NSDrawMatrix"/> + <string key="NSFrame">{{109, 116}, {32, 32}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <int key="NSpiFlags">28682</int> + <double key="NSMaxValue">1.000000e+02</double> + </object> + <object class="NSTextField" id="582898452"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{57, 26}, {205, 17}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="912924051"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">Click the lock to make changes.</string> + <reference key="NSSupport" ref="834305099"/> + <reference key="NSControlView" ref="582898452"/> + <reference key="NSBackgroundColor" ref="271454391"/> + <reference key="NSTextColor" ref="1027142172"/> + </object> + </object> + <object class="NSButton" id="487703545"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{619, 19}, {25, 25}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="520371744"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="834305099"/> + <reference key="NSControlView" ref="487703545"/> + <int key="NSButtonFlags">-2038415105</int> + <int key="NSButtonFlags2">161</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSTextField" id="58562495"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{20, 247}, {335, 78}}</string> + <reference key="NSSuperview" ref="1037298196"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="810169047"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">272891904</int> + <string key="NSContents">Manage PostgreSQL Server on the local host. Start, Stop, Restart as well as change fundamental configurations for the PostgreSQL instance.</string> + <object class="NSFont" key="NSSupport"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.300000e+01</double> + <int key="NSfFlags">16</int> + </object> + <reference key="NSControlView" ref="58562495"/> + <reference key="NSBackgroundColor" ref="271454391"/> + <reference key="NSTextColor" ref="1027142172"/> + </object> + </object> + <object class="NSBox" id="328183076"> + <reference key="NSNextResponder" ref="1037298196"/> + <int key="NSvFlags">12</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="524366641"> + <reference key="NSNextResponder" ref="328183076"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + ... [truncated message content] |
From: <haw...@us...> - 2008-10-30 15:47:46
|
Revision: 208 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=208&view=rev Author: hawkmoon Date: 2008-10-30 15:47:44 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Resolved Bug: #1956163 - Altered Update code to update more frequently, and generally improve responsiveness. The Restart process now shows the stop and start. Modified Paths: -------------- trunk/ServiceManager/English.lproj/InfoPlist.strings trunk/ServiceManager/Info.plist trunk/ServiceManager/SQLServiceManager.h trunk/ServiceManager/SQLServiceManager.m Removed Paths: ------------- trunk/ServiceManager/Service Manager.xcode/ Modified: trunk/ServiceManager/English.lproj/InfoPlist.strings =================================================================== --- trunk/ServiceManager/English.lproj/InfoPlist.strings 2008-10-30 14:59:39 UTC (rev 207) +++ trunk/ServiceManager/English.lproj/InfoPlist.strings 2008-10-30 15:47:44 UTC (rev 208) @@ -1,6 +1,6 @@ \xFE\xFF |
From: <haw...@us...> - 2008-10-30 14:59:46
|
Revision: 207 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=207&view=rev Author: hawkmoon Date: 2008-10-30 14:59:39 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Resolved Bug: #1956172 - read buffer was too small and when paired with how NSLog() was being used caused strange output into the console. Modified Paths: -------------- trunk/ServiceManager/SQLServiceManager.m Modified: trunk/ServiceManager/SQLServiceManager.m =================================================================== --- trunk/ServiceManager/SQLServiceManager.m 2008-10-30 14:37:59 UTC (rev 206) +++ trunk/ServiceManager/SQLServiceManager.m 2008-10-30 14:59:39 UTC (rev 207) @@ -216,7 +216,7 @@ do { - AuthorizationItem myItems = {kAuthorizationRightExecute, [pathToHelper length], [pathToHelper cString], 0}; + AuthorizationItem myItems = {kAuthorizationRightExecute, [pathToHelper length], (char *)[pathToHelper cString], 0}; AuthorizationRights myRights = {1, &myItems}; myFlags = kAuthorizationFlagDefaults | @@ -231,13 +231,12 @@ const char *myToolPath = [pathToHelper cString]; char *myArguments[4]; - myArguments[0] = [command cString]; - myArguments[1] = [operation cString]; + myArguments[0] = (char *)[command cString]; + myArguments[1] = (char *)[operation cString]; myArguments[2] = "MANUAL"; myArguments[3] = NULL; FILE *myCommunicationsPipe = NULL; - char myReadBuffer[128]; myFlags = kAuthorizationFlagDefaults; myStatus = AuthorizationExecuteWithPrivileges(myAuthorizationRef, @@ -246,8 +245,10 @@ if (myStatus == errAuthorizationSuccess) for(;;) { - int bytesRead = read (fileno (myCommunicationsPipe), - myReadBuffer, sizeof (myReadBuffer)); + char myReadBuffer[1024]; + + int bytesRead = read(fileno(myCommunicationsPipe), + myReadBuffer, sizeof(myReadBuffer)); if (bytesRead < 1) break; NSLog(@"%s", myReadBuffer); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-10-30 14:38:05
|
Revision: 206 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=206&view=rev Author: hawkmoon Date: 2008-10-30 14:37:59 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Resolved Bug: #1991926 - isEOF logic flawed, used submited patch. Modified Paths: -------------- trunk/PGSQLKit/PGSQLRecordset.m Modified: trunk/PGSQLKit/PGSQLRecordset.m =================================================================== --- trunk/PGSQLKit/PGSQLRecordset.m 2008-10-30 02:04:16 UTC (rev 205) +++ trunk/PGSQLKit/PGSQLRecordset.m 2008-10-30 14:37:59 UTC (rev 206) @@ -41,7 +41,7 @@ [columns addObject:column]; } - if (iCols == 0) + if (rowCount == 0) { isEOF = YES; return self; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-10-30 02:04:26
|
Revision: 205 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=205&view=rev Author: hawkmoon Date: 2008-10-30 02:04:16 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Initial Add of Generalized build workflows in the ongoing process of cleansing the the scripts of environment specific details. Added Paths: ----------- trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/ trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/ trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/QuickLook/ trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/QuickLook/Preview.pdf trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/document.wflow trunk/BuildScripts/Merge Binaries into Universal Binary.workflow/ trunk/BuildScripts/Merge Binaries into Universal Binary.workflow/Contents/ trunk/BuildScripts/Merge Binaries into Universal Binary.workflow/Contents/QuickLook/ trunk/BuildScripts/Merge Binaries into Universal Binary.workflow/Contents/QuickLook/Preview.pdf trunk/BuildScripts/Merge Binaries into Universal Binary.workflow/Contents/document.wflow Added: trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/QuickLook/Preview.pdf =================================================================== (Binary files differ) Property changes on: trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/QuickLook/Preview.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/document.wflow =================================================================== --- trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/document.wflow (rev 0) +++ trunk/BuildScripts/Build Latest PostgreSQL 64bit.workflow/Contents/document.wflow 2008-10-30 02:04:16 UTC (rev 205) @@ -0,0 +1,3628 @@ +<?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>AMApplicationBuild</key> + <string>160</string> + <key>AMApplicationVersion</key> + <string>2.0.2</string> + <key>AMDocumentVersion</key> + <string>2</string> + <key>actions</key> + <array> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array/> + </dict> + <key>AMActionVersion</key> + <string>1.0</string> + <key>AMParameterProperties</key> + <dict> + <key>dialogMessage</key> + <dict/> + <key>timeoutValue</key> + <dict/> + <key>useTimeout</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array/> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Wait for User Action.action</string> + <key>ActionName</key> + <string>Wait for User Action</string> + <key>ActionParameters</key> + <dict> + <key>dialogMessage</key> + <string>Please backup and remove any current /Library/PostgreSQL8 and /opt/local folders or they will be overwritten.</string> + <key>timeoutValue</key> + <real>2</real> + <key>useTimeout</key> + <true/> + </dict> + <key>Application</key> + <array> + <string>Automator</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.FloatingDialog</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <false/> + <key>Category</key> + <array> + <string>AMCategoryUtilities</string> + </array> + <key>Class Name</key> + <string>AMWait_For_User_Action</string> + <key>InputUUID</key> + <string>ED7D1EB4-9761-47FA-A8B6-90234AB51C55</string> + <key>Keywords</key> + <array> + <string>Prompt</string> + <string>Wait</string> + </array> + <key>OutputUUID</key> + <string>4413CBE0-43F6-478B-8BB8-9E8E98C0F782</string> + <key>UUID</key> + <string>B98333EA-40D9-482B-8D7B-970B1E354FBF</string> + <key>UnlocalizedApplications</key> + <array> + <string>Automator</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <string>Perform an action, then click “Continue” to proceed.</string> + <key>name</key> + <string>dialogMessage</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + <key>1</key> + <dict> + <key>default value</key> + <integer>1</integer> + <key>name</key> + <string>timeoutValue</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>1</string> + </dict> + <key>2</key> + <dict> + <key>default value</key> + <true/> + <key>name</key> + <string>useTimeout</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>2</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:1145.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Wait for User Action.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array> + <string>com.apple.applescript.url-object</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.1</string> + <key>AMParameterProperties</key> + <dict> + <key>URLlist</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.applescript.url-object</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Get Specified URLs.action</string> + <key>ActionName</key> + <string>Get Specified URLs</string> + <key>ActionParameters</key> + <dict> + <key>URLlist</key> + <array> + <array> + <true/> + <string>PostgreSQL</string> + <string>http://www.postgresql.org/ftp/source/</string> + </array> + </array> + </dict> + <key>Application</key> + <array> + <string>Safari</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.URLList</string> + <key>CFBundleVersion</key> + <string>1.1</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryInternet</string> + </array> + <key>Class Name</key> + <string>AMAppleScriptAction</string> + <key>IgnoresInput</key> + <true/> + <key>InputUUID</key> + <string>3FA284F3-B5F6-497C-8548-0BDBB4A07B24</string> + <key>Keywords</key> + <array> + <string>Web</string> + <string>URL</string> + <string>Library</string> + </array> + <key>OutputUUID</key> + <string>30398499-CC0F-47B4-B705-034938DF8281</string> + <key>UUID</key> + <string>EB7F25A6-878C-4ADC-A64C-A1AB558F67C2</string> + <key>UnlocalizedApplications</key> + <array> + <string>Safari</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <array/> + <key>name</key> + <string>URLlist</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:1103.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Get Specified URLs.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <false/> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.3</string> + <key>AMParameterProperties</key> + <dict> + <key>localOnly</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMRequiredResources</key> + <array/> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Get Link URLs from Webpages.action</string> + <key>ActionName</key> + <string>Get Link URLs from Webpages</string> + <key>ActionParameters</key> + <dict> + <key>localOnly</key> + <true/> + </dict> + <key>Application</key> + <array> + <string>Safari</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.GetLinkURLsFromWebpages</string> + <key>CFBundleVersion</key> + <string>1.3</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryInternet</string> + </array> + <key>Class Name</key> + <string>GetLinkURLsClass</string> + <key>InputUUID</key> + <string>20C01AE4-4282-446F-B15C-70EBBB751925</string> + <key>Keywords</key> + <array/> + <key>OutputUUID</key> + <string>1EB665C7-2BCA-4E01-85E6-499ED37419C6</string> + <key>UUID</key> + <string>72FDF2FB-B151-4AB4-9966-5A28F74717B2</string> + <key>UnlocalizedApplications</key> + <array> + <string>Safari</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <true/> + <key>name</key> + <string>localOnly</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:1061.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Get Link URLs from Webpages.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <false/> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.0</string> + <key>AMParameterProperties</key> + <dict> + <key>comparisonOperator</key> + <dict/> + <key>comparisonProperty</key> + <dict/> + <key>comparisonValue</key> + <dict/> + <key>findingName</key> + <dict/> + <key>whoseSettings</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Filter URLs.action</string> + <key>ActionName</key> + <string>Filter URLs</string> + <key>ActionParameters</key> + <dict> + <key>comparisonOperator</key> + <string>contains</string> + <key>comparisonProperty</key> + <string>name</string> + <key>comparisonValue</key> + <string></string> + <key>findingName</key> + <string>urls</string> + <key>whoseSettings</key> + <array> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>contains</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>/ftp/source/v</string> + </dict> + </array> + </dict> + <key>Application</key> + <array> + <string>Safari</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.FilterURLs</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryInternet</string> + </array> + <key>Class Name</key> + <string>FilterURLsAction</string> + <key>Disabled</key> + <false/> + <key>InputUUID</key> + <string>74BEABA0-6BA8-467A-9632-69CC2747802A</string> + <key>Keywords</key> + <array> + <string>Filter</string> + <string>File</string> + <string>Folder</string> + <string>Kind</string> + <string>Type</string> + <string>Name</string> + <string>Extension</string> + </array> + <key>OutputUUID</key> + <string>2A478342-5302-4ABC-B7F0-69AD819CC1A4</string> + <key>UUID</key> + <string>C2F87E66-8BDD-4946-85B3-EC886F4E958A</string> + <key>UnlocalizedApplications</key> + <array> + <string>Safari</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <array> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>contains</string> + <key>type</key> + <string></string> + <key>value</key> + <string></string> + </dict> + </array> + <key>name</key> + <string>whoseSettings</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + <key>1</key> + <dict> + <key>default value</key> + <string>url</string> + <key>name</key> + <string>comparisonProperty</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>1</string> + </dict> + <key>2</key> + <dict> + <key>default value</key> + <string></string> + <key>name</key> + <string>comparisonValue</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>2</string> + </dict> + <key>3</key> + <dict> + <key>default value</key> + <string>contains</string> + <key>name</key> + <string>comparisonOperator</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>3</string> + </dict> + <key>4</key> + <dict> + <key>default value</key> + <string>urls</string> + <key>name</key> + <string>findingName</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>4</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:1019.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Filter URLs.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array> + <string>com.apple.applescript.object</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.0</string> + <key>AMParameterProperties</key> + <dict> + <key>source</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.applescript.object</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Run AppleScript.action</string> + <key>ActionName</key> + <string>Run AppleScript</string> + <key>ActionParameters</key> + <dict> + <key>source</key> + <string>on run {input, parameters} + set selectedVersion to "0.0.0" + set versions to {} + repeat with anItem in input + set versionInfo to (items 39 thru (length of anItem) of anItem) as text + set versions to versions & versionInfo + + end repeat + + -- loop the versions to get the one we want. + + set currentVersion to "0.0.0" + set x to 1 + + repeat with anItem in versions + set AppleScript's text item delimiters to "." + set the versionElements to every text item of the anItem + set AppleScript's text item delimiters to "" + + set AppleScript's text item delimiters to "." + set the selectedVersionElements to every text item of the currentVersion + set AppleScript's text item delimiters to "" + + if (item 1 of versionElements > item 1 of selectedVersionElements) then + set currentVersion to anItem + set selectedVersion to item x of input + end if + + if (item 1 of versionElements = item 1 of selectedVersionElements) then + if (item 2 of versionElements > item 2 of selectedVersionElements) then + set currentVersion to anItem + set selectedVersion to item x of input + end if + end if + + if (item 1 of versionElements = item 1 of selectedVersionElements) then + if (item 2 of versionElements = item 2 of selectedVersionElements) then + if (item 3 of versionElements > item 3 of selectedVersionElements) then + set currentVersion to anItem + set selectedVersion to item x of input + end if + end if + end if + + set x to x + 1 + end repeat + + return selectedVersion +end run</string> + </dict> + <key>Application</key> + <array> + <string>Automator</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.RunScript</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CanShowSelectedItemsWhenRun</key> + <false/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryUtilities</string> + </array> + <key>Class Name</key> + <string>RunScriptAction</string> + <key>Disabled</key> + <false/> + <key>InputUUID</key> + <string>57B3E654-4F4D-4D39-9D68-73D8EFEFB328</string> + <key>Keywords</key> + <array> + <string>Run</string> + </array> + <key>OutputUUID</key> + <string>1983A4C7-B657-453D-8AAB-99C020FE6CE7</string> + <key>UUID</key> + <string>14175E4F-BEBB-4998-B5DC-21E0D97BE270</string> + <key>UnlocalizedApplications</key> + <array> + <string>Automator</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <string>on run {input, parameters} + + (* Your script goes here *) + + return input +end run</string> + <key>name</key> + <string>source</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:977.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Run AppleScript.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <false/> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.3</string> + <key>AMParameterProperties</key> + <dict> + <key>localOnly</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMRequiredResources</key> + <array/> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Get Link URLs from Webpages.action</string> + <key>ActionName</key> + <string>Get Link URLs from Webpages</string> + <key>ActionParameters</key> + <dict> + <key>localOnly</key> + <true/> + </dict> + <key>Application</key> + <array> + <string>Safari</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.GetLinkURLsFromWebpages</string> + <key>CFBundleVersion</key> + <string>1.3</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryInternet</string> + </array> + <key>Class Name</key> + <string>GetLinkURLsClass</string> + <key>InputUUID</key> + <string>85357A5E-FD26-4B78-BC75-C2A860B761B4</string> + <key>Keywords</key> + <array/> + <key>OutputUUID</key> + <string>D8CCF5CF-84E6-478A-9841-D7F575429B2B</string> + <key>UUID</key> + <string>7DD3B7B9-3FE2-4859-9F5C-C032DA6D7361</string> + <key>UnlocalizedApplications</key> + <array> + <string>Safari</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <true/> + <key>name</key> + <string>localOnly</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:935.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Get Link URLs from Webpages.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <false/> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.0</string> + <key>AMParameterProperties</key> + <dict> + <key>comparisonOperator</key> + <dict/> + <key>comparisonProperty</key> + <dict/> + <key>comparisonValue</key> + <dict/> + <key>findingName</key> + <dict/> + <key>whoseSettings</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Filter URLs.action</string> + <key>ActionName</key> + <string>Filter URLs</string> + <key>ActionParameters</key> + <dict> + <key>comparisonOperator</key> + <string>contains</string> + <key>comparisonProperty</key> + <string>name</string> + <key>comparisonValue</key> + <string></string> + <key>findingName</key> + <string>urls</string> + <key>whoseSettings</key> + <array> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>contains</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>postgresql-</string> + </dict> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>ends with</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>.tar.gz</string> + </dict> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>does not contain</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>-base</string> + </dict> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>does not contain</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>-opt</string> + </dict> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>does not contain</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>-test</string> + </dict> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>does not contain</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>-docs</string> + </dict> + </array> + </dict> + <key>Application</key> + <array> + <string>Safari</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.FilterURLs</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryInternet</string> + </array> + <key>Class Name</key> + <string>FilterURLsAction</string> + <key>Disabled</key> + <false/> + <key>InputUUID</key> + <string>6D45CD1E-5181-42BB-8346-6302D6E9D3EA</string> + <key>Keywords</key> + <array> + <string>Filter</string> + <string>File</string> + <string>Folder</string> + <string>Kind</string> + <string>Type</string> + <string>Name</string> + <string>Extension</string> + </array> + <key>OutputUUID</key> + <string>6B831428-B6EC-4556-8A50-799A893016E2</string> + <key>UUID</key> + <string>DDAC64F1-BAC0-492F-9F07-72FDC664AE04</string> + <key>UnlocalizedApplications</key> + <array> + <string>Safari</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <array> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>contains</string> + <key>type</key> + <string></string> + <key>value</key> + <string></string> + </dict> + </array> + <key>name</key> + <string>whoseSettings</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + <key>1</key> + <dict> + <key>default value</key> + <string>url</string> + <key>name</key> + <string>comparisonProperty</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>1</string> + </dict> + <key>2</key> + <dict> + <key>default value</key> + <string></string> + <key>name</key> + <string>comparisonValue</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>2</string> + </dict> + <key>3</key> + <dict> + <key>default value</key> + <string>contains</string> + <key>name</key> + <string>comparisonOperator</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>3</string> + </dict> + <key>4</key> + <dict> + <key>default value</key> + <string>urls</string> + <key>name</key> + <string>findingName</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>4</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:893.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Filter URLs.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <false/> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.3</string> + <key>AMParameterProperties</key> + <dict> + <key>localOnly</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMRequiredResources</key> + <array/> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Get Link URLs from Webpages.action</string> + <key>ActionName</key> + <string>Get Link URLs from Webpages</string> + <key>ActionParameters</key> + <dict> + <key>localOnly</key> + <true/> + </dict> + <key>Application</key> + <array> + <string>Safari</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.GetLinkURLsFromWebpages</string> + <key>CFBundleVersion</key> + <string>1.3</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryInternet</string> + </array> + <key>Class Name</key> + <string>GetLinkURLsClass</string> + <key>InputUUID</key> + <string>B091A0C5-63A1-4310-A150-C79B162D1A51</string> + <key>Keywords</key> + <array/> + <key>OutputUUID</key> + <string>4775C55F-B9BA-45C3-AD72-FE81B0233531</string> + <key>UUID</key> + <string>DD65918F-0896-47B9-83D1-88B8F9072DAF</string> + <key>UnlocalizedApplications</key> + <array> + <string>Safari</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <true/> + <key>name</key> + <string>localOnly</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:851.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Get Link URLs from Webpages.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <false/> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.0</string> + <key>AMParameterProperties</key> + <dict> + <key>comparisonOperator</key> + <dict/> + <key>comparisonProperty</key> + <dict/> + <key>comparisonValue</key> + <dict/> + <key>findingName</key> + <dict/> + <key>whoseSettings</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Filter URLs.action</string> + <key>ActionName</key> + <string>Filter URLs</string> + <key>ActionParameters</key> + <dict> + <key>comparisonOperator</key> + <string>contains</string> + <key>comparisonProperty</key> + <string>url</string> + <key>comparisonValue</key> + <string></string> + <key>findingName</key> + <string>urls</string> + <key>whoseSettings</key> + <array> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>ends with</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>.tar.gz</string> + </dict> + </array> + </dict> + <key>Application</key> + <array> + <string>Safari</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.FilterURLs</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryInternet</string> + </array> + <key>Class Name</key> + <string>FilterURLsAction</string> + <key>InputUUID</key> + <string>BC31B707-B9FD-471B-9357-276FC4C7BDEE</string> + <key>Keywords</key> + <array> + <string>Filter</string> + <string>File</string> + <string>Folder</string> + <string>Kind</string> + <string>Type</string> + <string>Name</string> + <string>Extension</string> + </array> + <key>OutputUUID</key> + <string>836BB470-7F8C-4CC7-B06B-EE21F9CB0EF4</string> + <key>UUID</key> + <string>7C74CFAB-511C-4A96-A715-4E79C5AED2B5</string> + <key>UnlocalizedApplications</key> + <array> + <string>Safari</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <array> + <dict> + <key>property</key> + <string>url</string> + <key>qualifier</key> + <string>contains</string> + <key>type</key> + <string></string> + <key>value</key> + <string></string> + </dict> + </array> + <key>name</key> + <string>whoseSettings</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + <key>1</key> + <dict> + <key>default value</key> + <string>url</string> + <key>name</key> + <string>comparisonProperty</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>1</string> + </dict> + <key>2</key> + <dict> + <key>default value</key> + <string></string> + <key>name</key> + <string>comparisonValue</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>2</string> + </dict> + <key>3</key> + <dict> + <key>default value</key> + <string>contains</string> + <key>name</key> + <string>comparisonOperator</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>3</string> + </dict> + <key>4</key> + <dict> + <key>default value</key> + <string>urls</string> + <key>name</key> + <string>findingName</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>4</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:809.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Filter URLs.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array> + <string>com.apple.applescript.object</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.0</string> + <key>AMParameterProperties</key> + <dict> + <key>source</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.applescript.object</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Run AppleScript.action</string> + <key>ActionName</key> + <string>Run AppleScript</string> + <key>ActionParameters</key> + <dict> + <key>source</key> + <string>on run {input, parameters} + return some item of input +end run</string> + </dict> + <key>Application</key> + <array> + <string>Automator</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.RunScript</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CanShowSelectedItemsWhenRun</key> + <false/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryUtilities</string> + </array> + <key>Class Name</key> + <string>RunScriptAction</string> + <key>Disabled</key> + <false/> + <key>InputUUID</key> + <string>5BD6CB38-8B8C-4BF5-8D6D-C49845B767D5</string> + <key>Keywords</key> + <array> + <string>Run</string> + </array> + <key>OutputUUID</key> + <string>4ED5876C-2ED5-4713-932E-846D939CBAE5</string> + <key>UUID</key> + <string>8F0D404E-C227-4933-B03E-32CDD74B0B7F</string> + <key>UnlocalizedApplications</key> + <array> + <string>Automator</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <string>on run {input, parameters} + + (* Your script goes here *) + + return input +end run</string> + <key>name</key> + <string>source</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:767.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Run AppleScript.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <false/> + <key>Types</key> + <array> + <string>com.apple.cocoa.url</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.1</string> + <key>AMParameterProperties</key> + <dict> + <key>destinationPath</key> + <dict> + <key>isPathPopUp</key> + <true/> + <key>variableUUIDsInMenu</key> + <array/> + </dict> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.path</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Download URLs.action</string> + <key>ActionName</key> + <string>Download URLs</string> + <key>ActionNameComment</key> + <string>Downloading Source Tar</string> + <key>ActionParameters</key> + <dict> + <key>destinationPath</key> + <string>/private/var/tmp/postgres</string> + </dict> + <key>Application</key> + <array> + <string>Safari</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.DownloadInternetFile</string> + <key>CFBundleVersion</key> + <string>1.1</string> + <key>CanShowSelectedItemsWhenRun</key> + <true/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryInternet</string> + </array> + <key>Class Name</key> + <string>DownloadURLsAction</string> + <key>Disabled</key> + <false/> + <key>InputUUID</key> + <string>83E15BD8-55DD-4218-B3F1-3CF6FD404884</string> + <key>Keywords</key> + <array> + <string>File</string> + <string>URL</string> + <string>Web</string> + <string>Download</string> + <string>Get</string> + </array> + <key>OutputUUID</key> + <string>1C6DDD11-3B3E-4B7D-82C4-5ADA92CBA6B7</string> + <key>ShowWhenRun</key> + <false/> + <key>UUID</key> + <string>AE3F6EDD-891C-404D-AEF9-CE8209C1F6F7</string> + <key>UnlocalizedApplications</key> + <array> + <string>Safari</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <string>~/Downloads</string> + <key>name</key> + <string>destinationPath</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:725.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Download URLs.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array> + <string>com.apple.cocoa.path</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.1.1</string> + <key>AMParameterProperties</key> + <dict> + <key>findingName</key> + <dict/> + <key>where</key> + <dict> + <key>isPathPopUp</key> + <true/> + <key>variableUUIDsInMenu</key> + <array/> + </dict> + <key>whoseSettings</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.path</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Find Finder Items.action</string> + <key>ActionName</key> + <string>Find Finder Items</string> + <key>ActionParameters</key> + <dict> + <key>findingName</key> + <string>items</string> + <key>where</key> + <string>/var/tmp/postgres</string> + <key>whoseSettings</key> + <array> + <dict> + <key>property</key> + <string>name</string> + <key>qualifier</key> + <string>begins with</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>postgresql-</string> + </dict> + <dict> + <key>property</key> + <string>name</string> + <key>qualifier</key> + <string>ends with</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>.tar</string> + </dict> + </array> + </dict> + <key>Application</key> + <array> + <string>Finder</string> + <string>Spotlight</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.FindFinderItems</string> + <key>CFBundleVersion</key> + <string>1.1.1</string> + <key>CanShowSelectedItemsWhenRun</key> + <false/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryFilesAndFolders</string> + </array> + <key>Class Name</key> + <string>FindFinderItemsAction</string> + <key>IgnoresInput</key> + <true/> + <key>InputUUID</key> + <string>D8878F3B-3BD7-42BE-9116-9A747E9E6713</string> + <key>Keywords</key> + <array/> + <key>OutputUUID</key> + <string>59EBDC10-3501-445A-A46C-3985D646FF23</string> + <key>UUID</key> + <string>B2E42728-D333-456D-B5A2-CC21E073E00B</string> + <key>UnlocalizedApplications</key> + <array> + <string>Finder</string> + <string>Spotlight</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <string></string> + <key>name</key> + <string>where</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:683.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Find Finder Items.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array> + <string>com.apple.applescript.object</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.0</string> + <key>AMParameterProperties</key> + <dict> + <key>source</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.applescript.object</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Run AppleScript.action</string> + <key>ActionName</key> + <string>Run AppleScript</string> + <key>ActionParameters</key> + <dict> + <key>source</key> + <string>on run {input, parameters} + set filePath to POSIX path of first item of input + set folderPath to replace_chars(filePath, ".tar", "") + set filePath to replace_chars(filePath, " ", "\\ ") + do shell script "cd /var/tmp/postgres;tar xf " & filePath + + set AppleScript's text item delimiters to "/" + set the pathElements to every text item of filePath + set AppleScript's text item delimiters to "" + + return folderPath +end run + +on replace_chars(this_text, search_string, replacement_string) + set AppleScript's text item delimiters to the search_string + set the item_list to every text item of this_text + set AppleScript's text item delimiters to the replacement_string + set this_text to the item_list as string + set AppleScript's text item delimiters to "" + return this_text +end replace_chars +</string> + </dict> + <key>Application</key> + <array> + <string>Automator</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.RunScript</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CanShowSelectedItemsWhenRun</key> + <false/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryUtilities</string> + </array> + <key>Class Name</key> + <string>RunScriptAction</string> + <key>InputUUID</key> + <string>EA7EFC04-0229-4459-8492-CD2F4A3C5E85</string> + <key>Keywords</key> + <array> + <string>Run</string> + </array> + <key>OutputUUID</key> + <string>AE9E6F86-90D7-4982-90FA-9A82899E846B</string> + <key>UUID</key> + <string>13E1362A-4D06-4247-B6E1-A4026D1A673D</string> + <key>UnlocalizedApplications</key> + <array> + <string>Automator</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <string>on run {input, parameters} + + (* Your script goes here *) + + return input +end run</string> + <key>name</key> + <string>source</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:641.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Run AppleScript.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array> + <string>com.apple.cocoa.string</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>2.0.1</string> + <key>AMParameterProperties</key> + <dict> + <key>COMMAND_STRING</key> + <dict/> + <key>CheckedForUserDefaultShell</key> + <dict/> + <key>inputMethod</key> + <dict/> + <key>shell</key> + <dict/> + <key>source</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.string</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Run Shell Script.action</string> + <key>ActionName</key> + <string>Run Shell Script</string> + <key>ActionNameComment</key> + <string>Configure and Build 64bit Universal for /opt/local tree</string> + <key>ActionParameters</key> + <dict> + <key>COMMAND_STRING</key> + <string>cd "$1" +echo $PWD + +export SDK=/Developer/SDKs/MacOSX10.5.sdk +export CFLAGS="-O -mmacosx-version-min=10.5 -arch ppc64 -arch x86_64 -isysroot $SDK" +export LDFLAGS="-arch x86_64 -arch ppc64 -lz -liconv -ltcl" +export LD="gcc -mmacosx-version-min=10.4 -isysroot $SDK -nostartfiles -arch x86_64 -arch ppc64" + +./configure --prefix=/opt/local --with-openssl --with-bonjour --with-perl --with-pam --with-krb5 --with-ldap --with-tcl --with-python --enable-static --disable-shared --disable-dependency-tracking + +MACOSX_DEPLOYMENT_TARGET=10.5 make -j 2 + +echo $1 +</string> + <key>CheckedForUserDefaultShell</key> + <true/> + <key>inputMethod</key> + <integer>1</integer> + <key>shell</key> + <string>/bin/bash</string> + <key>source</key> + <string></string> + </dict> + <key>Application</key> + <array> + <string>Automator</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.RunShellScript</string> + <key>CFBundleVersion</key> + <string>2.0.1</string> + <key>CanShowSelectedItemsWhenRun</key> + <false/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryUtilities</string> + </array> + <key>Class Name</key> + <string>RunShellScriptAction</string> + <key>InputUUID</key> + <string>C4A5EE55-118D-449F-ACC6-9E5236E90955</string> + <key>Keywords</key> + <array> + <string>Shell</string> + <string>Script</string> + <string>Command</string> + <string>Run</string> + <string>Unix</string> + </array> + <key>OutputUUID</key> + <string>3E8A612B-6CA2-4501-98A7-4CC99CBAE069</string> + <key>UUID</key> + <string>F52AA24C-7CFB-4DF8-826F-514F084B8569</string> + <key>UnlocalizedApplications</key> + <array> + <string>Automator</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <integer>0</integer> + <key>name</key> + <string>inputMethod</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + <key>1</key> + <dict> + <key>default value</key> + <string>/bin/sh</string> + <key>name</key> + <string>shell</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>1</string> + </dict> + <key>2</key> + <dict> + <key>default value</key> + <string></string> + <key>name</key> + <string>source</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>2</string> + </dict> + <key>3</key> + <dict> + <key>default value</key> + <string></string> + <key>name</key> + <string>COMMAND_STRING</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>3</string> + </dict> + <key>4</key> + <dict> + <key>default value</key> + <false/> + <key>name</key> + <string>CheckedForUserDefaultShell</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>4</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:599.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Run Shell Script.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array> + <string>com.apple.applescript.object</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.0</string> + <key>AMParameterProperties</key> + <dict> + <key>source</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.applescript.object</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Run AppleScript.action</string> + <key>ActionName</key> + <string>Run AppleScript</string> + <key>ActionNameComment</key> + <string>Install 64bit /opt/local tree (must change adminPassword before use)</string> + <key>ActionParameters</key> + <dict> + <key>source</key> + <string> +on run {input, parameters} + set adminPassword to "modify_to_your_password" + + set workingPath to last item of input + set results to do shell script "cd \"" & workingPath & "\";make install" password adminPassword with administrator privileges + set results to do shell script "mv /opt /var/tmp/merge/64/" password adminPassword with administrator privileges + + set results to do shell script "rm -rf \"" & workingPath & "\"" + + return workingPath +end run</string> + </dict> + <key>Application</key> + <array> + <string>Automator</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.RunScript</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CanShowSelectedItemsWhenRun</key> + <false/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryUtilities</string> + </array> + <key>Class Name</key> + <string>RunScriptAction</string> + <key>InputUUID</key> + <string>E3B673A5-D145-4410-9C05-4C31C8E6D3F7</string> + <key>Keywords</key> + <array> + <string>Run</string> + </array> + <key>OutputUUID</key> + <string>61EA7A36-F632-4506-913A-2736A2A6E3E6</string> + <key>StartAction</key> + <false/> + <key>UUID</key> + <string>0E1A8CEF-3DA8-4BEF-86A1-F8649B5F869F</string> + <key>UnlocalizedApplications</key> + <array> + <string>Automator</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <string>on run {input, parameters} + + (* Your script goes here *) + + return input +end run</string> + <key>name</key> + <string>source</string> + <key>required</key> + <string>0</string> + <key>type</key> + <string>0</string> + <key>uuid</key> + <string>0</string> + </dict> + </dict> + <key>isViewVisible</key> + <false/> + <key>location</key> + <string>339.000000:557.000000</string> + <key>nibPath</key> + <string>/System/Library/Automator/Run AppleScript.action/Contents/Resources/English.lproj/main.nib</string> + </dict> + <key>isViewVisible</key> + <false/> + </dict> + <dict> + <key>action</key> + <dict> + <key>AMAccepts</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Optional</key> + <true/> + <key>Types</key> + <array> + <string>com.apple.cocoa.path</string> + </array> + </dict> + <key>AMActionVersion</key> + <string>1.1.1</string> + <key>AMParameterProperties</key> + <dict> + <key>findingName</key> + <dict/> + <key>where</key> + <dict> + <key>isPathPopUp</key> + <true/> + <key>variableUUIDsInMenu</key> + <array/> + </dict> + <key>whoseSettings</key> + <dict/> + </dict> + <key>AMProvides</key> + <dict> + <key>Container</key> + <string>List</string> + <key>Types</key> + <array> + <string>com.apple.cocoa.path</string> + </array> + </dict> + <key>ActionBundlePath</key> + <string>/System/Library/Automator/Find Finder Items.action</string> + <key>ActionName</key> + <string>Find Finder Items</string> + <key>ActionParameters</key> + <dict> + <key>findingName</key> + <string>items</string> + <key>where</key> + <string>/var/tmp/postgres</string> + <key>whoseSettings</key> + <array> + <dict> + <key>property</key> + <string>name</string> + <key>qualifier</key> + <string>begins with</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>postgresql-</string> + </dict> + <dict> + <key>property</key> + <string>name</string> + <key>qualifier</key> + <string>ends with</string> + <key>type</key> + <string>string</string> + <key>value</key> + <string>.tar</string> + </dict> + </array> + </dict> + <key>Application</key> + <array> + <string>Finder</string> + <string>Spotlight</string> + </array> + <key>BundleIdentifier</key> + <string>com.apple.Automator.FindFinderItems</string> + <key>CFBundleVersion</key> + <string>1.1.1</string> + <key>CanShowSelectedItemsWhenRun</key> + <false/> + <key>CanShowWhenRun</key> + <true/> + <key>Category</key> + <array> + <string>AMCategoryFilesAndFolders</string> + </array> + <key>Class Name</key> + <string>FindFinderItemsAction</string> + <key>IgnoresInput</key> + <true/> + <key>InputUUID</key> + <string>A5D0E0FA-A44A-4CD0-93AD-1FF3351A5FC6</string> + <key>Keywords</key> + <array/> + <key>OutputUUID</key> + <string>54F89B52-7209-4ADA-AA60-CD01A1C332E3</string> + <key>UUID</key> + <string>A523F7BE-EC4A-4C33-A2DE-B503B8B86B30</string> + <key>UnlocalizedApplications</key> + <array> + <string>Finder</string> + <string>Spotlight</string> + </array> + <key>arguments</key> + <dict> + <key>0</key> + <dict> + <key>default value</key> + <string></string> + <key>name</key> + <string>where</string> + <key>required</key> + <st... [truncated message content] |
From: <haw...@us...> - 2008-10-30 01:52:57
|
Revision: 204 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=204&view=rev Author: hawkmoon Date: 2008-10-30 01:52:51 +0000 (Thu, 30 Oct 2008) Log Message: ----------- As built for 8.3.4 Modified Paths: -------------- trunk/Backup Database/Backup Database.xcodeproj/arsatori.pbxuser trunk/Backup Database/Backup Database.xcodeproj/project.pbxproj trunk/CreateUser/Create User.xcodeproj/arsatori.pbxuser trunk/CreateUser/Create User.xcodeproj/project.pbxproj trunk/PGSQLKit/Info.plist trunk/PGSQLKit/PGSQLKit.xcodeproj/project.pbxproj trunk/QueryTool/Query Tool for Postgres.xcodeproj/project.pbxproj trunk/ServiceManager/Service Manager.xcodeproj/project.pbxproj trunk/StartupHelper/StartupHelper.xcode/project.pbxproj trunk/pgCocoaDB/Info.plist trunk/pgCocoaDB/pgCocoaDB.xcodeproj/project.pbxproj Added Paths: ----------- trunk/CreateDatabase/Create Database.xcodeproj/ trunk/CreateDatabase/Create Database.xcodeproj/project.pbxproj trunk/Installers/PostgreSQL for Mac/ trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/ trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/01postgresql.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/02postgresql-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/02postgresql.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/03service-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/03service.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/04postgresql-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/04postgresql.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/05pgsqlkit-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/05pgsqlkit.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/06clean-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/06clean.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/07query-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/07query.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/08create-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/08create.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/09create-contents.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/09create.xml trunk/Installers/PostgreSQL for Mac/PostgreSQL for Mac.pmdoc/index.xml trunk/Installers/PostgreSQL for Mac/README.pages/ trunk/Installers/PostgreSQL for Mac/README.pages/Contents/ trunk/Installers/PostgreSQL for Mac/README.pages/Contents/PkgInfo trunk/Installers/PostgreSQL for Mac/README.pages/QuickLook/ trunk/Installers/PostgreSQL for Mac/README.pages/QuickLook/Thumbnail.jpg trunk/Installers/PostgreSQL for Mac/README.pages/background.tif trunk/Installers/PostgreSQL for Mac/README.pages/index.xml.gz trunk/Installers/PostgreSQL for Mac/postflight trunk/Installers/PostgreSQL for Mac/postinstall trunk/Installers/PostgreSQL for Mac/postupgrade Removed Paths: ------------- trunk/BuildScripts/.DS_Store trunk/BuildScripts/Build-Installers.sh trunk/CreateDatabase/.DS_Store trunk/CreateUser/Create User.xcode/ trunk/Installers/ClientTools/ trunk/Installers/JDBC/ trunk/Installers/PostgreSQL/ trunk/Installers/PostgreSQL8/ trunk/Installers/Readme.rtf trunk/Installers/SQL-Ledger/ trunk/Installers/StartupItem/ Modified: trunk/Backup Database/Backup Database.xcodeproj/arsatori.pbxuser =================================================================== --- trunk/Backup Database/Backup Database.xcodeproj/arsatori.pbxuser 2008-10-29 21:12:44 UTC (rev 203) +++ trunk/Backup Database/Backup Database.xcodeproj/arsatori.pbxuser 2008-10-30 01:52:51 UTC (rev 204) @@ -8,12 +8,10 @@ 8D1107260486CEB800E47090 /* Backup Database */, ); breakpoints = ( - 431692AE0AF26CB500C88512 /* PGBackupController.m:253 */, 431692D70AF27BCD00C88512 /* PGBackupController.m:375 */, 434F5CF30B3C31F800C30B6D /* PGBackupController.m:319 */, 434F5CF70B3C320700C30B6D /* PGBackupController.m:364 */, ); - breakpointsGroup = 430C22820AEEF99900B814BA /* XCBreakpointsBucket */; codeSenseManager = 430C22430AEEEBA800B814BA /* Code sense */; executables = ( 430C222A0AEEEB9B00B814BA /* Backup Database */, @@ -85,8 +83,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 213657926; - PBXWorkspaceStateSaveDate = 213657926; + PBXPerProjectTemplateStateSaveDate = 247006084; + PBXWorkspaceStateSaveDate = 247006084; }; perUserProjectItems = { 430C225C0AEEF83D00B814BA /* PBXTextBookmark */ = 430C225C0AEEF83D00B814BA /* PBXTextBookmark */; @@ -98,9 +96,9 @@ 4325A4FB0AF42CB100E5848F /* PBXTextBookmark */ = 4325A4FB0AF42CB100E5848F /* PBXTextBookmark */; 4325A4FF0AF42CB100E5848F /* PBXBookmark */ = 4325A4FF0AF42CB100E5848F /* PBXBookmark */; 4325A5010AF42CB100E5848F /* PBXTextBookmark */ = 4325A5010AF42CB100E5848F /* PBXTextBookmark */; + 434E70200EB904040082BE2F /* PBXTextBookmark */ = 434E70200EB904040082BE2F /* PBXTextBookmark */; 434F5CD40B3C310A00C30B6D /* PBXBookmark */ = 434F5CD40B3C310A00C30B6D /* PBXBookmark */; 434F5CD50B3C310A00C30B6D /* PBXBookmark */ = 434F5CD50B3C310A00C30B6D /* PBXBookmark */; - 43D0E1CB0CBAAF8100D4FC11 /* PBXTextBookmark */ = 43D0E1CB0CBAAF8100D4FC11 /* PBXTextBookmark */; 43FBFBDF0CBC295A007422EE /* PBXTextBookmark */ = 43FBFBDF0CBC295A007422EE /* PBXTextBookmark */; }; sourceControlManager = 430C22420AEEEBA800B814BA /* Source Control */; @@ -116,12 +114,12 @@ }; 430C222A0AEEEB9B00B814BA /* Backup Database */ = { isa = PBXExecutable; - activeArgIndex = 2147483647; activeArgIndices = ( ); argumentStrings = ( ); autoAttachOnCrash = 1; + breakpointsEnabled = 1; configStateDict = { }; customDataFormattersEnabled = 1; @@ -156,8 +154,9 @@ }; 430C22450AEEF5DB00B814BA /* PGBackupController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {916, 5808}}"; + sepNavIntBoundsRect = "{{0, 0}, {908, 6776}}"; sepNavSelRange = "{6470, 0}"; + sepNavVisRange = "{0, 1285}"; sepNavVisRect = "{{0, 2592}, {644, 606}}"; sepNavWindowFrame = "{{15, 553}, {421, 320}}"; }; @@ -210,16 +209,6 @@ vrLen = 1484; vrLoc = 51; }; - 430C22820AEEF99900B814BA /* XCBreakpointsBucket */ = { - isa = XCBreakpointsBucket; - name = "Project Breakpoints"; - objects = ( - 431692AE0AF26CB500C88512 /* PGBackupController.m:253 */, - 431692D70AF27BCD00C88512 /* PGBackupController.m:375 */, - 434F5CF30B3C31F800C30B6D /* PGBackupController.m:319 */, - 434F5CF70B3C320700C30B6D /* PGBackupController.m:364 */, - ); - }; 431692730AF268A600C88512 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 430C22460AEEF5DC00B814BA /* PGBackupController.h */; @@ -230,31 +219,18 @@ vrLen = 1787; vrLoc = 0; }; - 431692AE0AF26CB500C88512 /* PGBackupController.m:253 */ = { - isa = PBXFileBreakpoint; - actions = ( - ); - breakpointStyle = 0; - continueAfterActions = 0; - delayBeforeContinue = 0; - fileReference = 430C22450AEEF5DB00B814BA /* PGBackupController.m */; - functionName = "-execPGDump"; - hitCount = 1; - lineNumber = 253; - location = PGBackupController.ob; - modificationTime = 188494366.901501; - state = 1; - }; 431692D70AF27BCD00C88512 /* PGBackupController.m:375 */ = { isa = PBXFileBreakpoint; actions = ( ); breakpointStyle = 0; continueAfterActions = 0; + countType = 0; delayBeforeContinue = 0; fileReference = 430C22450AEEF5DB00B814BA /* PGBackupController.m */; functionName = "-execVacuumDB"; hitCount = 1; + ignoreCount = 0; lineNumber = 375; location = PGBackupController.ob; modificationTime = 188494350.19851; @@ -302,6 +278,16 @@ path = /Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSTask.h; sourceTree = "<absolute>"; }; + 434E70200EB904040082BE2F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 430C22450AEEF5DB00B814BA /* PGBackupController.m */; + name = "PGBackupController.m: 232"; + rLen = 0; + rLoc = 6470; + rType = 0; + vrLen = 1285; + vrLoc = 0; + }; 434F5CD40B3C310A00C30B6D /* PBXBookmark */ = { isa = PBXBookmark; fRef = 4316930B0AF27FD500C88512 /* pg-backup.png */; @@ -316,10 +302,12 @@ ); breakpointStyle = 0; continueAfterActions = 0; + countType = 0; delayBeforeContinue = 0; fileReference = 430C22450AEEF5DB00B814BA /* PGBackupController.m */; functionName = "-execPGDump"; hitCount = 1; + ignoreCount = 0; lineNumber = 319; modificationTime = 188494347.161268; state = 2; @@ -330,25 +318,17 @@ ); breakpointStyle = 0; continueAfterActions = 0; + countType = 0; delayBeforeContinue = 0; fileReference = 430C22450AEEF5DB00B814BA /* PGBackupController.m */; functionName = "-execPGDump"; hitCount = 1; + ignoreCount = 0; lineNumber = 364; location = PGBackupController.ob; modificationTime = 188494369.609233; state = 1; }; - 43D0E1CB0CBAAF8100D4FC11 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 430C22450AEEF5DB00B814BA /* PGBackupController.m */; - name = "PGBackupController.m: 232"; - rLen = 0; - rLoc = 6470; - rType = 0; - vrLen = 1246; - vrLoc = 6034; - }; 43FBFBDF0CBC295A007422EE /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 430C22450AEEF5DB00B814BA /* PGBackupController.m */; Modified: trunk/Backup Database/Backup Database.xcodeproj/project.pbxproj =================================================================== --- trunk/Backup Database/Backup Database.xcodeproj/project.pbxproj 2008-10-29 21:12:44 UTC (rev 203) +++ trunk/Backup Database/Backup Database.xcodeproj/project.pbxproj 2008-10-30 01:52:51 UTC (rev 204) @@ -180,9 +180,11 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Backup Database" */; + compatibilityVersion = "Xcode 2.4"; hasScannedForEncodings = 1; mainGroup = 29B97314FDCFA39411CA2CEA /* Backup Database */; projectDirPath = ""; + projectRoot = ""; targets = ( 8D1107260486CEB800E47090 /* Backup Database */, ); Deleted: trunk/BuildScripts/.DS_Store =================================================================== --- trunk/BuildScripts/.DS_Store 2008-10-29 21:12:44 UTC (rev 203) +++ trunk/BuildScripts/.DS_Store 2008-10-30 01:52:51 UTC (rev 204) @@ -1 +0,0 @@ - |
From: <haw...@us...> - 2008-10-29 21:12:48
|
Revision: 203 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=203&view=rev Author: hawkmoon Date: 2008-10-29 21:12:44 +0000 (Wed, 29 Oct 2008) Log Message: ----------- No longer used (or relevant) Removed Paths: ------------- trunk/pgGUID/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2008-09-22 00:52:08
|
Revision: 202 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=202&view=rev Author: davydgeyl Date: 2008-09-22 00:52:02 +0000 (Mon, 22 Sep 2008) Log Message: ----------- memory leak fixed Modified Paths: -------------- trunk/PGSQLKit/PGSQLColumn.m Modified: trunk/PGSQLKit/PGSQLColumn.m =================================================================== --- trunk/PGSQLKit/PGSQLColumn.m 2008-09-09 03:57:43 UTC (rev 201) +++ trunk/PGSQLKit/PGSQLColumn.m 2008-09-22 00:52:02 UTC (rev 202) @@ -16,7 +16,7 @@ [super init]; index = columnIndex; - name = [[[[NSString alloc] initWithCString:PQfname(result, columnIndex)] retain] autorelease]; + name = [[NSString alloc] initWithCString:PQfname(result, columnIndex)]; type = PQftype(result, columnIndex); size = PQfsize(result, columnIndex); offset = PQfmod(result, columnIndex); @@ -24,7 +24,14 @@ return self; } -- (NSString *)name { +- (void)dealloc +{ + [name release]; + [super dealloc]; +} + +- (NSString *)name +{ return [[name retain] autorelease]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2008-09-09 03:57:34
|
Revision: 201 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=201&view=rev Author: davydgeyl Date: 2008-09-09 03:57:43 +0000 (Tue, 09 Sep 2008) Log Message: ----------- wrong indexing fixed Modified Paths: -------------- trunk/PGSQLKit/PGSQLField.m Modified: trunk/PGSQLKit/PGSQLField.m =================================================================== --- trunk/PGSQLKit/PGSQLField.m 2008-09-08 23:34:32 UTC (rev 200) +++ trunk/PGSQLKit/PGSQLField.m 2008-09-09 03:57:43 UTC (rev 201) @@ -48,7 +48,7 @@ { // check for null terminator char* ptr = (char*)[data bytes]; - char lastChar = ptr[dataLength]; + char lastChar = ptr[dataLength - 1]; if (lastChar == '\0') dataLength--; if (dataLength > 0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2008-09-08 23:34:21
|
Revision: 200 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=200&view=rev Author: davydgeyl Date: 2008-09-08 23:34:32 +0000 (Mon, 08 Sep 2008) Log Message: ----------- returned objects made autoreleased Modified Paths: -------------- trunk/PGSQLKit/PGSQLRecordset.m Modified: trunk/PGSQLKit/PGSQLRecordset.m =================================================================== --- trunk/PGSQLKit/PGSQLRecordset.m 2008-09-05 01:54:50 UTC (rev 199) +++ trunk/PGSQLKit/PGSQLRecordset.m 2008-09-08 23:34:32 UTC (rev 200) @@ -13,43 +13,45 @@ -(id)initWithResult:(void *)result { - [super init]; - - isOpen = YES; - isEOF = YES; - - columns = [[[[NSMutableArray alloc] init] retain] autorelease]; - - pgResult = result; - - rowCount = -1; - rowCount = PQntuples(pgResult); - - // cache the colum list for faster data access via lookups by name - // Loop through and get the fields into Field Item Classes - PGSQLColumn *column; - - int iCols = 0; - iCols = PQnfields(pgResult); - - int i; - for ( i = 0; i < iCols; i++) + self = [super init]; + if (self != nil) { - column = [[[[PGSQLColumn alloc] initWithResult:pgResult - atIndex:i] retain] autorelease]; - [columns addObject:column]; - } - - if (iCols == 0) - { + isOpen = YES; isEOF = YES; - return self; + + columns = [[[[NSMutableArray alloc] init] retain] autorelease]; + + pgResult = result; + + rowCount = -1; + rowCount = PQntuples(pgResult); + + // cache the colum list for faster data access via lookups by name + // Loop through and get the fields into Field Item Classes + PGSQLColumn *column; + + int iCols = 0; + iCols = PQnfields(pgResult); + + int i; + for ( i = 0; i < iCols; i++) + { + column = [[[[PGSQLColumn alloc] initWithResult:pgResult + atIndex:i] retain] autorelease]; + [columns addObject:column]; + } + + if (iCols == 0) + { + isEOF = YES; + return self; + } + + isEOF = NO; + + // move to the first record (and check EOF / BOF state) + [self moveFirst]; } - - isEOF = NO; - - // move to the first record (and check EOF / BOF state) - [self moveFirst]; return self; } @@ -73,6 +75,14 @@ return rowCount; } +- (void)setCurrentRecordWithRowIndex:(long)rowIndex +{ + [currentRecord release]; + currentRecord = [[PGSQLRecord alloc] initWithResult:pgResult + atRow:rowIndex + columns:columns]; +} + - (PGSQLRecord *)moveNext { if (rowCount == 0) { @@ -88,15 +98,13 @@ if (currentRowIndex >= rowCount) { isEOF = true; + [currentRecord release]; currentRecord = nil; return nil; } - PGSQLRecord *result = [[PGSQLRecord alloc] initWithResult:pgResult - atRow:currentRowIndex - columns:columns]; - currentRecord = result; - return result; + [self setCurrentRecordWithRowIndex:currentRowIndex]; + return [[currentRecord retain] autorelease]; } - (PGSQLRecord *)moveFirst @@ -105,13 +113,10 @@ return nil; } long currentRowIndex = 0; + isEOF = false; - PGSQLRecord *result = [[PGSQLRecord alloc] initWithResult:pgResult - atRow:currentRowIndex - columns:columns]; - isEOF = false; - currentRecord = result; - return result; + [self setCurrentRecordWithRowIndex:currentRowIndex]; + return [[currentRecord retain] autorelease]; } - (PGSQLRecord *)movePrevious @@ -132,11 +137,8 @@ return nil; } - PGSQLRecord *result = [[PGSQLRecord alloc] initWithResult:pgResult - atRow:currentRowIndex - columns:columns]; - currentRecord = result; - return result; + [self setCurrentRecordWithRowIndex:currentRowIndex]; + return [[currentRecord retain] autorelease]; } - (PGSQLRecord *)moveLast @@ -145,13 +147,10 @@ return nil; } long currentRowIndex = rowCount; - - PGSQLRecord *result = [[PGSQLRecord alloc] initWithResult:pgResult - atRow:currentRowIndex - columns:columns]; isEOF = false; - currentRecord = result; - return result; + + [self setCurrentRecordWithRowIndex:currentRowIndex]; + return [[currentRecord retain] autorelease]; } -(void)close @@ -162,6 +161,8 @@ PQclear(pgResult); pgResult = nil; } + [currentRecord release]; + currentRecord = nil; isOpen = NO; } @@ -228,7 +229,7 @@ break; } } - NSDictionary *result = [[[[NSDictionary alloc] initWithDictionary:dict] autorelease] retain]; + NSDictionary *result = [[[NSDictionary alloc] initWithDictionary:dict] autorelease]; return result; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2008-09-05 01:54:40
|
Revision: 199 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=199&view=rev Author: davydgeyl Date: 2008-09-05 01:54:50 +0000 (Fri, 05 Sep 2008) Log Message: ----------- isEof flag should be set to FALSE if we go back to the first or last record Modified Paths: -------------- trunk/PGSQLKit/PGSQLRecordset.m Modified: trunk/PGSQLKit/PGSQLRecordset.m =================================================================== --- trunk/PGSQLKit/PGSQLRecordset.m 2008-09-05 01:07:00 UTC (rev 198) +++ trunk/PGSQLKit/PGSQLRecordset.m 2008-09-05 01:54:50 UTC (rev 199) @@ -53,7 +53,6 @@ return self; } - -(PGSQLField *)fieldByName:(NSString *)fieldName { return [currentRecord fieldByName:fieldName]; @@ -110,6 +109,7 @@ PGSQLRecord *result = [[PGSQLRecord alloc] initWithResult:pgResult atRow:currentRowIndex columns:columns]; + isEOF = false; currentRecord = result; return result; } @@ -149,6 +149,7 @@ PGSQLRecord *result = [[PGSQLRecord alloc] initWithResult:pgResult atRow:currentRowIndex columns:columns]; + isEOF = false; currentRecord = result; return result; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2008-09-05 01:06:53
|
Revision: 198 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=198&view=rev Author: davydgeyl Date: 2008-09-05 01:07:00 +0000 (Fri, 05 Sep 2008) Log Message: ----------- record count is a very useful information, it must be accessible. Modified Paths: -------------- trunk/PGSQLKit/PGSQLRecordset.h trunk/PGSQLKit/PGSQLRecordset.m Modified: trunk/PGSQLKit/PGSQLRecordset.h =================================================================== --- trunk/PGSQLKit/PGSQLRecordset.h 2008-09-04 01:12:37 UTC (rev 197) +++ trunk/PGSQLKit/PGSQLRecordset.h 2008-09-05 01:07:00 UTC (rev 198) @@ -31,6 +31,8 @@ -(NSArray *)columns; +- (long)recordCount; + -(PGSQLRecord *)moveFirst; -(PGSQLRecord *)movePrevious; -(PGSQLRecord *)moveNext; Modified: trunk/PGSQLKit/PGSQLRecordset.m =================================================================== --- trunk/PGSQLKit/PGSQLRecordset.m 2008-09-04 01:12:37 UTC (rev 197) +++ trunk/PGSQLKit/PGSQLRecordset.m 2008-09-05 01:07:00 UTC (rev 198) @@ -69,6 +69,11 @@ return columns; } +- (long)recordCount +{ + return rowCount; +} + - (PGSQLRecord *)moveNext { if (rowCount == 0) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2008-09-04 01:12:28
|
Revision: 197 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=197&view=rev Author: davydgeyl Date: 2008-09-04 01:12:37 +0000 (Thu, 04 Sep 2008) Log Message: ----------- adDate value has been made autoreleased Modified Paths: -------------- trunk/PGSQLKit/PGSQLField.m Modified: trunk/PGSQLKit/PGSQLField.m =================================================================== --- trunk/PGSQLKit/PGSQLField.m 2008-09-03 23:12:38 UTC (rev 196) +++ trunk/PGSQLKit/PGSQLField.m 2008-09-04 01:12:37 UTC (rev 197) @@ -105,7 +105,7 @@ value = [NSString stringWithFormat:@"%@ +0000", value]; } - NSDate *newDate = [[NSDate alloc] initWithString:value]; + NSDate *newDate = [[[NSDate alloc] initWithString:value] autorelease]; return newDate; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2008-09-03 23:12:28
|
Revision: 196 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=196&view=rev Author: davydgeyl Date: 2008-09-03 23:12:38 +0000 (Wed, 03 Sep 2008) Log Message: ----------- asString method changed to return correct string without null character, autoreleased Modified Paths: -------------- trunk/PGSQLKit/PGSQLField.m Modified: trunk/PGSQLKit/PGSQLField.m =================================================================== --- trunk/PGSQLKit/PGSQLField.m 2008-06-05 15:41:23 UTC (rev 195) +++ trunk/PGSQLKit/PGSQLField.m 2008-09-03 23:12:38 UTC (rev 196) @@ -40,17 +40,24 @@ -(NSString *)asString { - if (data != nil) { - if ([data length] <= 0) + NSString* result = @""; + if (data != nil) + { + int dataLength = [data length]; + if (dataLength > 0) { - return nil; + // check for null terminator + char* ptr = (char*)[data bytes]; + char lastChar = ptr[dataLength]; + if (lastChar == '\0') + dataLength--; + if (dataLength > 0) + result = [[[NSString alloc] initWithBytes:[data bytes] length:dataLength encoding:NSMacOSRomanStringEncoding] autorelease]; } - return [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSMacOSRomanStringEncoding]; } - return @""; + return result; } - -(NSNumber *)asNumber { if (data != nil) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <haw...@us...> - 2008-06-05 15:41:29
|
Revision: 195 http://pgsqlformac.svn.sourceforge.net/pgsqlformac/?rev=195&view=rev Author: hawkmoon Date: 2008-06-05 08:41:23 -0700 (Thu, 05 Jun 2008) Log Message: ----------- Altered globalConnection to allow for using ODBCKit and PGSQLKit in the same project. Modified Paths: -------------- trunk/PGSQLKit/PGSQLConnection.h trunk/PGSQLKit/PGSQLConnection.m Modified: trunk/PGSQLKit/PGSQLConnection.h =================================================================== --- trunk/PGSQLKit/PGSQLConnection.h 2008-05-06 15:25:04 UTC (rev 194) +++ trunk/PGSQLKit/PGSQLConnection.h 2008-06-05 15:41:23 UTC (rev 195) @@ -34,6 +34,8 @@ NSString *sslMode; // allow, prefer, require NSString *service; // service name NSString *krbsrvName; + + NSString *commandStatus; } +(id)defaultConnection; @@ -71,11 +73,12 @@ -(NSMutableString *)sqlLog; -(void)appendSQLLog:(NSString *)value; + +-(NSString *)lastCmdStatus; - FOUNDATION_EXPORT NSString * const PGSQLConnectionDidCompleteNotification; FOUNDATION_EXPORT NSString * const PGSQLCommandDidCompleteNotification; @end -static PGSQLConnection *globalConnection; +static PGSQLConnection *globalPGSQLConnection; Modified: trunk/PGSQLKit/PGSQLConnection.m =================================================================== --- trunk/PGSQLKit/PGSQLConnection.m 2008-05-06 15:25:04 UTC (rev 194) +++ trunk/PGSQLKit/PGSQLConnection.m 2008-06-05 15:41:23 UTC (rev 195) @@ -31,12 +31,12 @@ +(id)defaultConnection { - if (globalConnection == nil) + if (globalPGSQLConnection == nil) { return nil; } - return globalConnection; + return globalPGSQLConnection; } #pragma mark Instance Methods @@ -63,10 +63,12 @@ krbsrvName = nil; connectionString = nil; - if (globalConnection == nil) + commandStatus = nil; + + if (globalPGSQLConnection == nil) { [self retain]; - globalConnection = self; + globalPGSQLConnection = self; } } @@ -513,6 +515,7 @@ - (NSString *)lastError { return errorDescription; } + -(NSString *)lastCmdStatus { return commandStatus; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |