PgmPlugin

PgmPlugin — Various structs and macros used for plugins handling.

Synopsis


#include <pgm/pgm.h>

#define             PGM_PLUGIN_PATH_NAME
gboolean            (*PgmPluginInitFunc)                (GTypeModule *module);
gboolean            (*PgmPluginShutdownFunc)            (GTypeModule *module);
PgmViewport *       (*PgmPluginCreateFunc)              (void);
                    PgmPluginDesc;
#define             PGM_PLUGIN_DEFINE                   (init,shutdown,create,name,version,description,license,origin,author)

Description

Various structs and macros used by Pigment for plugins handling.

Last reviewed on 2007-04-12 (0.1.5)

Details

PGM_PLUGIN_PATH_NAME

#define PGM_PLUGIN_PATH_NAME "PGM_PLUGIN_PATH"

The name of the plugin path environment variable name.


PgmPluginInitFunc ()

gboolean            (*PgmPluginInitFunc)                (GTypeModule *module);

A plugin should provide a pointer to a function of this type in the PgmPluginDesc struct. This function will be called to initialize the plugin.

module :

the GTypeModule to use in the init func to register your types (with g_type_module_register_type() or PGM_DEFINE_DYNAMIC_TYPE or PGM_DEFINE_DYNAMIC_TYPE_EXTENDED.

Returns :

TRUE if the initialization successes, FALSE otherwise.

PgmPluginShutdownFunc ()

gboolean            (*PgmPluginShutdownFunc)            (GTypeModule *module);

A plugin should provide a pointer to a function of this type in the PgmPluginDesc struct. This function will be called to shutdown the plugin.

module :

the GTypeModule that was passed to the PgmPluginInitFunc function.

Returns :

TRUE if the deinitialization successes, FALSE otherwise.

PgmPluginCreateFunc ()

PgmViewport *       (*PgmPluginCreateFunc)              (void);

A plugin should provide a pointer to a function of this prototype in the PgmPluginDesc struct. This function will be called by the user to create the PgmViewport.

Returns :

a new PgmViewport.

PgmPluginDesc

typedef struct {
  PgmPluginInitFunc      init;
  PgmPluginShutdownFunc  shutdown;
  PgmPluginCreateFunc    create;
  gchar                 *name;
  gchar                 *version;
  gchar                 *description;
  gchar                 *license;
  gchar                 *origin;
  gchar                 *author;
} PgmPluginDesc;

Pigment Plugin description structure.

PgmPluginInitFunc init;

the plugin initialization function pointer.

PgmPluginShutdownFunc shutdown;

the plugin shutdown function pointer.

PgmPluginCreateFunc create;

the plugin create function pointer (returning a PgmViewport).

gchar *name;

the plugin name.

gchar *version;

the version string of Pigment that plugin was compiled for.

gchar *description;

the plugin description.

gchar *license;

the plugin license.

gchar *origin;

the plugin origin URL.

gchar *author;

the plugin author.

PGM_PLUGIN_DEFINE()

#define             PGM_PLUGIN_DEFINE(init,shutdown,create,name,version,description,license,origin,author)

Utility macro to create a PgmPluginDesc plugin description structure. This is the entry point for every Pigment plugin and it is highly recommended to use this macro to avoid common mistakes maxking entry point unusable.

init :

the plugin initialization function pointer.

shutdown :

the plugin shutdown function pointer.

create :

the plugin creation function pointer (returning a PgmViewport).

name :

the plugin name.

version :

the version string of Pigment that plugin was compiled for.

description :

the plugin description.

license :

the plugin license.

origin :

the plugin origin URL.

author :

the plugin author.