GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
gnc-mod-baz.c
1 /* gnc-mod-baz.c : the Gnucash plugin that wraps the library
2  * 'libbaz.so'. it does this by being linked against libbaz.so */
3 
4 #include "config.h"
5 #include <stdio.h>
6 #include <gmodule.h>
7 #include <libguile.h>
8 
9 #include "gnc-module.h"
10 #include "gnc-module-api.h"
11 #include "swig-baz.c"
12 
13 GNC_MODULE_API_DECL(libgncmodbaz)
14 
15 int libgncmodbaz_gnc_module_system_interface = 0;
16 
17 int libgncmodbaz_gnc_module_current = 0;
18 int libgncmodbaz_gnc_module_age = 0;
19 int libgncmodbaz_gnc_module_revision = 0;
20 
21 char *
22 libgncmodbaz_gnc_module_path(void)
23 {
24  return g_strdup("gnucash/baz");
25 }
26 
27 char *
28 libgncmodbaz_gnc_module_description(void)
29 {
30  return g_strdup("this is the baz module");
31 }
32 
33 int
34 libgncmodbaz_gnc_module_init(int refcount)
35 {
36  /* load libfoo */
37  if (gnc_module_load("gnucash/foo", 0))
38  {
39  /* publish the wrapped Scheme bindings for libbaz */
40  scm_init_sw_baz_module();
41  scm_c_eval_string("(use-modules (sw_baz))");
42 
43  /* use the Scheme "baz" module */
44  scm_c_eval_string("(use-modules (gnucash baz))");
45 
46  return TRUE;
47  }
48  else
49  {
50  return FALSE;
51  }
52 }