GimpModule

GimpModule — A GTypeModule subclass which implements module loading using GModule.

Functions

Signals

void modified Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GTypeModule
        ╰── GimpModule

Description

GimpModule is a generic mechanism to dynamically load modules into GIMP. It is a GTypeModule subclass, implementing module loading using GModule. GimpModule does not know which functionality is implemented by the modules, it just provides a framework to get arbitrary GType implementations loaded from disk.

Functions

GimpModuleQueryFunc ()

const GimpModuleInfo *
(*GimpModuleQueryFunc) (GTypeModule *module);

The signature of the query function a loadable GIMP module must implement. In the module, the function must be called gimp_module_query().

GimpModule will copy the returned GimpModuleInfo struct, so the module doesn't need to keep these values around (however in most cases the module will just return a pointer to a constant structure).

Parameters

module

The GimpModule responsible for this loadable module.

 

Returns

The GimpModuleInfo struct describing the module.


GimpModuleRegisterFunc ()

gboolean
(*GimpModuleRegisterFunc) (GTypeModule *module);

The signature of the register function a loadable GIMP module must implement. In the module, the function must be called gimp_module_register().

When this function is called, the module should register all the types it implements with the passed module .

Parameters

module

The GimpModule responsible for this loadable module.

 

Returns

TRUE on success, FALSE otherwise.


gimp_module_new ()

GimpModule *
gimp_module_new (GFile *file,
                 gboolean auto_load,
                 gboolean verbose);

Creates a new GimpModule instance.

Parameters

file

A GFile pointing to a loadable module.

 

auto_load

Pass TRUE to exclude this module from auto-loading.

 

verbose

Pass TRUE to enable debugging output.

 

Returns

The new GimpModule object.


gimp_module_query_module ()

gboolean
gimp_module_query_module (GimpModule *module);

Queries the module without actually registering any of the types it may implement. After successful query, gimp_module_get_info() can be used to get further about the module.

Parameters

module

A GimpModule.

 

Returns

TRUE on success.


gimp_module_get_file ()

GFile *
gimp_module_get_file (GimpModule *module);

Returns GFile of the module ,

Parameters

module

A GimpModule

 

Returns

The module 's GFile.

[transfer none]

Since: 3.0


gimp_module_get_auto_load ()

gboolean
gimp_module_get_auto_load (GimpModule *module);

Returns whether this module in automatically loaded at startup.

Parameters

module

A GimpModule

 

Returns

The module 's 'auto_load' property.

Since: 3.0


gimp_module_set_auto_load ()

void
gimp_module_set_auto_load (GimpModule *module,
                           gboolean auto_load);

Sets the auto_load property if the module. Emits "modified".

Parameters

module

A GimpModule

 

auto_load

Pass FALSE to exclude this module from auto-loading

 

Since: 3.0


gimp_module_is_loaded ()

gboolean
gimp_module_is_loaded (GimpModule *module);

Parameters

module

A GimpModule

 

Returns

Whether the module is currently loaded.

Since: 3.0


gimp_module_is_on_disk ()

gboolean
gimp_module_is_on_disk (GimpModule *module);

Parameters

module

A GimpModule

 

Returns

Whether the module is present on diak.

Since: 3.0


gimp_module_get_info ()

const GimpModuleInfo *
gimp_module_get_info (GimpModule *module);

Parameters

module

A GimpModule

 

Returns

The module 's GimpModuleInfo as provided by the actual module, or NULL.

[transfer none]

Since: 3.0


gimp_module_get_last_error ()

const gchar *
gimp_module_get_last_error (GimpModule *module);

Parameters

module

A GimpModule

 

Returns

The module 's last error message.

Since: 3.0


gimp_module_get_state ()

GimpModuleState
gimp_module_get_state (GimpModule *module);

Parameters

module

A GimpModule

 

Returns

The module 's state.

Since: 3.0


gimp_module_error_quark ()

GQuark
gimp_module_error_quark (void);

This function is never called directly. Use GIMP_MODULE_ERROR() instead.

Returns

the GQuark that defines the GIMP module error domain.

Since: 2.8

Types and Values

GimpModuleInfo

typedef struct {
  guint32  abi_version;
  gchar   *purpose;
  gchar   *author;
  gchar   *version;
  gchar   *copyright;
  gchar   *date;
} GimpModuleInfo;

This structure contains information about a loadable module.

Members

guint32 abi_version;

The GIMP_MODULE_ABI_VERSION the module was compiled against.

 

gchar *purpose;

The module's general purpose.

 

gchar *author;

The module's author.

 

gchar *version;

The module's version.

 

gchar *copyright;

The module's copyright.

 

gchar *date;

The module's release date.

 

enum GimpModuleState

The possible states a GimpModule can be in.

Members

GIMP_MODULE_STATE_ERROR

Missing gimp_module_register() function or other error.

 

GIMP_MODULE_STATE_LOADED

An instance of a type implemented by this module is allocated.

 

GIMP_MODULE_STATE_LOAD_FAILED

gimp_module_register() returned FALSE.

 

GIMP_MODULE_STATE_NOT_LOADED

There are no instances allocated of types implemented by this module.

 

GIMP_MODULE_ERROR

#define GIMP_MODULE_ERROR (gimp_module_error_quark ())

enum GimpModuleError

Types of errors returned by modules

Members

GIMP_MODULE_FAILED

Generic error condition

 

GIMP_MODULE_ABI_VERSION

#define GIMP_MODULE_ABI_VERSION 0x0005

The version of the module system's ABI. Modules put this value into GimpModuleInfo's abi_version field so the code loading the modules can check if it was compiled against the same module ABI the modules are compiled against.

GIMP_MODULE_ABI_VERSION is incremented each time one of the following changes:

Signal Details

The “modified” signal

void
user_function (GimpModule *gimpmodule,
               gpointer    user_data)

Flags: Run First

See Also

GModule, GTypeModule