Synopsis

void                (*GOPluginMethod)                   (GOPlugin *plugin,
                                                         GOCmdContext *cc);
                    GOPluginServiceResource;
void                go_plugin_activate                  (GOPlugin *plugin,
                                                         GOErrorInfo **ret_error);
gboolean            go_plugin_can_deactivate            (GOPlugin *plugin);
void                go_plugin_db_activate_plugin_list   (GSList *plugins,
                                                         GOErrorInfo **ret_error);
void                go_plugin_db_deactivate_plugin_list (GSList *plugins,
                                                         GOErrorInfo **ret_error);
gboolean            go_plugin_db_is_plugin_marked_for_deactivation
                                                        (GOPlugin *plugin);
void                go_plugin_db_mark_plugin_for_deactivation
                                                        (GOPlugin *plugin,
                                                         gboolean mark);
void                go_plugin_deactivate                (GOPlugin *plugin,
                                                         GOErrorInfo **ret_error);
GSList *            go_plugin_get_dependencies_ids      (GOPlugin *plugin);
char const  *       go_plugin_get_description           (GOPlugin *plugin);
char const  *       go_plugin_get_dir_name              (GOPlugin *plugin);
char const  *       go_plugin_get_id                    (GOPlugin *plugin);
GOPluginLoader *    go_plugin_get_loader                (GOPlugin *plugin);
char const  *       go_plugin_get_name                  (GOPlugin *plugin);
GSList *            go_plugin_get_services              (GOPlugin *plugin);
char const  *       go_plugin_get_textdomain            (GOPlugin *plugin);
GTypeModule *       go_plugin_get_type_module           (GOPlugin *plugin);
gboolean            go_plugin_is_active                 (GOPlugin *plugin);
gboolean            go_plugin_is_loaded                 (GOPlugin *plugin);
void                go_plugin_load_service              (GOPlugin *plugin,
                                                         GOPluginService *service,
                                                         GOErrorInfo **ret_error);
void                go_plugin_unload_service            (GOPlugin *plugin,
                                                         GOPluginService *service,
                                                         GOErrorInfo **ret_error);
void                go_plugin_use_ref                   (GOPlugin *plugin);
void                go_plugin_use_unref                 (GOPlugin *plugin);
GSList *            go_plugins_get_active_plugins       (void);
GSList *            go_plugins_get_available_plugins    (void);
GOPlugin *          go_plugins_get_plugin_by_id         (const gchar *plugin_id);
char *              go_plugins_get_plugin_dir           (void);
void                go_plugins_init                     (GOCmdContext *context,
                                                         GSList const *known_states,
                                                         GSList const *active_plugins,
                                                         GSList *plugin_dirs,
                                                         gboolean activate_new_plugins,
                                                         GType default_loader_type);
void                go_plugins_register_loader          (const gchar *id_str,
                                                         GOPluginService *service);
void                go_plugins_rescan                   (GOErrorInfo **ret_error,
                                                         GSList **ret_new_plugins);
GSList *            go_plugins_shutdown                 (void);
void                go_plugins_unregister_loader        (const gchar *id_str);

Object Hierarchy

  GObject
   +----GOPluginService
         +----GOPluginServiceResource

Description

Details

GOPluginMethod ()

void                (*GOPluginMethod)                   (GOPlugin *plugin,
                                                         GOCmdContext *cc);


GOPluginServiceResource

typedef struct _GOPluginServiceResource GOPluginServiceResource;


go_plugin_activate ()

void                go_plugin_activate                  (GOPlugin *plugin,
                                                         GOErrorInfo **ret_error);

Activates plugin together with all its dependencies. In case of error the plugin won't be activated and detailed error information will be returned using ret_error.

plugin :

GOPlugin

ret_error :

Pointer used to report errors

go_plugin_can_deactivate ()

gboolean            go_plugin_can_deactivate            (GOPlugin *plugin);

Tells if the plugin can be deactivated using go_plugin_deactivate.

plugin :

GOPlugin

Returns :

TRUE if plugin can be deactivated and FALSE otherwise.

go_plugin_db_activate_plugin_list ()

void                go_plugin_db_activate_plugin_list   (GSList *plugins,
                                                         GOErrorInfo **ret_error);

Activates all plugins in the list. If some of the plugins cannot be activated, the function reports this via ret_error (errors don't affect plugins activated successfully).

plugins :

The list of plugins. [element-type GOPlugin]

ret_error :

Pointer used to report errors

go_plugin_db_deactivate_plugin_list ()

void                go_plugin_db_deactivate_plugin_list (GSList *plugins,
                                                         GOErrorInfo **ret_error);

Deactivates all plugins in the list. If some of the plugins cannot be deactivated, the function reports this via ret_error (errors don't affect plugins deactivated successfully).

plugins :

The list of plugins. [element-type GOPlugin]

ret_error :

Pointer used to report errors

go_plugin_db_is_plugin_marked_for_deactivation ()

gboolean            go_plugin_db_is_plugin_marked_for_deactivation
                                                        (GOPlugin *plugin);

plugin :

GOPlugin

go_plugin_db_mark_plugin_for_deactivation ()

void                go_plugin_db_mark_plugin_for_deactivation
                                                        (GOPlugin *plugin,
                                                         gboolean mark);

plugin :

GOPlugin

go_plugin_deactivate ()

void                go_plugin_deactivate                (GOPlugin *plugin,
                                                         GOErrorInfo **ret_error);

Dectivates plugin. Its dependencies will NOT be automatically deactivated. In case of error the plugin won't be deactivated and detailed error information will be returned using ret_error.

plugin :

GOPlugin

ret_error :

Pointer used to report errors

go_plugin_get_dependencies_ids ()

GSList *            go_plugin_get_dependencies_ids      (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

the list of identifiers of plugins that plugin depends on. All these plugins will be automatically activated before activating the plugin itself. The caller must free the returned list together with the strings it points to (use g_slist_free_full (list, g_free) to do this). [element-type char][transfer full]

go_plugin_get_description ()

char const  *       go_plugin_get_description           (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

textual description of plugin or NULL if description is not available. Returned string stays valid during plugin's lifetime.

go_plugin_get_dir_name ()

char const  *       go_plugin_get_dir_name              (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

the name of the directory in which plugin is located. Returned string is != NULL and stays valid during plugin's lifetime.

go_plugin_get_id ()

char const  *       go_plugin_get_id                    (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

the ID of plugin (unique string used for idenfification of plugin). Returned string is != NULL and stays valid during plugin's lifetime.

go_plugin_get_loader ()

GOPluginLoader *    go_plugin_get_loader                (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

The loader. [transfer none]

go_plugin_get_name ()

char const  *       go_plugin_get_name                  (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

textual name of plugin. If the real name is not available for some reason, automatically generated string will be returned. Returned string is != NULL and stays valid during plugin's lifetime.

go_plugin_get_services ()

GSList *            go_plugin_get_services              (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

A list of services. The list must not be freed or changed. [element-type GOPluginService][transfer none]

go_plugin_get_textdomain ()

char const  *       go_plugin_get_textdomain            (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

plugin's textdomain for use with textdomain(3) and d*gettext(3) functions.

go_plugin_get_type_module ()

GTypeModule *       go_plugin_get_type_module           (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

the GTypeModule associated with the plugin creating it if necessary. [transfer none]

go_plugin_is_active ()

gboolean            go_plugin_is_active                 (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

TRUE if plugin is active and FALSE otherwise.

go_plugin_is_loaded ()

gboolean            go_plugin_is_loaded                 (GOPlugin *plugin);

plugin :

GOPlugin

Returns :

TRUE if plugin is loaded and FALSE otherwise.

go_plugin_load_service ()

void                go_plugin_load_service              (GOPlugin *plugin,
                                                         GOPluginService *service,
                                                         GOErrorInfo **ret_error);

Loads base part of the plugin if it is not loaded and then loads given plugin service (prepares necessary part of the plugin for direct use). This function is intended for use by GOPluginService objects.

plugin :

GOPlugin

service :

Plugin service

ret_error :

Pointer used to report errors

go_plugin_unload_service ()

void                go_plugin_unload_service            (GOPlugin *plugin,
                                                         GOPluginService *service,
                                                         GOErrorInfo **ret_error);

... This function is intended for use by GOPluginService objects.

plugin :

GOPlugin

service :

Plugin service

ret_error :

Pointer used to report errors

go_plugin_use_ref ()

void                go_plugin_use_ref                   (GOPlugin *plugin);

plugin :

GOPlugin

go_plugin_use_unref ()

void                go_plugin_use_unref                 (GOPlugin *plugin);

plugin :

GOPlugin

go_plugins_get_active_plugins ()

GSList *            go_plugins_get_active_plugins       (void);

Returns :

the list of active plugins names. The caller needs to free the list, but not the content. [element-type char][transfer container]

go_plugins_get_available_plugins ()

GSList *            go_plugins_get_available_plugins    (void);

Returns :

the list of available plugins. The returned value must not be freed and stays valid until calling plugins_rescan or plugins_shutdown. [element-type GOPlugin][transfer container]

go_plugins_get_plugin_by_id ()

GOPlugin *          go_plugins_get_plugin_by_id         (const gchar *plugin_id);

plugin_id :

String containing plugin ID

Returns :

GOPlugin object for plugin with ID equal to plugin_id or NULL if there's no plugin available with given id. Function returns "borrowed" reference, use g_object_ref if you want to be sure that plugin won't disappear. [transfer none]

go_plugins_get_plugin_dir ()

char *              go_plugins_get_plugin_dir           (void);


go_plugins_init ()

void                go_plugins_init                     (GOCmdContext *context,
                                                         GSList const *known_states,
                                                         GSList const *active_plugins,
                                                         GSList *plugin_dirs,
                                                         gboolean activate_new_plugins,
                                                         GType default_loader_type);

Initializes the plugin subsystem. Might be called several times to add new plugins.

context :

GOCmdContext used to report errors

known_states :

A list of known states (defined how ?). [element-type char]

active_plugins :

A list of active plugins. [element-type char]

plugin_dirs :

a list of directories to search for plugins. [element-type char]

activate_new_plugins :

activate plugins we have no seen before.

default_loader_type :

importer to use by default.

go_plugins_register_loader ()

void                go_plugins_register_loader          (const gchar *id_str,
                                                         GOPluginService *service);

Registers new type of plugin loader identified by loader_id (identifier consists of loader's plugin ID and service ID concatenated using colon). All requests to create new loader object of this type will be passed to service.

This function is intended for use by GOPluginService objects.

id_str :

Loader's id

service :

Plugin service of type "plugin_loader"

go_plugins_rescan ()

void                go_plugins_rescan                   (GOErrorInfo **ret_error,
                                                         GSList **ret_new_plugins);

ret_error :

Pointer used to report errors

ret_new_plugins :

Optional pointer to return list of new plugins. [element-type GOPlugin]

go_plugins_shutdown ()

GSList *            go_plugins_shutdown                 (void);

Shuts down the plugin subsystem. Call this function only once before exiting the application. Some plugins may be left active or in broken state, so calling plugins_init again will NOT work properly.

Returns :

the list of plugins still in use. [element-type char][transfer full]

go_plugins_unregister_loader ()

void                go_plugins_unregister_loader        (const gchar *id_str);

Unregisters a type of plugin loader identified by loader_id. After callingthis function Gnumeric will be unable to load plugins supported by the specified loader.

This function is intended for use by GOPluginService objects.

id_str :

Loader's id