Object Hierarchy

  GObject
   +----GOPluginService
         +----GOPluginServiceFileOpener
         +----GOPluginServiceFileSaver
         +----GOPluginServiceGeneral
         +----GOPluginServiceSimple
         +----GOPluginServicePluginLoader
         +----GOPluginServiceResource
  GObject
   +----GOPluginService
         +----GOPluginServiceFileOpener
  GObject
   +----GOPluginService
         +----GOPluginServiceFileSaver
  GObject
   +----GOPluginService
         +----GOPluginServiceSimple
               +----GOPluginServiceGObjectLoader
  GObject
   +----GOPluginService
         +----GOPluginServiceGeneral
  GObject
   +----GOPluginService
         +----GOPluginServicePluginLoader
  GObject
   +----GOPluginService
         +----GOPluginServiceSimple
               +----GOPluginServiceGObjectLoader

Description

Details

GOPluginService

typedef struct _GOPluginService GOPluginService;


GOPluginServiceClass

typedef struct {
	GObjectClass g_object_class;

	void (*read_xml) (GOPluginService *service, xmlNode *tree, GOErrorInfo **ret_error);
	void (*activate) (GOPluginService *service, GOErrorInfo **ret_error);
	void (*deactivate) (GOPluginService *service, GOErrorInfo **ret_error);
	char *(*get_description) (GOPluginService *service);
} GOPluginServiceClass;

GObjectClass g_object_class;

read_xml ()

read XML node containing the service description.

activate ()

actviates the service.

deactivate ()

deactivates the service.

get_description ()

gets the service description.

GOPluginServiceGObjectLoaderClass

typedef struct {
	GOPluginServiceClass plugin_service_class;
	GHashTable *pending; /* has service instances by type names */
} GOPluginServiceGObjectLoaderClass;

GOPluginServiceClass plugin_service_class;

parent class.

GHashTable *pending;

has service instances by type names.

GOPluginServiceCreate ()

GType               (*GOPluginServiceCreate)            (void);


GOPluginServiceFileOpener

typedef struct _GOPluginServiceFileOpener GOPluginServiceFileOpener;


GOPluginServiceFileOpenerCallbacks

typedef struct {
	/* plugin_func_file_probe may be NULL */
	gboolean (*plugin_func_file_probe) (
	         GOFileOpener const *fo, GOPluginService *service,
	         GsfInput *input, GOFileProbeLevel pl);
	void     (*plugin_func_file_open) (
	         GOFileOpener const *fo, GOPluginService *service,
	         GOIOContext *io_context, GoView *view,
		 GsfInput *input, char const *enc);
} GOPluginServiceFileOpenerCallbacks;

plugin_func_file_probe ()

probes the file, may be NULL.

plugin_func_file_open ()

opens and reads the file.

GOPluginServiceFileSaver

typedef struct _GOPluginServiceFileSaver GOPluginServiceFileSaver;


GOPluginServiceFileSaverCallbacks

typedef struct {
	void  (*plugin_func_file_save) (
	      GOFileSaver const *fs, GOPluginService *service,
	      GOIOContext *io_context, GoView const *view,
	      GsfOutput *output);
} GOPluginServiceFileSaverCallbacks;

plugin_func_file_save ()

saves the file.

GOPluginServiceGObjectLoader

typedef struct _GOPluginServiceGObjectLoader GOPluginServiceGObjectLoader;


GOPluginServiceGeneral

typedef struct _GOPluginServiceGeneral GOPluginServiceGeneral;


GOPluginServiceGeneralCallbacks

typedef struct {
	void (*plugin_func_init) (GOPluginService *service, GOErrorInfo **ret_error);
	void (*plugin_func_cleanup) (GOPluginService *service, GOErrorInfo **ret_error);
} GOPluginServiceGeneralCallbacks;

plugin_func_init ()

initializes the service.

plugin_func_cleanup ()

service cleanup.

GOPluginServicePluginLoader

typedef struct _GOPluginServicePluginLoader GOPluginServicePluginLoader;


GOPluginServicePluginLoaderCallbacks

typedef struct {
	GType (*plugin_func_get_loader_type) (
	      GOPluginService *service, GOErrorInfo **ret_error);
} GOPluginServicePluginLoaderCallbacks;

plugin_func_get_loader_type ()

returns a GType for a function loader. Used by gnumeric in the Python and Perl plugins.

GOPluginServiceSimple

typedef struct _GOPluginServiceSimple GOPluginServiceSimple;


go_plugin_service_activate ()

void                go_plugin_service_activate          (GOPluginService *service,
                                                         GOErrorInfo **ret_error);


go_plugin_service_deactivate ()

void                go_plugin_service_deactivate        (GOPluginService *service,
                                                         GOErrorInfo **ret_error);


go_plugin_service_define ()

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

Allow the definition of new service types

type_str :

char const *

ctor :

GOPluginServiceCreate. [scope async]

go_plugin_service_get_cbs ()

gpointer            go_plugin_service_get_cbs           (GOPluginService *service);

service :

GOPluginService

Returns :

the callbacks for the service. [transfer none]

go_plugin_service_get_description ()

char const     *    go_plugin_service_get_description   (GOPluginService *service);


go_plugin_service_get_id ()

char const     *    go_plugin_service_get_id            (const GOPluginService *service);


go_plugin_service_get_plugin ()

GOPlugin *          go_plugin_service_get_plugin        (GOPluginService *service);

service :

GOPluginService

Returns :

the plugin offering service. [transfer none]

go_plugin_service_load ()

void                go_plugin_service_load              (GOPluginService *service,
                                                         GOErrorInfo **ret_error);


go_plugin_service_new ()

GOPluginService *   go_plugin_service_new               (GOPlugin *plugin,
                                                         xmlNode *tree,
                                                         GOErrorInfo **ret_error);


go_plugin_service_plugin_loader_generate_type ()

GType               go_plugin_service_plugin_loader_generate_type
                                                        (GOPluginService *service,
                                                         GOErrorInfo **ret_error);


go_plugin_service_unload ()

void                go_plugin_service_unload            (GOPluginService *service,
                                                         GOErrorInfo **ret_error);


go_plugin_services_shutdown ()

void                go_plugin_services_shutdown         (void);