GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
gncmod-backend-xml.c
1 /*********************************************************************
2  * gncmod-backend-xml.c
3  * module definition/initialization for the file backend module
4  *
5  * Copyright (c) 2001 Linux Developers Group, Inc.
6  *********************************************************************/
7 
8 #include <stdio.h>
9 #include <gmodule.h>
10 /* #include <glib-gobject.h> */
11 
12 #include "gnc-module.h"
13 #include "gnc-module-api.h"
14 
15 GNC_MODULE_API_DECL(libgncmod_backend_file)
16 
17 /* version of the gnc module system interface we require */
18 int libgnc_backend_file_utils_gnc_module_system_interface = 0;
19 
20 /* module versioning uses libtool semantics. */
21 int libgncmod_backend_file_gnc_module_current = 0;
22 int libgncmod_backend_file_gnc_module_revision = 0;
23 int libgncmod_backend_file_gnc_module_age = 0;
24 
25 static GNCModule engine;
26 
27 
28 char *
29 libgncmod_backend_file_gnc_module_path(void)
30 {
31  return g_strdup("gnucash/backend/file");
32 }
33 
34 char *
35 libgncmod_backend_file_gnc_module_description(void)
36 {
37  return g_strdup("The binary and XML (v1 and v2) backends for GnuCash");
38 }
39 
40 int
41 libgncmod_backend_file_gnc_module_init(int refcount)
42 {
43  engine = gnc_module_load("gnucash/engine", 0);
44  if (!engine) return FALSE;
45 
46  return TRUE;
47 }
48 
49 int
50 libgncmod_backend_file_gnc_module_end(int refcount)
51 {
52  int unload = TRUE;
53 
54  if (engine)
55  unload = libgnc_backend_file_utils_gnc_module_unload(engine);
56 
57  if (refcount == 0)
58  engine = NULL;
59 
60  return unload;
61 }