mirror of https://github.com/Gnucash/gnucash
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.4 KiB
57 lines
2.4 KiB
#ifndef GNUMERIC_PLUGIN_H
|
|
#define GNUMERIC_PLUGIN_H
|
|
|
|
#include "gnumeric.h"
|
|
#include <glib-object.h>
|
|
|
|
/*
|
|
* Use "#define PLUGIN_DEBUG x" to enable some plugin related debugging
|
|
* messages.
|
|
#undef PLUGIN_DEBUG
|
|
* Define PLUGIN_ALWAYS_LOAD to disable loading on demand feature
|
|
*/
|
|
|
|
#define GNM_PLUGIN_TYPE (gnm_plugin_get_type ())
|
|
#define GNM_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNM_PLUGIN_TYPE, GnmPlugin))
|
|
#define IS_GNM_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_PLUGIN_TYPE))
|
|
|
|
GType gnm_plugin_get_type (void);
|
|
|
|
void gnm_plugin_activate (GnmPlugin *pinfo, ErrorInfo **ret_error);
|
|
void gnm_plugin_deactivate (GnmPlugin *pinfo, ErrorInfo **ret_error);
|
|
gboolean gnm_plugin_is_active (GnmPlugin *pinfo);
|
|
gboolean gnm_plugin_can_deactivate (GnmPlugin *pinfo);
|
|
void gnm_plugin_load_service (GnmPlugin *pinfo, GnmPluginService *service, ErrorInfo **ret_error);
|
|
void gnm_plugin_unload_service (GnmPlugin *pinfo, GnmPluginService *service, ErrorInfo **ret_error);
|
|
gboolean gnm_plugin_is_loaded (GnmPlugin *pinfo);
|
|
void gnm_plugin_use_ref (GnmPlugin *pinfo);
|
|
void gnm_plugin_use_unref (GnmPlugin *pinfo);
|
|
|
|
char const *gnm_plugin_get_dir_name (GnmPlugin *pinfo);
|
|
char const *gnm_plugin_get_id (GnmPlugin *pinfo);
|
|
char const *gnm_plugin_get_name (GnmPlugin *pinfo);
|
|
char const *gnm_plugin_get_description (GnmPlugin *pinfo);
|
|
char const *gnm_plugin_get_textdomain (GnmPlugin *pinfo);
|
|
GSList *gnm_plugin_get_dependencies_ids (GnmPlugin *pinfo);
|
|
GSList *gnm_plugin_get_services (GnmPlugin *pinfo);
|
|
|
|
/*
|
|
*
|
|
*/
|
|
|
|
void plugins_init (GnmCmdContext *context);
|
|
void plugins_shutdown (void);
|
|
void plugins_register_loader (const gchar *id_str, GnmPluginService *service);
|
|
void plugins_unregister_loader (const gchar *id_str);
|
|
GnmPlugin *plugins_get_plugin_by_id (const gchar *plugin_id);
|
|
GSList *plugins_get_available_plugins (void);
|
|
void plugins_rescan (ErrorInfo **ret_error, GSList **ret_new_plugins);
|
|
void plugin_db_mark_plugin_for_deactivation (GnmPlugin *pinfo, gboolean mark);
|
|
gboolean plugin_db_is_plugin_marked_for_deactivation (GnmPlugin *pinfo);
|
|
void plugin_db_activate_plugin_list (GSList *plugins, ErrorInfo **ret_error);
|
|
void plugin_db_deactivate_plugin_list (GSList *plugins, ErrorInfo **ret_error);
|
|
|
|
void plugin_message (gint level, const gchar *format, ...) G_GNUC_PRINTF (2, 3);
|
|
|
|
#endif /* GNUMERIC_PLUGIN_H */
|