## GOPluginLoader

GOPluginLoader

## Synopsis

                        GOPluginLoaderClass;
    GOPlugin *          go_plugin_loader_get_plugin         (GOPluginLoader *l);
    gboolean            go_plugin_loader_is_base_loaded     (GOPluginLoader *l);
    void                go_plugin_loader_load_base          (GOPluginLoader *l,
                                                             GOErrorInfo **err);
    void                go_plugin_loader_load_service       (GOPluginLoader *l,
                                                             GOPluginService *s,
                                                             GOErrorInfo **err);
    void                go_plugin_loader_set_attributes     (GOPluginLoader *l,
                                                             GHashTable *attrs,
                                                             GOErrorInfo **err);
    void                go_plugin_loader_set_plugin         (GOPluginLoader *l,
                                                             GOPlugin *p);
    void                go_plugin_loader_unload_base        (GOPluginLoader *l,
                                                             GOErrorInfo **err);
    void                go_plugin_loader_unload_service     (GOPluginLoader *l,
                                                             GOPluginService *s,
                                                             GOErrorInfo **err);

## Description

## Details

### GOPluginLoaderClass

    typedef struct {
    	GTypeInterface base;

    	void (*load_base)		(GOPluginLoader *l, GOErrorInfo **err);
    	void (*unload_base)		(GOPluginLoader *l, GOErrorInfo **err);
    	void (*set_attributes)		(GOPluginLoader *l, GHashTable *attrs, GOErrorInfo **err);
    	gboolean (*service_load) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err);
    	gboolean (*service_unload) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err);

    	void (*load_service_file_opener) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err);
    	void (*unload_service_file_opener) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err);

    	void (*load_service_file_saver)		(GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err);
    	void (*unload_service_file_saver) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err);

    	void (*load_service_plugin_loader) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err);
    	void (*unload_service_plugin_loader) (GOPluginLoader *l, GOPluginService *s, GOErrorInfo **err);
    } GOPluginLoaderClass;

GTypeInterface `base`; | base interface.
`load_base` () | loads the plugin without activating any service.
`unload_base` () | unloads the plugin if possible.
`set_attributes` () | sets attiributes for the module.
`service_load` () | loads a service.
`service_unload` () | unloads a service if possible.
`load_service_file_opener` () | loads a file opener service.
`unload_service_file_opener` () | unloads a file opener service.
`load_service_file_saver` () | loads a file saver service.
`unload_service_file_saver` () | unloads a file saver service.
`load_service_plugin_loader` () | loads a plugin loader service.
`unload_service_plugin_loader` () | unloads a plugin loader service.

### go_plugin_loader_get_plugin ()

    GOPlugin *          go_plugin_loader_get_plugin         (GOPluginLoader *l);

`l` : | GOPluginLoader
Returns : | the plugin. [transfer full]

### go_plugin_loader_is_base_loaded ()

    gboolean            go_plugin_loader_is_base_loaded     (GOPluginLoader *l);

### go_plugin_loader_load_base ()

    void                go_plugin_loader_load_base          (GOPluginLoader *l,
                                                             GOErrorInfo **err);

### go_plugin_loader_load_service ()

    void                go_plugin_loader_load_service       (GOPluginLoader *l,
                                                             GOPluginService *s,
                                                             GOErrorInfo **err);

### go_plugin_loader_set_attributes ()

    void                go_plugin_loader_set_attributes     (GOPluginLoader *l,
                                                             GHashTable *attrs,
                                                             GOErrorInfo **err);

### go_plugin_loader_set_plugin ()

    void                go_plugin_loader_set_plugin         (GOPluginLoader *l,
                                                             GOPlugin *p);

### go_plugin_loader_unload_base ()

    void                go_plugin_loader_unload_base        (GOPluginLoader *l,
                                                             GOErrorInfo **err);

### go_plugin_loader_unload_service ()

    void                go_plugin_loader_unload_service     (GOPluginLoader *l,
                                                             GOPluginService *s,
                                                             GOErrorInfo **err);