~ubuntu-branches/ubuntu/utopic/glib2.0/utopic

« back to all changes in this revision

Viewing changes to docs/reference/gio/html/gio-Extension-Points.html

  • Committer: Package Import Robot
  • Author(s): Iain Lane
  • Date: 2014-10-02 13:08:24 UTC
  • mfrom: (1.67.13)
  • mto: This revision was merged to the branch mainline in revision 233.
  • Revision ID: package-import@ubuntu.com-20141002130824-cqp99rbif2g6wf6r
Tags: upstream-2.42.0
Import upstream version 2.42.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
</tr>
49
49
<tr>
50
50
<td class="function_type">
51
 
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 
51
<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
52
52
</td>
53
53
<td class="function_name">
54
54
<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> <span class="c_punctuation">()</span>
56
56
</tr>
57
57
<tr>
58
58
<td class="function_type">
59
 
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
 
59
<a href="../gobject/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
60
60
</td>
61
61
<td class="function_name">
62
62
<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> <span class="c_punctuation">()</span>
72
72
</tr>
73
73
<tr>
74
74
<td class="function_type">
75
 
<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 
75
<a href="../glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
76
76
</td>
77
77
<td class="function_name">
78
78
<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> <span class="c_punctuation">()</span>
80
80
</tr>
81
81
<tr>
82
82
<td class="function_type">
83
 
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
 
83
<a href="../gobject/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
84
84
</td>
85
85
<td class="function_name">
86
86
<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> <span class="c_punctuation">()</span>
120
120
</tr>
121
121
<tr>
122
122
<td class="function_type">
123
 
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeClass"><span class="returnvalue">GTypeClass</span></a> *
 
123
<a href="../gobject/gobject-Type-Information.html#GTypeClass"><span class="returnvalue">GTypeClass</span></a> *
124
124
</td>
125
125
<td class="function_name">
126
126
<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> <span class="c_punctuation">()</span>
163
163
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
164
164
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
165
165
set a required type.</p>
166
 
<p>A module can implement an extension point by specifying the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> 
 
166
<p>A module can implement an extension point by specifying the <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> 
167
167
that implements the functionality. Additionally, each implementation
168
168
of an extension point has a name, and a priority. Use
169
169
<a class="link" href="gio-Extension-Points.html#g-io-extension-point-implement" title="g_io_extension_point_implement ()"><code class="function">g_io_extension_point_implement()</code></a> to implement an extension point.</p>
176
176
3
177
177
4
178
178
5</pre></td>
179
 
        <td class="listing_code"><pre class="programlisting"><span class="usertype">GIOExtensionPoint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">ep</span><span class="symbol">;</span>
 
179
        <td class="listing_code"><pre class="programlisting">GIOExtensionPoint <span class="gtkdoc opt">*</span>ep<span class="gtkdoc opt">;</span>
180
180
 
181
 
<span class="comment">// Register an extension point</span>
182
 
<span class="normal">ep </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gio-Extension-Points.html#g-io-extension-point-register">g_io_extension_point_register</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"my-extension-point"</span><span class="symbol">);</span>
183
 
<span class="function"><a href="gio-Extension-Points.html#g-io-extension-point-set-required-type">g_io_extension_point_set_required_type</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">ep</span><span class="symbol">,</span><span class="normal"> MY_TYPE_EXAMPLE</span><span class="symbol">);</span></pre></td>
 
181
<span class="gtkdoc slc">// Register an extension point</span>
 
182
ep <span class="gtkdoc opt">=</span> <span class="function"><a href="gio-Extension-Points.html#g-io-extension-point-register">g_io_extension_point_register</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;my-extension-point&quot;</span><span class="gtkdoc opt">);</span>
 
183
<span class="function"><a href="gio-Extension-Points.html#g-io-extension-point-set-required-type">g_io_extension_point_set_required_type</a></span> <span class="gtkdoc opt">(</span>ep<span class="gtkdoc opt">,</span> MY_TYPE_EXAMPLE<span class="gtkdoc opt">);</span></pre></td>
184
184
      </tr>
185
185
    </tbody>
186
186
  </table>
197
197
4
198
198
5
199
199
6</pre></td>
200
 
        <td class="listing_code"><pre class="programlisting"><span class="comment">// Implement an extension point</span>
201
 
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-DEFINE-TYPE:CAPS">G_DEFINE_TYPE</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">MyExampleImpl</span><span class="symbol">,</span><span class="normal"> my_example_impl</span><span class="symbol">,</span><span class="normal"> MY_TYPE_EXAMPLE</span><span class="symbol">);</span>
202
 
<span class="function"><a href="gio-Extension-Points.html#g-io-extension-point-implement">g_io_extension_point_implement</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"my-extension-point"</span><span class="symbol">,</span>
203
 
<span class="normal">                                </span><span class="function">my_example_impl_get_type</span><span class="normal"> </span><span class="symbol">(),</span>
204
 
<span class="normal">                                </span><span class="string">"my-example"</span><span class="symbol">,</span>
205
 
<span class="normal">                                </span><span class="number">10</span><span class="symbol">);</span></pre></td>
 
200
        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc slc">// Implement an extension point</span>
 
201
<span class="function"><a href="../gobject/gobject-Type-Information.html#G-DEFINE-TYPE:CAPS">G_DEFINE_TYPE</a></span> <span class="gtkdoc opt">(</span>MyExampleImpl<span class="gtkdoc opt">,</span> my_example_impl<span class="gtkdoc opt">,</span> MY_TYPE_EXAMPLE<span class="gtkdoc opt">);</span>
 
202
<span class="function"><a href="gio-Extension-Points.html#g-io-extension-point-implement">g_io_extension_point_implement</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;my-extension-point&quot;</span><span class="gtkdoc opt">,</span>
 
203
                                <span class="function">my_example_impl_get_type</span> <span class="gtkdoc opt">(),</span>
 
204
                                <span class="string">&quot;my-example&quot;</span><span class="gtkdoc opt">,</span>
 
205
                                <span class="number">10</span><span class="gtkdoc opt">);</span></pre></td>
206
206
      </tr>
207
207
    </tbody>
208
208
  </table>
262
262
<hr>
263
263
<div class="refsect2">
264
264
<a name="g-io-extension-get-priority"></a><h3>g_io_extension_get_priority ()</h3>
265
 
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 
265
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
266
266
g_io_extension_get_priority (<em class="parameter"><code><a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> *extension</code></em>);</pre>
267
267
<p>Gets the priority with which <em class="parameter"><code>extension</code></em>
268
268
 was registered.</p>
291
291
<hr>
292
292
<div class="refsect2">
293
293
<a name="g-io-extension-get-type"></a><h3>g_io_extension_get_type ()</h3>
294
 
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
 
294
<pre class="programlisting"><a href="../gobject/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
295
295
g_io_extension_get_type (<em class="parameter"><code><a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> *extension</code></em>);</pre>
296
296
<p>Gets the type associated with <em class="parameter"><code>extension</code></em>
297
297
.</p>
351
351
<a name="id-1.4.23.4.7.5.6"></a><h4>Returns</h4>
352
352
<p> 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>
353
353
that has the
354
 
given name, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no extension with that name. </p>
 
354
given name, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no extension with that name. </p>
355
355
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
356
356
</div>
357
357
</div>
358
358
<hr>
359
359
<div class="refsect2">
360
360
<a name="g-io-extension-point-get-extensions"></a><h3>g_io_extension_point_get_extensions ()</h3>
361
 
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 
361
<pre class="programlisting"><a href="../glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
362
362
g_io_extension_point_get_extensions (<em class="parameter"><code><a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a> *extension_point</code></em>);</pre>
363
363
<p>Gets a list of all extensions that implement this extension point.
364
364
The list is sorted by priority, beginning with the highest priority.</p>
379
379
</div>
380
380
<div class="refsect3">
381
381
<a name="id-1.4.23.4.7.6.6"></a><h4>Returns</h4>
382
 
<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
 
382
<p> a <a href="../glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
383
383
<a href="gio-Extension-Points.html#GIOExtension"><span class="type">GIOExtensions</span></a>. The list is owned by GIO and should not be
384
384
modified. </p>
385
385
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GIOExtension][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
388
388
<hr>
389
389
<div class="refsect2">
390
390
<a name="g-io-extension-point-get-required-type"></a><h3>g_io_extension_point_get_required_type ()</h3>
391
 
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
 
391
<pre class="programlisting"><a href="../gobject/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
392
392
g_io_extension_point_get_required_type
393
393
                               (<em class="parameter"><code><a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a> *extension_point</code></em>);</pre>
394
394
<p>Gets the required type for <em class="parameter"><code>extension_point</code></em>
410
410
</div>
411
411
<div class="refsect3">
412
412
<a name="id-1.4.23.4.7.7.6"></a><h4>Returns</h4>
413
 
<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> that all implementations must have,
414
 
or <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-TYPE-INVALID:CAPS"><span class="type">G_TYPE_INVALID</span></a> if the extension point has no required type</p>
 
413
<p> the <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> that all implementations must have,
 
414
or <a href="../gobject/gobject-Type-Information.html#G-TYPE-INVALID:CAPS"><span class="type">G_TYPE_INVALID</span></a> if the extension point has no required type</p>
415
415
<p></p>
416
416
</div>
417
417
</div>
420
420
<a name="g-io-extension-point-implement"></a><h3>g_io_extension_point_implement ()</h3>
421
421
<pre class="programlisting"><a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="returnvalue">GIOExtension</span></a> *
422
422
g_io_extension_point_implement (<em class="parameter"><code>const <span class="type">char</span> *extension_point_name</code></em>,
423
 
                                <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
 
423
                                <em class="parameter"><code><a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
424
424
                                <em class="parameter"><code>const <span class="type">char</span> *extension_name</code></em>,
425
 
                                <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> priority</code></em>);</pre>
 
425
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> priority</code></em>);</pre>
426
426
<p>Registers <em class="parameter"><code>type</code></em>
427
427
 as extension for the extension point with name
428
428
<em class="parameter"><code>extension_point_name</code></em>
446
446
</tr>
447
447
<tr>
448
448
<td class="parameter_name"><p>type</p></td>
449
 
<td class="parameter_description"><p>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> to register as extension </p></td>
 
449
<td class="parameter_description"><p>the <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> to register as extension </p></td>
450
450
<td class="parameter_annotations"> </td>
451
451
</tr>
452
452
<tr>
464
464
</div>
465
465
<div class="refsect3">
466
466
<a name="id-1.4.23.4.7.8.7"></a><h4>Returns</h4>
467
 
<p> a <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> object for <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>. </p>
 
467
<p> a <a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> object for <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a>. </p>
468
468
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
469
469
</div>
470
470
</div>
491
491
</div>
492
492
<div class="refsect3">
493
493
<a name="id-1.4.23.4.7.9.6"></a><h4>Returns</h4>
494
 
<p> the <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there
 
494
<p> the <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there
495
495
is no registered extension point with the given name. </p>
496
496
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
497
497
</div>
530
530
<pre class="programlisting"><span class="returnvalue">void</span>
531
531
g_io_extension_point_set_required_type
532
532
                               (<em class="parameter"><code><a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a> *extension_point</code></em>,
533
 
                                <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre>
 
533
                                <em class="parameter"><code><a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre>
534
534
<p>Sets the required type for <em class="parameter"><code>extension_point</code></em>
535
535
 to <em class="parameter"><code>type</code></em>
536
536
551
551
</tr>
552
552
<tr>
553
553
<td class="parameter_name"><p>type</p></td>
554
 
<td class="parameter_description"><p>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> to require</p></td>
 
554
<td class="parameter_description"><p>the <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> to require</p></td>
555
555
<td class="parameter_annotations"> </td>
556
556
</tr>
557
557
</tbody>
561
561
<hr>
562
562
<div class="refsect2">
563
563
<a name="g-io-extension-ref-class"></a><h3>g_io_extension_ref_class ()</h3>
564
 
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeClass"><span class="returnvalue">GTypeClass</span></a> *
 
564
<pre class="programlisting"><a href="../gobject/gobject-Type-Information.html#GTypeClass"><span class="returnvalue">GTypeClass</span></a> *
565
565
g_io_extension_ref_class (<em class="parameter"><code><a class="link" href="gio-Extension-Points.html#GIOExtension" title="GIOExtension"><span class="type">GIOExtension</span></a> *extension</code></em>);</pre>
566
566
<p>Gets a reference to the class for the type that is 
567
567
associated with <em class="parameter"><code>extension</code></em>
583
583
</div>
584
584
<div class="refsect3">
585
585
<a name="id-1.4.23.4.7.12.6"></a><h4>Returns</h4>
586
 
<p> the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeClass"><span class="type">GTypeClass</span></a> for the type of <em class="parameter"><code>extension</code></em>
 
586
<p> the <a href="../gobject/gobject-Type-Information.html#GTypeClass"><span class="type">GTypeClass</span></a> for the type of <em class="parameter"><code>extension</code></em>
587
587
. </p>
588
588
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
589
589
</div>