FsPlugin

FsPlugin — A class for defining Farsight plugins

Synopsis




                    FsPlugin;
GObject*            fs_plugin_create_valist             (const gchar *name,
                                                         const gchar *type_suffix,
                                                         GError **error,
                                                         const gchar *first_property_name,
                                                         va_list var_args);
GObject*            fs_plugin_create                    (const gchar *name,
                                                         const gchar *type_suffix,
                                                         GError **error,
                                                         const gchar *first_property_name,
                                                         ...);
#define             FS_INIT_PLUGIN                      (type_register_func, inunload)

Description

This class is a generic class to load GType plugins based on their name. With this simple class, you can only have one type per plugin.

Details

FsPlugin

typedef struct {
  GTypeModule parent;
} FsPlugin;


fs_plugin_create_valist ()

GObject*            fs_plugin_create_valist             (const gchar *name,
                                                         const gchar *type_suffix,
                                                         GError **error,
                                                         const gchar *first_property_name,
                                                         va_list var_args);

Loads the appropriate plugin if necessary and creates a GObject of the requested type

name :

The name of the plugin to load

type_suffix :

The type of plugin to load (normally "transmitter")

error :

location of a GError, or NULL if no error occured

first_property_name :

The name of the first property to be set on the object

var_args :

The rest of the arguments

Returns :

The object created (or NULL if there is an error)

fs_plugin_create ()

GObject*            fs_plugin_create                    (const gchar *name,
                                                         const gchar *type_suffix,
                                                         GError **error,
                                                         const gchar *first_property_name,
                                                         ...);

Loads the appropriate plugin if necessary and creates a GObject of the requested type

name :

The name of the plugin to load

type_suffix :

The type of plugin to load (normally "transmitter")

error :

location of a GError, or NULL if no error occured

first_property_name :

The name of the first property to be set on the object

... :

The NULL-terminated list of properties to set on the transmitter

Returns :

The object created (or NULL if there is an error)

FS_INIT_PLUGIN()

#define             FS_INIT_PLUGIN(type_register_func, inunload)

This macro is used to declare Farsight plugins and must be used once in any farsight plugin.

type_register_func :

A function that register a GType and returns it

inunload :

a function of type void (*unload) (FsPlugin * plugin) to be called when the plugin is unloaded