1
<!-- ##### SECTION Title ##### -->
4
<!-- ##### SECTION Short_Description ##### -->
5
A #GTypeModule subclass which implements module loading using #GModule.
7
<!-- ##### SECTION Long_Description ##### -->
9
A #GTypeModule subclass which implements module loading using #GModule.
12
<!-- ##### SECTION See_Also ##### -->
20
<!-- ##### SECTION Stability_Level ##### -->
23
<!-- ##### STRUCT GimpModule ##### -->
25
#GimpModule is a generic mechanism to dynamically load modules into
26
the GIMP. It is a #GTypeModule subclass, implementing module loading
27
using #GModule. #GimpModule does not know which functionality is
28
implemented by the modules, it just provides a framework to get
29
arbitrary #GType implementations loaded from disk.
40
<!-- ##### SIGNAL GimpModule::modified ##### -->
45
@gimpmodule: the object which received the signal.
47
<!-- ##### STRUCT GimpModuleInfo ##### -->
49
This structure contains information about a loadable module.
52
@abi_version: The #GIMP_MODULE_ABI_VERSION the module was compiled against.
53
@purpose: The module's general purpose.
54
@author: The module's author.
55
@version: The module's version.
56
@copyright: The module's copyright.
57
@date: The module's release date.
59
<!-- ##### ENUM GimpModuleState ##### -->
61
The possible states a #GimpModule can be in.
64
@GIMP_MODULE_STATE_ERROR: Missing gimp_module_register() function
66
@GIMP_MODULE_STATE_LOADED: An instance of a type implemented by
67
this module is allocated.
68
@GIMP_MODULE_STATE_LOAD_FAILED: gimp_module_register() returned #FALSE.
69
@GIMP_MODULE_STATE_NOT_LOADED: There are no instances allocated of
70
types implemented by this module.
72
<!-- ##### USER_FUNCTION GimpModuleQueryFunc ##### -->
74
The signature of the query function a loadable GIMP module must
75
implement. In the module, the function must be called
80
#GimpModule will copy the returned #GimpModuleInfo struct, so the
81
module doesn't need to keep these values around (however in most cases
82
the module will just return a pointer to a constant structure).
85
@module: The #GimpModule responsible for this loadable module.
86
@Returns: The #GimpModuleInfo struct describing the module.
89
<!-- ##### USER_FUNCTION GimpModuleRegisterFunc ##### -->
91
The signature of the register function a loadable GIMP module must
92
implement. In the module, the function must be called
93
gimp_module_register().
97
When this function is called, the module should register all the types
98
it implements with the passed @module.
101
@module: The #GimpModule responsible for this loadable module.
102
@Returns: #TRUE on success, #FALSE otherwise.
105
<!-- ##### MACRO GIMP_MODULE_ABI_VERSION ##### -->
107
The version of the module system's ABI. Modules put this value into
108
#GimpModuleInfo's @abi_version field so the code loading the modules
109
can check if it was compiled against the same module ABI the modules
110
are compiled against.
115
<!-- ##### MACRO GIMP_MODULE_PARAM_SERIALIZE ##### -->
122
<!-- ##### FUNCTION gimp_module_new ##### -->
133
<!-- ##### FUNCTION gimp_module_modified ##### -->
141
<!-- ##### FUNCTION gimp_module_query_module ##### -->
150
<!-- ##### FUNCTION gimp_module_set_load_inhibit ##### -->
159
<!-- ##### FUNCTION gimp_module_state_name ##### -->
168
<!-- ##### FUNCTION gimp_module_register_enum ##### -->
175
@const_static_values:
179
<!-- ##### FUNCTION gimp_module_info_new ##### -->
193
<!-- ##### FUNCTION gimp_module_info_copy ##### -->
202
<!-- ##### FUNCTION gimp_module_info_free ##### -->