5
5
<refentry id="GimpModule">
7
<refentrytitle>GimpModule</refentrytitle>
7
<refentrytitle role="top_of_page">GimpModule</refentrytitle>
8
8
<manvolnum>3</manvolnum>
9
9
<refmiscinfo>LIBGIMPMODULE Library</refmiscinfo>
13
<refname>GimpModule</refname><refpurpose>A <link linkend="GTypeModule"><type>GTypeModule</type></link> subclass which implements module loading using <link linkend="GModule"><type>GModule</type></link>.</refpurpose>
13
<refname>GimpModule</refname>
14
<refpurpose>A <link linkend="GTypeModule"><type>GTypeModule</type></link> subclass which implements module loading using <link linkend="GModule"><type>GModule</type></link>.</refpurpose>
15
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
16
<refsynopsisdiv><title>Synopsis</title>
18
<refsynopsisdiv role="synopsis">
19
<title role="synopsis.title">Synopsis</title>
22
<link linkend="GimpModule-struct">GimpModule</link>;
23
<link linkend="GimpModuleInfo">GimpModuleInfo</link>;
24
enum <link linkend="GimpModuleState">GimpModuleState</link>;
25
const <link linkend="GimpModuleInfo">GimpModuleInfo</link>* (<link linkend="GimpModuleQueryFunc">*GimpModuleQueryFunc</link>)
26
(<link linkend="GTypeModule">GTypeModule</link> *module);
27
<link linkend="gboolean">gboolean</link> (<link linkend="GimpModuleRegisterFunc">*GimpModuleRegisterFunc</link>) (<link linkend="GTypeModule">GTypeModule</link> *module);
28
#define <link linkend="GIMP-MODULE-ABI-VERSION:CAPS">GIMP_MODULE_ABI_VERSION</link>
29
#define <link linkend="GIMP-MODULE-PARAM-SERIALIZE:CAPS">GIMP_MODULE_PARAM_SERIALIZE</link>
30
<link linkend="GimpModule">GimpModule</link>* <link linkend="gimp-module-new">gimp_module_new</link> (const <link linkend="gchar">gchar</link> *filename,
31
<link linkend="gboolean">gboolean</link> load_inhibit,
32
<link linkend="gboolean">gboolean</link> verbose);
33
<link linkend="void">void</link> <link linkend="gimp-module-modified">gimp_module_modified</link> (<link linkend="GimpModule">GimpModule</link> *module);
34
<link linkend="gboolean">gboolean</link> <link linkend="gimp-module-query-module">gimp_module_query_module</link> (<link linkend="GimpModule">GimpModule</link> *module);
35
<link linkend="void">void</link> <link linkend="gimp-module-set-load-inhibit">gimp_module_set_load_inhibit</link> (<link linkend="GimpModule">GimpModule</link> *module,
36
<link linkend="gboolean">gboolean</link> load_inhibit);
37
const <link linkend="gchar">gchar</link>* <link linkend="gimp-module-state-name">gimp_module_state_name</link> (<link linkend="GimpModuleState">GimpModuleState</link> state);
38
<link linkend="GType">GType</link> <link linkend="gimp-module-register-enum">gimp_module_register_enum</link> (<link linkend="GTypeModule">GTypeModule</link> *module,
39
const <link linkend="gchar">gchar</link> *name,
40
const <link linkend="GEnumValue">GEnumValue</link> *const_static_values);
41
<link linkend="GimpModuleInfo">GimpModuleInfo</link>* <link linkend="gimp-module-info-new">gimp_module_info_new</link> (<link linkend="guint32">guint32</link> abi_version,
42
const <link linkend="gchar">gchar</link> *purpose,
43
const <link linkend="gchar">gchar</link> *author,
44
const <link linkend="gchar">gchar</link> *version,
45
const <link linkend="gchar">gchar</link> *copyright,
46
const <link linkend="gchar">gchar</link> *date);
47
<link linkend="GimpModuleInfo">GimpModuleInfo</link>* <link linkend="gimp-module-info-copy">gimp_module_info_copy</link> (const <link linkend="GimpModuleInfo">GimpModuleInfo</link> *info);
48
<link linkend="void">void</link> <link linkend="gimp-module-info-free">gimp_module_info_free</link> (<link linkend="GimpModuleInfo">GimpModuleInfo</link> *info);
25
<link linkend="GimpModule-struct">GimpModule</link>;
26
<link linkend="GimpModuleInfo">GimpModuleInfo</link>;
27
enum <link linkend="GimpModuleState">GimpModuleState</link>;
28
const <link linkend="GimpModuleInfo">GimpModuleInfo</link>* (<link linkend="GimpModuleQueryFunc">*GimpModuleQueryFunc</link>) (<link linkend="GTypeModule">GTypeModule</link> *module);
29
<link linkend="gboolean">gboolean</link> (<link linkend="GimpModuleRegisterFunc">*GimpModuleRegisterFunc</link>) (<link linkend="GTypeModule">GTypeModule</link> *module);
30
#define <link linkend="GIMP-MODULE-ABI-VERSION:CAPS">GIMP_MODULE_ABI_VERSION</link>
31
#define <link linkend="GIMP-MODULE-PARAM-SERIALIZE:CAPS">GIMP_MODULE_PARAM_SERIALIZE</link>
32
<link linkend="GimpModule">GimpModule</link>* <link linkend="gimp-module-new">gimp_module_new</link> (const <link linkend="gchar">gchar</link> *filename,
33
<link linkend="gboolean">gboolean</link> load_inhibit,
34
<link linkend="gboolean">gboolean</link> verbose);
35
<link linkend="void">void</link> <link linkend="gimp-module-modified">gimp_module_modified</link> (<link linkend="GimpModule">GimpModule</link> *module);
36
<link linkend="gboolean">gboolean</link> <link linkend="gimp-module-query-module">gimp_module_query_module</link> (<link linkend="GimpModule">GimpModule</link> *module);
37
<link linkend="void">void</link> <link linkend="gimp-module-set-load-inhibit">gimp_module_set_load_inhibit</link> (<link linkend="GimpModule">GimpModule</link> *module,
38
<link linkend="gboolean">gboolean</link> load_inhibit);
39
const <link linkend="gchar">gchar</link>* <link linkend="gimp-module-state-name">gimp_module_state_name</link> (<link linkend="GimpModuleState">GimpModuleState</link> state);
40
<link linkend="GType">GType</link> <link linkend="gimp-module-register-enum">gimp_module_register_enum</link> (<link linkend="GTypeModule">GTypeModule</link> *module,
41
const <link linkend="gchar">gchar</link> *name,
42
const <link linkend="GEnumValue">GEnumValue</link> *const _static_values);
43
<link linkend="GimpModuleInfo">GimpModuleInfo</link>* <link linkend="gimp-module-info-new">gimp_module_info_new</link> (<link linkend="guint32">guint32</link> abi_version,
44
const <link linkend="gchar">gchar</link> *purpose,
45
const <link linkend="gchar">gchar</link> *author,
46
const <link linkend="gchar">gchar</link> *version,
47
const <link linkend="gchar">gchar</link> *copyright,
48
const <link linkend="gchar">gchar</link> *date);
49
<link linkend="GimpModuleInfo">GimpModuleInfo</link>* <link linkend="gimp-module-info-copy">gimp_module_info_copy</link> (const <link linkend="GimpModuleInfo">GimpModuleInfo</link> *info);
50
<link linkend="void">void</link> <link linkend="gimp-module-info-free">gimp_module_info_free</link> (<link linkend="GimpModuleInfo">GimpModuleInfo</link> *info);
54
<title>Object Hierarchy</title>
55
<refsect1 role="object_hierarchy">
56
<title role="object_hierarchy.title">Object Hierarchy</title>
57
59
<link linkend="GObject">GObject</link>
77
<title>Signal Prototypes</title>
78
<refsect1 role="signal_proto">
79
<title role="signal_proto.title">Signals</title>
80
"<link linkend="GimpModule-modified">modified</link>" <link linkend="void">void</link> user_function (<link linkend="GimpModule">GimpModule</link> *gimpmodule,
81
<link linkend="gpointer">gpointer</link> user_data);
82
"<link linkend="GimpModule-modified">modified</link>" : Run First
87
<title>Description</title>
87
<refsect1 role="desc">
88
<title role="desc.title">Description</title>
89
90
A <link linkend="GTypeModule"><type>GTypeModule</type></link> subclass which implements module loading using <link linkend="GModule"><type>GModule</type></link>.
94
<title>Details</title>
94
<refsect1 role="details">
95
<title role="details.title">Details</title>
96
<title><anchor id="GimpModule-struct"/>GimpModule</title>
97
<title><anchor id="GimpModule-struct" role="struct"/>GimpModule</title>
97
98
<indexterm><primary>GimpModule</primary></indexterm><programlisting>typedef struct {
98
99
gchar *filename; /* path to the module */
99
100
gboolean verbose; /* verbose error reporting */
180
181
The possible states a <link linkend="GimpModule"><type>GimpModule</type></link> can be in.
181
182
</para><variablelist role="enum">
183
<term><literal>GIMP_MODULE_STATE_ERROR</literal></term>
184
<term><anchor id="GIMP-MODULE-STATE-ERROR:CAPS" role="constant"/><literal>GIMP_MODULE_STATE_ERROR</literal></term>
184
185
<listitem><simpara> Missing <link linkend="gimp-module-register"><function>gimp_module_register()</function></link> function
186
187
</simpara></listitem>
189
<term><literal>GIMP_MODULE_STATE_LOADED</literal></term>
190
<term><anchor id="GIMP-MODULE-STATE-LOADED:CAPS" role="constant"/><literal>GIMP_MODULE_STATE_LOADED</literal></term>
190
191
<listitem><simpara> An instance of a type implemented by
191
192
this module is allocated.
192
193
</simpara></listitem>
195
<term><literal>GIMP_MODULE_STATE_LOAD_FAILED</literal></term>
196
<term><anchor id="GIMP-MODULE-STATE-LOAD-FAILED:CAPS" role="constant"/><literal>GIMP_MODULE_STATE_LOAD_FAILED</literal></term>
196
197
<listitem><simpara><link linkend="gimp-module-register"><function>gimp_module_register()</function></link> returned <link linkend="FALSE:CAPS"><type>FALSE</type></link>.
197
198
</simpara></listitem>
200
<term><literal>GIMP_MODULE_STATE_NOT_LOADED</literal></term>
201
<term><anchor id="GIMP-MODULE-STATE-NOT-LOADED:CAPS" role="constant"/><literal>GIMP_MODULE_STATE_NOT_LOADED</literal></term>
201
202
<listitem><simpara> There are no instances allocated of
202
203
types implemented by this module.
259
259
are compiled against.
260
260
</para></refsect2>
262
<title><anchor id="GIMP-MODULE-PARAM-SERIALIZE:CAPS"/>GIMP_MODULE_PARAM_SERIALIZE</title>
263
<indexterm><primary>GIMP_MODULE_PARAM_SERIALIZE</primary></indexterm><programlisting>#define GIMP_MODULE_PARAM_SERIALIZE (1 << (0 + G_PARAM_USER_SHIFT))
262
<title><anchor id="GIMP-MODULE-PARAM-SERIALIZE:CAPS" role="macro" condition="deprecated:"/>GIMP_MODULE_PARAM_SERIALIZE</title>
263
<indexterm role="deprecated"><primary>GIMP_MODULE_PARAM_SERIALIZE</primary></indexterm><programlisting>#define GIMP_MODULE_PARAM_SERIALIZE (1 << (0 + G_PARAM_USER_SHIFT))
264
264
</programlisting>
265
<warning><para><literal>GIMP_MODULE_PARAM_SERIALIZE</literal> is deprecated and should not be used in newly-written code.</para></warning>
267
268
</para></refsect2>
269
<title><anchor id="gimp-module-new"/>gimp_module_new ()</title>
270
<indexterm><primary>gimp_module_new</primary></indexterm><programlisting><link linkend="GimpModule">GimpModule</link>* gimp_module_new (const <link linkend="gchar">gchar</link> *filename,
271
<link linkend="gboolean">gboolean</link> load_inhibit,
272
<link linkend="gboolean">gboolean</link> verbose);</programlisting>
270
<title><anchor id="gimp-module-new" role="function"/>gimp_module_new ()</title>
271
<indexterm><primary>gimp_module_new</primary></indexterm><programlisting><link linkend="GimpModule">GimpModule</link>* gimp_module_new (const <link linkend="gchar">gchar</link> *filename,
272
<link linkend="gboolean">gboolean</link> load_inhibit,
273
<link linkend="gboolean">gboolean</link> verbose);</programlisting>
274
275
Creates a new <link linkend="GimpModule"><type>GimpModule</type></link> instance.</para>
279
280
<listitem><simpara> The filename of a loadable module.
280
281
</simpara></listitem></varlistentry>
281
282
<varlistentry><term><parameter>load_inhibit</parameter> :</term>
282
<listitem><simpara> Pass <literal>TRUE</literal> to exclude this module from auto-loading.
283
<listitem><simpara> Pass <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to exclude this module from auto-loading.
283
284
</simpara></listitem></varlistentry>
284
285
<varlistentry><term><parameter>verbose</parameter> :</term>
285
<listitem><simpara> Pass <literal>TRUE</literal> to enable debugging output.
286
<listitem><simpara> Pass <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to enable debugging output.
286
287
</simpara></listitem></varlistentry>
287
288
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The new <link linkend="GimpModule"><type>GimpModule</type></link> object.
288
289
</simpara></listitem></varlistentry>
289
290
</variablelist></refsect2>
291
<title><anchor id="gimp-module-modified"/>gimp_module_modified ()</title>
292
<indexterm><primary>gimp_module_modified</primary></indexterm><programlisting><link linkend="void">void</link> gimp_module_modified (<link linkend="GimpModule">GimpModule</link> *module);</programlisting>
292
<title><anchor id="gimp-module-modified" role="function"/>gimp_module_modified ()</title>
293
<indexterm><primary>gimp_module_modified</primary></indexterm><programlisting><link linkend="void">void</link> gimp_module_modified (<link linkend="GimpModule">GimpModule</link> *module);</programlisting>
294
295
Emits the "modified" signal. Call it whenever you have modified the module
295
296
manually (which you shouldn't do).</para>
313
314
<varlistentry><term><parameter>module</parameter> :</term>
314
315
<listitem><simpara> A <link linkend="GimpModule"><type>GimpModule</type></link>.
315
316
</simpara></listitem></varlistentry>
316
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <literal>TRUE</literal> on success.
317
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success.
317
318
</simpara></listitem></varlistentry>
318
319
</variablelist></refsect2>
320
<title><anchor id="gimp-module-set-load-inhibit"/>gimp_module_set_load_inhibit ()</title>
321
<indexterm><primary>gimp_module_set_load_inhibit</primary></indexterm><programlisting><link linkend="void">void</link> gimp_module_set_load_inhibit (<link linkend="GimpModule">GimpModule</link> *module,
322
<link linkend="gboolean">gboolean</link> load_inhibit);</programlisting>
321
<title><anchor id="gimp-module-set-load-inhibit" role="function"/>gimp_module_set_load_inhibit ()</title>
322
<indexterm><primary>gimp_module_set_load_inhibit</primary></indexterm><programlisting><link linkend="void">void</link> gimp_module_set_load_inhibit (<link linkend="GimpModule">GimpModule</link> *module,
323
<link linkend="gboolean">gboolean</link> load_inhibit);</programlisting>
324
325
Sets the <parameter>load_inhibit</parameter> property if the module. Emits "modified".</para>
329
330
<listitem><simpara> A <link linkend="GimpModule"><type>GimpModule</type></link>.
330
331
</simpara></listitem></varlistentry>
331
332
<varlistentry><term><parameter>load_inhibit</parameter> :</term>
332
<listitem><simpara> Pass <literal>TRUE</literal> to exclude this module from auto-loading.
333
<listitem><simpara> Pass <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to exclude this module from auto-loading.
333
334
</simpara></listitem></varlistentry>
334
335
</variablelist></refsect2>
336
<title><anchor id="gimp-module-state-name"/>gimp_module_state_name ()</title>
337
<indexterm><primary>gimp_module_state_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>* gimp_module_state_name (<link linkend="GimpModuleState">GimpModuleState</link> state);</programlisting>
337
<title><anchor id="gimp-module-state-name" role="function"/>gimp_module_state_name ()</title>
338
<indexterm><primary>gimp_module_state_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>* gimp_module_state_name (<link linkend="GimpModuleState">GimpModuleState</link> state);</programlisting>
339
340
Returns the translated textual representation of a <link linkend="GimpModuleState"><type>GimpModuleState</type></link>.
340
341
The returned string must not be freed.</para>
348
349
</simpara></listitem></varlistentry>
349
350
</variablelist></refsect2>
351
<title><anchor id="gimp-module-register-enum"/>gimp_module_register_enum ()</title>
352
<indexterm><primary>gimp_module_register_enum</primary></indexterm><programlisting><link linkend="GType">GType</link> gimp_module_register_enum (<link linkend="GTypeModule">GTypeModule</link> *module,
353
const <link linkend="gchar">gchar</link> *name,
354
const <link linkend="GEnumValue">GEnumValue</link> *const_static_values);</programlisting>
352
<title><anchor id="gimp-module-register-enum" role="function" condition="deprecated:"/>gimp_module_register_enum ()</title>
353
<indexterm role="deprecated"><primary>gimp_module_register_enum</primary></indexterm><programlisting><link linkend="GType">GType</link> gimp_module_register_enum (<link linkend="GTypeModule">GTypeModule</link> *module,
354
const <link linkend="gchar">gchar</link> *name,
355
const <link linkend="GEnumValue">GEnumValue</link> *const _static_values);</programlisting>
356
<warning><para><literal>gimp_module_register_enum</literal> is deprecated and should not be used in newly-written code.</para></warning>
356
Registers an enum similar to <link linkend="g-enum-register-static"><function>g_enum_register_static()</function></link> but for
357
modules. This function should actually live in GLib but since
358
there's no such API, it is provided here.</para>
358
This function is deprecated! Use <link linkend="g-type-module-register-enum"><function>g_type_module_register_enum()</function></link> instead.</para>
361
361
</para><variablelist role="params">
365
365
<varlistentry><term><parameter>name</parameter> :</term>
366
366
<listitem><simpara>
367
367
</simpara></listitem></varlistentry>
368
<varlistentry><term><parameter>const_static_values</parameter> :</term>
368
<varlistentry><term><parameter>_static_values</parameter> :</term>
369
369
<listitem><simpara>
370
370
</simpara></listitem></varlistentry>
371
371
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new enum <link linkend="GType"><type>GType</type></link>
372
372
</simpara></listitem></varlistentry>
373
373
</variablelist></refsect2>
375
<title><anchor id="gimp-module-info-new"/>gimp_module_info_new ()</title>
376
<indexterm><primary>gimp_module_info_new</primary></indexterm><programlisting><link linkend="GimpModuleInfo">GimpModuleInfo</link>* gimp_module_info_new (<link linkend="guint32">guint32</link> abi_version,
377
const <link linkend="gchar">gchar</link> *purpose,
378
const <link linkend="gchar">gchar</link> *author,
379
const <link linkend="gchar">gchar</link> *version,
380
const <link linkend="gchar">gchar</link> *copyright,
381
const <link linkend="gchar">gchar</link> *date);</programlisting>
375
<title><anchor id="gimp-module-info-new" role="function"/>gimp_module_info_new ()</title>
376
<indexterm><primary>gimp_module_info_new</primary></indexterm><programlisting><link linkend="GimpModuleInfo">GimpModuleInfo</link>* gimp_module_info_new (<link linkend="guint32">guint32</link> abi_version,
377
const <link linkend="gchar">gchar</link> *purpose,
378
const <link linkend="gchar">gchar</link> *author,
379
const <link linkend="gchar">gchar</link> *version,
380
const <link linkend="gchar">gchar</link> *copyright,
381
const <link linkend="gchar">gchar</link> *date);</programlisting>
383
383
Creates a newly allocated <link linkend="GimpModuleInfo"><type>GimpModuleInfo</type></link> struct.</para>