go-plugin-service

go-plugin-service

Synopsis

#define             GO_TYPE_PLUGIN_SERVICE_GENERAL
#define             GO_PLUGIN_SERVICE_GENERAL           (o)
#define             GO_IS_PLUGIN_SERVICE_GENERAL        (o)
GType               plugin_service_general_get_type     (void);
                    PluginServiceGeneral;
                    PluginServiceGeneralCallbacks;
#define             GO_TYPE_PLUGIN_SERVICE_FILE_OPENER
#define             GO_PLUGIN_SERVICE_FILE_OPENER       (o)
#define             GO_IS_PLUGIN_SERVICE_FILE_OPENER    (o)
GType               plugin_service_file_opener_get_type (void);
                    PluginServiceFileOpener;
                    PluginServiceFileOpenerCallbacks;
#define             GO_TYPE_PLUGIN_SERVICE_FILE_SAVER
#define             GO_PLUGIN_SERVICE_FILE_SAVER        (o)
#define             GO_IS_PLUGIN_SERVICE_FILE_SAVER     (o)
GType               plugin_service_file_saver_get_type  (void);
                    PluginServiceFileSaver;
                    PluginServiceFileSaverCallbacks;
#define             GO_TYPE_PLUGIN_SERVICE_PLUGIN_LOADER
#define             GO_PLUGIN_SERVICE_PLUGIN_LOADER     (o)
#define             GO_IS_PLUGIN_SERVICE_PLUGIN_LOADER  (o)
GType               plugin_service_plugin_loader_get_type
                                                        (void);
                    PluginServicePluginLoader;
                    PluginServicePluginLoaderCallbacks;
GType               plugin_service_plugin_loader_generate_type
                                                        (GOPluginService *service,
                                                         ErrorInfo **ret_error);
#define             GO_TYPE_PLUGIN_SERVICE_GOBJECT_LOADER
#define             GO_PLUGIN_SERVICE_GOBJECT_LOADER    (o)
#define             GO_IS_PLUGIN_SERVICE_GOBJECT_LOADER (o)
GType               plugin_service_gobject_loader_get_type
                                                        (void);
                    PluginServiceGObjectLoader;
#define             GO_TYPE_PLUGIN_SERVICE_SIMPLE
#define             GO_PLUGIN_SERVICE_SIMPLE            (o)
#define             GO_IS_PLUGIN_SERVICE_SIMPLE         (o)
GType               plugin_service_simple_get_type      (void);
                    PluginServiceSimple;
GOPluginService*    plugin_service_new                  (GOPlugin *plugin,
                                                         xmlNode *tree,
                                                         ErrorInfo **ret_error);
charconst     *     plugin_service_get_id               (const GOPluginService *service);
charconst     *     plugin_service_get_description      (GOPluginService *service);
GOPlugin*           plugin_service_get_plugin           (GOPluginService *service);
gpointer            plugin_service_get_cbs              (GOPluginService *service);
void                plugin_service_activate             (GOPluginService *service,
                                                         ErrorInfo **ret_error);
void                plugin_service_deactivate           (GOPluginService *service,
                                                         ErrorInfo **ret_error);
void                plugin_service_load                 (GOPluginService *service,
                                                         ErrorInfo **ret_error);
void                plugin_service_unload               (GOPluginService *service,
                                                         ErrorInfo **ret_error);
GType               (*GOPluginServiceCreate)            (void);
void                plugin_services_init                (void);
void                plugin_services_shutdown            (void);
void                plugin_service_define               (char const *type_str,
                                                         GOPluginServiceCreate ctor);

Object Hierarchy

  GObject
   +----GOPluginService
         +----PluginServiceGeneral
  GObject
   +----GOPluginService
         +----PluginServiceFileOpener
  GObject
   +----GOPluginService
         +----PluginServiceFileSaver
  GObject
   +----GOPluginService
         +----PluginServicePluginLoader
  GObject
   +----GOPluginService
         +----PluginServiceSimple
               +----PluginServiceGObjectLoader
  GObject
   +----GOPluginService
         +----PluginServiceSimple
               +----PluginServiceGObjectLoader

Description

Details

GO_TYPE_PLUGIN_SERVICE_GENERAL

#define GO_TYPE_PLUGIN_SERVICE_GENERAL  (plugin_service_general_get_type ())


GO_PLUGIN_SERVICE_GENERAL()

#define GO_PLUGIN_SERVICE_GENERAL(o)    (G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_PLUGIN_SERVICE_GENERAL, PluginServiceGeneral))

o :


GO_IS_PLUGIN_SERVICE_GENERAL()

#define GO_IS_PLUGIN_SERVICE_GENERAL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_PLUGIN_SERVICE_GENERAL))

o :


plugin_service_general_get_type ()

GType               plugin_service_general_get_type     (void);

Returns :


PluginServiceGeneral

typedef struct _PluginServiceGeneral PluginServiceGeneral;


PluginServiceGeneralCallbacks

typedef struct {
	void (*plugin_func_init) (GOPluginService *service, ErrorInfo **ret_error);
	void (*plugin_func_cleanup) (GOPluginService *service, ErrorInfo **ret_error);
} PluginServiceGeneralCallbacks;


GO_TYPE_PLUGIN_SERVICE_FILE_OPENER

#define GO_TYPE_PLUGIN_SERVICE_FILE_OPENER  (plugin_service_file_opener_get_type ())


GO_PLUGIN_SERVICE_FILE_OPENER()

#define GO_PLUGIN_SERVICE_FILE_OPENER(o)    (G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_PLUGIN_SERVICE_FILE_OPENER, PluginServiceFileOpener))

o :


GO_IS_PLUGIN_SERVICE_FILE_OPENER()

#define GO_IS_PLUGIN_SERVICE_FILE_OPENER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_PLUGIN_SERVICE_FILE_OPENER))

o :


plugin_service_file_opener_get_type ()

GType               plugin_service_file_opener_get_type (void);

Returns :


PluginServiceFileOpener

typedef struct _PluginServiceFileOpener PluginServiceFileOpener;


PluginServiceFileOpenerCallbacks

typedef struct {
	/* plugin_func_file_probe may be NULL */
	gboolean (*plugin_func_file_probe) (
	         GOFileOpener const *fo, GOPluginService *service,
	         GsfInput *input, FileProbeLevel pl);
	void     (*plugin_func_file_open) (
	         GOFileOpener const *fo, GOPluginService *service,
	         IOContext *io_context, gpointer fixme_workbook_view,
		 GsfInput *input);
} PluginServiceFileOpenerCallbacks;


GO_TYPE_PLUGIN_SERVICE_FILE_SAVER

#define GO_TYPE_PLUGIN_SERVICE_FILE_SAVER  (plugin_service_file_saver_get_type ())


GO_PLUGIN_SERVICE_FILE_SAVER()

#define GO_PLUGIN_SERVICE_FILE_SAVER(o)    (G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_PLUGIN_SERVICE_FILE_SAVER, PluginServiceFileSaver))

o :


GO_IS_PLUGIN_SERVICE_FILE_SAVER()

#define GO_IS_PLUGIN_SERVICE_FILE_SAVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_PLUGIN_SERVICE_FILE_SAVER))

o :


plugin_service_file_saver_get_type ()

GType               plugin_service_file_saver_get_type  (void);

Returns :


PluginServiceFileSaver

typedef struct _PluginServiceFileSaver PluginServiceFileSaver;


PluginServiceFileSaverCallbacks

typedef struct {
	void  (*plugin_func_file_save) (
	      GOFileSaver const *fs, GOPluginService *service,
	      IOContext *io_context, gconstpointer fixme_workbook_view,
	      GsfOutput *output);
} PluginServiceFileSaverCallbacks;


GO_TYPE_PLUGIN_SERVICE_PLUGIN_LOADER

#define GO_TYPE_PLUGIN_SERVICE_PLUGIN_LOADER  (plugin_service_plugin_loader_get_type ())


GO_PLUGIN_SERVICE_PLUGIN_LOADER()

#define GO_PLUGIN_SERVICE_PLUGIN_LOADER(o)    (G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_PLUGIN_SERVICE_PLUGIN_LOADER, PluginServicePluginLoader))

o :


GO_IS_PLUGIN_SERVICE_PLUGIN_LOADER()

#define GO_IS_PLUGIN_SERVICE_PLUGIN_LOADER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_PLUGIN_SERVICE_PLUGIN_LOADER))

o :


plugin_service_plugin_loader_get_type ()

GType               plugin_service_plugin_loader_get_type
                                                        (void);

Returns :


PluginServicePluginLoader

typedef struct _PluginServicePluginLoader PluginServicePluginLoader;


PluginServicePluginLoaderCallbacks

typedef struct {
	GType (*plugin_func_get_loader_type) (
	      GOPluginService *service, ErrorInfo **ret_error);
} PluginServicePluginLoaderCallbacks;


plugin_service_plugin_loader_generate_type ()

GType               plugin_service_plugin_loader_generate_type
                                                        (GOPluginService *service,
                                                         ErrorInfo **ret_error);

service :

ret_error :

Returns :


GO_TYPE_PLUGIN_SERVICE_GOBJECT_LOADER

#define GO_TYPE_PLUGIN_SERVICE_GOBJECT_LOADER  (plugin_service_gobject_loader_get_type ())


GO_PLUGIN_SERVICE_GOBJECT_LOADER()

#define GO_PLUGIN_SERVICE_GOBJECT_LOADER(o)    (G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_PLUGIN_SERVICE_GOBJECT_LOADER, PluginServiceGObjectLoader))

o :


GO_IS_PLUGIN_SERVICE_GOBJECT_LOADER()

#define GO_IS_PLUGIN_SERVICE_GOBJECT_LOADER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_PLUGIN_SERVICE_GOBJECT_LOADER))

o :


plugin_service_gobject_loader_get_type ()

GType               plugin_service_gobject_loader_get_type
                                                        (void);

Returns :


PluginServiceGObjectLoader

typedef struct _PluginServiceGObjectLoader PluginServiceGObjectLoader;


GO_TYPE_PLUGIN_SERVICE_SIMPLE

#define GO_TYPE_PLUGIN_SERVICE_SIMPLE  (plugin_service_simple_get_type ())


GO_PLUGIN_SERVICE_SIMPLE()

#define GO_PLUGIN_SERVICE_SIMPLE(o)    (G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_PLUGIN_SERVICE_SIMPLE, PluginServiceSimple))

o :


GO_IS_PLUGIN_SERVICE_SIMPLE()

#define GO_IS_PLUGIN_SERVICE_SIMPLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_PLUGIN_SERVICE_SIMPLE))

o :


plugin_service_simple_get_type ()

GType               plugin_service_simple_get_type      (void);

Returns :


PluginServiceSimple

typedef struct _PluginServiceSimple PluginServiceSimple;


plugin_service_new ()

GOPluginService*    plugin_service_new                  (GOPlugin *plugin,
                                                         xmlNode *tree,
                                                         ErrorInfo **ret_error);

plugin :

tree :

ret_error :

Returns :


plugin_service_get_id ()

charconst     *     plugin_service_get_id               (const GOPluginService *service);

service :

Returns :


plugin_service_get_description ()

charconst     *     plugin_service_get_description      (GOPluginService *service);

service :

Returns :


plugin_service_get_plugin ()

GOPlugin*           plugin_service_get_plugin           (GOPluginService *service);

service :

Returns :


plugin_service_get_cbs ()

gpointer            plugin_service_get_cbs              (GOPluginService *service);

service :

Returns :


plugin_service_activate ()

void                plugin_service_activate             (GOPluginService *service,
                                                         ErrorInfo **ret_error);

service :

ret_error :


plugin_service_deactivate ()

void                plugin_service_deactivate           (GOPluginService *service,
                                                         ErrorInfo **ret_error);

service :

ret_error :


plugin_service_load ()

void                plugin_service_load                 (GOPluginService *service,
                                                         ErrorInfo **ret_error);

service :

ret_error :


plugin_service_unload ()

void                plugin_service_unload               (GOPluginService *service,
                                                         ErrorInfo **ret_error);

service :

ret_error :


GOPluginServiceCreate ()

GType               (*GOPluginServiceCreate)            (void);

Returns :


plugin_services_init ()

void                plugin_services_init                (void);


plugin_services_shutdown ()

void                plugin_services_shutdown            (void);


plugin_service_define ()

void                plugin_service_define               (char const *type_str,
                                                         GOPluginServiceCreate ctor);

Allow the definition of new service types

type_str :

char const *

ctor :

GOPluginServiceCreate