1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>Extension Points</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
<link rel="start" href="index.html" title="GIO Reference Manual">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
7
<link rel="home" href="index.html" title="GIO Reference Manual">
8
8
<link rel="up" href="extending.html" title="Extending GIO">
9
9
<link rel="prev" href="GIOModule.html" title="GIOModule">
10
<link rel="next" href="migrating.html" title="Part III. Migrating to GIO">
11
<meta name="generator" content="GTK-Doc V1.9 (XML mode)">
10
<link rel="next" href="migrating.html" title="Part III. Migrating to GIO">
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
<link rel="part" href="pt01.html" title="Part I. GIO Overview">
13
<link rel="part" href="pt01.html" title="Part I. GIO Overview">
14
14
<link rel="chapter" href="ch01.html" title="Introduction">
15
15
<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
16
16
<link rel="chapter" href="ch03.html" title="Running GIO applications">
17
<link rel="chapter" href="gio-extension-points.html" title="Extending GIO">
18
<link rel="part" href="pt02.html" title="Part II. API Reference">
17
<link rel="chapter" href="extending-gio.html" title="Extending GIO">
18
<link rel="part" href="pt02.html" title="Part II. API Reference">
19
19
<link rel="chapter" href="file_ops.html" title="File Operations">
20
20
<link rel="chapter" href="file_mon.html" title="File System Monitoring">
21
21
<link rel="chapter" href="async.html" title="Asynchronous I/O">
25
25
<link rel="chapter" href="icons.html" title="Icons">
26
26
<link rel="chapter" href="utils.html" title="Utilities">
27
27
<link rel="chapter" href="extending.html" title="Extending GIO">
28
<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
28
<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
29
29
<link rel="chapter" href="ch14.html" title="Migrating from POSIX to GIO">
30
30
<link rel="chapter" href="ch15.html" title="Migrating from GnomeVFS to GIO">
31
31
<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
32
32
<link rel="index" href="ix01.html" title="Index">
33
<link rel="index" href="ix02.html" title="Index of new symbols in 2.18">
34
35
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
35
36
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
40
41
<th width="100%" align="center">GIO Reference Manual</th>
41
42
<td><a accesskey="n" href="migrating.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
43
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2768221" class="shortcut">Top</a>
45
<a href="#id2899846" class="shortcut">Description</a></nobr></td></tr>
44
<tr><td colspan="5" class="shortcuts">
45
<a href="#gio-Extension-Points.synopsis" class="shortcut">Top</a>
47
<a href="#gio-Extension-Points.description" class="shortcut">Description</a>
47
50
<div class="refentry" lang="en">
48
51
<a name="gio-Extension-Points"></a><div class="titlepage"></div>
49
52
<div class="refnamediv"><table width="100%"><tr>
52
<a name="id2768221"></a><span class="refentrytitle">Extension Points</span>
54
<p>Extension Points — Extension Points</p>
54
<h2><span class="refentrytitle"><a name="gio-Extension-Points.top_of_page"></a>Extension Points</span></h2>
55
<p>Extension Points — Extension Points</p>
56
57
<td valign="top" align="right"></td>
57
58
</tr></table></div>
58
59
<div class="refsynopsisdiv">
60
<a name="gio-Extension-Points.synopsis"></a><h2>Synopsis</h2>
60
61
<pre class="synopsis">
62
63
#include <gio.h>
65
<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a>;
66
<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a>;
67
const char* <a class="link" href="gio-Extension-Points.html#g-io-extension-get-name">g_io_extension_get_name</a> (<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a> *extension);
65
<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a>;
66
<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a>;
67
const char * <a class="link" href="gio-Extension-Points.html#g-io-extension-get-name" title="g_io_extension_get_name ()">g_io_extension_get_name</a> (<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> *extension);
69
69
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
70
>gint</a> <a class="link" href="gio-Extension-Points.html#g-io-extension-get-priority">g_io_extension_get_priority</a> (<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a> *extension);
70
>gint</a> <a class="link" href="gio-Extension-Points.html#g-io-extension-get-priority" title="g_io_extension_get_priority ()">g_io_extension_get_priority</a> (<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> *extension);
72
72
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
73
>GType</a> <a class="link" href="gio-Extension-Points.html#g-io-extension-get-type">g_io_extension_get_type</a> (<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a> *extension);
74
<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a>* <a class="link" href="gio-Extension-Points.html#g-io-extension-point-get-extension-by-name">g_io_extension_point_get_extension_by_name</a>
75
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a> *extension_point,
73
>GType</a> <a class="link" href="gio-Extension-Points.html#g-io-extension-get-type" title="g_io_extension_get_type ()">g_io_extension_get_type</a> (<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> *extension);
74
<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> * <a class="link" href="gio-Extension-Points.html#g-io-extension-point-get-extension-by-name" title="g_io_extension_point_get_extension_by_name ()">g_io_extension_point_get_extension_by_name</a>
75
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> *extension_point,
78
78
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
79
>GList</a>* <a class="link" href="gio-Extension-Points.html#g-io-extension-point-get-extensions">g_io_extension_point_get_extensions</a> (<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a> *extension_point);
79
>GList</a> * <a class="link" href="gio-Extension-Points.html#g-io-extension-point-get-extensions" title="g_io_extension_point_get_extensions ()">g_io_extension_point_get_extensions</a> (<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> *extension_point);
81
81
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
82
>GType</a> <a class="link" href="gio-Extension-Points.html#g-io-extension-point-get-required-type">g_io_extension_point_get_required_type</a>
83
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a> *extension_point);
84
<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a>* <a class="link" href="gio-Extension-Points.html#g-io-extension-point-implement">g_io_extension_point_implement</a> (const char *extension_point_name,
82
>GType</a> <a class="link" href="gio-Extension-Points.html#g-io-extension-point-get-required-type" title="g_io_extension_point_get_required_type ()">g_io_extension_point_get_required_type</a>
83
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> *extension_point);
84
<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> * <a class="link" href="gio-Extension-Points.html#g-io-extension-point-implement" title="g_io_extension_point_implement ()">g_io_extension_point_implement</a> (const char *extension_point_name,
86
86
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
90
90
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
91
91
>gint</a> priority);
92
<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a>* <a class="link" href="gio-Extension-Points.html#g-io-extension-point-lookup">g_io_extension_point_lookup</a> (const char *name);
93
<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a>* <a class="link" href="gio-Extension-Points.html#g-io-extension-point-register">g_io_extension_point_register</a> (const char *name);
94
void <a class="link" href="gio-Extension-Points.html#g-io-extension-point-set-required-type">g_io_extension_point_set_required_type</a>
95
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a> *extension_point,
92
<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> * <a class="link" href="gio-Extension-Points.html#g-io-extension-point-lookup" title="g_io_extension_point_lookup ()">g_io_extension_point_lookup</a> (const char *name);
93
<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> * <a class="link" href="gio-Extension-Points.html#g-io-extension-point-register" title="g_io_extension_point_register ()">g_io_extension_point_register</a> (const char *name);
94
void <a class="link" href="gio-Extension-Points.html#g-io-extension-point-set-required-type" title="g_io_extension_point_set_required_type ()">g_io_extension_point_set_required_type</a>
95
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> *extension_point,
97
97
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
100
100
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GTypeClass"
101
>GTypeClass</a>* <a class="link" href="gio-Extension-Points.html#g-io-extension-ref-class">g_io_extension_ref_class</a> (<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a> *extension);
101
>GTypeClass</a>* <a class="link" href="gio-Extension-Points.html#g-io-extension-ref-class" title="g_io_extension_ref_class ()">g_io_extension_ref_class</a> (<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> *extension);
104
104
<div class="refsect1" lang="en">
105
<a name="id2899846"></a><h2>Description</h2>
105
<a name="gio-Extension-Points.description"></a><h2>Description</h2>
107
<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a> provides a mechanism for modules to extend the
107
<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a> provides a mechanism for modules to extend the
108
108
functionality of the library or application that loaded it in an
109
109
organized fashion.
112
112
An extension point is identified by a name, and it may optionally
113
113
require that any implementation must by of a certain type (or derived
114
thereof). Use <a class="link" href="gio-Extension-Points.html#g-io-extension-point-register"><code class="function">g_io_extension_point_register()</code></a> to register an
115
extension point, and <a class="link" href="gio-Extension-Points.html#g-io-extension-point-set-required-type"><code class="function">g_io_extension_point_set_required_type()</code></a> to
114
thereof). Use <a class="link" href="gio-Extension-Points.html#g-io-extension-point-register" title="g_io_extension_point_register ()"><code class="function">g_io_extension_point_register()</code></a> to register an
115
extension point, and <a class="link" href="gio-Extension-Points.html#g-io-extension-point-set-required-type" title="g_io_extension_point_set_required_type ()"><code class="function">g_io_extension_point_set_required_type()</code></a> to
116
116
set a required type.
153
153
only the one with the highest priority, or pick a specific
159
158
<div class="refsect1" lang="en">
160
<a name="id2899959"></a><h2>Details</h2>
161
<div class="refsect2" lang="en">
162
<a name="id2899970"></a><h3>
163
<a name="GIOExtension"></a>GIOExtension</h3>
164
<a class="indexterm" name="id2899983"></a><pre class="programlisting">typedef struct _GIOExtension GIOExtension;</pre>
170
<div class="refsect2" lang="en">
171
<a name="id2899999"></a><h3>
172
<a name="GIOExtensionPoint"></a>GIOExtensionPoint</h3>
173
<a class="indexterm" name="id2900011"></a><pre class="programlisting">typedef struct _GIOExtensionPoint GIOExtensionPoint;</pre>
179
<div class="refsect2" lang="en">
180
<a name="id2900028"></a><h3>
181
<a name="g-io-extension-get-name"></a>g_io_extension_get_name ()</h3>
182
<a class="indexterm" name="id2900039"></a><pre class="programlisting">const char* g_io_extension_get_name (<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a> *extension);</pre>
159
<a name="gio-Extension-Points.details"></a><h2>Details</h2>
160
<div class="refsect2" lang="en">
161
<a name="GIOExtension"></a><h3>GIOExtension</h3>
162
<pre class="programlisting">typedef struct _GIOExtension GIOExtension;</pre>
167
<div class="refsect2" lang="en">
168
<a name="GIOExtensionPoint"></a><h3>GIOExtensionPoint</h3>
169
<pre class="programlisting">typedef struct _GIOExtensionPoint GIOExtensionPoint;</pre>
174
<div class="refsect2" lang="en">
175
<a name="g-io-extension-get-name"></a><h3>g_io_extension_get_name ()</h3>
176
<pre class="programlisting">const char * g_io_extension_get_name (<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> *extension);</pre>
184
178
Gets the name under which <em class="parameter"><code>extension</code></em> was registered.
187
181
Note that the same type may be registered as extension
188
182
for multiple extension points, under different names.</p>
192
185
<div class="variablelist"><table border="0">
193
186
<col align="left" valign="top">
196
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
197
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a>
189
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
190
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a>
201
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
194
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
202
195
<td> the name of <em class="parameter"><code>extension</code></em>.
209
202
<div class="refsect2" lang="en">
210
<a name="id2900126"></a><h3>
211
<a name="g-io-extension-get-priority"></a>g_io_extension_get_priority ()</h3>
212
<a class="indexterm" name="id2900137"></a><pre class="programlisting"><a
203
<a name="g-io-extension-get-priority"></a><h3>g_io_extension_get_priority ()</h3>
204
<pre class="programlisting"><a
213
205
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
214
>gint</a> g_io_extension_get_priority (<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a> *extension);</pre>
206
>gint</a> g_io_extension_get_priority (<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> *extension);</pre>
216
208
Gets the priority with which <em class="parameter"><code>extension</code></em> was registered.</p>
220
211
<div class="variablelist"><table border="0">
221
212
<col align="left" valign="top">
224
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
225
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a>
215
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
216
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a>
229
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
220
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
230
221
<td> the priority of <em class="parameter"><code>extension</code></em>
237
228
<div class="refsect2" lang="en">
238
<a name="id2900217"></a><h3>
239
<a name="g-io-extension-get-type"></a>g_io_extension_get_type ()</h3>
240
<a class="indexterm" name="id2900228"></a><pre class="programlisting"><a
229
<a name="g-io-extension-get-type"></a><h3>g_io_extension_get_type ()</h3>
230
<pre class="programlisting"><a
241
231
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
242
>GType</a> g_io_extension_get_type (<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a> *extension);</pre>
232
>GType</a> g_io_extension_get_type (<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> *extension);</pre>
244
234
Gets the type associated with <em class="parameter"><code>extension</code></em>.</p>
248
237
<div class="variablelist"><table border="0">
249
238
<col align="left" valign="top">
252
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
253
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a>
241
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
242
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a>
257
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
246
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
258
247
<td> the type of <em class="parameter"><code>extension</code></em>
265
254
<div class="refsect2" lang="en">
266
<a name="id2902520"></a><h3>
267
<a name="g-io-extension-point-get-extension-by-name"></a>g_io_extension_point_get_extension_by_name ()</h3>
268
<a class="indexterm" name="id2902535"></a><pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a>* g_io_extension_point_get_extension_by_name
269
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a> *extension_point,
255
<a name="g-io-extension-point-get-extension-by-name"></a><h3>g_io_extension_point_get_extension_by_name ()</h3>
256
<pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> * g_io_extension_point_get_extension_by_name
257
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> *extension_point,
270
258
const char *name);</pre>
272
Finds a <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a> for an extension point by name.</p>
260
Finds a <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> for an extension point by name.</p>
276
263
<div class="variablelist"><table border="0">
277
264
<col align="left" valign="top">
280
<td><p><span class="term"><em class="parameter"><code>extension_point</code></em> :</span></p></td>
281
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>
267
<td><p><span class="term"><em class="parameter"><code>extension_point</code></em> :</span></p></td>
268
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>
285
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
272
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
286
273
<td> the name of the extension to get
290
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
291
<td> the <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a> for <em class="parameter"><code>extension_point</code></em> that has the
277
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
278
<td> the <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> for <em class="parameter"><code>extension_point</code></em> that has the
292
279
given name, or <a
293
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
280
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
294
281
><code class="literal">NULL</code></a> if there is no extension with that name
301
288
<div class="refsect2" lang="en">
302
<a name="id2902655"></a><h3>
303
<a name="g-io-extension-point-get-extensions"></a>g_io_extension_point_get_extensions ()</h3>
304
<a class="indexterm" name="id2902667"></a><pre class="programlisting"><a
289
<a name="g-io-extension-point-get-extensions"></a><h3>g_io_extension_point_get_extensions ()</h3>
290
<pre class="programlisting"><a
305
291
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
306
>GList</a>* g_io_extension_point_get_extensions (<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a> *extension_point);</pre>
292
>GList</a> * g_io_extension_point_get_extensions (<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> *extension_point);</pre>
308
294
Gets a list of all extensions that implement this extension point.
309
295
The list is sorted by priority, beginning with the highest priority.</p>
313
298
<div class="variablelist"><table border="0">
314
299
<col align="left" valign="top">
317
<td><p><span class="term"><em class="parameter"><code>extension_point</code></em> :</span></p></td>
318
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>
302
<td><p><span class="term"><em class="parameter"><code>extension_point</code></em> :</span></p></td>
303
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>
322
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
307
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
324
309
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
325
><span class="type">GList</span></a> of <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a>s. The list is owned by
310
><span class="type">GList</span></a> of <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a>s. The list is owned by
326
311
GIO and should not be modified
333
318
<div class="refsect2" lang="en">
334
<a name="id2902754"></a><h3>
335
<a name="g-io-extension-point-get-required-type"></a>g_io_extension_point_get_required_type ()</h3>
336
<a class="indexterm" name="id2902768"></a><pre class="programlisting"><a
319
<a name="g-io-extension-point-get-required-type"></a><h3>g_io_extension_point_get_required_type ()</h3>
320
<pre class="programlisting"><a
337
321
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
338
322
>GType</a> g_io_extension_point_get_required_type
339
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a> *extension_point);</pre>
323
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> *extension_point);</pre>
341
325
Gets the required type for <em class="parameter"><code>extension_point</code></em>.</p>
345
328
<div class="variablelist"><table border="0">
346
329
<col align="left" valign="top">
349
<td><p><span class="term"><em class="parameter"><code>extension_point</code></em> :</span></p></td>
350
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>
332
<td><p><span class="term"><em class="parameter"><code>extension_point</code></em> :</span></p></td>
333
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>
354
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
337
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
356
339
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
357
340
><span class="type">GType</span></a> that all implementations must have,
359
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-INVALID:CAPS"
342
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-INVALID--CAPS"
360
343
><span class="type">G_TYPE_INVALID</span></a> if the extension point has no required type
367
350
<div class="refsect2" lang="en">
368
<a name="id2902859"></a><h3>
369
<a name="g-io-extension-point-implement"></a>g_io_extension_point_implement ()</h3>
370
<a class="indexterm" name="id2902870"></a><pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a>* g_io_extension_point_implement (const char *extension_point_name,
351
<a name="g-io-extension-point-implement"></a><h3>g_io_extension_point_implement ()</h3>
352
<pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> * g_io_extension_point_implement (const char *extension_point_name,
372
354
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
383
365
If <em class="parameter"><code>type</code></em> has already been registered as an extension for this
384
extension point, the existing <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a> object is returned.</p>
366
extension point, the existing <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> object is returned.</p>
388
369
<div class="variablelist"><table border="0">
389
370
<col align="left" valign="top">
392
<td><p><span class="term"><em class="parameter"><code>extension_point_name</code></em> :</span></p></td>
373
<td><p><span class="term"><em class="parameter"><code>extension_point_name</code></em> :</span></p></td>
393
374
<td> the name of the extension point
397
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
378
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
399
380
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
400
381
><span class="type">GType</span></a> to register as extension
404
<td><p><span class="term"><em class="parameter"><code>extension_name</code></em> :</span></p></td>
385
<td><p><span class="term"><em class="parameter"><code>extension_name</code></em> :</span></p></td>
405
386
<td> the name for the extension
409
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
390
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
410
391
<td> the priority for the extension
414
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
415
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a> object for <a
395
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
396
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> object for <a
416
397
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
417
398
><span class="type">GType</span></a>
424
405
<div class="refsect2" lang="en">
425
<a name="id2903045"></a><h3>
426
<a name="g-io-extension-point-lookup"></a>g_io_extension_point_lookup ()</h3>
427
<a class="indexterm" name="id2903057"></a><pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a>* g_io_extension_point_lookup (const char *name);</pre>
406
<a name="g-io-extension-point-lookup"></a><h3>g_io_extension_point_lookup ()</h3>
407
<pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> * g_io_extension_point_lookup (const char *name);</pre>
429
409
Looks up an existing extension point.</p>
433
412
<div class="variablelist"><table border="0">
434
413
<col align="left" valign="top">
437
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
416
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
438
417
<td> the name of the extension point
442
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
443
<td> the <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>, or <a
444
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
421
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
422
<td> the <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>, or <a
423
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
445
424
><code class="literal">NULL</code></a> if there is no
446
425
registered extension point with the given name
453
432
<div class="refsect2" lang="en">
454
<a name="id2903135"></a><h3>
455
<a name="g-io-extension-point-register"></a>g_io_extension_point_register ()</h3>
456
<a class="indexterm" name="id2903146"></a><pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a>* g_io_extension_point_register (const char *name);</pre>
433
<a name="g-io-extension-point-register"></a><h3>g_io_extension_point_register ()</h3>
434
<pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> * g_io_extension_point_register (const char *name);</pre>
458
436
Registers an extension point.</p>
462
439
<div class="variablelist"><table border="0">
463
440
<col align="left" valign="top">
466
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
443
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
467
444
<td> The name of the extension point
471
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
472
<td> the new <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>. This object is owned by GIO
448
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
449
<td> the new <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>. This object is owned by GIO
473
450
and should not be freed
480
457
<div class="refsect2" lang="en">
481
<a name="id2903214"></a><h3>
482
<a name="g-io-extension-point-set-required-type"></a>g_io_extension_point_set_required_type ()</h3>
483
<a class="indexterm" name="id2903227"></a><pre class="programlisting">void g_io_extension_point_set_required_type
484
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint">GIOExtensionPoint</a> *extension_point,
458
<a name="g-io-extension-point-set-required-type"></a><h3>g_io_extension_point_set_required_type ()</h3>
459
<pre class="programlisting">void g_io_extension_point_set_required_type
460
(<a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint">GIOExtensionPoint</a> *extension_point,
486
462
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
487
463
>GType</a> type);</pre>
489
465
Sets the required type for <em class="parameter"><code>extension_point</code></em> to <em class="parameter"><code>type</code></em>.
490
466
All implementations must henceforth have this type.</p>
494
469
<div class="variablelist"><table border="0">
495
470
<col align="left" valign="top">
498
<td><p><span class="term"><em class="parameter"><code>extension_point</code></em> :</span></p></td>
499
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>
473
<td><p><span class="term"><em class="parameter"><code>extension_point</code></em> :</span></p></td>
474
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>
503
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
478
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
505
480
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
506
481
><span class="type">GType</span></a> to require
513
488
<div class="refsect2" lang="en">
514
<a name="id2903328"></a><h3>
515
<a name="g-io-extension-ref-class"></a>g_io_extension_ref_class ()</h3>
516
<a class="indexterm" name="id2903339"></a><pre class="programlisting"><a
489
<a name="g-io-extension-ref-class"></a><h3>g_io_extension_ref_class ()</h3>
490
<pre class="programlisting"><a
517
491
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GTypeClass"
518
>GTypeClass</a>* g_io_extension_ref_class (<a class="link" href="gio-Extension-Points.html#GIOExtension">GIOExtension</a> *extension);</pre>
492
>GTypeClass</a>* g_io_extension_ref_class (<a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension">GIOExtension</a> *extension);</pre>
520
494
Gets a reference to the class for the type that is
521
495
associated with <em class="parameter"><code>extension</code></em>.</p>
525
498
<div class="variablelist"><table border="0">
526
499
<col align="left" valign="top">
529
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
530
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtension</span></a>
502
<td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
503
<td> a <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a>
534
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
507
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
536
509
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GTypeClass"
537
510
><span class="type">GTypeClass</span></a> for the type of <em class="parameter"><code>extension</code></em>