diff --git a/ChangeLog b/ChangeLog index 12a1d14..473ec83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-09-28 Richard Frith-Macdonald + + * GNUmakefile.wrapper.objc.preamble: new file + * SQLClient.jigs: new file + * GNUmakefile: Provide java wrappings for SQLClient and friends + 2005-09-28 Richard Frith-Macdonald * SQLClient.m: boost performance of quoting a little. diff --git a/GNUmakefile b/GNUmakefile index 31fb753..9478b3d 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -19,6 +19,9 @@ SQLClient_LIBRARIES_DEPEND_UPON = SQLClient_HEADER_FILES = SQLClient.h SQLClient_AGSDOC_FILES = SQLClient.h +# Optional Java wrappers for the library +JAVA_WRAPPER_NAME = SQLClient + # # Assume that the use of the gnu runtime means we have the gnustep # base library and can use its extensions to build WebServer stuff. @@ -154,6 +157,10 @@ testWebServer_LIB_DIRS += -L./obj include $(GNUSTEP_MAKEFILES)/library.make include $(GNUSTEP_MAKEFILES)/bundle.make +# If JIGS is installed, automatically generate Java wrappers as well. +# Because of the '-', should not complain if java-wrapper.make can't be +# found ... simply skip generation of java wrappers in that case. +-include $(GNUSTEP_MAKEFILES)/java-wrapper.make include $(GNUSTEP_MAKEFILES)/test-tool.make include $(GNUSTEP_MAKEFILES)/documentation.make diff --git a/GNUmakefile.wrapper.objc.preamble b/GNUmakefile.wrapper.objc.preamble new file mode 100644 index 0000000..68f790f --- /dev/null +++ b/GNUmakefile.wrapper.objc.preamble @@ -0,0 +1,2 @@ +ADDITIONAL_INCLUDE_DIRS += -I../../.. +ADDITIONAL_LIB_DIRS += -L../../$(GNUSTEP_OBJ_DIR) diff --git a/SQLClient.h b/SQLClient.h index 8f05ab8..78ae2be 100644 --- a/SQLClient.h +++ b/SQLClient.h @@ -510,6 +510,7 @@ extern unsigned SQLClientTimeTick(); * then 'User' may be used instead.
* Password ... is the name of the database user password, if it is * missing then 'Password' may be used instead.
+ * missing then 'Password' may be used instead.
* ServerType ... is the name of the backend server to be used ... by * convention the name of a bundle containing the interface to that backend. * If this is missing then 'Postgres' is used.
diff --git a/SQLClient.jigs b/SQLClient.jigs new file mode 100644 index 0000000..e44e22c --- /dev/null +++ b/SQLClient.jigs @@ -0,0 +1,103 @@ +{ /* -*-c-*- */ + "prerequisite libraries" = ( + "gnustep-base" + ); + types = { + NSTimeInterval = double; + }; + classes = ( + { + "java name" = "gnu.gnustep.SQLClient.SQLCache"; + "objective-c name" = "SQLCache"; + "class methods" = ( + "allCaches" + ); + "instance methods" = ( + "currentObjects", + "currentSize", + "lifetime", + "maxObjects", + "maxSize", + "name", + "objectForKey:", + "purge", + "setLifetime:", + "setMaxObjects:", + "setMaxSize:", + "setName:", + "setObject:forKey:", + "setObject:forKey:lifetime:", + "shrinkObjects:andSize:" + ); + }, + { + "java name" = "gnu.gnustep.SQLClient.SQLClient"; + "objective-c name" = "SQLClient"; + "class methods" = ( + "allClients", + "clientWithConfiguration:name:", + "existingClient:", + "maxConnections", + "purgeConnections:", + "setMaxConnections:", + ); + "instance methods" = ( + "begin", + "cache", + "cache:query:with:", + "cache:simpleQuery:", + "clientName", + "commit", + "connect", + "connected", + "database", + "debugging", + "disconnect", + "durationLogging", + "isInTransaction", + "lastOperation", + "name", + "password", + "query:with:", + "quote:", + "quoteChar:", + "quoteFloat:", + "quoteInteger:", + "rollback", + "setCache:", + "setDatabase:", + "setDebugging:", + "setDurationLogging:", + "setName:", + "setPassword:", + "setUser:", + "simpleExecute:", + "simpleQuery:", + "singletons:", + "transaction", + "user" + ); + }, + { + "java name" = "gnu.gnustep.SQLClient.SQLRecord"; + "objective-c name" = "SQLRecord"; + "instance methods" = ( + "allKeys", + "dictionary", + "sizeInBytes:" + ); + }, + { + "java name" = "gnu.gnustep.SQLClient.SQLTransaction"; + "objective-c name" = "SQLTransaction"; + "instance methods" = ( + "add:with:", + "append:", + "count", + "db", + "execute", + "reset" + ); + } + ); +}