29#include "cashobjects.h"
33#include "TransactionP.hpp"
35#include "gnc-pricedb-p.h"
38#define GNC_LIB_NAME "gncmod-backend-xml"
43static GList * engine_init_hooks =
nullptr;
44static int engine_is_initialized = 0;
46EngineCommitErrorCallback g_error_cb;
47gpointer g_error_cb_data;
57gnc_engine_init_part1()
63 cashobjects_register();
67gnc_engine_init_part2()
76#if defined( HAVE_DBI_DBI_H )
77 {
"",
"gncmod-backend-dbi", TRUE },
79 {
"",
"gncmod-backend-xml", TRUE },
80 {
nullptr,
nullptr, FALSE }
83 for (lib = libs; lib->lib ; lib++)
85 if (qof_load_backend_library(lib->subdir, lib->lib))
87 engine_is_initialized = 1;
91 g_warning(
"failed to load %s from relative path %s\n", lib->lib, lib->subdir);
95 g_critical(
"required library %s not found.\n", lib->lib);
102gnc_engine_init_part3(
int argc,
char ** argv)
106 for (cur = engine_init_hooks; cur; cur = cur->next)
118 if (1 == engine_is_initialized)
return;
120 gnc_engine_init_part1();
121 gnc_engine_init_part2();
122 gnc_engine_init_part3(argc, argv);
128 if (1 == engine_is_initialized)
return;
130 gnc_engine_init_part1();
131 gnc_engine_init_part3(argc, argv);
145 engine_is_initialized = 0;
156 engine_init_hooks = g_list_append(engine_init_hooks, (gpointer)h);
162 return (engine_is_initialized == 1) ? TRUE : FALSE;
169 g_error_cb_data = data;
175 if ( g_error_cb !=
nullptr )
177 (*g_error_cb)( g_error_cb_data, errcode );
This is the private header for the account structure.
Commodity handling public routines.
All type declarations for the whole Gnucash engine.
QofBackendError
The errors that can be reported to the GUI & other front-end users.
void gnc_engine_add_commit_error_callback(EngineCommitErrorCallback cb, gpointer data)
Set a callback function to be called in case an engine commit fails.
void gnc_engine_init(int argc, char **argv)
PROTOTYPES.
void(* gnc_engine_init_hook_t)(int, char **)
Function type for init hooks in the engine.
void gnc_engine_init_static(int argc, char **argv)
This is the statically linked-in version of gnc_engine_init.
void gnc_engine_add_init_hook(gnc_engine_init_hook_t h)
Pass a function pointer to gnc_engine_add_init_hook and it will be called during the evaluation of gn...
gboolean gnc_engine_is_initialized(void)
check the engine is fully initialized
void gnc_engine_shutdown(void)
Called to shutdown the engine.
void qof_log_shutdown(void)
Be nice, close the logfile if possible.
void qof_init(void)
Initialise the Query Object Framework.
void qof_close(void)
Safely close down the Query Object Framework.