GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
gnc-mod-foo.c
1 /* gnc-mod-foo.c : the Gnucash plugin that wraps the library
2  * 'libfoo.so'. it does this by being linked against libfoo.so */
3 
4 #include "config.h"
5 #include <stdio.h>
6 #include <gmodule.h>
7 #include <libguile.h>
8 
9 #include "gnc-module-api.h"
10 #include "swig-foo.c"
11 
12 GNC_MODULE_API_DECL(libgncmodfoo)
13 
14 int libgncmodfoo_gnc_module_system_interface = 0;
15 
16 int libgncmodfoo_gnc_module_current = 0;
17 int libgncmodfoo_gnc_module_age = 0;
18 int libgncmodfoo_gnc_module_revision = 0;
19 
20 char *
21 libgncmodfoo_gnc_module_path(void)
22 {
23  return g_strdup("gnucash/foo");
24 }
25 
26 char *
27 libgncmodfoo_gnc_module_description(void)
28 {
29  return g_strdup("this is a foo module");
30 }
31 
32 int
33 libgncmodfoo_gnc_module_init(int refcount)
34 {
35  /* publish the wrapped Scheme bindings for libfoo */
36  scm_init_sw_foo_module();
37  scm_c_eval_string("(use-modules (sw_foo))");
38 
39  /* use the Scheme "foo" module */
40  scm_c_eval_string("(use-modules (gnucash foo))");
41 
42  return TRUE;
43 }