File: GimpModule.html

package info (click to toggle)
gimp 2.2.6-1sarge4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 97,088 kB
  • ctags: 43,756
  • sloc: ansic: 525,782; xml: 36,543; lisp: 9,851; sh: 9,007; makefile: 7,974; python: 2,622; perl: 2,589; yacc: 520; lex: 334
file content (246 lines) | stat: -rw-r--r-- 25,863 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>GimpModule</title><meta name="generator" content="DocBook XSL Stylesheets V1.66.1"><link rel="start" href="index.html" title="GIMP Module Library Reference Manual"><link rel="up" href="libgimpmodule.html" title="PartI.GIMP Module Library"><link rel="prev" href="libgimpmodule.html" title="PartI.GIMP Module Library"><link rel="next" href="GimpModuleDB.html" title="GimpModuleDB"><meta name="generator" content="GTK-Doc V1.2 (XML mode)"><style type="text/css">
        .synopsis, .classsynopsis {
            background: #eeeeee;
            border: solid 1px #aaaaaa;
            padding: 0.5em;
        }
        .programlisting {
            background: #eeeeff;
            border: solid 1px #aaaaff;
            padding: 0.5em;
        }
        .variablelist {
            padding: 4px;
            margin-left: 3em;
        }
        .navigation {
            background: #ffeeee;
            border: solid 1px #ffaaaa;
            margin-top: 0.5em;
            margin-bottom: 0.5em;
        }
        .navigation a {
            color: #770000;
        }
        .navigation a:visited {
            color: #550000;
        }
        .navigation .title {
            font-size: 200%;
        }
      </style></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libgimpmodule.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="libgimpmodule.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GIMP Module Library Reference Manual</th><td><a accesskey="n" href="GimpModuleDB.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="GimpModule"></a><div class="titlepage"></div><div class="refnamediv"><h2><span class="refentrytitle">GimpModule</span></h2><p>GimpModule &#8212; A <span class="type">GTypeModule</span> subclass which implements module loading using <span class="type">GModule</span>.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">



struct      <a href="GimpModule.html#GimpModule-struct">GimpModule</a>;
struct      <a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a>;
enum        <a href="GimpModule.html#GimpModuleState">GimpModuleState</a>;
const <a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a>* (<a href="GimpModule.html#GimpModuleQueryFunc">*GimpModuleQueryFunc</a>)
                                            (GTypeModule *module);
gboolean    (<a href="GimpModule.html#GimpModuleRegisterFunc">*GimpModuleRegisterFunc</a>)       (GTypeModule *module);
#define     <a href="GimpModule.html#GIMP-MODULE-ABI-VERSION-CAPS">GIMP_MODULE_ABI_VERSION</a>
#define     <a href="GimpModule.html#GIMP-MODULE-PARAM-SERIALIZE-CAPS">GIMP_MODULE_PARAM_SERIALIZE</a>
<a href="GimpModule.html" title="GimpModule">GimpModule</a>* <a href="GimpModule.html#gimp-module-new">gimp_module_new</a>                 (const gchar *filename,
                                             gboolean load_inhibit,
                                             gboolean verbose);
void        <a href="GimpModule.html#gimp-module-modified">gimp_module_modified</a>            (<a href="GimpModule.html" title="GimpModule">GimpModule</a> *module);
gboolean    <a href="GimpModule.html#gimp-module-query-module">gimp_module_query_module</a>        (<a href="GimpModule.html" title="GimpModule">GimpModule</a> *module);
void        <a href="GimpModule.html#gimp-module-set-load-inhibit">gimp_module_set_load_inhibit</a>    (<a href="GimpModule.html" title="GimpModule">GimpModule</a> *module,
                                             gboolean load_inhibit);
const gchar* <a href="GimpModule.html#gimp-module-state-name">gimp_module_state_name</a>         (<a href="GimpModule.html#GimpModuleState">GimpModuleState</a> state);
GType       <a href="GimpModule.html#gimp-module-register-enum">gimp_module_register_enum</a>       (GTypeModule *module,
                                             const gchar *name,
                                             const GEnumValue *const_static_values);
<a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a>* <a href="GimpModule.html#gimp-module-info-new">gimp_module_info_new</a>        (guint32 abi_version,
                                             const gchar *purpose,
                                             const gchar *author,
                                             const gchar *version,
                                             const gchar *copyright,
                                             const gchar *date);
<a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a>* <a href="GimpModule.html#gimp-module-info-copy">gimp_module_info_copy</a>       (const <a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a> *info);
void        <a href="GimpModule.html#gimp-module-info-free">gimp_module_info_free</a>           (<a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a> *info);

</pre></div><div class="refsect1" lang="en"><a name="id2467364"></a><h2>Object Hierarchy</h2><pre class="synopsis">

  GObject
   +----GTypeModule
         +----GimpModule
</pre></div><div class="refsect1" lang="en"><a name="id2549131"></a><h2>Implemented Interfaces</h2><p>
GimpModule implements
 GTypePlugin.</p></div><div class="refsect1" lang="en"><a name="id2549146"></a><h2>Signal Prototypes</h2><pre class="synopsis">

"<a href="GimpModule.html#GimpModule-modified">modified</a>"  void        user_function      (<a href="GimpModule.html" title="GimpModule">GimpModule</a> *gimpmodule,
                                            gpointer user_data);
</pre></div><div class="refsect1" lang="en"><a name="id2549178"></a><h2>Description</h2><p>
A <span class="type">GTypeModule</span> subclass which implements module loading using <span class="type">GModule</span>.
</p></div><div class="refsect1" lang="en"><a name="id2549201"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2549206"></a><h3><a name="GimpModule-struct"></a>struct GimpModule</h3><a class="indexterm" name="id2549214"></a><pre class="programlisting">struct GimpModule {
  gchar           *filename;     /* path to the module                       */
  gboolean         verbose;      /* verbose error reporting                  */
  GimpModuleState  state;        /* what's happened to the module            */
  gboolean         on_disk;      /* TRUE if file still exists                */
  gboolean         load_inhibit; /* user requests not to load at boot time   */

  /* stuff from now on may be NULL depending on the state the module is in   */
  GimpModuleInfo  *info;         /* returned values from module_query        */
  gchar           *last_module_error;

};
</pre><p>
<a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> is a generic mechanism to dynamically load modules into
the GIMP.  It is a <span class="type">GTypeModule</span> subclass, implementing module loading
using <span class="type">GModule</span>.  <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> does not know which functionality is
implemented by the modules, it just provides a framework to get
arbitrary <span class="type">GType</span> implementations loaded from disk.
</p></div><hr><div class="refsect2" lang="en"><a name="id2545406"></a><h3><a name="GimpModuleInfo"></a>struct GimpModuleInfo</h3><a class="indexterm" name="id2566167"></a><pre class="programlisting">struct GimpModuleInfo {

  guint32  abi_version;
  gchar   *purpose;
  gchar   *author;
  gchar   *version;
  gchar   *copyright;
  gchar   *date;
};
</pre><p>
This structure contains information about a loadable module.
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term">guint32 <i class="structfield"><tt>abi_version</tt></i></span></td><td>The <a href="GimpModule.html#GIMP-MODULE-ABI-VERSION-CAPS"><span class="type">GIMP_MODULE_ABI_VERSION</span></a> the module was compiled against.
</td></tr><tr><td><span class="term">gchar *<i class="structfield"><tt>purpose</tt></i></span></td><td>    The module's general purpose.
</td></tr><tr><td><span class="term">gchar *<i class="structfield"><tt>author</tt></i></span></td><td>     The module's author.
</td></tr><tr><td><span class="term">gchar *<i class="structfield"><tt>version</tt></i></span></td><td>    The module's version.
</td></tr><tr><td><span class="term">gchar *<i class="structfield"><tt>copyright</tt></i></span></td><td>  The module's copyright.
</td></tr><tr><td><span class="term">gchar *<i class="structfield"><tt>date</tt></i></span></td><td>       The module's release date.

</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2549272"></a><h3><a name="GimpModuleState"></a>enum GimpModuleState</h3><a class="indexterm" name="id2549280"></a><pre class="programlisting">typedef enum
{
  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
                                  */
} GimpModuleState;
</pre><p>
The possible states a <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> can be in.
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><tt class="literal">GIMP_MODULE_STATE_ERROR</tt></span></td><td>      Missing <tt class="function">gimp_module_register()</tt> function
                                or other error.
</td></tr><tr><td><span class="term"><tt class="literal">GIMP_MODULE_STATE_LOADED</tt></span></td><td>     An instance of a type implemented by
                                this module is allocated.
</td></tr><tr><td><span class="term"><tt class="literal">GIMP_MODULE_STATE_LOAD_FAILED</tt></span></td><td><tt class="function">gimp_module_register()</tt> returned <span class="type">FALSE</span>.
</td></tr><tr><td><span class="term"><tt class="literal">GIMP_MODULE_STATE_NOT_LOADED</tt></span></td><td> There are no instances allocated of
                                types implemented by this module.

</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2549357"></a><h3><a name="GimpModuleQueryFunc"></a>GimpModuleQueryFunc ()</h3><a class="indexterm" name="id2549365"></a><pre class="programlisting">const <a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a>* (*GimpModuleQueryFunc)
                                            (GTypeModule *module);</pre><p>
The signature of the query function a loadable GIMP module must
implement.  In the module, the function must be called
<tt class="function">gimp_module_query()</tt>.
</p><p>
<a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> will copy the returned <a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a> 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).
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>module</tt></i>:</span></td><td> The <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> responsible for this loadable module.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>The <a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a> struct describing the module.


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2466922"></a><h3><a name="GimpModuleRegisterFunc"></a>GimpModuleRegisterFunc ()</h3><a class="indexterm" name="id2466930"></a><pre class="programlisting">gboolean    (*GimpModuleRegisterFunc)       (GTypeModule *module);</pre><p>
The signature of the register function a loadable GIMP module must
implement.  In the module, the function must be called
<tt class="function">gimp_module_register()</tt>.
</p><p>
When this function is called, the module should register all the types
it implements with the passed <i class="parameter"><tt>module</tt></i>.
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>module</tt></i>:</span></td><td> The <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> responsible for this loadable module.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td><span class="type">TRUE</span> on success, <span class="type">FALSE</span> otherwise.


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2467007"></a><h3><a name="GIMP-MODULE-ABI-VERSION-CAPS"></a>GIMP_MODULE_ABI_VERSION</h3><a class="indexterm" name="id2467015"></a><pre class="programlisting">#define GIMP_MODULE_ABI_VERSION 0x0004
</pre><p>
The version of the module system's ABI. Modules put this value into
<a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a>'s <i class="parameter"><tt>abi_version</tt></i> field so the code loading the modules
can check if it was compiled against the same module ABI the modules
are compiled against.
</p></div><hr><div class="refsect2" lang="en"><a name="id2467038"></a><h3><a name="GIMP-MODULE-PARAM-SERIALIZE-CAPS"></a>GIMP_MODULE_PARAM_SERIALIZE</h3><a class="indexterm" name="id2467046"></a><pre class="programlisting">#define GIMP_MODULE_PARAM_SERIALIZE (1 &lt;&lt; (0 + G_PARAM_USER_SHIFT))
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2467057"></a><h3><a name="gimp-module-new"></a>gimp_module_new ()</h3><a class="indexterm" name="id2467065"></a><pre class="programlisting"><a href="GimpModule.html" title="GimpModule">GimpModule</a>* gimp_module_new                 (const gchar *filename,
                                             gboolean load_inhibit,
                                             gboolean verbose);</pre><p>
Creates a new <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> instance.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>filename</tt></i>:</span></td><td>     The filename of a loadable module.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>load_inhibit</tt></i>:</span></td><td> Pass <tt class="literal">TRUE</tt> to exclude this module from auto-loading.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>verbose</tt></i>:</span></td><td>      Pass <tt class="literal">TRUE</tt> to enable debugging output.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The new <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> object.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2580944"></a><h3><a name="gimp-module-modified"></a>gimp_module_modified ()</h3><a class="indexterm" name="id2580952"></a><pre class="programlisting">void        gimp_module_modified            (<a href="GimpModule.html" title="GimpModule">GimpModule</a> *module);</pre><p>
Emits the "modified" signal. Call it whenever you have modified the module
manually (which you shouldn't do).</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>module</tt></i>:</span></td><td> A <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a>.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2580998"></a><h3><a name="gimp-module-query-module"></a>gimp_module_query_module ()</h3><a class="indexterm" name="id2581006"></a><pre class="programlisting">gboolean    gimp_module_query_module        (<a href="GimpModule.html" title="GimpModule">GimpModule</a> *module);</pre><p>
Queries the module without actually registering any of the types it
may implement. After successful query, the <i class="parameter"><tt>info</tt></i> field of the
<a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a> struct will be available for further inspection.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>module</tt></i>:</span></td><td> A <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a>.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">TRUE</tt> on success.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2581074"></a><h3><a name="gimp-module-set-load-inhibit"></a>gimp_module_set_load_inhibit ()</h3><a class="indexterm" name="id2581083"></a><pre class="programlisting">void        gimp_module_set_load_inhibit    (<a href="GimpModule.html" title="GimpModule">GimpModule</a> *module,
                                             gboolean load_inhibit);</pre><p>
Sets the <i class="parameter"><tt>load_inhibit</tt></i> property if the module. Emits "modified".</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>module</tt></i>:</span></td><td>       A <a href="GimpModule.html" title="GimpModule"><span class="type">GimpModule</span></a>.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>load_inhibit</tt></i>:</span></td><td> Pass <tt class="literal">TRUE</tt> to exclude this module from auto-loading.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2581149"></a><h3><a name="gimp-module-state-name"></a>gimp_module_state_name ()</h3><a class="indexterm" name="id2581158"></a><pre class="programlisting">const gchar* gimp_module_state_name         (<a href="GimpModule.html#GimpModuleState">GimpModuleState</a> state);</pre><p>
Returns the translated textual representation of a <a href="GimpModule.html#GimpModuleState"><span class="type">GimpModuleState</span></a>.
The returned string must not be freed.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>state</tt></i>:</span></td><td> A <a href="GimpModule.html#GimpModuleState"><span class="type">GimpModuleState</span></a>.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The <i class="parameter"><tt>state</tt></i>'s name.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2581222"></a><h3><a name="gimp-module-register-enum"></a>gimp_module_register_enum ()</h3><a class="indexterm" name="id2581231"></a><pre class="programlisting">GType       gimp_module_register_enum       (GTypeModule *module,
                                             const gchar *name,
                                             const GEnumValue *const_static_values);</pre><p>
Registers an enum similar to <tt class="function">g_enum_register_static()</tt> but for
modules. This function should actually live in GLib but since
there's no such API, it is provided here.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>module</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>name</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>const_static_values</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new enum <span class="type">GType</span>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2581326"></a><h3><a name="gimp-module-info-new"></a>gimp_module_info_new ()</h3><a class="indexterm" name="id2581334"></a><pre class="programlisting"><a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a>* gimp_module_info_new        (guint32 abi_version,
                                             const gchar *purpose,
                                             const gchar *author,
                                             const gchar *version,
                                             const gchar *copyright,
                                             const gchar *date);</pre><p>
Creates a newly allocated <a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a> struct.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>abi_version</tt></i>:</span></td><td> The <a href="GimpModule.html#GIMP-MODULE-ABI-VERSION-CAPS"><span class="type">GIMP_MODULE_ABI_VERSION</span></a> the module was compiled against.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>purpose</tt></i>:</span></td><td>     The module's general purpose.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>author</tt></i>:</span></td><td>      The module's author.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>version</tt></i>:</span></td><td>     The module's version.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>copyright</tt></i>:</span></td><td>   The module's copyright.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>date</tt></i>:</span></td><td>        The module's release date.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The new <a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a> struct.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2581485"></a><h3><a name="gimp-module-info-copy"></a>gimp_module_info_copy ()</h3><a class="indexterm" name="id2581493"></a><pre class="programlisting"><a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a>* gimp_module_info_copy       (const <a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a> *info);</pre><p>
Copies a <a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a> struct.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>info</tt></i>:</span></td><td> The <a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a> struct to copy.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The new copy.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2581552"></a><h3><a name="gimp-module-info-free"></a>gimp_module_info_free ()</h3><a class="indexterm" name="id2581561"></a><pre class="programlisting">void        gimp_module_info_free           (<a href="GimpModule.html#GimpModuleInfo">GimpModuleInfo</a> *info);</pre><p>
Frees the passed <a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a>.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>info</tt></i>:</span></td><td> The <a href="GimpModule.html#GimpModuleInfo"><span class="type">GimpModuleInfo</span></a> struct to free
</td></tr></tbody></table></div></div></div><div class="refsect1" lang="en"><a name="id2581611"></a><h2>Signals</h2><div class="refsect2" lang="en"><a name="id2581616"></a><h3><a name="GimpModule-modified"></a>The "modified" signal</h3><pre class="programlisting">void        user_function                  (<a href="GimpModule.html" title="GimpModule">GimpModule</a> *gimpmodule,
                                            gpointer user_data);</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>gimpmodule</tt></i>:</span></td><td>the object which received the signal.

</td></tr><tr><td><span class="term"><i class="parameter"><tt>user_data</tt></i>:</span></td><td>user data set when the signal handler was connected.</td></tr></tbody></table></div></div></div><div class="refsect1" lang="en"><a name="id2581673"></a><h2>See Also</h2><p>
<span class="type">GModule</span>
</p><p>
<span class="type">GTypeModule</span>
</p></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libgimpmodule.html"><b>&lt;&lt;PartI.GIMP Module Library</b></a></td><td align="right"><a accesskey="n" href="GimpModuleDB.html"><b>GimpModuleDB&gt;&gt;</b></a></td></tr></table></body></html>