1 #ifndef GO_PLUGIN_LOADER_H 2 #define GO_PLUGIN_LOADER_H 3 4 #include <glib.h> 5 #include <glib-object.h> 6 #include <libxml/tree.h> 7 #include <goffice/app/go-plugin.h> 8 #include <goffice/app/goffice-app.h> 9 10 G_BEGIN_DECLS 11 12 #define GO_TYPE_PLUGIN_LOADER (go_plugin_loader_get_type ()) 13 #define GO_PLUGIN_LOADER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_PLUGIN_LOADER, GOPluginLoader)) 14 #define GO_IS_PLUGIN_LOADER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_PLUGIN_LOADER)) 15 #define GO_PLUGIN_LOADER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GO_TYPE_PLUGIN_LOADER, GOPluginLoaderClass)) 16 #define GO_IS_PLUGIN_LOADER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GO_TYPE_PLUGIN_LOADER)) 17 18 typedef struct { 19 GTypeInterface base; 20 21 void (*load_base) (GOPluginLoader *l, GOErrorInfo **err); 22 void (*unload_base) (GOPluginLoader *l, GOErrorInfo **err); 23 void (*set_attributes) (GOPluginLoader *l, GHashTable *attrs, GOErrorInfo **err); 24 gboolean (*service_load) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 25 gboolean (*service_unload) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 26 27 void (*load_service_file_opener) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 28 void (*unload_service_file_opener) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 29 30 void (*load_service_file_saver) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 31 void (*unload_service_file_saver) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 32 33 void (*load_service_plugin_loader) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 34 void (*unload_service_plugin_loader) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 35 } GOPluginLoaderClass; 36 37 GType go_plugin_loader_get_type (void); 38 void go_plugin_loader_set_attributes (GOPluginLoader *l, GHashTable *attrs, 39 GOErrorInfo **err); 40 GOPlugin *go_plugin_loader_get_plugin (GOPluginLoader *l); 41 void go_plugin_loader_set_plugin (GOPluginLoader *l, GOPlugin *p); 42 void go_plugin_loader_load_base (GOPluginLoader *l, GOErrorInfo **err); 43 void go_plugin_loader_unload_base (GOPluginLoader *l, GOErrorInfo **err); 44 void go_plugin_loader_load_service (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 45 void go_plugin_loader_unload_service (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err); 46 gboolean go_plugin_loader_is_base_loaded (GOPluginLoader *l); 47 48 G_END_DECLS 49 50 #endif /* GO_PLUGIN_LOADER_H */ 51