29 #include "cashobjects.h"
31 #include "SX-book-p.h"
33 #include "TransactionP.h"
35 #include "gnc-pricedb-p.h"
38 #define GNC_LIB_NAME "gncmod-backend-xml"
43 static GList * engine_init_hooks = NULL;
44 static int engine_is_initialized = 0;
46 EngineCommitErrorCallback g_error_cb;
47 gpointer g_error_cb_data;
57 gnc_engine_init_part1()
59 if (1 == engine_is_initialized)
return;
66 cashobjects_register();
70 gnc_engine_init_part2()
73 const gchar *builddir = g_getenv (
"GNC_BUILDDIR");
74 gboolean uninstalled = (g_getenv (
"GNC_UNINSTALLED") != NULL
84 #if defined( HAVE_DBI_DBI_H )
85 {
"dbi",
"gncmod-backend-dbi", TRUE },
87 {
"xml",
"gncmod-backend-xml", TRUE },
92 pkglibdir = g_build_path (G_DIR_SEPARATOR_S, builddir,
93 "src",
"backend", NULL);
95 pkglibdir = gnc_path_get_pkglibdir ();
97 for (lib = libs; lib->lib ; lib++)
101 libdir = g_build_path (G_DIR_SEPARATOR_S, pkglibdir,
102 lib->subdir,
".libs", NULL);
107 engine_is_initialized = 1;
111 g_warning(
"failed to load %s from %s\n", lib->lib, libdir);
115 g_critical(
"required library %s not found.\n", lib->lib);
125 gnc_engine_init_part3(
int argc,
char ** argv)
129 for (cur = engine_init_hooks; cur; cur = cur->next)
141 gnc_engine_init_part1();
142 gnc_engine_init_part2();
143 gnc_engine_init_part3(argc, argv);
149 gnc_engine_init_part1();
150 gnc_engine_init_part3(argc, argv);
164 engine_is_initialized = 0;
175 engine_init_hooks = g_list_append(engine_init_hooks, (gpointer)h);
181 return (engine_is_initialized == 1) ? TRUE : FALSE;
200 g_error_cb_data = data;
206 if ( g_error_cb != NULL )
208 (*g_error_cb)( g_error_cb_data, errcode );
void(* gnc_engine_init_hook_t)(int, char **)
void qof_log_set_level(QofLogModule module, QofLogLevel level)
void qof_log_set_default(QofLogLevel log_level)
QofBackendError
The errors that can be reported to the GUI & other front-end users.
void gnc_engine_shutdown(void)
void qof_set_alt_dirty_mode(gboolean enabled)
gboolean gnc_engine_is_initialized(void)
void gnc_engine_add_commit_error_callback(EngineCommitErrorCallback cb, gpointer data)
void qof_log_shutdown(void)
void gnc_engine_init_static(int argc, char **argv)
void gnc_log_default(void)
void gnc_engine_init(int argc, char **argv)
void gnc_engine_add_init_hook(gnc_engine_init_hook_t h)
All type declarations for the whole Gnucash engine.
gboolean qof_load_backend_library(const gchar *directory, const gchar *module_name)
Load a QOF-compatible backend shared library.
void qof_close(void)
Safely close down the Query Object Framework.
void qof_init(void)
Initialise the Query Object Framework.
Commodity handling public routines.