~ubuntu-branches/debian/squeeze/glib2.0/squeeze

« back to all changes in this revision

Viewing changes to docs/reference/gobject/html/GTypePlugin.html

  • Committer: Bazaar Package Importer
  • Author(s): Gustavo Noronha Silva
  • Date: 2009-02-15 13:00:43 UTC
  • mfrom: (1.3.1 upstream) (69.1.10 intrepid)
  • Revision ID: james.westby@ubuntu.com-20090215130043-q47fbt3owmt42m2f
Tags: 2.18.4-2
* Release to unstable
* debian/rules:
- bump SHVER, since we are already forcing a 2.18.0 dependecy on the
  symbols introduced in the development versions
* debian/control.in:
- added Homepage and Vcs-* control fields

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
<html>
3
3
<head>
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>GTypePlugin</title>
6
 
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
 
<link rel="start" href="index.html" title="GObject Reference Manual">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
 
7
<link rel="home" href="index.html" title="GObject Reference Manual">
8
8
<link rel="up" href="rn01.html" title="API Reference">
9
 
<link rel="prev" href="gobject-Type-Information.html" title="GType">
 
9
<link rel="prev" href="gobject-Type-Information.html" title="Type Information">
10
10
<link rel="next" href="GTypeModule.html" title="GTypeModule">
11
 
<meta name="generator" content="GTK-Doc V1.9 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="preface" href="pr01.html" title="Introduction">
14
 
<link rel="part" href="pt01.html" title="Part&#160;I.&#160;Concepts">
 
14
<link rel="part" href="pt01.html" title="Part I. Concepts">
15
15
<link rel="chapter" href="chapter-intro.html" title="Background">
16
16
<link rel="chapter" href="chapter-gtype.html" title="The GLib Dynamic Type System">
17
17
<link rel="chapter" href="chapter-gobject.html" title="The GObject base class">
18
18
<link rel="chapter" href="chapter-signal.html" title="The GObject messaging system">
19
19
<link rel="reference" href="rn01.html" title="API Reference">
20
20
<link rel="reference" href="rn02.html" title="Tools Reference">
21
 
<link rel="part" href="pt02.html" title="Part&#160;IV.&#160;Tutorial">
 
21
<link rel="part" href="pt02.html" title="Part IV. Tutorial">
22
22
<link rel="chapter" href="howto-gobject.html" title="How to define and implement a new GObject">
23
23
<link rel="chapter" href="howto-interface.html" title="How to define and implement interfaces">
24
24
<link rel="chapter" href="howto-signals.html" title="How to create and use signals">
25
 
<link rel="part" href="pt03.html" title="Part&#160;V.&#160;Related Tools">
 
25
<link rel="part" href="pt03.html" title="Part V. Related Tools">
 
26
<link rel="chapter" href="tools-vala.html" title="Vala">
26
27
<link rel="chapter" href="tools-gob.html" title="GObject builder">
27
28
<link rel="chapter" href="tools-ginspector.html" title="Graphical inspection of GObjects">
28
29
<link rel="chapter" href="tools-refdb.html" title="Debugging reference count problems">
36
37
<link rel="index" href="ix07.html" title="Index of new symbols in 2.10">
37
38
<link rel="index" href="ix08.html" title="Index of new symbols in 2.12">
38
39
<link rel="index" href="ix09.html" title="Index of new symbols in 2.14">
 
40
<link rel="index" href="ix10.html" title="Index of new symbols in 2.14">
39
41
</head>
40
42
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
41
43
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
46
48
<th width="100%" align="center">GObject Reference Manual</th>
47
49
<td><a accesskey="n" href="GTypeModule.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
48
50
</tr>
49
 
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2848811" class="shortcut">Top</a>
50
 
                  &#160;|&#160;
51
 
                  <a href="#id2849166" class="shortcut">Description</a>
52
 
                  &#160;|&#160;
53
 
                  <a href="#id2849117" class="shortcut">Object Hierarchy</a>
54
 
                  &#160;|&#160;
55
 
                  <a href="#id2849142" class="shortcut">Known Implementations</a></nobr></td></tr>
 
51
<tr><td colspan="5" class="shortcuts">
 
52
<a href="#GTypePlugin.synopsis" class="shortcut">Top</a>
 
53
                 | 
 
54
                <a href="#GTypePlugin.description" class="shortcut">Description</a>
 
55
                 | 
 
56
                <a href="#GTypePlugin.object-hierarchy" class="shortcut">Object Hierarchy</a>
 
57
                 | 
 
58
                <a href="#GTypePlugin.implementations" class="shortcut">Known Implementations</a>
 
59
</td></tr>
56
60
</table>
57
61
<div class="refentry" lang="en">
58
62
<a name="GTypePlugin"></a><div class="titlepage"></div>
59
63
<div class="refnamediv"><table width="100%"><tr>
60
64
<td valign="top">
61
 
<h2>
62
 
<a name="id2848811"></a><span class="refentrytitle">GTypePlugin</span>
63
 
</h2>
64
 
<p>GTypePlugin &#8212; An interface for dynamically loadable types</p>
 
65
<h2><span class="refentrytitle"><a name="GTypePlugin.top_of_page"></a>GTypePlugin</span></h2>
 
66
<p>GTypePlugin — An interface for dynamically loadable types</p>
65
67
</td>
66
68
<td valign="top" align="right"></td>
67
69
</tr></table></div>
68
70
<div class="refsynopsisdiv">
69
 
<h2>Synopsis</h2>
 
71
<a name="GTypePlugin.synopsis"></a><h2>Synopsis</h2>
70
72
<pre class="synopsis">
71
73
 
72
74
#include &lt;glib-object.h&gt;
73
75
 
74
 
 
75
 
                    <a class="link" href="GTypePlugin.html#GTypePlugin-struct">GTypePlugin</a>;
76
 
                    <a class="link" href="GTypePlugin.html#GTypePluginClass">GTypePluginClass</a>;
77
 
void                (<a class="link" href="GTypePlugin.html#GTypePluginUse">*GTypePluginUse</a>)                   (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);
78
 
void                (<a class="link" href="GTypePlugin.html#GTypePluginUnuse">*GTypePluginUnuse</a>)                 (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);
79
 
void                (<a class="link" href="GTypePlugin.html#GTypePluginCompleteTypeInfo">*GTypePluginCompleteTypeInfo</a>)      (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
80
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> g_type,
81
 
                                                         <a class="link" href="gobject-Type-Information.html#GTypeInfo">GTypeInfo</a> *info,
82
 
                                                         <a class="link" href="gobject-Type-Information.html#GTypeValueTable">GTypeValueTable</a> *value_table);
83
 
void                (<a class="link" href="GTypePlugin.html#GTypePluginCompleteInterfaceInfo">*GTypePluginCompleteInterfaceInfo</a>) (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
84
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> instance_type,
85
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> interface_type,
86
 
                                                         <a class="link" href="gobject-Type-Information.html#GInterfaceInfo">GInterfaceInfo</a> *info);
87
 
void                <a class="link" href="GTypePlugin.html#g-type-plugin-use">g_type_plugin_use</a>                   (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);
88
 
void                <a class="link" href="GTypePlugin.html#g-type-plugin-unuse">g_type_plugin_unuse</a>                 (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);
89
 
void                <a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info">g_type_plugin_complete_type_info</a>    (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
90
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> g_type,
91
 
                                                         <a class="link" href="gobject-Type-Information.html#GTypeInfo">GTypeInfo</a> *info,
92
 
                                                         <a class="link" href="gobject-Type-Information.html#GTypeValueTable">GTypeValueTable</a> *value_table);
93
 
void                <a class="link" href="GTypePlugin.html#g-type-plugin-complete-interface-info">g_type_plugin_complete_interface_info</a>
 
76
                    <a class="link" href="GTypePlugin.html#GTypePlugin-struct" title="GTypePlugin">GTypePlugin</a>;
 
77
                    <a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass">GTypePluginClass</a>;
 
78
void                (<a class="link" href="GTypePlugin.html#GTypePluginUse" title="GTypePluginUse ()">*GTypePluginUse</a>)                   (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);
 
79
void                (<a class="link" href="GTypePlugin.html#GTypePluginUnuse" title="GTypePluginUnuse ()">*GTypePluginUnuse</a>)                 (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);
 
80
void                (<a class="link" href="GTypePlugin.html#GTypePluginCompleteTypeInfo" title="GTypePluginCompleteTypeInfo ()">*GTypePluginCompleteTypeInfo</a>)      (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
 
81
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> g_type,
 
82
                                                         <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a> *info,
 
83
                                                         <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="GTypeValueTable">GTypeValueTable</a> *value_table);
 
84
void                (<a class="link" href="GTypePlugin.html#GTypePluginCompleteInterfaceInfo" title="GTypePluginCompleteInterfaceInfo ()">*GTypePluginCompleteInterfaceInfo</a>) (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
 
85
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> instance_type,
 
86
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> interface_type,
 
87
                                                         <a class="link" href="gobject-Type-Information.html#GInterfaceInfo" title="GInterfaceInfo">GInterfaceInfo</a> *info);
 
88
void                <a class="link" href="GTypePlugin.html#g-type-plugin-use" title="g_type_plugin_use ()">g_type_plugin_use</a>                   (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);
 
89
void                <a class="link" href="GTypePlugin.html#g-type-plugin-unuse" title="g_type_plugin_unuse ()">g_type_plugin_unuse</a>                 (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);
 
90
void                <a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info" title="g_type_plugin_complete_type_info ()">g_type_plugin_complete_type_info</a>    (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
 
91
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> g_type,
 
92
                                                         <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a> *info,
 
93
                                                         <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="GTypeValueTable">GTypeValueTable</a> *value_table);
 
94
void                <a class="link" href="GTypePlugin.html#g-type-plugin-complete-interface-info" title="g_type_plugin_complete_interface_info ()">g_type_plugin_complete_interface_info</a>
94
95
                                                        (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
95
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> instance_type,
96
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> interface_type,
97
 
                                                         <a class="link" href="gobject-Type-Information.html#GInterfaceInfo">GInterfaceInfo</a> *info);
98
 
 
 
96
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> instance_type,
 
97
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> interface_type,
 
98
                                                         <a class="link" href="gobject-Type-Information.html#GInterfaceInfo" title="GInterfaceInfo">GInterfaceInfo</a> *info);
99
99
</pre>
100
100
</div>
101
101
<div class="refsect1" lang="en">
102
 
<a name="id2849117"></a><h2>Object Hierarchy</h2>
 
102
<a name="GTypePlugin.object-hierarchy"></a><h2>Object Hierarchy</h2>
103
103
<pre class="synopsis">
104
 
 
105
104
  GInterface
106
105
   +----GTypePlugin
107
106
</pre>
108
107
</div>
109
108
<div class="refsect1" lang="en">
110
 
<a name="id2849142"></a><h2>Known Implementations</h2>
 
109
<a name="GTypePlugin.implementations"></a><h2>Known Implementations</h2>
111
110
<p>
112
111
GTypePlugin is implemented by
113
112
 <a class="link" href="GTypeModule.html" title="GTypeModule">GTypeModule</a>.</p>
114
113
</div>
115
114
<div class="refsect1" lang="en">
116
 
<a name="id2849166"></a><h2>Description</h2>
 
115
<a name="GTypePlugin.description"></a><h2>Description</h2>
117
116
<p>
118
 
The GObject type system supports dynamic loading of types. The <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> 
119
 
interface is used to handle the lifecycle of dynamically loaded types. 
120
 
It goes as follows:
 
117
The GObject type system supports dynamic loading of types. The
 
118
<a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> interface is used to handle the lifecycle of
 
119
dynamically loaded types.  It goes as follows:
121
120
</p>
122
121
<p>
123
122
</p>
124
123
<div class="orderedlist"><ol type="1">
125
 
<li><p>
 
124
<li>
 
125
<p>
126
126
  The type is initially introduced (usually upon loading the module
127
127
  the first time, or by your main application that knows what modules
128
128
  introduces what types), like this:
129
 
<code class="literal">new_type_id = g_type_register_dynamic (parent_type_id,
 
129
  </p>
 
130
<div class="informalexample"><pre class="programlisting">
 
131
  new_type_id = g_type_register_dynamic (parent_type_id,
130
132
                                                "TypeName",
131
133
                                                new_type_plugin,
132
134
                                                type_flags);
133
 
</code>
 
135
  </pre></div>
 
136
<p>
134
137
  where <code class="literal">new_type_plugin</code> is an implementation of the
135
138
  <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> interface.
136
 
</p></li>
137
 
<li><p>  
 
139
</p>
 
140
</li>
 
141
<li><p>
138
142
   The type's implementation is referenced, e.g. through
139
 
   <a class="link" href="gobject-Type-Information.html#g-type-class-ref"><code class="function">g_type_class_ref()</code></a> or through <a class="link" href="gobject-Type-Information.html#g-type-create-instance"><code class="function">g_type_create_instance()</code></a> (this is 
140
 
   being called by <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new"><code class="function">g_object_new()</code></a>) or through one of the above done on 
 
143
   <a class="link" href="gobject-Type-Information.html#g-type-class-ref" title="g_type_class_ref ()"><code class="function">g_type_class_ref()</code></a> or through <a class="link" href="gobject-Type-Information.html#g-type-create-instance" title="g_type_create_instance ()"><code class="function">g_type_create_instance()</code></a> (this is
 
144
   being called by <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()"><code class="function">g_object_new()</code></a>) or through one of the above done on
141
145
   a type derived from <code class="literal">new_type_id</code>.
142
146
</p></li>
143
 
<li><p>  
 
147
<li><p>
144
148
   This causes the type system to load the type's implementation by calling
145
 
   <a class="link" href="GTypePlugin.html#g-type-plugin-use"><code class="function">g_type_plugin_use()</code></a> and <a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info"><code class="function">g_type_plugin_complete_type_info()</code></a> on 
 
149
   <a class="link" href="GTypePlugin.html#g-type-plugin-use" title="g_type_plugin_use ()"><code class="function">g_type_plugin_use()</code></a> and <a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info" title="g_type_plugin_complete_type_info ()"><code class="function">g_type_plugin_complete_type_info()</code></a> on
146
150
   <code class="literal">new_type_plugin</code>.
147
151
</p></li>
148
 
<li><p>  
 
152
<li><p>
149
153
   At some point the type's implementation isn't required anymore, e.g. after
150
 
   <a class="link" href="gobject-Type-Information.html#g-type-class-unref"><code class="function">g_type_class_unref()</code></a> or <a class="link" href="gobject-Type-Information.html#g-type-free-instance"><code class="function">g_type_free_instance()</code></a> (called when the reference
 
154
   <a class="link" href="gobject-Type-Information.html#g-type-class-unref" title="g_type_class_unref ()"><code class="function">g_type_class_unref()</code></a> or <a class="link" href="gobject-Type-Information.html#g-type-free-instance" title="g_type_free_instance ()"><code class="function">g_type_free_instance()</code></a> (called when the reference
151
155
   count of an instance drops to zero).
152
156
</p></li>
153
 
<li><p>  
 
157
<li><p>
154
158
   This causes the type system to throw away the information retrieved from
155
 
   <a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info"><code class="function">g_type_plugin_complete_type_info()</code></a> and then it calls
156
 
   <a class="link" href="GTypePlugin.html#g-type-plugin-unuse"><code class="function">g_type_plugin_unuse()</code></a> on <code class="literal">new_type_plugin</code>.
 
159
   <a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info" title="g_type_plugin_complete_type_info ()"><code class="function">g_type_plugin_complete_type_info()</code></a> and then it calls
 
160
   <a class="link" href="GTypePlugin.html#g-type-plugin-unuse" title="g_type_plugin_unuse ()"><code class="function">g_type_plugin_unuse()</code></a> on <code class="literal">new_type_plugin</code>.
157
161
</p></li>
158
 
<li><p>  
 
162
<li><p>
159
163
   Things may repeat from the second step.
160
164
</p></li>
161
165
</ol></div>
162
166
<p>
163
167
</p>
164
168
<p>
165
 
So basically, you need to implement a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> type that carries a
166
 
use_count, once use_count goes from zero to one, you need to load the 
167
 
implementation to successfully handle the upcoming 
168
 
<a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info"><code class="function">g_type_plugin_complete_type_info()</code></a> call. Later, maybe after succeeding 
169
 
use/unuse calls, once use_count drops to zero, you can unload the 
170
 
implementation again. The type system makes sure to call <a class="link" href="GTypePlugin.html#g-type-plugin-use"><code class="function">g_type_plugin_use()</code></a> 
171
 
and <a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info"><code class="function">g_type_plugin_complete_type_info()</code></a> again when the type is needed again.
 
169
So basically, you need to implement a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> type that
 
170
carries a use_count, once use_count goes from zero to one, you need
 
171
to load the implementation to successfully handle the upcoming
 
172
<a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info" title="g_type_plugin_complete_type_info ()"><code class="function">g_type_plugin_complete_type_info()</code></a> call. Later, maybe after
 
173
succeeding use/unuse calls, once use_count drops to zero, you can
 
174
unload the implementation again. The type system makes sure to call
 
175
<a class="link" href="GTypePlugin.html#g-type-plugin-use" title="g_type_plugin_use ()"><code class="function">g_type_plugin_use()</code></a> and <a class="link" href="GTypePlugin.html#g-type-plugin-complete-type-info" title="g_type_plugin_complete_type_info ()"><code class="function">g_type_plugin_complete_type_info()</code></a> again
 
176
when the type is needed again.
172
177
</p>
173
178
<p>
174
 
<a class="link" href="GTypeModule.html" title="GTypeModule"><span class="type">GTypeModule</span></a> is an implementation of <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> that already implements 
175
 
most of this except for the actual module loading and unloading. It even 
176
 
handles multiple registered types per module.
 
179
<a class="link" href="GTypeModule.html" title="GTypeModule"><span class="type">GTypeModule</span></a> is an implementation of <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> that already
 
180
implements most of this except for the actual module loading and
 
181
unloading. It even handles multiple registered types per module.</p>
 
182
<p>
177
183
</p>
178
184
</div>
179
185
<div class="refsect1" lang="en">
180
 
<a name="id2849454"></a><h2>Details</h2>
 
186
<a name="GTypePlugin.details"></a><h2>Details</h2>
181
187
<div class="refsect2" lang="en">
182
 
<a name="id2849464"></a><h3>
183
 
<a name="GTypePlugin-struct"></a>GTypePlugin</h3>
184
 
<a class="indexterm" name="id2849477"></a><pre class="programlisting">typedef struct _GTypePlugin GTypePlugin;</pre>
 
188
<a name="GTypePlugin-struct"></a><h3>GTypePlugin</h3>
 
189
<pre class="programlisting">typedef struct _GTypePlugin GTypePlugin;</pre>
185
190
<p>
186
191
The <span class="structname">GTypePlugin</span> typedef is used as a placeholder 
187
192
for objects that implement the <span class="structname">GTypePlugin</span> 
188
 
interface.
 
193
interface.</p>
 
194
<p>
189
195
</p>
190
196
</div>
191
197
<hr>
192
198
<div class="refsect2" lang="en">
193
 
<a name="id2849501"></a><h3>
194
 
<a name="GTypePluginClass"></a>GTypePluginClass</h3>
195
 
<a class="indexterm" name="id2849513"></a><pre class="programlisting">typedef struct {
 
199
<a name="GTypePluginClass"></a><h3>GTypePluginClass</h3>
 
200
<pre class="programlisting">typedef struct {
196
201
  GTypePluginUse                   use_plugin;
197
202
  GTypePluginUnuse                 unuse_plugin;
198
203
  GTypePluginCompleteTypeInfo      complete_type_info;
201
206
</pre>
202
207
<p>
203
208
The <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> interface is used by the type system in order to handle
204
 
the lifecycle of dynamically loaded types.
205
 
</p>
206
 
<div class="variablelist"><table border="0">
207
 
<col align="left" valign="top">
208
 
<tbody>
209
 
<tr>
210
 
<td><p><span class="term"><a class="link" href="GTypePlugin.html#GTypePluginUse">GTypePluginUse</a>&#160;<em class="structfield"><code>use_plugin</code></em>;</span></p></td>
211
 
<td>Increases the use count of the plugin.
212
 
</td>
213
 
</tr>
214
 
<tr>
215
 
<td><p><span class="term"><a class="link" href="GTypePlugin.html#GTypePluginUnuse">GTypePluginUnuse</a>&#160;<em class="structfield"><code>unuse_plugin</code></em>;</span></p></td>
216
 
<td>Decreases the use count of the plugin.
217
 
</td>
218
 
</tr>
219
 
<tr>
220
 
<td><p><span class="term"><a class="link" href="GTypePlugin.html#GTypePluginCompleteTypeInfo">GTypePluginCompleteTypeInfo</a>&#160;<em class="structfield"><code>complete_type_info</code></em>;</span></p></td>
221
 
<td>Fills in the <a class="link" href="gobject-Type-Information.html#GTypeInfo"><span class="type">GTypeInfo</span></a> and 
222
 
  <a class="link" href="gobject-Type-Information.html#GTypeValueTable"><span class="type">GTypeValueTable</span></a> structs for the type. The structs are initialized
223
 
  with <code class="literal">memset(s, 0, sizeof (s))</code> before calling 
224
 
  this function.
225
 
</td>
226
 
</tr>
227
 
<tr>
228
 
<td><p><span class="term"><a class="link" href="GTypePlugin.html#GTypePluginCompleteInterfaceInfo">GTypePluginCompleteInterfaceInfo</a>&#160;<em class="structfield"><code>complete_interface_info</code></em>;</span></p></td>
229
 
<td>Fills in missing parts of the <a class="link" href="gobject-Type-Information.html#GInterfaceInfo"><span class="type">GInterfaceInfo</span></a> 
230
 
  for the interface. The structs is initialized with 
231
 
  <code class="literal">memset(s, 0, sizeof (s))</code> before calling
232
 
  this function.
233
 
 
234
 
</td>
235
 
</tr>
236
 
</tbody>
237
 
</table></div>
238
 
</div>
239
 
<hr>
240
 
<div class="refsect2" lang="en">
241
 
<a name="id2849672"></a><h3>
242
 
<a name="GTypePluginUse"></a>GTypePluginUse ()</h3>
243
 
<a class="indexterm" name="id2849685"></a><pre class="programlisting">void                (*GTypePluginUse)                   (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);</pre>
244
 
<p>
245
 
The type of the <em class="parameter"><code>use_plugin</code></em> function of <a class="link" href="GTypePlugin.html#GTypePluginClass"><span class="type">GTypePluginClass</span></a>, which gets called
246
 
to increase the use count of <em class="parameter"><code>plugin</code></em>.
247
 
</p>
248
 
<div class="variablelist"><table border="0">
249
 
<col align="left" valign="top">
250
 
<tbody><tr>
251
 
<td><p><span class="term"><em class="parameter"><code>plugin</code></em>&#160;:</span></p></td>
252
 
<td>the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> whose use count should be increased
253
 
 
254
 
 
255
 
</td>
256
 
</tr></tbody>
257
 
</table></div>
258
 
</div>
259
 
<hr>
260
 
<div class="refsect2" lang="en">
261
 
<a name="id2849761"></a><h3>
262
 
<a name="GTypePluginUnuse"></a>GTypePluginUnuse ()</h3>
263
 
<a class="indexterm" name="id2849773"></a><pre class="programlisting">void                (*GTypePluginUnuse)                 (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);</pre>
264
 
<p>
265
 
The type of the <em class="parameter"><code>unuse_plugin</code></em> function of <a class="link" href="GTypePlugin.html#GTypePluginClass"><span class="type">GTypePluginClass</span></a>.
266
 
</p>
267
 
<div class="variablelist"><table border="0">
268
 
<col align="left" valign="top">
269
 
<tbody><tr>
270
 
<td><p><span class="term"><em class="parameter"><code>plugin</code></em>&#160;:</span></p></td>
271
 
<td>the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> whose use count should be decreased
272
 
 
273
 
 
274
 
</td>
275
 
</tr></tbody>
276
 
</table></div>
277
 
</div>
278
 
<hr>
279
 
<div class="refsect2" lang="en">
280
 
<a name="id2849843"></a><h3>
281
 
<a name="GTypePluginCompleteTypeInfo"></a>GTypePluginCompleteTypeInfo ()</h3>
282
 
<a class="indexterm" name="id2849857"></a><pre class="programlisting">void                (*GTypePluginCompleteTypeInfo)      (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
283
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> g_type,
284
 
                                                         <a class="link" href="gobject-Type-Information.html#GTypeInfo">GTypeInfo</a> *info,
285
 
                                                         <a class="link" href="gobject-Type-Information.html#GTypeValueTable">GTypeValueTable</a> *value_table);</pre>
286
 
<p>
287
 
The type of the <em class="parameter"><code>complete_type_info</code></em> function of <a class="link" href="GTypePlugin.html#GTypePluginClass"><span class="type">GTypePluginClass</span></a>.
288
 
</p>
289
 
<div class="variablelist"><table border="0">
290
 
<col align="left" valign="top">
291
 
<tbody>
292
 
<tr>
293
 
<td><p><span class="term"><em class="parameter"><code>plugin</code></em>&#160;:</span></p></td>
294
 
<td>the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
295
 
</td>
296
 
</tr>
297
 
<tr>
298
 
<td><p><span class="term"><em class="parameter"><code>g_type</code></em>&#160;:</span></p></td>
299
 
<td>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> whose info is completed
300
 
</td>
301
 
</tr>
302
 
<tr>
303
 
<td><p><span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></p></td>
304
 
<td>the <a class="link" href="gobject-Type-Information.html#GTypeInfo"><span class="type">GTypeInfo</span></a> struct to fill in
305
 
</td>
306
 
</tr>
307
 
<tr>
308
 
<td><p><span class="term"><em class="parameter"><code>value_table</code></em>&#160;:</span></p></td>
309
 
<td>the <a class="link" href="gobject-Type-Information.html#GTypeValueTable"><span class="type">GTypeValueTable</span></a> to fill in
310
 
 
311
 
 
312
 
</td>
313
 
</tr>
314
 
</tbody>
315
 
</table></div>
316
 
</div>
317
 
<hr>
318
 
<div class="refsect2" lang="en">
319
 
<a name="id2850015"></a><h3>
320
 
<a name="GTypePluginCompleteInterfaceInfo"></a>GTypePluginCompleteInterfaceInfo ()</h3>
321
 
<a class="indexterm" name="id2850029"></a><pre class="programlisting">void                (*GTypePluginCompleteInterfaceInfo) (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
322
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> instance_type,
323
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> interface_type,
324
 
                                                         <a class="link" href="gobject-Type-Information.html#GInterfaceInfo">GInterfaceInfo</a> *info);</pre>
325
 
<p>
326
 
The type of the <em class="parameter"><code>complete_interface_info</code></em> function of <a class="link" href="GTypePlugin.html#GTypePluginClass"><span class="type">GTypePluginClass</span></a>.
327
 
</p>
328
 
<div class="variablelist"><table border="0">
329
 
<col align="left" valign="top">
330
 
<tbody>
331
 
<tr>
332
 
<td><p><span class="term"><em class="parameter"><code>plugin</code></em>&#160;:</span></p></td>
333
 
<td>the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
334
 
</td>
335
 
</tr>
336
 
<tr>
337
 
<td><p><span class="term"><em class="parameter"><code>instance_type</code></em>&#160;:</span></p></td>
338
 
<td>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of an instantiable type to which the interface
339
 
  is added
340
 
</td>
341
 
</tr>
342
 
<tr>
343
 
<td><p><span class="term"><em class="parameter"><code>interface_type</code></em>&#160;:</span></p></td>
344
 
<td>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the interface whose info is completed
345
 
</td>
346
 
</tr>
347
 
<tr>
348
 
<td><p><span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></p></td>
349
 
<td>the <a class="link" href="gobject-Type-Information.html#GInterfaceInfo"><span class="type">GInterfaceInfo</span></a> to fill in
350
 
 
351
 
 
352
 
</td>
353
 
</tr>
354
 
</tbody>
355
 
</table></div>
356
 
</div>
357
 
<hr>
358
 
<div class="refsect2" lang="en">
359
 
<a name="id2850190"></a><h3>
360
 
<a name="g-type-plugin-use"></a>g_type_plugin_use ()</h3>
361
 
<a class="indexterm" name="id2850202"></a><pre class="programlisting">void                g_type_plugin_use                   (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);</pre>
362
 
<p>
363
 
Calls the <em class="parameter"><code>use_plugin</code></em> function from the <a class="link" href="GTypePlugin.html#GTypePluginClass"><span class="type">GTypePluginClass</span></a> of <em class="parameter"><code>plugin</code></em>.
364
 
There should be no need to use this function outside of the GObject 
365
 
type system itself.
366
 
</p>
367
 
<div class="variablelist"><table border="0">
368
 
<col align="left" valign="top">
369
 
<tbody><tr>
370
 
<td><p><span class="term"><em class="parameter"><code>plugin</code></em>&#160;:</span></p></td>
371
 
<td>a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
372
 
 
373
 
 
374
 
</td>
375
 
</tr></tbody>
376
 
</table></div>
377
 
</div>
378
 
<hr>
379
 
<div class="refsect2" lang="en">
380
 
<a name="id2850278"></a><h3>
381
 
<a name="g-type-plugin-unuse"></a>g_type_plugin_unuse ()</h3>
382
 
<a class="indexterm" name="id2850292"></a><pre class="programlisting">void                g_type_plugin_unuse                 (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);</pre>
383
 
<p>
384
 
Calls the <em class="parameter"><code>unuse_plugin</code></em> function from the <a class="link" href="GTypePlugin.html#GTypePluginClass"><span class="type">GTypePluginClass</span></a> of <em class="parameter"><code>plugin</code></em>.
385
 
There should be no need to use this function outside of the GObject 
386
 
type system itself.
387
 
</p>
388
 
<div class="variablelist"><table border="0">
389
 
<col align="left" valign="top">
390
 
<tbody><tr>
391
 
<td><p><span class="term"><em class="parameter"><code>plugin</code></em>&#160;:</span></p></td>
392
 
<td>a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
393
 
 
394
 
 
395
 
</td>
396
 
</tr></tbody>
397
 
</table></div>
398
 
</div>
399
 
<hr>
400
 
<div class="refsect2" lang="en">
401
 
<a name="id2850367"></a><h3>
402
 
<a name="g-type-plugin-complete-type-info"></a>g_type_plugin_complete_type_info ()</h3>
403
 
<a class="indexterm" name="id2850380"></a><pre class="programlisting">void                g_type_plugin_complete_type_info    (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
404
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> g_type,
405
 
                                                         <a class="link" href="gobject-Type-Information.html#GTypeInfo">GTypeInfo</a> *info,
406
 
                                                         <a class="link" href="gobject-Type-Information.html#GTypeValueTable">GTypeValueTable</a> *value_table);</pre>
407
 
<p>
408
 
Calls the <em class="parameter"><code>complete_type_info</code></em> function from the <a class="link" href="GTypePlugin.html#GTypePluginClass"><span class="type">GTypePluginClass</span></a> of <em class="parameter"><code>plugin</code></em>.
409
 
There should be no need to use this function outside of the GObject 
410
 
type system itself.
411
 
</p>
412
 
<div class="variablelist"><table border="0">
413
 
<col align="left" valign="top">
414
 
<tbody>
415
 
<tr>
416
 
<td><p><span class="term"><em class="parameter"><code>plugin</code></em>&#160;:</span></p></td>
417
 
<td>a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
418
 
</td>
419
 
</tr>
420
 
<tr>
421
 
<td><p><span class="term"><em class="parameter"><code>g_type</code></em>&#160;:</span></p></td>
422
 
<td>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> whose info is completed
423
 
</td>
424
 
</tr>
425
 
<tr>
426
 
<td><p><span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></p></td>
427
 
<td>the <a class="link" href="gobject-Type-Information.html#GTypeInfo"><span class="type">GTypeInfo</span></a> struct to fill in
428
 
</td>
429
 
</tr>
430
 
<tr>
431
 
<td><p><span class="term"><em class="parameter"><code>value_table</code></em>&#160;:</span></p></td>
432
 
<td>the <a class="link" href="gobject-Type-Information.html#GTypeValueTable"><span class="type">GTypeValueTable</span></a> to fill in
433
 
 
434
 
 
435
 
</td>
436
 
</tr>
437
 
</tbody>
438
 
</table></div>
439
 
</div>
440
 
<hr>
441
 
<div class="refsect2" lang="en">
442
 
<a name="id2850547"></a><h3>
443
 
<a name="g-type-plugin-complete-interface-info"></a>g_type_plugin_complete_interface_info ()</h3>
444
 
<a class="indexterm" name="id2850561"></a><pre class="programlisting">void                g_type_plugin_complete_interface_info
 
209
the lifecycle of dynamically loaded types.</p>
 
210
<p>
 
211
</p>
 
212
<div class="variablelist"><table border="0">
 
213
<col align="left" valign="top">
 
214
<tbody>
 
215
<tr>
 
216
<td><p><span class="term"><a class="link" href="GTypePlugin.html#GTypePluginUse" title="GTypePluginUse ()">GTypePluginUse</a> <em class="structfield"><code>use_plugin</code></em>;</span></p></td>
 
217
<td> Increases the use count of the plugin.
 
218
</td>
 
219
</tr>
 
220
<tr>
 
221
<td><p><span class="term"><a class="link" href="GTypePlugin.html#GTypePluginUnuse" title="GTypePluginUnuse ()">GTypePluginUnuse</a> <em class="structfield"><code>unuse_plugin</code></em>;</span></p></td>
 
222
<td> Decreases the use count of the plugin.
 
223
</td>
 
224
</tr>
 
225
<tr>
 
226
<td><p><span class="term"><a class="link" href="GTypePlugin.html#GTypePluginCompleteTypeInfo" title="GTypePluginCompleteTypeInfo ()">GTypePluginCompleteTypeInfo</a> <em class="structfield"><code>complete_type_info</code></em>;</span></p></td>
 
227
<td> Fills in the <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo"><span class="type">GTypeInfo</span></a> and 
 
228
 <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="GTypeValueTable"><span class="type">GTypeValueTable</span></a> structs for the type. The structs are initialized
 
229
 with <code class="literal">memset(s, 0, sizeof (s))</code> before calling 
 
230
 this function.
 
231
</td>
 
232
</tr>
 
233
<tr>
 
234
<td><p><span class="term"><a class="link" href="GTypePlugin.html#GTypePluginCompleteInterfaceInfo" title="GTypePluginCompleteInterfaceInfo ()">GTypePluginCompleteInterfaceInfo</a> <em class="structfield"><code>complete_interface_info</code></em>;</span></p></td>
 
235
<td> Fills in missing parts of the <a class="link" href="gobject-Type-Information.html#GInterfaceInfo" title="GInterfaceInfo"><span class="type">GInterfaceInfo</span></a> 
 
236
 for the interface. The structs is initialized with 
 
237
 <code class="literal">memset(s, 0, sizeof (s))</code> before calling
 
238
 this function.
 
239
</td>
 
240
</tr>
 
241
</tbody>
 
242
</table></div>
 
243
</div>
 
244
<hr>
 
245
<div class="refsect2" lang="en">
 
246
<a name="GTypePluginUse"></a><h3>GTypePluginUse ()</h3>
 
247
<pre class="programlisting">void                (*GTypePluginUse)                   (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);</pre>
 
248
<p>
 
249
The type of the <em class="parameter"><code>use_plugin</code></em> function of <a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass"><span class="type">GTypePluginClass</span></a>, which gets called
 
250
to increase the use count of <em class="parameter"><code>plugin</code></em>.</p>
 
251
<p>
 
252
</p>
 
253
<div class="variablelist"><table border="0">
 
254
<col align="left" valign="top">
 
255
<tbody><tr>
 
256
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 
257
<td> the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> whose use count should be increased
 
258
</td>
 
259
</tr></tbody>
 
260
</table></div>
 
261
</div>
 
262
<hr>
 
263
<div class="refsect2" lang="en">
 
264
<a name="GTypePluginUnuse"></a><h3>GTypePluginUnuse ()</h3>
 
265
<pre class="programlisting">void                (*GTypePluginUnuse)                 (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);</pre>
 
266
<p>
 
267
The type of the <em class="parameter"><code>unuse_plugin</code></em> function of <a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass"><span class="type">GTypePluginClass</span></a>.</p>
 
268
<p>
 
269
</p>
 
270
<div class="variablelist"><table border="0">
 
271
<col align="left" valign="top">
 
272
<tbody><tr>
 
273
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 
274
<td> the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a> whose use count should be decreased
 
275
</td>
 
276
</tr></tbody>
 
277
</table></div>
 
278
</div>
 
279
<hr>
 
280
<div class="refsect2" lang="en">
 
281
<a name="GTypePluginCompleteTypeInfo"></a><h3>GTypePluginCompleteTypeInfo ()</h3>
 
282
<pre class="programlisting">void                (*GTypePluginCompleteTypeInfo)      (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
 
283
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> g_type,
 
284
                                                         <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a> *info,
 
285
                                                         <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="GTypeValueTable">GTypeValueTable</a> *value_table);</pre>
 
286
<p>
 
287
The type of the <em class="parameter"><code>complete_type_info</code></em> function of <a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass"><span class="type">GTypePluginClass</span></a>.</p>
 
288
<p>
 
289
</p>
 
290
<div class="variablelist"><table border="0">
 
291
<col align="left" valign="top">
 
292
<tbody>
 
293
<tr>
 
294
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 
295
<td> the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
 
296
</td>
 
297
</tr>
 
298
<tr>
 
299
<td><p><span class="term"><em class="parameter"><code>g_type</code></em> :</span></p></td>
 
300
<td> the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> whose info is completed
 
301
</td>
 
302
</tr>
 
303
<tr>
 
304
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
 
305
<td> the <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo"><span class="type">GTypeInfo</span></a> struct to fill in
 
306
</td>
 
307
</tr>
 
308
<tr>
 
309
<td><p><span class="term"><em class="parameter"><code>value_table</code></em> :</span></p></td>
 
310
<td> the <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="GTypeValueTable"><span class="type">GTypeValueTable</span></a> to fill in
 
311
</td>
 
312
</tr>
 
313
</tbody>
 
314
</table></div>
 
315
</div>
 
316
<hr>
 
317
<div class="refsect2" lang="en">
 
318
<a name="GTypePluginCompleteInterfaceInfo"></a><h3>GTypePluginCompleteInterfaceInfo ()</h3>
 
319
<pre class="programlisting">void                (*GTypePluginCompleteInterfaceInfo) (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
 
320
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> instance_type,
 
321
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> interface_type,
 
322
                                                         <a class="link" href="gobject-Type-Information.html#GInterfaceInfo" title="GInterfaceInfo">GInterfaceInfo</a> *info);</pre>
 
323
<p>
 
324
The type of the <em class="parameter"><code>complete_interface_info</code></em> function of <a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass"><span class="type">GTypePluginClass</span></a>.</p>
 
325
<p>
 
326
</p>
 
327
<div class="variablelist"><table border="0">
 
328
<col align="left" valign="top">
 
329
<tbody>
 
330
<tr>
 
331
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 
332
<td> the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
 
333
</td>
 
334
</tr>
 
335
<tr>
 
336
<td><p><span class="term"><em class="parameter"><code>instance_type</code></em> :</span></p></td>
 
337
<td> the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> of an instantiable type to which the interface
 
338
 is added
 
339
</td>
 
340
</tr>
 
341
<tr>
 
342
<td><p><span class="term"><em class="parameter"><code>interface_type</code></em> :</span></p></td>
 
343
<td> the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> of the interface whose info is completed
 
344
</td>
 
345
</tr>
 
346
<tr>
 
347
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
 
348
<td> the <a class="link" href="gobject-Type-Information.html#GInterfaceInfo" title="GInterfaceInfo"><span class="type">GInterfaceInfo</span></a> to fill in
 
349
</td>
 
350
</tr>
 
351
</tbody>
 
352
</table></div>
 
353
</div>
 
354
<hr>
 
355
<div class="refsect2" lang="en">
 
356
<a name="g-type-plugin-use"></a><h3>g_type_plugin_use ()</h3>
 
357
<pre class="programlisting">void                g_type_plugin_use                   (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);</pre>
 
358
<p>
 
359
Calls the <em class="parameter"><code>use_plugin</code></em> function from the <a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass"><span class="type">GTypePluginClass</span></a> of
 
360
<em class="parameter"><code>plugin</code></em>.  There should be no need to use this function outside of
 
361
the GObject type system itself.</p>
 
362
<p>
 
363
</p>
 
364
<div class="variablelist"><table border="0">
 
365
<col align="left" valign="top">
 
366
<tbody><tr>
 
367
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 
368
<td> a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
 
369
</td>
 
370
</tr></tbody>
 
371
</table></div>
 
372
</div>
 
373
<hr>
 
374
<div class="refsect2" lang="en">
 
375
<a name="g-type-plugin-unuse"></a><h3>g_type_plugin_unuse ()</h3>
 
376
<pre class="programlisting">void                g_type_plugin_unuse                 (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin);</pre>
 
377
<p>
 
378
Calls the <em class="parameter"><code>unuse_plugin</code></em> function from the <a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass"><span class="type">GTypePluginClass</span></a> of
 
379
<em class="parameter"><code>plugin</code></em>.  There should be no need to use this function outside of
 
380
the GObject type system itself.</p>
 
381
<p>
 
382
</p>
 
383
<div class="variablelist"><table border="0">
 
384
<col align="left" valign="top">
 
385
<tbody><tr>
 
386
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 
387
<td> a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
 
388
</td>
 
389
</tr></tbody>
 
390
</table></div>
 
391
</div>
 
392
<hr>
 
393
<div class="refsect2" lang="en">
 
394
<a name="g-type-plugin-complete-type-info"></a><h3>g_type_plugin_complete_type_info ()</h3>
 
395
<pre class="programlisting">void                g_type_plugin_complete_type_info    (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
 
396
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> g_type,
 
397
                                                         <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a> *info,
 
398
                                                         <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="GTypeValueTable">GTypeValueTable</a> *value_table);</pre>
 
399
<p>
 
400
Calls the <em class="parameter"><code>complete_type_info</code></em> function from the <a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass"><span class="type">GTypePluginClass</span></a> of <em class="parameter"><code>plugin</code></em>.
 
401
There should be no need to use this function outside of the GObject 
 
402
type system itself.</p>
 
403
<p>
 
404
</p>
 
405
<div class="variablelist"><table border="0">
 
406
<col align="left" valign="top">
 
407
<tbody>
 
408
<tr>
 
409
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 
410
<td> a <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
 
411
</td>
 
412
</tr>
 
413
<tr>
 
414
<td><p><span class="term"><em class="parameter"><code>g_type</code></em> :</span></p></td>
 
415
<td> the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> whose info is completed
 
416
</td>
 
417
</tr>
 
418
<tr>
 
419
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
 
420
<td> the <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo"><span class="type">GTypeInfo</span></a> struct to fill in
 
421
</td>
 
422
</tr>
 
423
<tr>
 
424
<td><p><span class="term"><em class="parameter"><code>value_table</code></em> :</span></p></td>
 
425
<td> the <a class="link" href="gobject-Type-Information.html#GTypeValueTable" title="GTypeValueTable"><span class="type">GTypeValueTable</span></a> to fill in
 
426
</td>
 
427
</tr>
 
428
</tbody>
 
429
</table></div>
 
430
</div>
 
431
<hr>
 
432
<div class="refsect2" lang="en">
 
433
<a name="g-type-plugin-complete-interface-info"></a><h3>g_type_plugin_complete_interface_info ()</h3>
 
434
<pre class="programlisting">void                g_type_plugin_complete_interface_info
445
435
                                                        (<a class="link" href="GTypePlugin.html" title="GTypePlugin">GTypePlugin</a> *plugin,
446
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> instance_type,
447
 
                                                         <a class="link" href="gobject-Type-Information.html#GType">GType</a> interface_type,
448
 
                                                         <a class="link" href="gobject-Type-Information.html#GInterfaceInfo">GInterfaceInfo</a> *info);</pre>
449
 
<p>
450
 
Calls the <em class="parameter"><code>complete_interface_info</code></em> function from the <a class="link" href="GTypePlugin.html#GTypePluginClass"><span class="type">GTypePluginClass</span></a> 
451
 
of <em class="parameter"><code>plugin</code></em>. There should be no need to use this function outside of the 
452
 
GObject type system itself.
 
436
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> instance_type,
 
437
                                                         <a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> interface_type,
 
438
                                                         <a class="link" href="gobject-Type-Information.html#GInterfaceInfo" title="GInterfaceInfo">GInterfaceInfo</a> *info);</pre>
 
439
<p>
 
440
Calls the <em class="parameter"><code>complete_interface_info</code></em> function from the
 
441
<a class="link" href="GTypePlugin.html#GTypePluginClass" title="GTypePluginClass"><span class="type">GTypePluginClass</span></a> of <em class="parameter"><code>plugin</code></em>. There should be no need to use this
 
442
function outside of the GObject type system itself.</p>
 
443
<p>
453
444
</p>
454
445
<div class="variablelist"><table border="0">
455
446
<col align="left" valign="top">
456
447
<tbody>
457
448
<tr>
458
 
<td><p><span class="term"><em class="parameter"><code>plugin</code></em>&#160;:</span></p></td>
459
 
<td>the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
460
 
</td>
461
 
</tr>
462
 
<tr>
463
 
<td><p><span class="term"><em class="parameter"><code>instance_type</code></em>&#160;:</span></p></td>
464
 
<td>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of an instantiable type to which the interface
465
 
  is added
466
 
</td>
467
 
</tr>
468
 
<tr>
469
 
<td><p><span class="term"><em class="parameter"><code>interface_type</code></em>&#160;:</span></p></td>
470
 
<td>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the interface whose info is completed
471
 
</td>
472
 
</tr>
473
 
<tr>
474
 
<td><p><span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></p></td>
475
 
<td>the <a class="link" href="gobject-Type-Information.html#GInterfaceInfo"><span class="type">GInterfaceInfo</span></a> to fill in
476
 
 
477
 
 
 
449
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 
450
<td> the <a class="link" href="GTypePlugin.html" title="GTypePlugin"><span class="type">GTypePlugin</span></a>
 
451
</td>
 
452
</tr>
 
453
<tr>
 
454
<td><p><span class="term"><em class="parameter"><code>instance_type</code></em> :</span></p></td>
 
455
<td> the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> of an instantiable type to which the interface
 
456
 is added
 
457
</td>
 
458
</tr>
 
459
<tr>
 
460
<td><p><span class="term"><em class="parameter"><code>interface_type</code></em> :</span></p></td>
 
461
<td> the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> of the interface whose info is completed
 
462
</td>
 
463
</tr>
 
464
<tr>
 
465
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
 
466
<td> the <a class="link" href="gobject-Type-Information.html#GInterfaceInfo" title="GInterfaceInfo"><span class="type">GInterfaceInfo</span></a> to fill in
478
467
</td>
479
468
</tr>
480
469
</tbody>
482
471
</div>
483
472
</div>
484
473
<div class="refsect1" lang="en">
485
 
<a name="id2850732"></a><h2>See Also</h2>
486
 
<p>
487
 
<a class="link" href="GTypeModule.html" title="GTypeModule"><span class="type">GTypeModule</span></a> and <a class="link" href="gobject-Type-Information.html#g-type-register-dynamic"><code class="function">g_type_register_dynamic()</code></a>.
488
 
</p>
489
 
</div>
490
 
<div class="refsect1" lang="en">
491
 
<a name="id2850760"></a><div class="refsect2" lang="en"><a name="id2850762"></a></div>
 
474
<a name="GTypePlugin.see-also"></a><h2>See Also</h2>
 
475
#GTypeModule and <a class="link" href="gobject-Type-Information.html#g-type-register-dynamic" title="g_type_register_dynamic ()"><code class="function">g_type_register_dynamic()</code></a>.
 
476
</div>
 
477
</div>
 
478
<div class="footer">
492
479
<hr>
493
 
<div class="refsect2" lang="en"><a name="id2850763"></a></div>
494
 
</div>
495
 
</div>
 
480
          Generated by GTK-Doc V1.11</div>
496
481
</body>
497
482
</html>