2 * vim:ts=4:sw=4:et:cindent:cino=(0
5 #ifndef __TWEAKR_MODULE_H__
6 #define __TWEAKR_MODULE_H__
8 #include <glib-object.h>
13 #define TWEAKR_TYPE_MODULE \
14 (tweakr_module_get_type ())
15 #define TWEAKR_MODULE(o) \
16 (G_TYPE_CHECK_INSTANCE_CAST ((o), TWEAKR_TYPE_MODULE, \
18 #define TWEAKR_MODULE_CLASS(k) \
19 (G_TYPE_CHECK_CLASS_CAST((k), TWEAKR_TYPE_MODULE, \
21 #define TWEAKR_IS_MODULE(o) \
22 (G_TYPE_CHECK_INSTANCE_TYPE ((o), TWEAKR_TYPE_MODULE))
23 #define TWEAKR_IS_MODULE_CLASS(k) \
24 (G_TYPE_CHECK_CLASS_TYPE ((k), TWEAKR_TYPE_MODULE))
25 #define TWEAKR_MODULE_GET_CLASS(o) \
26 (G_TYPE_INSTANCE_GET_CLASS ((o), TWEAKR_TYPE_MODULE, \
29 typedef struct _TweakrModule TweakrModule;
30 typedef struct _TweakrModuleClass TweakrModuleClass;
34 GTypeModule parent_instance;
40 void (* load) (TweakrModule *module);
41 void (* unload) (TweakrModule *module);
44 struct _TweakrModuleClass
46 GTypeModuleClass parent_class;
49 GType tweakr_module_get_type (void) G_GNUC_CONST;
51 TweakrModule * tweakr_module_new (const gchar *filename);
54 /* API for the modules to implement */
56 void tweakr_module_load (TweakrModule *module);
57 void tweakr_module_unload (TweakrModule *module);
62 #endif /* __TWEAKR_MODULE_H_ */