GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
gnc-module.h
1 /*************************************************************
2  * gnc-module.h -- loadable plugin/module system for gnucash
3  * Copyright 2001 Linux Developers Group, Inc.
4  *************************************************************/
5 
6 #ifndef GNC_MODULE_H
7 #define GNC_MODULE_H
8 
9 #include <glib.h>
10 
11 typedef void * GNCModule;
12 
13 #define DEFAULT_MODULE_PATH "/usr/local/gnucash/lib/modules"
14 #define GNC_MODULE_PREFIX "libgncmod"
15 
16 /* the basics: initialize the module system, refresh its module
17  * database, and get a list of all known modules */
18 void gnc_module_system_init(void);
19 void gnc_module_system_refresh(void);
20 GList * gnc_module_system_modinfo(void);
21 
22 /* load and unload a module. gnc_module_system_init() must be called
23  * before loading and unloading.
24  */
25 /*@ dependent @*/
26 GNCModule gnc_module_load(const gchar * module_name, gint iface);
27 GNCModule gnc_module_load_optional(const gchar * module_name, gint iface);
28 int gnc_module_unload(GNCModule mod);
29 
30 #endif