[Gnucash-changes] r14198 - gnucash/trunk - Merge 'misc-backend' -r
14160:14184 into trunk.
Chris Shoemaker
chris at cvs.gnucash.org
Thu May 25 20:10:37 EDT 2006
Author: chris
Date: 2006-05-25 20:10:35 -0400 (Thu, 25 May 2006)
New Revision: 14198
Trac: http://svn.gnucash.org/trac/changeset/14198
Modified:
gnucash/trunk/ChangeLog
gnucash/trunk/lib/libqof/backend/file/Makefile.am
gnucash/trunk/lib/libqof/backend/file/qof-backend-qsf.h
gnucash/trunk/lib/libqof/backend/file/qsf-backend.c
gnucash/trunk/lib/libqof/qof/guid.c
gnucash/trunk/lib/libqof/qof/qof.h
gnucash/trunk/lib/libqof/qof/qofbackend-p.h
gnucash/trunk/lib/libqof/qof/qofbackend.c
gnucash/trunk/lib/libqof/qof/qofbackend.h
gnucash/trunk/lib/libqof/qof/qofbook.c
gnucash/trunk/lib/libqof/qof/qofsession-p.h
gnucash/trunk/lib/libqof/qof/qofsession.c
gnucash/trunk/lib/libqof/qof/qofsession.h
gnucash/trunk/lib/libqof/qof/qofutil.c
gnucash/trunk/lib/libqof/qof/qofutil.h
gnucash/trunk/src/backend/file/gnc-backend-file.c
gnucash/trunk/src/backend/file/gnc-backend-file.h
gnucash/trunk/src/backend/file/test/test-load-backend.c
gnucash/trunk/src/backend/file/test/test-load-xml2.c
gnucash/trunk/src/backend/postgres/Makefile.am
gnucash/trunk/src/backend/postgres/PostgresBackend.c
gnucash/trunk/src/backend/postgres/PostgresBackend.h
gnucash/trunk/src/backend/postgres/test/test-db.c
gnucash/trunk/src/backend/postgres/test/test-load-backend.c
gnucash/trunk/src/backend/postgres/test/test-period.c
gnucash/trunk/src/engine/Account.c
gnucash/trunk/src/engine/Makefile.am
gnucash/trunk/src/engine/Period.c
gnucash/trunk/src/engine/Transaction.c
gnucash/trunk/src/engine/gnc-commodity.h
gnucash/trunk/src/engine/gnc-engine.c
gnucash/trunk/src/engine/gnc-engine.h
gnucash/trunk/src/engine/gnc-pricedb.c
gnucash/trunk/src/engine/gnc-session-scm.c
gnucash/trunk/src/engine/gnc-session-scm.h
gnucash/trunk/src/engine/gw-engine-spec.scm
gnucash/trunk/src/gnome-utils/gnc-file.c
gnucash/trunk/src/gnome-utils/gnc-html-graph-gog.c
gnucash/trunk/src/gnome-utils/gnc-main-window.c
Log:
Merge 'misc-backend' -r 14160:14184 into trunk.
This includes the now semi-functional postgres backend.
Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/ChangeLog 2006-05-26 00:10:35 UTC (rev 14198)
@@ -15,12 +15,125 @@
* configure.in: Deactivate --enable-sql because PostgreSQL backend
is still broken and we can't fix it before 2.0.0; bug#332251.
+r14181 | chris | 2006-05-24 18:57:43 -0400 (Wed, 24 May 2006) | 3 lines
+
+ M /gnucash/branches/misc-backend/lib/libqof/qof/guid.c
+
+ The postgres backend depends on the value of the null guid, so revert it
+ to its 1.8 value.
+
r14180 | chris | 2006-05-24 18:54:03 -0400 (Wed, 24 May 2006) | 2 lines
M /gnucash/trunk/lib/libqof/qof/gnc-date.c
Consistently pad date formats with zeros instead of spaces.
+r14170 | chris | 2006-05-23 23:55:35 -0400 (Tue, 23 May 2006) | 2 lines
+
+ M /gnucash/branches/misc-backend/src/backend/postgres/Makefile.am
+ M /gnucash/branches/misc-backend/src/backend/postgres/PostgresBackend.c
+ M /gnucash/branches/misc-backend/src/engine/Account.c
+ M /gnucash/branches/misc-backend/src/engine/gnc-commodity.h
+
+ Trivial comments/cleanups.
+
+r14169 | chris | 2006-05-23 23:53:52 -0400 (Tue, 23 May 2006) | 2 lines
+
+ M /gnucash/branches/misc-backend/src/gnome-utils/gnc-html-graph-gog.c
+
+ Clarify unused parameters.
+
+r14168 | chris | 2006-05-23 23:48:00 -0400 (Tue, 23 May 2006) | 3 lines
+
+ M /gnucash/branches/misc-backend/src/gnome-utils/gnc-file.c
+
+ There's no need to rerun the book-saved callbacks in gnc_file_save_as()
+ because they've already been run in gnc_file_save()
+
+r14167 | chris | 2006-05-23 23:44:50 -0400 (Tue, 23 May 2006) | 6 lines
+
+ M /gnucash/branches/misc-backend/src/gnome-utils/gnc-file.c
+ M /gnucash/branches/misc-backend/src/gnome-utils/gnc-main-window.c
+
+ Use the session URL instead of file path for
+ 1) determining if we have something open
+ 2) determining if we're saving exactly what we have open
+ 3) updating the title bar
+
+r14166 | chris | 2006-05-23 23:34:18 -0400 (Tue, 23 May 2006) | 2 lines
+
+ M /gnucash/branches/misc-backend/lib/libqof/backend/file/Makefile.am
+ M /gnucash/branches/misc-backend/lib/libqof/backend/file/qof-backend-qsf.h
+ M /gnucash/branches/misc-backend/lib/libqof/backend/file/qsf-backend.c
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qof.h
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofsession.c
+
+ Move the QSF backend from custom init to GModule init.
+
+r14165 | chris | 2006-05-23 23:21:09 -0400 (Tue, 23 May 2006) | 18 lines
+
+ M /gnucash/branches/misc-backend/lib/libqof/backend/file/qsf-backend.c
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofbackend-p.h
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofbackend.c
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofbackend.h
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofsession-p.h
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofsession.c
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofsession.h
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofutil.c
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofutil.h
+ M /gnucash/branches/misc-backend/src/backend/file/gnc-backend-file.c
+ M /gnucash/branches/misc-backend/src/backend/file/gnc-backend-file.h
+ M /gnucash/branches/misc-backend/src/backend/file/test/test-load-backend.c
+ M /gnucash/branches/misc-backend/src/backend/file/test/test-load-xml2.c
+ M /gnucash/branches/misc-backend/src/backend/postgres/PostgresBackend.c
+ M /gnucash/branches/misc-backend/src/backend/postgres/PostgresBackend.h
+ M /gnucash/branches/misc-backend/src/backend/postgres/test/test-db.c
+ M /gnucash/branches/misc-backend/src/backend/postgres/test/test-load-backend.c
+ M /gnucash/branches/misc-backend/src/backend/postgres/test/test-period.c
+ M /gnucash/branches/misc-backend/src/engine/Period.c
+ M /gnucash/branches/misc-backend/src/engine/Transaction.c
+ M /gnucash/branches/misc-backend/src/engine/gnc-engine.c
+ M /gnucash/branches/misc-backend/src/engine/gnc-engine.h
+ M /gnucash/branches/misc-backend/src/engine/gnc-pricedb.c
+ M /gnucash/branches/misc-backend/src/engine/gnc-session-scm.c
+ M /gnucash/branches/misc-backend/src/engine/gnc-session-scm.h
+ M /gnucash/branches/misc-backend/src/engine/gw-engine-spec.scm
+
+ Decrease coupling between backends and engine:
+ - do not include the (supposedly) private qofbackend-p.h in qofutil.h,
+ instead, include it explictly in only the places that need it.
+ - since backends are GModules, use the GModule module init hook, instead
+ of rolling our own and using a different function for each backend
+ - loop over a list of backends for the engine to try to load
+ - include the postgres backend in that list of backends
+ - move qof_session_export() from gnc-engine.c to qofsession.c
+ - publicize qof_backend_set_error() and qof_backend_get_error()
+ - privatize QofBookFileType to gnc-backend-file.c
+
+ Incidental:
+ - Plug a string leak in qofsession.c
+ - drop the unused gnc_session_scm_export code
+ - Drop unimplemented prototype gncBackendInit_file()
+ - Formatting cleanups.
+
+r14164 | chris | 2006-05-23 23:18:14 -0400 (Tue, 23 May 2006) | 2 lines
+
+ M /gnucash/branches/misc-backend/lib/libqof/qof/qofbook.c
+
+ Recognize unequal books as unequal.
+
+r14163 | chris | 2006-05-23 23:16:19 -0400 (Tue, 23 May 2006) | 2 lines
+
+ M /gnucash/branches/misc-backend/src/engine/Makefile.am
+
+ Make sure GNC_LIBDIR is updated when the installation dir changes.
+
+r14161 | chris | 2006-05-23 21:40:39 -0400 (Tue, 23 May 2006) | 2 lines
+
+ A /gnucash/branches/misc-backend (from /gnucash/trunk:14160)
+
+ Branched from trunk at r14160, hoping postgres will work again someday...
+
r14159 | chris | 2006-05-23 21:25:30 -0400 (Tue, 23 May 2006) | 4 lines
M /gnucash/trunk/lib/guile-www/cgi.scm
Modified: gnucash/trunk/lib/libqof/backend/file/Makefile.am
===================================================================
--- gnucash/trunk/lib/libqof/backend/file/Makefile.am 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/backend/file/Makefile.am 2006-05-26 00:10:35 UTC (rev 14198)
@@ -14,6 +14,7 @@
qsf-xml-map.c \
qsf-xml.c
+libgncqof_backend_qsf_la_LDFLAGS = -module
libgncqof_backend_qsf_la_LIBADD = \
${QOF_LIBS} \
${GLIB_LIBS} \
Modified: gnucash/trunk/lib/libqof/backend/file/qof-backend-qsf.h
===================================================================
--- gnucash/trunk/lib/libqof/backend/file/qof-backend-qsf.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/backend/file/qof-backend-qsf.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -139,6 +139,7 @@
#ifndef _QOF_BACKEND_QSF_H
#define _QOF_BACKEND_QSF_H
+#include <gmodule.h>
#include "qoflog.h"
#include "qofbackend.h"
@@ -162,7 +163,8 @@
Calls gettext because QofBackendOption
strings are translatable.
*/
-void qsf_provider_init(void);
+G_MODULE_EXPORT const gchar *
+g_module_check_init(GModule *module);
/** \name Supported backend configurations
@{
Modified: gnucash/trunk/lib/libqof/backend/file/qsf-backend.c
===================================================================
--- gnucash/trunk/lib/libqof/backend/file/qsf-backend.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/backend/file/qsf-backend.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -24,6 +24,7 @@
#include "config.h"
#include <glib.h>
#include "qof.h"
+#include "qofbackend-p.h"
#include "qof-backend-qsf.h"
#include <libxml/xmlmemory.h>
#include <libxml/tree.h>
@@ -1269,17 +1270,11 @@
g_free (prov);
}
-void
-qsf_provider_init(void)
+G_MODULE_EXPORT const gchar *
+g_module_check_init(GModule *module)
{
QofBackendProvider *prov;
-/* #ifdef ENABLE_NLS
- setlocale (LC_ALL, "");
- bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
- #endif*/
prov = g_new0 (QofBackendProvider, 1);
prov->provider_name = "QSF Backend Version 0.2";
prov->access_method = "file";
@@ -1288,4 +1283,5 @@
prov->check_data_type = qsf_determine_file_type;
prov->provider_free = qsf_provider_free;
qof_backend_register_provider (prov);
+ return NULL;
}
Modified: gnucash/trunk/lib/libqof/qof/guid.c
===================================================================
--- gnucash/trunk/lib/libqof/qof/guid.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/guid.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -122,16 +122,13 @@
static int null_inited = 0;
static GUID null_guid;
- if (!null_inited)
- {
- int i;
- char *tmp = "NULLGUID.EMPTY.";
+ if (!null_inited) {
+ int i;
- /* 16th space for '\O' */
- for (i = 0; i < GUID_DATA_SIZE; i++)
- null_guid.data[i] = tmp[i];
+ for (i = 0; i < GUID_DATA_SIZE; i++)
+ null_guid.data[i] = '\0';
- null_inited = 1;
+ null_inited = 1;
}
return &null_guid;
Modified: gnucash/trunk/lib/libqof/qof/qof.h
===================================================================
--- gnucash/trunk/lib/libqof/qof/qof.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qof.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -106,8 +106,6 @@
/** allow easy logging of QSF debug messages */
#define QOF_MOD_QSF "gncqof-backend-qsf"
/** allow easy loading of the QSF backend */
-#define QSF_BACKEND_LIB "libgncqof-backend-qsf"
-/** allow easy loading of the QSF backend */
-#define QSF_MODULE_INIT "qsf_provider_init"
+#define QSF_BACKEND_LIB "gncqof-backend-qsf"
#endif /* QOF_H_ */
Modified: gnucash/trunk/lib/libqof/qof/qofbackend-p.h
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofbackend-p.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofbackend-p.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -182,7 +182,7 @@
* pointer to the second book, where the results of the query
* should go.
*
- * Cann the book commit() to complete the book partitioning.
+ * Call the book commit() to complete the book partitioning.
*
* After the begin(), there will be a call to run_query(), followed
* probably by a string of object calls, and completed by commit().
@@ -367,15 +367,6 @@
*/
void qof_backend_register_provider (QofBackendProvider *);
-/** The qof_backend_set_error() routine pushes an error code onto the error
- * stack. (FIXME: the stack is 1 deep in current implementation).
- */
-void qof_backend_set_error (QofBackend *be, QofBackendError err);
-
-/** The qof_backend_get_error() routine pops an error code off the error stack.
- */
-QofBackendError qof_backend_get_error (QofBackend *be);
-
/** The qof_backend_set_message() assigns a string to the backend error message.
*/
void qof_backend_set_message(QofBackend *be, const char *format, ...);
Modified: gnucash/trunk/lib/libqof/qof/qofbackend.c
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofbackend.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofbackend.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -128,7 +128,7 @@
be->run_query = NULL;
be->sync = NULL;
- be->load_config = NULL;
+ be->load_config = NULL;
be->events_pending = NULL;
be->process_events = NULL;
@@ -137,11 +137,11 @@
if (be->error_msg) g_free (be->error_msg);
be->error_msg = NULL;
be->percentage = NULL;
- be->backend_configuration = kvp_frame_new();
-
- /* to be removed */
- be->price_lookup = NULL;
- be->export = NULL;
+ be->backend_configuration = kvp_frame_new();
+
+ /* to be removed */
+ be->price_lookup = NULL;
+ be->export = NULL;
}
void
@@ -384,30 +384,19 @@
}
gboolean
-qof_load_backend_library (const char *directory,
- const char* filename, const char* init_fcn)
+qof_load_backend_library (const char *directory, const char* module_name)
{
gchar *fullpath;
- typedef void (* backend_init) (void);
GModule *backend;
- backend_init gmod_init;
- gpointer g;
g_return_val_if_fail(g_module_supported(), FALSE);
- fullpath = g_module_build_path(directory, filename);
+ fullpath = g_module_build_path(directory, module_name);
backend = g_module_open(fullpath, G_MODULE_BIND_LAZY);
- if(!backend) {
+ if (!backend) {
g_message ("%s: %s\n", PACKAGE, g_module_error ());
return FALSE;
}
- g = &gmod_init;
- if (!g_module_symbol (backend, init_fcn, g))
- {
- g_message ("%s: %s\n", PACKAGE, g_module_error ());
- return FALSE;
- }
g_module_make_resident(backend);
- gmod_init();
return TRUE;
}
Modified: gnucash/trunk/lib/libqof/qof/qofbackend.h
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofbackend.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofbackend.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -177,6 +177,15 @@
gboolean qof_backend_commit_exists(QofBackend *be);
//@}
+/** The qof_backend_set_error() routine pushes an error code onto the error
+ * stack. (FIXME: the stack is 1 deep in current implementation).
+ */
+void qof_backend_set_error (QofBackend *be, QofBackendError err);
+
+/** The qof_backend_get_error() routine pops an error code off the error stack.
+ */
+QofBackendError qof_backend_get_error (QofBackend *be);
+
/** @name Backend Configuration using KVP
The backend uses qof_backend_get_config to pass back a KvpFrame of QofBackendOption
@@ -254,16 +263,14 @@
/** \brief Load a QOF-compatible backend shared library.
\param directory Can be NULL if filename is a complete path.
-\param filename Name of the .la file that describes the
+\param module_name Name of the .la file that describes the
shared library. This provides platform independence,
courtesy of libtool.
-\param init_fcn The QofBackendProvider init function.
\return FALSE in case or error, otherwise TRUE.
*/
gboolean
-qof_load_backend_library (const gchar *directory,
- const gchar* filename, const gchar* init_fcn);
+qof_load_backend_library(const gchar *directory, const gchar* module_name);
/** \brief Retrieve the backend used by this book */
QofBackend* qof_book_get_backend (QofBook *book);
Modified: gnucash/trunk/lib/libqof/qof/qofbook.c
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofbook.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofbook.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -139,7 +139,7 @@
{
if (book_1 == book_2) return TRUE;
if (!book_1 || !book_2) return FALSE;
- return TRUE;
+ return FALSE;
}
/* ====================================================================== */
Modified: gnucash/trunk/lib/libqof/qof/qofsession-p.h
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofsession-p.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofsession-p.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -70,7 +70,4 @@
void qof_session_push_error (QofSession *session, QofBackendError err,
const char *message);
-
-QofBackend* gncBackendInit_file(const char *book_id, void *data);
-
#endif
Modified: gnucash/trunk/lib/libqof/qof/qofsession.c
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofsession.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofsession.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -843,7 +843,6 @@
{
const char *libdir;
const char *filename;
- const char *init_fcn;
};
/* All available QOF backends need to be described here
@@ -851,11 +850,11 @@
Remember: Use the libdir from the current build environment
and use JUST the module name without .so - .so is not portable! */
struct backend_providers backend_list[] = {
- { QOF_LIB_DIR, QSF_BACKEND_LIB, QSF_MODULE_INIT },
+ { QOF_LIB_DIR, QSF_BACKEND_LIB },
#ifdef HAVE_DWI
- { QOF_LIB_DIR, "libqof_backend_dwi", "dwiend_provider_init" },
+ { QOF_LIB_DIR, "libqof_backend_dwi"},
#endif
- { NULL, NULL, NULL }
+ { NULL, NULL }
};
static void
@@ -876,11 +875,10 @@
{
for (num = 0; backend_list[num].filename != NULL; num++) {
if(!qof_load_backend_library(backend_list[num].libdir,
- backend_list[num].filename, backend_list[num].init_fcn))
+ backend_list[num].filename))
{
- PWARN (" failed to load %s from %s using %s",
- backend_list[num].filename, backend_list[num].libdir,
- backend_list[num].init_fcn);
+ PWARN (" failed to load %s from %s",
+ backend_list[num].filename, backend_list[num].libdir);
}
}
}
@@ -894,13 +892,14 @@
/* More than one backend could provide this
access method, check file type compatibility. */
type_check = (gboolean (*)(const char*)) prov->check_data_type;
- prov_type = (type_check)(session->book_id);
- if(!prov_type)
- {
+ if (type_check) {
+ prov_type = (type_check)(session->book_id);
+ if (!prov_type) {
PINFO(" %s not usable", prov->provider_name);
p = p->next;
continue;
- }
+ }
+ }
PINFO (" selected %s", prov->provider_name);
if (NULL == prov->backend_new)
{
@@ -985,12 +984,12 @@
return;
}
+ /* destroy the old backend */
+ qof_session_destroy_backend(session);
+
/* Store the session URL */
session->book_id = g_strdup (book_id);
- /* destroy the old backend */
- qof_session_destroy_backend(session);
-
/* Look for something of the form of "file:/", "http://" or
* "postgres://". Everything before the colon is the access
* method. Load the first backend found for that access method.
@@ -1000,7 +999,7 @@
{
access_method = g_strdup (book_id);
p = strchr (access_method, ':');
- *p = 0;
+ *p = '\0';
qof_session_load_backend(session, access_method);
g_free (access_method);
}
@@ -1013,6 +1012,8 @@
/* No backend was found. That's bad. */
if (NULL == session->backend)
{
+ g_free(session->book_id);
+ session->book_id = NULL;
qof_session_push_error (session, ERR_BACKEND_BAD_URL, NULL);
LEAVE (" BAD: no backend: sess=%p book-id=%s",
session, book_id ? book_id : "(null)");
@@ -1207,7 +1208,7 @@
{
for (num = 0; backend_list[num].filename != NULL; num++) {
qof_load_backend_library(backend_list[num].libdir,
- backend_list[num].filename, backend_list[num].init_fcn);
+ backend_list[num].filename);
}
}
p = g_slist_copy(provider_list);
@@ -1418,4 +1419,45 @@
return session->backend->process_events (session->backend);
}
+/* XXX This exports the list of accounts to a file. It does not
+ * export any transactions. It's a place-holder until full
+ * book-closing is implemented.
+ */
+gboolean
+qof_session_export (QofSession *tmp_session,
+ QofSession *real_session,
+ QofPercentageFunc percentage_func)
+{
+ QofBook *book, *book2;
+ QofBackend *be;
+
+ if ((!tmp_session) || (!real_session)) return FALSE;
+
+ book = qof_session_get_book (real_session);
+ ENTER ("tmp_session=%p real_session=%p book=%p book_id=%s",
+ tmp_session, real_session, book,
+ qof_session_get_url(tmp_session)
+ ? qof_session_get_url(tmp_session) : "(null)");
+
+ /* There must be a backend or else. (It should always be the file
+ * backend too.)
+ */
+ book2 = qof_session_get_book(tmp_session);
+ be = qof_book_get_backend(book2);
+ if (!be)
+ return FALSE;
+
+ be->percentage = percentage_func;
+ if (be->export) {
+ int err;
+
+ (be->export)(be, book);
+ err = qof_backend_get_error(be);
+
+ if (ERR_BACKEND_NO_ERR != err) { return FALSE; }
+ }
+
+ return TRUE;
+}
+
/* =================== END OF FILE ====================================== */
Modified: gnucash/trunk/lib/libqof/qof/qofsession.h
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofsession.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofsession.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -431,5 +431,9 @@
* @param session A pointer to the session being closed. */
void qof_session_call_close_hooks (QofSession *session);
+gboolean qof_session_export (QofSession *tmp_session,
+ QofSession *real_session,
+ QofPercentageFunc percentage_func);
+
#endif /* QOF_SESSION_H */
/** @} */
Modified: gnucash/trunk/lib/libqof/qof/qofutil.c
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofutil.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofutil.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include <string.h>
#include "qof.h"
+#include "qofbackend-p.h"
static QofLogModule log_module = QOF_MOD_UTIL;
Modified: gnucash/trunk/lib/libqof/qof/qofutil.h
===================================================================
--- gnucash/trunk/lib/libqof/qof/qofutil.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/lib/libqof/qof/qofutil.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -36,7 +36,8 @@
#include "qof.h"
#include "qoflog.h"
#include "qofutil.h"
-#include "qofbackend-p.h"
+#include "qofbackend.h"
+#include "qofclass.h"
#include "qofbook.h"
#include "qofinstance.h"
Modified: gnucash/trunk/src/backend/file/gnc-backend-file.c
===================================================================
--- gnucash/trunk/src/backend/file/gnc-backend-file.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/file/gnc-backend-file.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -66,6 +66,18 @@
static QofLogModule log_module = GNC_MOD_BACKEND;
+typedef enum
+{
+ GNC_BOOK_NOT_OURS,
+ GNC_BOOK_BIN_FILE,
+ GNC_BOOK_XML1_FILE,
+ GNC_BOOK_XML2_FILE,
+ GNC_BOOK_XML2_FILE_NO_ENCODING,
+ QSF_GNC_OBJECT,
+ QSF_OBJECT,
+ QSF_MAP,
+} QofBookFileType;
+
/* ================================================================= */
static gboolean
@@ -1024,8 +1036,8 @@
g_free (prov);
}
-void
-gnc_provider_init(void)
+G_MODULE_EXPORT const gchar *
+g_module_check_init(GModule *module)
{
QofBackendProvider *prov;
#ifdef ENABLE_NLS
@@ -1042,6 +1054,7 @@
prov->provider_free = gnc_provider_free;
prov->check_data_type = gnc_determine_file_type;
qof_backend_register_provider (prov);
+ return NULL;
}
/* ========================== END OF FILE ===================== */
Modified: gnucash/trunk/src/backend/file/gnc-backend-file.h
===================================================================
--- gnucash/trunk/src/backend/file/gnc-backend-file.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/file/gnc-backend-file.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -32,7 +32,9 @@
#define GNC_BACKEND_FILE_H_
#include "qof.h"
+#include <gmodule.h>
+#include "qofbackend-p.h"
struct FileBackend_struct
{
QofBackend be;
@@ -51,20 +53,9 @@
typedef struct FileBackend_struct FileBackend;
-typedef enum
-{
- GNC_BOOK_NOT_OURS,
- GNC_BOOK_BIN_FILE,
- GNC_BOOK_XML1_FILE,
- GNC_BOOK_XML2_FILE,
- GNC_BOOK_XML2_FILE_NO_ENCODING,
- QSF_GNC_OBJECT,
- QSF_OBJECT,
- QSF_MAP,
-} QofBookFileType;
-
QofBackend * libgncmod_backend_file_LTX_gnc_backend_new(void);
-void gnc_provider_init(void);
+G_MODULE_EXPORT const gchar *
+g_module_check_init(GModule *module);
#endif /* GNC_BACKEND_FILE_H_ */
Modified: gnucash/trunk/src/backend/file/test/test-load-backend.c
===================================================================
--- gnucash/trunk/src/backend/file/test/test-load-backend.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/file/test/test-load-backend.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -29,17 +29,16 @@
#include "cashobjects.h"
#include "test-stuff.h"
-#define GNC_LIB_NAME "libgnc-backend-file.la"
-#define GNC_LIB_INIT "gnc_provider_init"
+#define GNC_LIB_NAME "gnc-backend-file"
int main (int argc, char ** argv)
{
- qof_init();
- cashobjects_register();
- do_test(
- qof_load_backend_library ("../", GNC_LIB_NAME, GNC_LIB_INIT),
- " loading gnc-backend-file GModule failed");
+ qof_init();
+ cashobjects_register();
+ do_test(
+ qof_load_backend_library ("../", GNC_LIB_NAME),
+ " loading gnc-backend-file GModule failed");
print_test_results();
- qof_close();
- return 0;
+ qof_close();
+ return 0;
}
Modified: gnucash/trunk/src/backend/file/test/test-load-xml2.c
===================================================================
--- gnucash/trunk/src/backend/file/test/test-load-xml2.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/file/test/test-load-xml2.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -47,8 +47,7 @@
#include "test-engine-stuff.h"
#include "test-file-stuff.h"
-#define GNC_LIB_NAME "libgnc-backend-file.la"
-#define GNC_LIB_INIT "gnc_provider_init"
+#define GNC_LIB_NAME "gnc-backend-file"
static void
remove_files_pattern(const char *begining, const char *ending)
@@ -112,8 +111,7 @@
g_type_init();
qof_init();
cashobjects_register();
- do_test(
- qof_load_backend_library ("../", GNC_LIB_NAME, GNC_LIB_INIT),
+ do_test(qof_load_backend_library ("../", GNC_LIB_NAME),
" loading gnc-backend-file GModule failed");
if (!location)
Modified: gnucash/trunk/src/backend/postgres/Makefile.am
===================================================================
--- gnucash/trunk/src/backend/postgres/Makefile.am 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/postgres/Makefile.am 2006-05-26 00:10:35 UTC (rev 14198)
@@ -2,8 +2,17 @@
lib_LTLIBRARIES = libgnc-backend-postgres.la
+AM_CFLAGS = \
+ -I.. -I../.. \
+ -I../../engine \
+ -I${srcdir}/../.. \
+ -I${top_srcdir}/src/backend \
+ -I${top_srcdir}/src/engine \
+ ${PGSQL_CFLAGS} \
+ ${QOF_CFLAGS} \
+ ${GLIB_CFLAGS}
+
libgnc_backend_postgres_la_LDFLAGS = -module
-
libgnc_backend_postgres_la_LIBADD = ${PGSQL_LIBS} -lpq \
${top_builddir}/src/engine/libgncmod-engine.la \
${QOF_LIBS} \
@@ -91,14 +100,6 @@
SUFFIXES = .sql
-AM_CFLAGS = \
- -I.. -I${srcdir}/.. \
- -I../.. -I${srcdir}/../.. \
- -I../../engine -I${srcdir}/../../engine \
- ${PGSQL_CFLAGS} \
- ${QOF_CFLAGS} \
- ${GLIB_CFLAGS}
-
$(M4_SRC): table.m4
%-autogen.c: %-objects.m4 table.m4
Modified: gnucash/trunk/src/backend/postgres/PostgresBackend.c
===================================================================
--- gnucash/trunk/src/backend/postgres/PostgresBackend.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/postgres/PostgresBackend.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -253,7 +253,7 @@
/* This routine finds the commodity by parsing a string
* of the form NAMESPACE::MNEMONIC
*/
-
+/* FIXME: replace w/ gnc_commodity_table_lookup_unique */
gnc_commodity *
gnc_string_to_commodity (const char *str, QofBook *book)
{
@@ -264,7 +264,7 @@
comtab = gnc_book_get_commodity_table (book);
space = g_strdup(str);
- name = strchr (space, ':');
+ name = strchr (space, ':'); /* BUG */
if (!name)
{
@@ -2542,7 +2542,8 @@
g_free (prov);
}
-void pgend_provider_init(void)
+G_MODULE_EXPORT const gchar *
+g_module_check_init(GModule *module)
{
QofBackendProvider *prov;
@@ -2554,6 +2555,7 @@
prov->provider_free = pg_provider_free;
prov->check_data_type = NULL;
qof_backend_register_provider (prov);
+ return NULL;
}
/* ======================== END OF FILE ======================== */
Modified: gnucash/trunk/src/backend/postgres/PostgresBackend.h
===================================================================
--- gnucash/trunk/src/backend/postgres/PostgresBackend.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/postgres/PostgresBackend.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -34,6 +34,7 @@
#ifndef POSTGRES_BACKEND_H
#define POSTGRES_BACKEND_H
+#include <gmodule.h>
#include <libpq-fe.h>
#include "Group.h"
@@ -57,6 +58,7 @@
#define MAX_VERSION_AGE 10
+#include "qofbackend-p.h"
struct _pgend {
QofBackend be;
@@ -132,6 +134,7 @@
void pgendDisable (PGBackend *be);
void pgendEnable (PGBackend *be);
-void pgend_provider_init(void);
+G_MODULE_EXPORT const gchar *
+g_module_check_init(GModule *module);
#endif /* POSTGRES_BACKEND_H */
Modified: gnucash/trunk/src/backend/postgres/test/test-db.c
===================================================================
--- gnucash/trunk/src/backend/postgres/test/test-db.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/postgres/test/test-db.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -32,8 +32,7 @@
#include "test-stuff.h"
#include "test-engine-stuff.h"
-#define PG_LIB_NAME "libgnc-backend-postgres.la"
-#define PG_LIB_INIT "pgend_provider_init"
+#define PG_LIB_NAME "gnc-backend-postgres"
static QofLogModule log_module = GNC_MOD_TEST;
@@ -1095,9 +1094,8 @@
DbInfo *dbinfo;
qof_init();
- do_test(
- qof_load_backend_library (QOF_LIB_DIR, PG_LIB_NAME, PG_LIB_INIT),
- " loading gnc-backend-postgres GModule failed");
+ do_test(qof_load_backend_library (QOF_LIB_DIR, PG_LIB_NAME),
+ " loading gnc-backend-postgres GModule failed");
dbinfo = g_new0(DbInfo, 1);
Modified: gnucash/trunk/src/backend/postgres/test/test-load-backend.c
===================================================================
--- gnucash/trunk/src/backend/postgres/test/test-load-backend.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/postgres/test/test-load-backend.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -29,8 +29,7 @@
#include "cashobjects.h"
#include "test-stuff.h"
-#define PG_LIB_NAME "libgnc-backend-postgres.la"
-#define PG_LIB_INIT "pgend_provider_init"
+#define PG_LIB_NAME "gnc-backend-postgres"
int main (int argc, char ** argv)
{
@@ -38,8 +37,7 @@
cashobjects_register();
/* the test needs to run locally in case make install
* has not yet been run. Use GNC_LIBDIR usually. */
- do_test(
- qof_load_backend_library ("../", PG_LIB_NAME, PG_LIB_INIT),
+ do_test(qof_load_backend_library ("../", PG_LIB_NAME),
" loading gnc-backend-postgres GModule failed");
print_test_results();
qof_close();
Modified: gnucash/trunk/src/backend/postgres/test/test-period.c
===================================================================
--- gnucash/trunk/src/backend/postgres/test/test-period.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/backend/postgres/test/test-period.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -35,7 +35,6 @@
#include "Transaction.h"
#define PG_LIB_NAME "libgnc-backend-postgres.la"
-#define PG_LIB_INIT "pgend_provider_init"
static void
run_test (void)
@@ -52,9 +51,8 @@
Timespec tsfirst, tslast, tsmiddle;
char * test_url;
- do_test( qof_load_backend_library (QOF_LIB_DIR,
- PG_LIB_NAME, PG_LIB_INIT),
- " loading gnc-backend-postgres GModule failed");
+ do_test(qof_load_backend_library (QOF_LIB_DIR, PG_LIB_NAME),
+ " loading gnc-backend-postgres GModule failed");
session = get_random_session ();
Modified: gnucash/trunk/src/engine/Account.c
===================================================================
--- gnucash/trunk/src/engine/Account.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/Account.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -348,7 +348,7 @@
xaccAccountCommitEdit (Account *acc)
{
g_return_if_fail(acc);
- if(!qof_commit_edit(&acc->inst)) { return;}
+ if (!qof_commit_edit(&acc->inst)) return;
/* If marked for deletion, get rid of subaccounts first,
* and then the splits ... */
@@ -385,7 +385,7 @@
qof_collection_foreach(col, destroy_pending_splits_for_account, acc);
/* the lots should be empty by now */
- for (lp=acc->lots; lp; lp=lp->next)
+ for (lp = acc->lots; lp; lp = lp->next)
{
GNCLot *lot = lp->data;
gnc_lot_destroy (lot);
Modified: gnucash/trunk/src/engine/Makefile.am
===================================================================
--- gnucash/trunk/src/engine/Makefile.am 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/Makefile.am 2006-05-26 00:10:35 UTC (rev 14198)
@@ -209,7 +209,7 @@
CLEANFILES = gnucash g-wrapped .scm-links gncla-dir.h
DISTCLEANFILES = ${SCM_FILE_LINKS} gw-engine.html gw-kvp.html
-gncla-dir.h: gncla-dir.h.in
+gncla-dir.h: gncla-dir.h.in ${top_builddir}/config.status
rm -f $@.tmp
sed < $< > $@.tmp \
-e 's:@-libdir-@:${libdir}:g'
Modified: gnucash/trunk/src/engine/Period.c
===================================================================
--- gnucash/trunk/src/engine/Period.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/Period.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -801,23 +801,27 @@
static void
period_begin_edit (QofBook *src_book, QofBook *dest_book)
{
+ /*
QofBackend *be;
be = qof_book_get_backend(src_book);
if (be && be->begin)
{
// (*be->begin)(be, GNC_ID_PERIOD, dest_book);
}
+ */
}
static void
period_commit_edit (QofBook *src_book, QofBook *dest_book)
{
+ /*
QofBackend *be;
be = qof_book_get_backend(src_book);
if (be && be->commit)
{
// (*be->commit)(be, GNC_ID_PERIOD, dest_book);
}
+ */
}
/* ================================================================ */
Modified: gnucash/trunk/src/engine/Transaction.c
===================================================================
--- gnucash/trunk/src/engine/Transaction.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/Transaction.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -48,6 +48,7 @@
#include "gnc-lot.h"
#include "gnc-event.h"
+#include "qofbackend-p.h"
/* Notes about xaccTransBeginEdit(), xaccTransCommitEdit(), and
* xaccTransRollback():
Modified: gnucash/trunk/src/engine/gnc-commodity.h
===================================================================
--- gnucash/trunk/src/engine/gnc-commodity.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/gnc-commodity.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -34,7 +34,7 @@
handling and identification system (GUID's, Entities, etc.)
that the other parts of GnuCash use. The API really should be
ported over. This would allow us to get rid of the
- commodity table reoutines defined below.
+ commodity table routines defined below.
@{ */
/** @file gnc-commodity.h
Modified: gnucash/trunk/src/engine/gnc-engine.c
===================================================================
--- gnucash/trunk/src/engine/gnc-engine.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/gnc-engine.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -1,5 +1,5 @@
/********************************************************************
- * gnc-engine.c -- top-level initialization for Gnucash Engine *
+ * gnc-engine.c -- top-level initialization for GnuCash Engine *
* Copyright 2000 Bill Gribble <grib at billgribble.com> *
* *
* This program is free software; you can redistribute it and/or *
@@ -39,15 +39,14 @@
#include "gnc-pricedb-p.h"
/** gnc file backend library name */
-#define GNC_LIB_NAME "libgnc-backend-file"
-/** init_fcn for gnc file backend library. */
-#define GNC_LIB_INIT "gnc_provider_init"
+#define GNC_LIB_NAME "gnc-backend-file"
+
/* gnc-backend-file location */
#include "gncla-dir.h"
static GList * engine_init_hooks = NULL;
static int engine_is_initialized = 0;
-static QofLogModule log_module = GNC_MOD_ENGINE;
+//static QofLogModule log_module = GNC_MOD_ENGINE;
/* GnuCash version functions */
unsigned int
@@ -76,15 +75,18 @@
void
gnc_engine_init(int argc, char ** argv)
{
+ static gchar *names[] = {
+ GNC_LIB_NAME, QSF_BACKEND_LIB, "gnc-backend-postgres",
+ NULL};
+ gchar **np;
gnc_engine_init_hook_t hook;
- GList * cur;
+ GList * cur;
if (1 == engine_is_initialized) return;
/* initialize logging to our file. */
qof_log_init_filename("/tmp/gnucash.trace");
- /* Only set the core log_modules here
- the rest can be set locally. */
+ /* Only set the core log_modules here the rest can be set locally. */
qof_log_set_level(GNC_MOD_ENGINE, QOF_LOG_WARNING);
qof_log_set_level(GNC_MOD_IO, QOF_LOG_WARNING);
qof_log_set_level(GNC_MOD_GUI, QOF_LOG_WARNING);
@@ -96,12 +98,11 @@
/* Now register our core types */
cashobjects_register();
- g_return_if_fail((qof_load_backend_library
- (QOF_LIB_DIR, QSF_BACKEND_LIB, QSF_MODULE_INIT)));
- g_return_if_fail((qof_load_backend_library
- (GNC_LIBDIR, GNC_LIB_NAME, GNC_LIB_INIT)));
+ for (np = names; *np; np++) {
+ if (qof_load_backend_library(GNC_LIBDIR, *np))
+ engine_is_initialized = 1;
+ }
- engine_is_initialized = 1;
/* call any engine hooks */
for (cur = engine_init_hooks; cur; cur = cur->next)
{
@@ -138,10 +139,7 @@
gboolean
gnc_engine_is_initialized (void)
{
-/* if (engine_is_initialized == 1) return TRUE;
- return FALSE;
-*/
- return (engine_is_initialized == 1) ? TRUE : FALSE;
+ return (engine_is_initialized == 1) ? TRUE : FALSE;
}
/* replicate old gnc-trace enum behaviour
@@ -176,46 +174,3 @@
qof_log_set_level(GNC_MOD_BUDGET, QOF_LOG_WARNING);
}
-/* ====================================================================== */
-/* XXX This exports the list of accounts to a file. It does not export
- * any transactions. Its a place-holder until full book-closing is implemented.
- */
-
-gboolean
-qof_session_export (QofSession *tmp_session,
- QofSession *real_session,
- QofPercentageFunc percentage_func)
-{
- QofBook *book, *book2;
- QofBackend *be;
- int err;
-
- if ((!tmp_session) || (!real_session)) return FALSE;
-
- book = qof_session_get_book (real_session);
- ENTER ("tmp_session=%p real_session=%p book=%p book_id=%s",
- tmp_session, real_session, book,
- qof_session_get_url(tmp_session)
- ? qof_session_get_url(tmp_session) : "(null)");
-
- /* There must be a backend or else. (It should always be the file
- * backend too.)
- */
- book2 = qof_session_get_book(tmp_session);
- be = qof_book_get_backend(book2);
- if (!be)
- return FALSE;
-
- be->percentage = percentage_func;
- if (be->export)
- {
-
- (be->export)(be, book);
- err = qof_backend_get_error(be);
-
- if (ERR_BACKEND_NO_ERR != err) { return FALSE; }
- }
-
- return TRUE;
-}
-
Modified: gnucash/trunk/src/engine/gnc-engine.h
===================================================================
--- gnucash/trunk/src/engine/gnc-engine.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/gnc-engine.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -103,7 +103,7 @@
#define GNC_ID_SXTG "SXTGroup"
#define GNC_ID_SXTT "SXTTrans"
#define GNC_ID_TRANS "Trans"
-
+
/* TYPES **********************************************************/
/* CAS: ISTM, it would make more sense to put the typedefs in their
@@ -250,11 +250,5 @@
* it will be called during the evaluation of gnc_engine_init */
void gnc_engine_add_init_hook(gnc_engine_init_hook_t hook);
-gboolean
-qof_session_export (QofSession *tmp_session,
- QofSession *real_session,
- QofPercentageFunc percentage_func);
-
-
#endif
/** @} */
Modified: gnucash/trunk/src/engine/gnc-pricedb.c
===================================================================
--- gnucash/trunk/src/engine/gnc-pricedb.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/gnc-pricedb.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -27,6 +27,7 @@
#include <glib.h>
#include <string.h>
#include "gnc-pricedb-p.h"
+#include "qofbackend-p.h"
/* This static indicates the debugging module that this .o belongs to. */
static QofLogModule log_module = GNC_MOD_PRICE;
Modified: gnucash/trunk/src/engine/gnc-session-scm.c
===================================================================
--- gnucash/trunk/src/engine/gnc-session-scm.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/gnc-session-scm.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -69,13 +69,6 @@
qof_session_save (session, gnc_session_scm_gui_cb_helper);
}
-gboolean
-gnc_session_scm_export (QofSession *tmp_session, QofSession *real_session)
-{
- return qof_session_export(tmp_session, real_session,
- gnc_session_scm_gui_cb_helper);
-}
-
/*
* Set the callback that will be used for any calls to the session
* load/save functions from the scheme side of the code.
Modified: gnucash/trunk/src/engine/gnc-session-scm.h
===================================================================
--- gnucash/trunk/src/engine/gnc-session-scm.h 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/gnc-session-scm.h 2006-05-26 00:10:35 UTC (rev 14198)
@@ -43,8 +43,6 @@
#include "gnc-engine.h"
void gnc_session_scm_load (QofSession *session);
-gboolean gnc_session_scm_export (QofSession *tmp_session,
- QofSession *real_session);
void gnc_session_scm_save (QofSession *session);
void gnc_session_scm_set_callback (SCM percentage_cb);
Modified: gnucash/trunk/src/engine/gw-engine-spec.scm
===================================================================
--- gnucash/trunk/src/engine/gw-engine-spec.scm 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/engine/gw-engine-spec.scm 2006-05-26 00:10:35 UTC (rev 14198)
@@ -1443,14 +1443,6 @@
(gw:wrap-function
ws
- 'gnc:session-export
- '<gw:bool>
- "gnc_session_scm_export"
- '((<gnc:Session*> tmp_session) (<gnc:Session*> real_session))
- "Export the accounts in the session.")
-
-(gw:wrap-function
- ws
'gnc:session-set-callback
'<gw:void>
"gnc_session_scm_set_callback"
Modified: gnucash/trunk/src/gnome-utils/gnc-file.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-file.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/gnome-utils/gnc-file.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -960,7 +960,7 @@
/* If we don't have a filename/path to save to get one. */
session = gnc_get_current_session ();
- if (!qof_session_get_file_path (session))
+ if (!qof_session_get_url(session))
{
gnc_file_save_as ();
return;
@@ -977,10 +977,10 @@
/* Make sure everything's OK - disk could be full, file could have
become read-only etc. */
- newfile = qof_session_get_file_path (session);
io_err = qof_session_get_error (session);
if (ERR_BACKEND_NO_ERR != io_err)
{
+ newfile = qof_session_get_url(session);
show_session_error (io_err, newfile, GNC_FILE_DIALOG_SAVE);
if (been_here_before) return;
@@ -1035,7 +1035,7 @@
}
session = gnc_get_current_session ();
- oldfile = qof_session_get_file_path (session);
+ oldfile = qof_session_get_url(session);
if (oldfile && (strcmp(oldfile, newfile) == 0))
{
g_free (newfile);
@@ -1045,7 +1045,7 @@
/* -- this session code is NOT identical in FileOpen and FileSaveAs -- */
- xaccLogSetBaseName(newfile);
+ xaccLogSetBaseName(newfile); //FIXME: This is premature.
save_in_progress++;
new_session = qof_session_new ();
qof_session_begin (new_session, newfile, FALSE, FALSE);
@@ -1124,7 +1124,6 @@
save_in_progress--;
g_free (newfile);
- gnc_hook_run(HOOK_BOOK_SAVED, new_session);
LEAVE (" ");
}
@@ -1136,7 +1135,7 @@
gnc_set_busy_cursor (NULL, TRUE);
session = gnc_get_current_session ();
- /* disable events; otherwise the mass deletetion of accounts and
+ /* disable events; otherwise the mass deletion of accounts and
* transactions during shutdown would cause massive redraws */
qof_event_suspend ();
Modified: gnucash/trunk/src/gnome-utils/gnc-html-graph-gog.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-html-graph-gog.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/gnome-utils/gnc-html-graph-gog.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -306,7 +306,7 @@
* legend_urls_[123]: ?
*/
static gboolean
-handle_piechart(gnc_html * html, GtkHTMLEmbedded * eb, gpointer d)
+handle_piechart(gnc_html * html, GtkHTMLEmbedded * eb, gpointer unused)
{
GogObject *graph, *chart;
GogPlot *plot;
@@ -375,7 +375,7 @@
* stacked:boolean
**/
static gboolean
-handle_barchart(gnc_html * html, GtkHTMLEmbedded * eb, gpointer d)
+handle_barchart(gnc_html * html, GtkHTMLEmbedded * eb, gpointer unused)
{
GogObject *graph, *chart;
GogPlot *plot;
@@ -499,7 +499,7 @@
}
static gboolean
-handle_scatter(gnc_html * html, GtkHTMLEmbedded * eb, gpointer d)
+handle_scatter(gnc_html * html, GtkHTMLEmbedded * eb, gpointer unused)
{
GogObject *graph, *chart;
GogPlot *plot;
@@ -550,7 +550,7 @@
}
static void
-draw_print_cb (GtkHTMLEmbedded *eb, GnomePrintContext *context, gpointer d)
+draw_print_cb(GtkHTMLEmbedded *eb, GnomePrintContext *context, gpointer unused)
{
GogGraph *graph = GOG_GRAPH (g_object_get_data (G_OBJECT (eb), "graph"));
Modified: gnucash/trunk/src/gnome-utils/gnc-main-window.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-main-window.c 2006-05-25 13:51:22 UTC (rev 14197)
+++ gnucash/trunk/src/gnome-utils/gnc-main-window.c 2006-05-26 00:10:35 UTC (rev 14198)
@@ -906,7 +906,7 @@
session = gnc_get_current_session();
book = qof_session_get_book(session);
- filename = qof_session_get_file_path(session);
+ filename = qof_session_get_url(session);
if (filename == NULL)
filename = _("<unknown>");
if ((tmp = strrchr(filename, '/')) != NULL)
More information about the gnucash-changes
mailing list