sync
[gir-1.1] / GIRepository-2.0.gir
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations.  -->
5 <repository version="1.1"
6             xmlns="http://www.gtk.org/introspection/core/1.0"
7             xmlns:c="http://www.gtk.org/introspection/c/1.0"
8             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9   <include name="GLib" version="2.0"/>
10   <include name="GObject" version="2.0"/>
11   <package name="gobject-introspection-1.0"/>
12   <c:include name="girepository.h"/>
13   <namespace name="GIRepository"
14              version="2.0"
15              shared-library="libgirepository-1.0.so.1"
16              c:prefix="g">
17     <alias name="IArgInfo" target="IBaseInfo" c:type="GIArgInfo"/>
18     <alias name="ICallableInfo" target="IBaseInfo" c:type="GICallableInfo"/>
19     <alias name="ICallbackInfo" target="IBaseInfo" c:type="GICallbackInfo"/>
20     <alias name="IConstantInfo" target="IBaseInfo" c:type="GIConstantInfo"/>
21     <alias name="IEnumInfo" target="IBaseInfo" c:type="GIEnumInfo"/>
22     <alias name="IErrorDomainInfo"
23            target="IBaseInfo"
24            c:type="GIErrorDomainInfo"/>
25     <alias name="IFieldInfo" target="IBaseInfo" c:type="GIFieldInfo"/>
26     <alias name="IFunctionInfo" target="IBaseInfo" c:type="GIFunctionInfo"/>
27     <alias name="IInterfaceInfo" target="IBaseInfo" c:type="GIInterfaceInfo"/>
28     <alias name="IObjectInfo" target="IBaseInfo" c:type="GIObjectInfo"/>
29     <alias name="IPropertyInfo" target="IBaseInfo" c:type="GIPropertyInfo"/>
30     <alias name="IRegisteredTypeInfo"
31            target="IBaseInfo"
32            c:type="GIRegisteredTypeInfo"/>
33     <alias name="ISignalInfo" target="IBaseInfo" c:type="GISignalInfo"/>
34     <alias name="IStructInfo" target="IBaseInfo" c:type="GIStructInfo"/>
35     <alias name="ITypeInfo" target="IBaseInfo" c:type="GITypeInfo"/>
36     <alias name="IUnionInfo" target="IBaseInfo" c:type="GIUnionInfo"/>
37     <alias name="IVFuncInfo" target="IBaseInfo" c:type="GIVFuncInfo"/>
38     <alias name="IValueInfo" target="IBaseInfo" c:type="GIValueInfo"/>
39     <union name="Argument" c:type="GArgument">
40       <field name="v_boolean" writable="1">
41         <type name="boolean" c:type="gboolean"/>
42       </field>
43       <field name="v_int8" writable="1">
44         <type name="int8" c:type="gint8"/>
45       </field>
46       <field name="v_uint8" writable="1">
47         <type name="uint8" c:type="guint8"/>
48       </field>
49       <field name="v_int16" writable="1">
50         <type name="int16" c:type="gint16"/>
51       </field>
52       <field name="v_uint16" writable="1">
53         <type name="uint16" c:type="guint16"/>
54       </field>
55       <field name="v_int32" writable="1">
56         <type name="int32" c:type="gint32"/>
57       </field>
58       <field name="v_uint32" writable="1">
59         <type name="uint32" c:type="guint32"/>
60       </field>
61       <field name="v_int64" writable="1">
62         <type name="int64" c:type="gint64"/>
63       </field>
64       <field name="v_uint64" writable="1">
65         <type name="uint64" c:type="guint64"/>
66       </field>
67       <field name="v_float" writable="1">
68         <type name="float" c:type="gfloat"/>
69       </field>
70       <field name="v_double" writable="1">
71         <type name="double" c:type="gdouble"/>
72       </field>
73       <field name="v_short" writable="1">
74         <type name="short" c:type="gshort"/>
75       </field>
76       <field name="v_ushort" writable="1">
77         <type name="ushort" c:type="gushort"/>
78       </field>
79       <field name="v_int" writable="1">
80         <type name="int" c:type="gint"/>
81       </field>
82       <field name="v_uint" writable="1">
83         <type name="uint" c:type="guint"/>
84       </field>
85       <field name="v_long" writable="1">
86         <type name="long" c:type="glong"/>
87       </field>
88       <field name="v_ulong" writable="1">
89         <type name="ulong" c:type="gulong"/>
90       </field>
91       <field name="v_ssize" writable="1">
92         <type name="gssize" c:type="gssize"/>
93       </field>
94       <field name="v_size" writable="1">
95         <type name="gsize" c:type="gsize"/>
96       </field>
97       <field name="v_string" writable="1">
98         <type name="utf8" c:type="gchar*"/>
99       </field>
100       <field name="v_pointer" writable="1">
101         <type name="any" c:type="gpointer"/>
102       </field>
103     </union>
104     <constant name="GI_TYPE_TAG_N_TYPES" value="1">
105       <type name="int"/>
106     </constant>
107     <enumeration name="IArrayType" c:type="GIArrayType">
108       <doc xml:whitespace="preserve">The type of array in a #GITypeInfo.</doc>
109       <member name="c" value="0" c:identifier="GI_ARRAY_TYPE_C"/>
110       <member name="array" value="1" c:identifier="GI_ARRAY_TYPE_ARRAY"/>
111       <member name="ptr_array"
112               value="2"
113               c:identifier="GI_ARRAY_TYPE_PTR_ARRAY"/>
114       <member name="byte_array"
115               value="3"
116               c:identifier="GI_ARRAY_TYPE_BYTE_ARRAY"/>
117     </enumeration>
118     <record name="IAttributeIter" c:type="GIAttributeIter">
119       <doc xml:whitespace="preserve">An opaque structure used to iterate over attributes
120 in a #GIBaseInfo struct.</doc>
121       <field name="data" writable="1">
122         <type name="any" c:type="gpointer"/>
123       </field>
124       <field name="data2" writable="1">
125         <type name="any" c:type="gpointer"/>
126       </field>
127       <field name="data3" writable="1">
128         <type name="any" c:type="gpointer"/>
129       </field>
130       <field name="data4" writable="1">
131         <type name="any" c:type="gpointer"/>
132       </field>
133     </record>
134     <record name="IBaseInfo" c:type="GIBaseInfo">
135     </record>
136     <record name="IBaseInfoStub" c:type="_GIBaseInfoStub">
137       <field name="dummy1" writable="1">
138         <type name="int32" c:type="gint32"/>
139       </field>
140       <field name="dummy2" writable="1">
141         <type name="int32" c:type="gint32"/>
142       </field>
143       <field name="dummy3" writable="1">
144         <type name="any" c:type="gpointer"/>
145       </field>
146       <field name="dummy4" writable="1">
147         <type name="any" c:type="gpointer"/>
148       </field>
149       <field name="dummy5" writable="1">
150         <type name="any" c:type="gpointer"/>
151       </field>
152       <field name="dummy6" writable="1">
153         <type name="uint32" c:type="guint32"/>
154       </field>
155       <field name="dummy7" writable="1">
156         <type name="uint32" c:type="guint32"/>
157       </field>
158       <field name="padding" writable="1">
159         <array zero-terminated="0" c:type="gpointer" fixed-size="4">
160           <type name="any"/>
161         </array>
162       </field>
163     </record>
164     <enumeration name="IDirection" c:type="GIDirection">
165       <doc xml:whitespace="preserve">The direction of a #GIArgInfo.</doc>
166       <member name="in" value="0" c:identifier="GI_DIRECTION_IN"/>
167       <member name="out" value="1" c:identifier="GI_DIRECTION_OUT"/>
168       <member name="inout" value="2" c:identifier="GI_DIRECTION_INOUT"/>
169     </enumeration>
170     <bitfield name="IFieldInfoFlags" c:type="GIFieldInfoFlags">
171       <doc xml:whitespace="preserve">Flags for a #GIFieldInfo.</doc>
172       <member name="readable" value="1" c:identifier="GI_FIELD_IS_READABLE"/>
173       <member name="writable" value="2" c:identifier="GI_FIELD_IS_WRITABLE"/>
174     </bitfield>
175     <bitfield name="IFunctionInfoFlags" c:type="GIFunctionInfoFlags">
176       <doc xml:whitespace="preserve">Flags for a #GIFunctionInfo struct.</doc>
177       <member name="is_method" value="1" c:identifier="GI_FUNCTION_IS_METHOD"/>
178       <member name="is_constructor"
179               value="2"
180               c:identifier="GI_FUNCTION_IS_CONSTRUCTOR"/>
181       <member name="is_getter" value="4" c:identifier="GI_FUNCTION_IS_GETTER"/>
182       <member name="is_setter" value="8" c:identifier="GI_FUNCTION_IS_SETTER"/>
183       <member name="wraps_vfunc"
184               value="16"
185               c:identifier="GI_FUNCTION_WRAPS_VFUNC"/>
186       <member name="throws" value="32" c:identifier="GI_FUNCTION_THROWS"/>
187     </bitfield>
188     <enumeration name="IInfoType" c:type="GIInfoType">
189       <doc xml:whitespace="preserve">The type of a GIBaseInfo struct.</doc>
190       <member name="invalid" value="0" c:identifier="GI_INFO_TYPE_INVALID"/>
191       <member name="function" value="1" c:identifier="GI_INFO_TYPE_FUNCTION"/>
192       <member name="callback" value="2" c:identifier="GI_INFO_TYPE_CALLBACK"/>
193       <member name="struct" value="3" c:identifier="GI_INFO_TYPE_STRUCT"/>
194       <member name="boxed" value="4" c:identifier="GI_INFO_TYPE_BOXED"/>
195       <member name="enum" value="5" c:identifier="GI_INFO_TYPE_ENUM"/>
196       <member name="flags" value="6" c:identifier="GI_INFO_TYPE_FLAGS"/>
197       <member name="object" value="7" c:identifier="GI_INFO_TYPE_OBJECT"/>
198       <member name="interface"
199               value="8"
200               c:identifier="GI_INFO_TYPE_INTERFACE"/>
201       <member name="constant" value="9" c:identifier="GI_INFO_TYPE_CONSTANT"/>
202       <member name="error_domain"
203               value="10"
204               c:identifier="GI_INFO_TYPE_ERROR_DOMAIN"/>
205       <member name="union" value="11" c:identifier="GI_INFO_TYPE_UNION"/>
206       <member name="value" value="12" c:identifier="GI_INFO_TYPE_VALUE"/>
207       <member name="signal" value="13" c:identifier="GI_INFO_TYPE_SIGNAL"/>
208       <member name="vfunc" value="14" c:identifier="GI_INFO_TYPE_VFUNC"/>
209       <member name="property" value="15" c:identifier="GI_INFO_TYPE_PROPERTY"/>
210       <member name="field" value="16" c:identifier="GI_INFO_TYPE_FIELD"/>
211       <member name="arg" value="17" c:identifier="GI_INFO_TYPE_ARG"/>
212       <member name="type" value="18" c:identifier="GI_INFO_TYPE_TYPE"/>
213       <member name="unresolved"
214               value="19"
215               c:identifier="GI_INFO_TYPE_UNRESOLVED"/>
216     </enumeration>
217     <constant name="INVALID_REFCOUNT" value="2147483647">
218       <type name="int"/>
219     </constant>
220     <callback name="IObjectInfoGetValueFunction"
221               c:type="GIObjectInfoGetValueFunction">
222       <doc xml:whitespace="preserve">Extract an object instance out of @value</doc>
223       <return-value transfer-ownership="none">
224         <doc xml:whitespace="preserve">the object instance</doc>
225         <type name="any" c:type="void*"/>
226       </return-value>
227       <parameters>
228         <parameter name="value" transfer-ownership="none">
229           <doc xml:whitespace="preserve">a #GValue</doc>
230           <type name="GObject.Value" c:type="GValue*"/>
231         </parameter>
232       </parameters>
233     </callback>
234     <callback name="IObjectInfoRefFunction" c:type="GIObjectInfoRefFunction">
235       <doc xml:whitespace="preserve">Increases the reference count of an object instance.</doc>
236       <return-value transfer-ownership="none">
237         <doc xml:whitespace="preserve">the object instance</doc>
238         <type name="any" c:type="void*"/>
239       </return-value>
240       <parameters>
241         <parameter name="object" transfer-ownership="none">
242           <doc xml:whitespace="preserve">object instance pointer</doc>
243           <type name="any" c:type="void*"/>
244         </parameter>
245       </parameters>
246     </callback>
247     <callback name="IObjectInfoSetValueFunction"
248               c:type="GIObjectInfoSetValueFunction">
249       <doc xml:whitespace="preserve">Update @value and attach the object instance pointer @object to it.</doc>
250       <return-value transfer-ownership="none">
251         <type name="none" c:type="void"/>
252       </return-value>
253       <parameters>
254         <parameter name="value" transfer-ownership="none">
255           <doc xml:whitespace="preserve">a #GValue</doc>
256           <type name="GObject.Value" c:type="GValue*"/>
257         </parameter>
258         <parameter name="object" transfer-ownership="none">
259           <doc xml:whitespace="preserve">object instance pointer</doc>
260           <type name="any" c:type="void*"/>
261         </parameter>
262       </parameters>
263     </callback>
264     <callback name="IObjectInfoUnrefFunction"
265               c:type="GIObjectInfoUnrefFunction">
266       <doc xml:whitespace="preserve">Decreases the reference count of an object instance.</doc>
267       <return-value transfer-ownership="none">
268         <type name="none" c:type="void"/>
269       </return-value>
270       <parameters>
271         <parameter name="object" transfer-ownership="none">
272           <doc xml:whitespace="preserve">object instance pointer</doc>
273           <type name="any" c:type="void*"/>
274         </parameter>
275       </parameters>
276     </callback>
277     <class name="IRepository"
278            c:type="GIRepository"
279            parent="GObject.Object"
280            glib:type-name="GIRepository"
281            glib:get-type="g_irepository_get_type"
282            glib:type-struct="IRepositoryClass">
283       <function name="get_default" c:identifier="g_irepository_get_default">
284         <doc xml:whitespace="preserve">Returns the singleton process-global default #GIRepository.  It is
285 not currently supported to have multiple repositories in a
286 particular process, but this function is provided in the unlikely
287 eventuality that it would become possible, and as a convenience for
288 higher level language bindings to conform to the GObject method
289 call conventions.
290 All methods on #GIRepository also accept %NULL as an instance
291 parameter to mean this default repository, which is usually more
292 convenient for C.</doc>
293         <return-value transfer-ownership="none">
294           <doc xml:whitespace="preserve">The global singleton #GIRepository</doc>
295           <type name="IRepository" c:type="GIRepository*"/>
296         </return-value>
297       </function>
298       <function name="prepend_search_path"
299                 c:identifier="g_irepository_prepend_search_path">
300         <return-value transfer-ownership="none">
301           <type name="none" c:type="void"/>
302         </return-value>
303         <parameters>
304           <parameter name="directory" transfer-ownership="none">
305             <type name="utf8" c:type="char*"/>
306           </parameter>
307         </parameters>
308       </function>
309       <function name="get_search_path"
310                 c:identifier="g_irepository_get_search_path">
311         <doc xml:whitespace="preserve">Returns the search path the GIRepository will use when looking for typelibs.
312 The string is internal to GIRespository and should not be freed, nor should
313 the elements.</doc>
314         <return-value transfer-ownership="none">
315           <doc xml:whitespace="preserve">list of strings</doc>
316           <type name="GLib.SList" c:type="GSList*">
317             <type name="filename"/>
318           </type>
319         </return-value>
320       </function>
321       <function name="get_option_group"
322                 c:identifier="g_irepository_get_option_group">
323         <return-value transfer-ownership="full">
324           <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
325         </return-value>
326       </function>
327       <function name="dump" c:identifier="g_irepository_dump" throws="1">
328         <return-value transfer-ownership="none">
329           <type name="boolean" c:type="gboolean"/>
330         </return-value>
331         <parameters>
332           <parameter name="arg" transfer-ownership="none">
333             <type name="utf8" c:type="char*"/>
334           </parameter>
335         </parameters>
336       </function>
337       <method name="load_typelib"
338               c:identifier="g_irepository_load_typelib"
339               throws="1">
340         <return-value transfer-ownership="none">
341           <type name="utf8" c:type="char*"/>
342         </return-value>
343         <parameters>
344           <parameter name="typelib" transfer-ownership="none">
345             <type name="Typelib" c:type="GTypelib*"/>
346           </parameter>
347           <parameter name="flags" transfer-ownership="none">
348             <type name="IRepositoryLoadFlags" c:type="GIRepositoryLoadFlags"/>
349           </parameter>
350         </parameters>
351       </method>
352       <method name="is_registered" c:identifier="g_irepository_is_registered">
353         <doc xml:whitespace="preserve">Check whether a particular namespace (and optionally, a specific
354 version thereof) is currently loaded.  This function is likely to
355 only be useful in unusual circumstances; in order to act upon
356 metadata in the namespace, you should call #g_irepository_require
357 instead which will ensure the namespace is loaded, and return as
358 quickly as this function will if it has already been loaded.</doc>
359         <return-value transfer-ownership="none">
360           <doc xml:whitespace="preserve">%TRUE if namespace-version is loaded, %FALSE otherwise</doc>
361           <type name="boolean" c:type="gboolean"/>
362         </return-value>
363         <parameters>
364           <parameter name="namespace_" transfer-ownership="none">
365             <doc xml:whitespace="preserve">Namespace of interest</doc>
366             <type name="utf8" c:type="gchar*"/>
367           </parameter>
368           <parameter name="version" transfer-ownership="none" allow-none="1">
369             <doc xml:whitespace="preserve">Required version, may be %NULL for latest</doc>
370             <type name="utf8" c:type="gchar*"/>
371           </parameter>
372         </parameters>
373       </method>
374       <method name="find_by_name" c:identifier="g_irepository_find_by_name">
375         <doc xml:whitespace="preserve">Searches for a particular entry in a namespace.  Before calling
376 this function for a particular namespace, you must call
377 #g_irepository_require once to load the namespace, or otherwise
378 ensure the namespace has already been loaded.</doc>
379         <return-value transfer-ownership="full">
380           <doc xml:whitespace="preserve">#GIBaseInfo representing metadata about @name, or %NULL</doc>
381           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
382         </return-value>
383         <parameters>
384           <parameter name="namespace_" transfer-ownership="none">
385             <doc xml:whitespace="preserve">Namespace which will be searched</doc>
386             <type name="utf8" c:type="gchar*"/>
387           </parameter>
388           <parameter name="name" transfer-ownership="none">
389             <doc xml:whitespace="preserve">Entry name to find</doc>
390             <type name="utf8" c:type="gchar*"/>
391           </parameter>
392         </parameters>
393       </method>
394       <method name="enumerate_versions"
395               c:identifier="g_irepository_enumerate_versions">
396         <doc xml:whitespace="preserve">Obtain an unordered list of versions (either currently loaded or
397 available) for @namespace_ in this @repository.</doc>
398         <return-value transfer-ownership="full">
399           <doc xml:whitespace="preserve">the array of versions.</doc>
400           <type name="GLib.List" c:type="GList*">
401             <type name="utf8"/>
402           </type>
403         </return-value>
404         <parameters>
405           <parameter name="namespace_" transfer-ownership="none">
406             <doc xml:whitespace="preserve">GI namespace, e.g. "Gtk"</doc>
407             <type name="utf8" c:type="gchar*"/>
408           </parameter>
409         </parameters>
410       </method>
411       <method name="require" c:identifier="g_irepository_require" throws="1">
412         <doc xml:whitespace="preserve">Force the namespace @namespace_ to be loaded if it isn't already.
413 If @namespace_ is not loaded, this function will search for a
414 ".typelib" file using the repository search path.  In addition, a
415 version @version of namespace may be specified.  If @version is
416 not specified, the latest will be used.</doc>
417         <return-value transfer-ownership="full">
418           <doc xml:whitespace="preserve">a pointer to the #GTypelib if successful, %NULL otherwise</doc>
419           <type name="Typelib" c:type="GTypelib*"/>
420         </return-value>
421         <parameters>
422           <parameter name="namespace_" transfer-ownership="none">
423             <doc xml:whitespace="preserve">GI namespace to use, e.g. "Gtk"</doc>
424             <type name="utf8" c:type="gchar*"/>
425           </parameter>
426           <parameter name="version" transfer-ownership="none" allow-none="1">
427             <doc xml:whitespace="preserve">Version of namespace, may be %NULL for latest</doc>
428             <type name="utf8" c:type="gchar*"/>
429           </parameter>
430           <parameter name="flags" transfer-ownership="none">
431             <doc xml:whitespace="preserve">Set of %GIRepositoryLoadFlags, may be 0</doc>
432             <type name="IRepositoryLoadFlags" c:type="GIRepositoryLoadFlags"/>
433           </parameter>
434         </parameters>
435       </method>
436       <method name="require_private"
437               c:identifier="g_irepository_require_private"
438               throws="1">
439         <doc xml:whitespace="preserve">Force the namespace @namespace_ to be loaded if it isn't already.
440 If @namespace_ is not loaded, this function will search for a
441 ".typelib" file within the private directory only. In addition, a
442 version @version of namespace should be specified.  If @version is
443 not specified, the latest will be used.</doc>
444         <return-value transfer-ownership="full">
445           <doc xml:whitespace="preserve">a pointer to the #GTypelib if successful, %NULL otherwise</doc>
446           <type name="Typelib" c:type="GTypelib*"/>
447         </return-value>
448         <parameters>
449           <parameter name="typelib_dir" transfer-ownership="none">
450             <doc xml:whitespace="preserve">Private directory where to find the requested typelib</doc>
451             <type name="utf8" c:type="gchar*"/>
452           </parameter>
453           <parameter name="namespace" transfer-ownership="none">
454             <type name="utf8" c:type="gchar*"/>
455           </parameter>
456           <parameter name="version" transfer-ownership="none" allow-none="1">
457             <doc xml:whitespace="preserve">Version of namespace, may be %NULL for latest</doc>
458             <type name="utf8" c:type="gchar*"/>
459           </parameter>
460           <parameter name="flags" transfer-ownership="none">
461             <doc xml:whitespace="preserve">Set of %GIRepositoryLoadFlags, may be 0</doc>
462             <type name="IRepositoryLoadFlags" c:type="GIRepositoryLoadFlags"/>
463           </parameter>
464         </parameters>
465       </method>
466       <method name="get_dependencies"
467               c:identifier="g_irepository_get_dependencies">
468         <doc xml:whitespace="preserve">Return an array of all (transitive) dependencies for namespace
469 form &lt;code&gt;namespace-version&lt;/code&gt;.
470 such as #g_irepository_require before calling this function.</doc>
471         <return-value transfer-ownership="full">
472           <doc xml:whitespace="preserve">Zero-terminated string array of versioned dependencies</doc>
473           <array c:type="gchar**">
474             <type name="utf8"/>
475           </array>
476         </return-value>
477         <parameters>
478           <parameter name="namespace_" transfer-ownership="none">
479             <doc xml:whitespace="preserve">Namespace of interest</doc>
480             <type name="utf8" c:type="gchar*"/>
481           </parameter>
482         </parameters>
483       </method>
484       <method name="get_loaded_namespaces"
485               c:identifier="g_irepository_get_loaded_namespaces">
486         <return-value transfer-ownership="full">
487           <array c:type="gchar**">
488             <type name="utf8"/>
489           </array>
490         </return-value>
491       </method>
492       <method name="find_by_gtype" c:identifier="g_irepository_find_by_gtype">
493         <doc xml:whitespace="preserve">Searches all loaded namespaces for a particular #GType.  Note that
494 in order to locate the metadata, the namespace corresponding to
495 the type must first have been loaded.  There is currently no
496 mechanism for determining the namespace which corresponds to an
497 arbitrary GType - thus, this function will operate most reliably
498 when you know the GType to originate from be from a loaded namespace.</doc>
499         <return-value transfer-ownership="full">
500           <doc xml:whitespace="preserve">#GIBaseInfo representing metadata about @type, or %NULL</doc>
501           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
502         </return-value>
503         <parameters>
504           <parameter name="gtype" transfer-ownership="none">
505             <doc xml:whitespace="preserve">GType to search for</doc>
506             <type name="GType" c:type="GType"/>
507           </parameter>
508         </parameters>
509       </method>
510       <method name="get_n_infos" c:identifier="g_irepository_get_n_infos">
511         <doc xml:whitespace="preserve">This function returns the number of metadata entries in
512 given namespace @namespace_.  The namespace must have
513 already been loaded before calling this function.</doc>
514         <return-value transfer-ownership="none">
515           <doc xml:whitespace="preserve">number of metadata entries</doc>
516           <type name="int" c:type="gint"/>
517         </return-value>
518         <parameters>
519           <parameter name="namespace_" transfer-ownership="none">
520             <doc xml:whitespace="preserve">Namespace to inspect</doc>
521             <type name="utf8" c:type="gchar*"/>
522           </parameter>
523         </parameters>
524       </method>
525       <method name="get_info" c:identifier="g_irepository_get_info">
526         <doc xml:whitespace="preserve">This function returns a particular metadata entry in the
527 given namespace @namespace_.  The namespace must have
528 already been loaded before calling this function.</doc>
529         <return-value transfer-ownership="full">
530           <doc xml:whitespace="preserve">#GIBaseInfo containing metadata</doc>
531           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
532         </return-value>
533         <parameters>
534           <parameter name="namespace_" transfer-ownership="none">
535             <doc xml:whitespace="preserve">Namespace to inspect</doc>
536             <type name="utf8" c:type="gchar*"/>
537           </parameter>
538           <parameter name="index" transfer-ownership="none">
539             <doc xml:whitespace="preserve">Offset into namespace metadata for entry</doc>
540             <type name="int" c:type="gint"/>
541           </parameter>
542         </parameters>
543       </method>
544       <method name="get_typelib_path"
545               c:identifier="g_irepository_get_typelib_path">
546         <return-value transfer-ownership="none">
547           <type name="utf8" c:type="gchar*"/>
548         </return-value>
549         <parameters>
550           <parameter name="namespace_" transfer-ownership="none">
551             <type name="utf8" c:type="gchar*"/>
552           </parameter>
553         </parameters>
554       </method>
555       <method name="get_shared_library"
556               c:identifier="g_irepository_get_shared_library">
557         <doc xml:whitespace="preserve">This function returns the full path to the shared C library
558 associated with the given namespace @namespace_. There may be no
559 shared library path associated, in which case this function will
560 return %NULL.
561 such as #g_irepository_require before calling this function.</doc>
562         <return-value transfer-ownership="none">
563           <doc xml:whitespace="preserve">Full path to shared library, or %NULL if none associated</doc>
564           <type name="utf8" c:type="gchar*"/>
565         </return-value>
566         <parameters>
567           <parameter name="namespace_" transfer-ownership="none">
568             <doc xml:whitespace="preserve">Namespace to inspect</doc>
569             <type name="utf8" c:type="gchar*"/>
570           </parameter>
571         </parameters>
572       </method>
573       <method name="get_c_prefix" c:identifier="g_irepository_get_c_prefix">
574         <return-value transfer-ownership="none">
575           <type name="utf8" c:type="gchar*"/>
576         </return-value>
577         <parameters>
578           <parameter name="namespace_" transfer-ownership="none">
579             <type name="utf8" c:type="gchar*"/>
580           </parameter>
581         </parameters>
582       </method>
583       <method name="get_version" c:identifier="g_irepository_get_version">
584         <doc xml:whitespace="preserve">This function returns the loaded version associated with the given
585 namespace @namespace_.
586 such as #g_irepository_require before calling this function.</doc>
587         <return-value transfer-ownership="none">
588           <doc xml:whitespace="preserve">Loaded version</doc>
589           <type name="utf8" c:type="gchar*"/>
590         </return-value>
591         <parameters>
592           <parameter name="namespace_" transfer-ownership="none">
593             <doc xml:whitespace="preserve">Namespace to inspect</doc>
594             <type name="utf8" c:type="gchar*"/>
595           </parameter>
596         </parameters>
597       </method>
598       <field name="parent">
599         <type name="GObject.Object" c:type="GObject"/>
600       </field>
601       <field name="priv">
602         <type name="IRepositoryPrivate" c:type="GIRepositoryPrivate*"/>
603       </field>
604     </class>
605     <record name="IRepositoryClass"
606             c:type="GIRepositoryClass"
607             glib:is-gtype-struct-for="IRepository">
608       <field name="parent">
609         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
610       </field>
611     </record>
612     <enumeration name="IRepositoryError" c:type="GIRepositoryError">
613       <member name="typelib_not_found"
614               value="0"
615               c:identifier="G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND"/>
616       <member name="namespace_mismatch"
617               value="1"
618               c:identifier="G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH"/>
619       <member name="namespace_version_conflict"
620               value="2"
621               c:identifier="G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT"/>
622       <member name="library_not_found"
623               value="3"
624               c:identifier="G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND"/>
625     </enumeration>
626     <bitfield name="IRepositoryLoadFlags" c:type="GIRepositoryLoadFlags">
627       <member name="irepository_load_flag_lazy"
628               value="1"
629               c:identifier="G_IREPOSITORY_LOAD_FLAG_LAZY"/>
630     </bitfield>
631     <record name="IRepositoryPrivate" c:type="GIRepositoryPrivate">
632     </record>
633     <enumeration name="IScopeType" c:type="GIScopeType">
634       <doc xml:whitespace="preserve">Scope type of a #GIArgInfo representing callback, determines how the
635 callback is invoked and is used to decided when the invoke structs
636 can be freed.</doc>
637       <member name="invalid" value="0" c:identifier="GI_SCOPE_TYPE_INVALID"/>
638       <member name="call" value="1" c:identifier="GI_SCOPE_TYPE_CALL"/>
639       <member name="async" value="2" c:identifier="GI_SCOPE_TYPE_ASYNC"/>
640       <member name="notified" value="3" c:identifier="GI_SCOPE_TYPE_NOTIFIED"/>
641     </enumeration>
642     <enumeration name="ITransfer" c:type="GITransfer">
643       <doc xml:whitespace="preserve">The transfer is the exchange of data between two parts, from the callee to
644 the caller. The callee is either a function/method/signal or an
645 object/interface where a property is defined. The caller is the side
646 accessing a property or calling a function.
647 #GITransfer specifies who's responsible for freeing the resources after the
648 ownership transfer is complete. In case of a containing type such as a list,
649 an array or a hash table the container itself is specified differently from
650 the items within the container itself. Each container is freed differently,
651 check the documentation for the types themselves for information on how to
652 free them.</doc>
653       <member name="nothing" value="0" c:identifier="GI_TRANSFER_NOTHING"/>
654       <member name="container" value="1" c:identifier="GI_TRANSFER_CONTAINER"/>
655       <member name="everything"
656               value="2"
657               c:identifier="GI_TRANSFER_EVERYTHING"/>
658     </enumeration>
659     <enumeration name="ITypeTag" c:type="GITypeTag">
660       <doc xml:whitespace="preserve">The type tag of a #GITypeInfo.</doc>
661       <member name="void" value="0" c:identifier="GI_TYPE_TAG_VOID"/>
662       <member name="boolean" value="1" c:identifier="GI_TYPE_TAG_BOOLEAN"/>
663       <member name="int8" value="2" c:identifier="GI_TYPE_TAG_INT8"/>
664       <member name="uint8" value="3" c:identifier="GI_TYPE_TAG_UINT8"/>
665       <member name="int16" value="4" c:identifier="GI_TYPE_TAG_INT16"/>
666       <member name="uint16" value="5" c:identifier="GI_TYPE_TAG_UINT16"/>
667       <member name="int32" value="6" c:identifier="GI_TYPE_TAG_INT32"/>
668       <member name="uint32" value="7" c:identifier="GI_TYPE_TAG_UINT32"/>
669       <member name="int64" value="8" c:identifier="GI_TYPE_TAG_INT64"/>
670       <member name="uint64" value="9" c:identifier="GI_TYPE_TAG_UINT64"/>
671       <member name="float" value="10" c:identifier="GI_TYPE_TAG_FLOAT"/>
672       <member name="double" value="11" c:identifier="GI_TYPE_TAG_DOUBLE"/>
673       <member name="gtype" value="12" c:identifier="GI_TYPE_TAG_GTYPE"/>
674       <member name="utf8" value="13" c:identifier="GI_TYPE_TAG_UTF8"/>
675       <member name="filename" value="14" c:identifier="GI_TYPE_TAG_FILENAME"/>
676       <member name="array" value="15" c:identifier="GI_TYPE_TAG_ARRAY"/>
677       <member name="interface"
678               value="16"
679               c:identifier="GI_TYPE_TAG_INTERFACE"/>
680       <member name="glist" value="17" c:identifier="GI_TYPE_TAG_GLIST"/>
681       <member name="gslist" value="18" c:identifier="GI_TYPE_TAG_GSLIST"/>
682       <member name="ghash" value="19" c:identifier="GI_TYPE_TAG_GHASH"/>
683       <member name="error" value="20" c:identifier="GI_TYPE_TAG_ERROR"/>
684     </enumeration>
685     <record name="IUnresolvedInfo" c:type="GIUnresolvedInfo">
686       <doc xml:whitespace="preserve">Represents a unresolved type in a typelib.</doc>
687     </record>
688     <bitfield name="IVFuncInfoFlags" c:type="GIVFuncInfoFlags">
689       <doc xml:whitespace="preserve">Flags of a #GIVFuncInfo struct.</doc>
690       <member name="chain_up" value="1" c:identifier="GI_VFUNC_MUST_CHAIN_UP"/>
691       <member name="override" value="2" c:identifier="GI_VFUNC_MUST_OVERRIDE"/>
692       <member name="not_override"
693               value="4"
694               c:identifier="GI_VFUNC_MUST_NOT_OVERRIDE"/>
695     </bitfield>
696     <enumeration name="InvokeError"
697                  c:type="GInvokeError"
698                  glib:error-quark="g_invoke_error_quark">
699       <doc xml:whitespace="preserve">An error occuring while invoking a function via
700 g_function_info_invoke().</doc>
701       <member name="failed" value="0" c:identifier="G_INVOKE_ERROR_FAILED"/>
702       <member name="symbol_not_found"
703               value="1"
704               c:identifier="G_INVOKE_ERROR_SYMBOL_NOT_FOUND"/>
705       <member name="argument_mismatch"
706               value="2"
707               c:identifier="G_INVOKE_ERROR_ARGUMENT_MISMATCH"/>
708     </enumeration>
709     <record name="Typelib" c:type="GTypelib">
710       <constructor name="new_from_memory"
711                    c:identifier="g_typelib_new_from_memory"
712                    throws="1">
713         <return-value transfer-ownership="full">
714           <type name="Typelib" c:type="GTypelib*"/>
715         </return-value>
716         <parameters>
717           <parameter name="memory" transfer-ownership="none">
718             <array c:type="guint8*">
719               <type name="uint8"/>
720             </array>
721           </parameter>
722           <parameter name="len" transfer-ownership="none">
723             <type name="gsize" c:type="gsize"/>
724           </parameter>
725         </parameters>
726       </constructor>
727       <constructor name="new_from_const_memory"
728                    c:identifier="g_typelib_new_from_const_memory"
729                    throws="1">
730         <return-value transfer-ownership="full">
731           <type name="Typelib" c:type="GTypelib*"/>
732         </return-value>
733         <parameters>
734           <parameter name="memory" transfer-ownership="none">
735             <array c:type="guint8*">
736               <type name="uint8"/>
737             </array>
738           </parameter>
739           <parameter name="len" transfer-ownership="none">
740             <type name="gsize" c:type="gsize"/>
741           </parameter>
742         </parameters>
743       </constructor>
744       <constructor name="new_from_mapped_file"
745                    c:identifier="g_typelib_new_from_mapped_file"
746                    throws="1">
747         <return-value transfer-ownership="full">
748           <type name="Typelib" c:type="GTypelib*"/>
749         </return-value>
750         <parameters>
751           <parameter name="mfile" transfer-ownership="none">
752             <type name="GLib.MappedFile" c:type="GMappedFile*"/>
753           </parameter>
754         </parameters>
755       </constructor>
756       <method name="free" c:identifier="g_typelib_free">
757         <return-value transfer-ownership="none">
758           <type name="none" c:type="void"/>
759         </return-value>
760       </method>
761       <method name="symbol" c:identifier="g_typelib_symbol">
762         <return-value transfer-ownership="none">
763           <type name="boolean" c:type="gboolean"/>
764         </return-value>
765         <parameters>
766           <parameter name="symbol_name" transfer-ownership="none">
767             <type name="utf8" c:type="gchar*"/>
768           </parameter>
769           <parameter name="symbol" transfer-ownership="none">
770             <type name="any" c:type="gpointer*"/>
771           </parameter>
772         </parameters>
773       </method>
774       <method name="get_namespace" c:identifier="g_typelib_get_namespace">
775         <return-value transfer-ownership="none">
776           <type name="utf8" c:type="gchar*"/>
777         </return-value>
778       </method>
779     </record>
780     <function name="arg_info_get_closure"
781               c:identifier="g_arg_info_get_closure">
782       <doc xml:whitespace="preserve">Obtain the index of the user data argument. This is only valid
783 for arguments which are callbacks.</doc>
784       <return-value transfer-ownership="none">
785         <doc xml:whitespace="preserve">index of the user data argument or -1 if there is none</doc>
786         <type name="int" c:type="gint"/>
787       </return-value>
788       <parameters>
789         <parameter name="info" transfer-ownership="none">
790           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
791           <type name="IArgInfo" c:type="GIArgInfo*"/>
792         </parameter>
793       </parameters>
794     </function>
795     <function name="arg_info_get_destroy"
796               c:identifier="g_arg_info_get_destroy">
797       <doc xml:whitespace="preserve">Obtains the index of the #GDestroyNotify argument. This is only valid
798 for arguments which are callbacks.</doc>
799       <return-value transfer-ownership="none">
800         <doc xml:whitespace="preserve">index of the #GDestroyNotify argument or -1 if there is none</doc>
801         <type name="int" c:type="gint"/>
802       </return-value>
803       <parameters>
804         <parameter name="info" transfer-ownership="none">
805           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
806           <type name="IArgInfo" c:type="GIArgInfo*"/>
807         </parameter>
808       </parameters>
809     </function>
810     <function name="arg_info_get_direction"
811               c:identifier="g_arg_info_get_direction">
812       <doc xml:whitespace="preserve">Obtain the direction of the argument. Check #GIDirection for possible
813 direction values.</doc>
814       <return-value transfer-ownership="full">
815         <doc xml:whitespace="preserve">the direction</doc>
816         <type name="IDirection" c:type="GIDirection"/>
817       </return-value>
818       <parameters>
819         <parameter name="info" transfer-ownership="none">
820           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
821           <type name="IArgInfo" c:type="GIArgInfo*"/>
822         </parameter>
823       </parameters>
824     </function>
825     <function name="arg_info_get_ownership_transfer"
826               c:identifier="g_arg_info_get_ownership_transfer">
827       <doc xml:whitespace="preserve">Obtain the ownership transfer for this argument.
828 #GITransfer contains a list of possible values.</doc>
829       <return-value transfer-ownership="full">
830         <doc xml:whitespace="preserve">the transfer</doc>
831         <type name="ITransfer" c:type="GITransfer"/>
832       </return-value>
833       <parameters>
834         <parameter name="info" transfer-ownership="none">
835           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
836           <type name="IArgInfo" c:type="GIArgInfo*"/>
837         </parameter>
838       </parameters>
839     </function>
840     <function name="arg_info_get_scope" c:identifier="g_arg_info_get_scope">
841       <doc xml:whitespace="preserve">Obtain the scope type for this argument. The scope type explains
842 how a callback is going to be invoked, most importantly when
843 the resources required to invoke it can be freed.
844 #GIScopeType contains a list of possible values.</doc>
845       <return-value transfer-ownership="full">
846         <doc xml:whitespace="preserve">the scope type</doc>
847         <type name="IScopeType" c:type="GIScopeType"/>
848       </return-value>
849       <parameters>
850         <parameter name="info" transfer-ownership="none">
851           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
852           <type name="IArgInfo" c:type="GIArgInfo*"/>
853         </parameter>
854       </parameters>
855     </function>
856     <function name="arg_info_get_type" c:identifier="g_arg_info_get_type">
857       <doc xml:whitespace="preserve">Obtain the type information for @info.
858 g_base_info_unref() when done.</doc>
859       <return-value transfer-ownership="full">
860         <doc xml:whitespace="preserve">the #GIArgInfo, free it with</doc>
861         <type name="ITypeInfo" c:type="GITypeInfo*"/>
862       </return-value>
863       <parameters>
864         <parameter name="info" transfer-ownership="none">
865           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
866           <type name="IArgInfo" c:type="GIArgInfo*"/>
867         </parameter>
868       </parameters>
869     </function>
870     <function name="arg_info_is_caller_allocates"
871               c:identifier="g_arg_info_is_caller_allocates">
872       <doc xml:whitespace="preserve">Obtain if the argument is a pointer to a struct or object that will
873 receive an output of a function.  The default assumption for
874 %GI_DIRECTION_OUT arguments which have allocation is that the
875 callee allocates; if this is %TRUE, then the caller must allocate.</doc>
876       <return-value transfer-ownership="none">
877         <doc xml:whitespace="preserve">%TRUE if caller is required to have allocated the argument</doc>
878         <type name="boolean" c:type="gboolean"/>
879       </return-value>
880       <parameters>
881         <parameter name="info" transfer-ownership="none">
882           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
883           <type name="IArgInfo" c:type="GIArgInfo*"/>
884         </parameter>
885       </parameters>
886     </function>
887     <function name="arg_info_is_optional"
888               c:identifier="g_arg_info_is_optional">
889       <doc xml:whitespace="preserve">Obtain if the argument is optional.</doc>
890       <return-value transfer-ownership="none">
891         <doc xml:whitespace="preserve">%TRUE if it is an optional argument</doc>
892         <type name="boolean" c:type="gboolean"/>
893       </return-value>
894       <parameters>
895         <parameter name="info" transfer-ownership="none">
896           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
897           <type name="IArgInfo" c:type="GIArgInfo*"/>
898         </parameter>
899       </parameters>
900     </function>
901     <function name="arg_info_is_return_value"
902               c:identifier="g_arg_info_is_return_value">
903       <doc xml:whitespace="preserve">Obtain if the argument is a return value. It can either be a
904 parameter or a return value.</doc>
905       <return-value transfer-ownership="none">
906         <doc xml:whitespace="preserve">%TRUE if it is a return value</doc>
907         <type name="boolean" c:type="gboolean"/>
908       </return-value>
909       <parameters>
910         <parameter name="info" transfer-ownership="none">
911           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
912           <type name="IArgInfo" c:type="GIArgInfo*"/>
913         </parameter>
914       </parameters>
915     </function>
916     <function name="arg_info_load_type" c:identifier="g_arg_info_load_type">
917       <doc xml:whitespace="preserve">Obtain information about a the type of given argument @info; this
918 function is a variant of g_arg_info_get_type() designed for stack
919 allocation.
920 The initialized @type must not be referenced after @info is deallocated.</doc>
921       <return-value transfer-ownership="none">
922         <type name="none" c:type="void"/>
923       </return-value>
924       <parameters>
925         <parameter name="info" transfer-ownership="none">
926           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
927           <type name="IArgInfo" c:type="GIArgInfo*"/>
928         </parameter>
929         <parameter name="type"
930                    direction="out"
931                    caller-allocates="1"
932                    transfer-ownership="none">
933           <doc xml:whitespace="preserve">Initialized with information about type of @info</doc>
934           <type name="ITypeInfo" c:type="GITypeInfo*"/>
935         </parameter>
936       </parameters>
937     </function>
938     <function name="arg_info_may_be_null"
939               c:identifier="g_arg_info_may_be_null">
940       <doc xml:whitespace="preserve">Obtain if the argument accepts %NULL.</doc>
941       <return-value transfer-ownership="none">
942         <doc xml:whitespace="preserve">%TRUE if it accepts %NULL</doc>
943         <type name="boolean" c:type="gboolean"/>
944       </return-value>
945       <parameters>
946         <parameter name="info" transfer-ownership="none">
947           <doc xml:whitespace="preserve">a #GIArgInfo</doc>
948           <type name="IArgInfo" c:type="GIArgInfo*"/>
949         </parameter>
950       </parameters>
951     </function>
952     <function name="base_info_equal" c:identifier="g_base_info_equal">
953       <doc xml:whitespace="preserve">Compare two #GIBaseInfo.
954 Using pointer comparison is not practical since many functions return
955 different instances of #GIBaseInfo that refers to the same part of the
956 TypeLib; use this function instead to do #GIBaseInfo comparisons.</doc>
957       <return-value transfer-ownership="none">
958         <doc xml:whitespace="preserve">%TRUE if and only if @info1 equals @info2.</doc>
959         <type name="boolean" c:type="gboolean"/>
960       </return-value>
961       <parameters>
962         <parameter name="info1" transfer-ownership="none">
963           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
964           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
965         </parameter>
966         <parameter name="info2" transfer-ownership="none">
967           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
968           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
969         </parameter>
970       </parameters>
971     </function>
972     <function name="base_info_get_attribute"
973               c:identifier="g_base_info_get_attribute">
974       <doc xml:whitespace="preserve">Retrieve an arbitrary attribute associated with this node.</doc>
975       <return-value transfer-ownership="none">
976         <doc xml:whitespace="preserve">The value of the attribute, or %NULL if no such attribute exists</doc>
977         <type name="utf8" c:type="gchar*"/>
978       </return-value>
979       <parameters>
980         <parameter name="info" transfer-ownership="none">
981           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
982           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
983         </parameter>
984         <parameter name="name" transfer-ownership="none">
985           <doc xml:whitespace="preserve">a freeform string naming an attribute</doc>
986           <type name="utf8" c:type="gchar*"/>
987         </parameter>
988       </parameters>
989     </function>
990     <function name="base_info_get_container"
991               c:identifier="g_base_info_get_container">
992       <doc xml:whitespace="preserve">Obtain the container of the @info. The container is the parent
993 GIBaseInfo. For instance, the parent of a #GIFunctionInfo is an
994 #GIObjectInfo or #GIInterfaceInfo.</doc>
995       <return-value transfer-ownership="none">
996         <doc xml:whitespace="preserve">the container</doc>
997         <type name="IBaseInfo" c:type="GIBaseInfo*"/>
998       </return-value>
999       <parameters>
1000         <parameter name="info" transfer-ownership="none">
1001           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1002           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1003         </parameter>
1004       </parameters>
1005     </function>
1006     <function name="base_info_get_name" c:identifier="g_base_info_get_name">
1007       <doc xml:whitespace="preserve">Obtain the name of the @info. What the name represents depends on
1008 the #GIInfoType of the @info. For instance for #GIFunctionInfo it is
1009 the name of the function.</doc>
1010       <return-value transfer-ownership="none">
1011         <doc xml:whitespace="preserve">the name of @info or %NULL if it lacks a name.</doc>
1012         <type name="utf8" c:type="gchar*"/>
1013       </return-value>
1014       <parameters>
1015         <parameter name="info" transfer-ownership="none">
1016           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1017           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1018         </parameter>
1019       </parameters>
1020     </function>
1021     <function name="base_info_get_namespace"
1022               c:identifier="g_base_info_get_namespace">
1023       <doc xml:whitespace="preserve">Obtain the namespace of @info.</doc>
1024       <return-value transfer-ownership="none">
1025         <doc xml:whitespace="preserve">the namespace</doc>
1026         <type name="utf8" c:type="gchar*"/>
1027       </return-value>
1028       <parameters>
1029         <parameter name="info" transfer-ownership="none">
1030           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1031           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1032         </parameter>
1033       </parameters>
1034     </function>
1035     <function name="base_info_get_type" c:identifier="g_base_info_get_type">
1036       <doc xml:whitespace="preserve">Obtain the info type of the GIBaseInfo.</doc>
1037       <return-value transfer-ownership="full">
1038         <doc xml:whitespace="preserve">the info type of @info</doc>
1039         <type name="IInfoType" c:type="GIInfoType"/>
1040       </return-value>
1041       <parameters>
1042         <parameter name="info" transfer-ownership="none">
1043           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1044           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1045         </parameter>
1046       </parameters>
1047     </function>
1048     <function name="base_info_get_typelib"
1049               c:identifier="g_base_info_get_typelib">
1050       <doc xml:whitespace="preserve">Obtain the typelib this @info belongs to</doc>
1051       <return-value transfer-ownership="none">
1052         <doc xml:whitespace="preserve">the typelib.</doc>
1053         <type name="Typelib" c:type="GTypelib*"/>
1054       </return-value>
1055       <parameters>
1056         <parameter name="info" transfer-ownership="none">
1057           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1058           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1059         </parameter>
1060       </parameters>
1061     </function>
1062     <function name="base_info_is_deprecated"
1063               c:identifier="g_base_info_is_deprecated">
1064       <doc xml:whitespace="preserve">Obtain whether the @info is represents a metadata which is
1065 deprecated or not.</doc>
1066       <return-value transfer-ownership="none">
1067         <doc xml:whitespace="preserve">%TRUE if deprecated</doc>
1068         <type name="boolean" c:type="gboolean"/>
1069       </return-value>
1070       <parameters>
1071         <parameter name="info" transfer-ownership="none">
1072           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1073           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1074         </parameter>
1075       </parameters>
1076     </function>
1077     <function name="base_info_iterate_attributes"
1078               c:identifier="g_base_info_iterate_attributes">
1079       <doc xml:whitespace="preserve">Iterate over all attributes associated with this node.  The iterator
1080 structure is typically stack allocated, and must have its first
1081 member initialized to %NULL.
1082 Both the @name and @value should be treated as constants
1083 and must not be freed.
1084 &lt;example&gt;
1085 &lt;title&gt;Iterating over attributes&lt;/title&gt;
1086 &lt;programlisting&gt;
1087 void
1088 print_attributes (GIBaseInfo *info)
1089 {
1090 GIAttributeIter iter = { 0, };
1091 char *name;
1092 char *value;
1093 while (g_base_info_iterate_attributes (info, &amp;iter, &amp;name, &amp;value))
1094 {
1095 }
1096 }
1097 &lt;/programlisting&gt;
1098 &lt;/example&gt;</doc>
1099       <return-value transfer-ownership="none">
1100         <doc xml:whitespace="preserve">%TRUE if there are more attributes</doc>
1101         <type name="boolean" c:type="gboolean"/>
1102       </return-value>
1103       <parameters>
1104         <parameter name="info" transfer-ownership="none">
1105           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1106           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1107         </parameter>
1108         <parameter name="iterator" transfer-ownership="none">
1109           <doc xml:whitespace="preserve">a #GIAttributeIter structure, must be initialized; see below</doc>
1110           <type name="IAttributeIter" c:type="GIAttributeIter*"/>
1111         </parameter>
1112         <parameter name="name"
1113                    direction="out"
1114                    caller-allocates="0"
1115                    transfer-ownership="none">
1116           <doc xml:whitespace="preserve">Returned name, must not be freed</doc>
1117           <type name="utf8" c:type="char**"/>
1118         </parameter>
1119         <parameter name="value"
1120                    direction="out"
1121                    caller-allocates="0"
1122                    transfer-ownership="none">
1123           <doc xml:whitespace="preserve">Returned name, must not be freed</doc>
1124           <type name="utf8" c:type="char**"/>
1125         </parameter>
1126       </parameters>
1127     </function>
1128     <function name="base_info_ref" c:identifier="g_base_info_ref">
1129       <doc xml:whitespace="preserve">Increases the reference count of @info.</doc>
1130       <return-value transfer-ownership="full">
1131         <doc xml:whitespace="preserve">the same @info.</doc>
1132         <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1133       </return-value>
1134       <parameters>
1135         <parameter name="info" transfer-ownership="none">
1136           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1137           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1138         </parameter>
1139       </parameters>
1140     </function>
1141     <function name="base_info_unref" c:identifier="g_base_info_unref">
1142       <doc xml:whitespace="preserve">Decreases the reference count of @info. When its reference count
1143 drops to 0, the info is freed.</doc>
1144       <return-value transfer-ownership="none">
1145         <type name="none" c:type="void"/>
1146       </return-value>
1147       <parameters>
1148         <parameter name="info" transfer-ownership="none">
1149           <doc xml:whitespace="preserve">a #GIBaseInfo</doc>
1150           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1151         </parameter>
1152       </parameters>
1153     </function>
1154     <function name="callable_info_get_arg"
1155               c:identifier="g_callable_info_get_arg">
1156       <doc xml:whitespace="preserve">Obtain information about a particular argument of this callable.
1157 g_base_info_unref() when done.</doc>
1158       <return-value transfer-ownership="full">
1159         <doc xml:whitespace="preserve">the #GIArgInfo. Free it with</doc>
1160         <type name="IArgInfo" c:type="GIArgInfo*"/>
1161       </return-value>
1162       <parameters>
1163         <parameter name="info" transfer-ownership="none">
1164           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1165           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1166         </parameter>
1167         <parameter name="n" transfer-ownership="none">
1168           <doc xml:whitespace="preserve">the argument index to fetch</doc>
1169           <type name="int" c:type="gint"/>
1170         </parameter>
1171       </parameters>
1172     </function>
1173     <function name="callable_info_get_caller_owns"
1174               c:identifier="g_callable_info_get_caller_owns">
1175       <doc xml:whitespace="preserve">See whether the caller owns the return value of this callable.
1176 #GITransfer contains a list of possible transfer values.</doc>
1177       <return-value transfer-ownership="full">
1178         <doc xml:whitespace="preserve">%TRUE if the caller owns the return value, %FALSE otherwise.</doc>
1179         <type name="ITransfer" c:type="GITransfer"/>
1180       </return-value>
1181       <parameters>
1182         <parameter name="info" transfer-ownership="none">
1183           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1184           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1185         </parameter>
1186       </parameters>
1187     </function>
1188     <function name="callable_info_get_n_args"
1189               c:identifier="g_callable_info_get_n_args">
1190       <doc xml:whitespace="preserve">Obtain the number of arguments (both IN and OUT) for this callable.</doc>
1191       <return-value transfer-ownership="none">
1192         <doc xml:whitespace="preserve">The number of arguments this callable expects.</doc>
1193         <type name="int" c:type="gint"/>
1194       </return-value>
1195       <parameters>
1196         <parameter name="info" transfer-ownership="none">
1197           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1198           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1199         </parameter>
1200       </parameters>
1201     </function>
1202     <function name="callable_info_get_return_attribute"
1203               c:identifier="g_callable_info_get_return_attribute">
1204       <doc xml:whitespace="preserve">Retrieve an arbitrary attribute associated with the return value.</doc>
1205       <return-value transfer-ownership="none">
1206         <doc xml:whitespace="preserve">The value of the attribute, or %NULL if no such attribute exists</doc>
1207         <type name="utf8" c:type="gchar*"/>
1208       </return-value>
1209       <parameters>
1210         <parameter name="info" transfer-ownership="none">
1211           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1212           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1213         </parameter>
1214         <parameter name="name" transfer-ownership="none">
1215           <doc xml:whitespace="preserve">a freeform string naming an attribute</doc>
1216           <type name="utf8" c:type="gchar*"/>
1217         </parameter>
1218       </parameters>
1219     </function>
1220     <function name="callable_info_get_return_type"
1221               c:identifier="g_callable_info_get_return_type">
1222       <doc xml:whitespace="preserve">Obtain the return type of a callable item as a #GITypeInfo.
1223 g_base_info_unref() when done.</doc>
1224       <return-value transfer-ownership="full">
1225         <doc xml:whitespace="preserve">the #GITypeInfo. Free the struct by calling</doc>
1226         <type name="ITypeInfo" c:type="GITypeInfo*"/>
1227       </return-value>
1228       <parameters>
1229         <parameter name="info" transfer-ownership="none">
1230           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1231           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1232         </parameter>
1233       </parameters>
1234     </function>
1235     <function name="callable_info_iterate_return_attributes"
1236               c:identifier="g_callable_info_iterate_return_attributes">
1237       <doc xml:whitespace="preserve">Iterate over all attributes associated with the return value.  The
1238 iterator structure is typically stack allocated, and must have its
1239 first member initialized to %NULL.
1240 Both the @name and @value should be treated as constants
1241 and must not be freed.
1242 See g_base_info_iterate_attributes() for an example of how to use a
1243 similar API.</doc>
1244       <return-value transfer-ownership="none">
1245         <doc xml:whitespace="preserve">%TRUE if there are more attributes</doc>
1246         <type name="boolean" c:type="gboolean"/>
1247       </return-value>
1248       <parameters>
1249         <parameter name="info" transfer-ownership="none">
1250           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1251           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1252         </parameter>
1253         <parameter name="iterator" transfer-ownership="none">
1254           <doc xml:whitespace="preserve">a #GIAttributeIter structure, must be initialized; see below</doc>
1255           <type name="IAttributeIter" c:type="GIAttributeIter*"/>
1256         </parameter>
1257         <parameter name="name"
1258                    direction="out"
1259                    caller-allocates="0"
1260                    transfer-ownership="none">
1261           <doc xml:whitespace="preserve">Returned name, must not be freed</doc>
1262           <type name="utf8" c:type="char**"/>
1263         </parameter>
1264         <parameter name="value"
1265                    direction="out"
1266                    caller-allocates="0"
1267                    transfer-ownership="none">
1268           <doc xml:whitespace="preserve">Returned name, must not be freed</doc>
1269           <type name="utf8" c:type="char**"/>
1270         </parameter>
1271       </parameters>
1272     </function>
1273     <function name="callable_info_load_arg"
1274               c:identifier="g_callable_info_load_arg">
1275       <doc xml:whitespace="preserve">Obtain information about a particular argument of this callable; this
1276 function is a variant of g_callable_info_get_arg() designed for stack
1277 allocation.
1278 The initialized @arg must not be referenced after @info is deallocated.</doc>
1279       <return-value transfer-ownership="none">
1280         <type name="none" c:type="void"/>
1281       </return-value>
1282       <parameters>
1283         <parameter name="info" transfer-ownership="none">
1284           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1285           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1286         </parameter>
1287         <parameter name="n" transfer-ownership="none">
1288           <doc xml:whitespace="preserve">the argument index to fetch</doc>
1289           <type name="int" c:type="gint"/>
1290         </parameter>
1291         <parameter name="arg"
1292                    direction="out"
1293                    caller-allocates="1"
1294                    transfer-ownership="none">
1295           <doc xml:whitespace="preserve">Initialize with argument number @n</doc>
1296           <type name="IArgInfo" c:type="GIArgInfo*"/>
1297         </parameter>
1298       </parameters>
1299     </function>
1300     <function name="callable_info_load_return_type"
1301               c:identifier="g_callable_info_load_return_type">
1302       <doc xml:whitespace="preserve">Obtain information about a return value of callable; this
1303 function is a variant of g_callable_info_get_return_type() designed for stack
1304 allocation.
1305 The initialized @type must not be referenced after @info is deallocated.</doc>
1306       <return-value transfer-ownership="none">
1307         <type name="none" c:type="void"/>
1308       </return-value>
1309       <parameters>
1310         <parameter name="info" transfer-ownership="none">
1311           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1312           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1313         </parameter>
1314         <parameter name="type"
1315                    direction="out"
1316                    caller-allocates="1"
1317                    transfer-ownership="none">
1318           <doc xml:whitespace="preserve">Initialized with return type of @info</doc>
1319           <type name="ITypeInfo" c:type="GITypeInfo*"/>
1320         </parameter>
1321       </parameters>
1322     </function>
1323     <function name="callable_info_may_return_null"
1324               c:identifier="g_callable_info_may_return_null">
1325       <doc xml:whitespace="preserve">See if a callable could return %NULL.</doc>
1326       <return-value transfer-ownership="none">
1327         <doc xml:whitespace="preserve">%TRUE if callable could return %NULL</doc>
1328         <type name="boolean" c:type="gboolean"/>
1329       </return-value>
1330       <parameters>
1331         <parameter name="info" transfer-ownership="none">
1332           <doc xml:whitespace="preserve">a #GICallableInfo</doc>
1333           <type name="ICallableInfo" c:type="GICallableInfo*"/>
1334         </parameter>
1335       </parameters>
1336     </function>
1337     <function name="constant_info_get_type"
1338               c:identifier="g_constant_info_get_type">
1339       <doc xml:whitespace="preserve">Obtain the type of the constant as a #GITypeInfo.
1340 g_base_info_unref() when done.</doc>
1341       <return-value transfer-ownership="full">
1342         <doc xml:whitespace="preserve">the #GITypeInfo. Free the struct by calling</doc>
1343         <type name="ITypeInfo" c:type="GITypeInfo*"/>
1344       </return-value>
1345       <parameters>
1346         <parameter name="info" transfer-ownership="none">
1347           <doc xml:whitespace="preserve">a #GIConstantInfo</doc>
1348           <type name="IConstantInfo" c:type="GIConstantInfo*"/>
1349         </parameter>
1350       </parameters>
1351     </function>
1352     <function name="constant_info_get_value"
1353               c:identifier="g_constant_info_get_value">
1354       <doc xml:whitespace="preserve">Obtain the value associated with the #GIConstantInfo and store it in the
1355 The size of the constant value stored in @argument will be returned.</doc>
1356       <return-value transfer-ownership="none">
1357         <doc xml:whitespace="preserve">size of the constant</doc>
1358         <type name="int" c:type="gint"/>
1359       </return-value>
1360       <parameters>
1361         <parameter name="info" transfer-ownership="none">
1362           <doc xml:whitespace="preserve">a #GIConstantInfo</doc>
1363           <type name="IConstantInfo" c:type="GIConstantInfo*"/>
1364         </parameter>
1365         <parameter name="value"
1366                    direction="out"
1367                    caller-allocates="1"
1368                    transfer-ownership="none">
1369           <doc xml:whitespace="preserve">an argument</doc>
1370           <type name="Argument" c:type="GArgument*"/>
1371         </parameter>
1372       </parameters>
1373     </function>
1374     <function name="enum_info_get_n_values"
1375               c:identifier="g_enum_info_get_n_values">
1376       <return-value transfer-ownership="none">
1377         <type name="int" c:type="gint"/>
1378       </return-value>
1379       <parameters>
1380         <parameter name="info" transfer-ownership="none">
1381           <type name="IEnumInfo" c:type="GIEnumInfo*"/>
1382         </parameter>
1383       </parameters>
1384     </function>
1385     <function name="enum_info_get_storage_type"
1386               c:identifier="g_enum_info_get_storage_type">
1387       <doc xml:whitespace="preserve">Obtain the tag of the type used for the enum in the C ABI. This will
1388 will be a signed or unsigned integral type.
1389 Note that in the current implementation the width of the type is
1390 computed correctly, but the signed or unsigned nature of the type
1391 may not match the sign of the type used by the C compiler.</doc>
1392       <return-value transfer-ownership="full">
1393         <doc xml:whitespace="preserve">the storage type for the enumeration</doc>
1394         <type name="ITypeTag" c:type="GITypeTag"/>
1395       </return-value>
1396       <parameters>
1397         <parameter name="info" transfer-ownership="none">
1398           <doc xml:whitespace="preserve">a #GIEnumInfo</doc>
1399           <type name="IEnumInfo" c:type="GIEnumInfo*"/>
1400         </parameter>
1401       </parameters>
1402     </function>
1403     <function name="enum_info_get_value" c:identifier="g_enum_info_get_value">
1404       <doc xml:whitespace="preserve">Obtain a value for this enumeration.
1405 free the struct with g_base_info_unref() when done.</doc>
1406       <return-value transfer-ownership="full">
1407         <doc xml:whitespace="preserve">the enumeration value or %NULL if type tag is wrong,</doc>
1408         <type name="IValueInfo" c:type="GIValueInfo*"/>
1409       </return-value>
1410       <parameters>
1411         <parameter name="info" transfer-ownership="none">
1412           <doc xml:whitespace="preserve">a #GIEnumInfo</doc>
1413           <type name="IEnumInfo" c:type="GIEnumInfo*"/>
1414         </parameter>
1415         <parameter name="n" transfer-ownership="none">
1416           <doc xml:whitespace="preserve">index of value to fetch</doc>
1417           <type name="int" c:type="gint"/>
1418         </parameter>
1419       </parameters>
1420     </function>
1421     <function name="error_domain_info_get_codes"
1422               c:identifier="g_error_domain_info_get_codes">
1423       <doc xml:whitespace="preserve">Obtain the enum containing all the error codes for this error domain.
1424 The return value will have a #GIInfoType of %GI_INFO_TYPE_ERROR_DOMAIN
1425 free the struct with g_base_info_unref() when done.</doc>
1426       <return-value transfer-ownership="full">
1427         <doc xml:whitespace="preserve">the error domain or %NULL if type tag is wrong,</doc>
1428         <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1429       </return-value>
1430       <parameters>
1431         <parameter name="info" transfer-ownership="none">
1432           <doc xml:whitespace="preserve">a #GIErrorDomainInfo</doc>
1433           <type name="IErrorDomainInfo" c:type="GIErrorDomainInfo*"/>
1434         </parameter>
1435       </parameters>
1436     </function>
1437     <function name="error_domain_info_get_quark"
1438               c:identifier="g_error_domain_info_get_quark">
1439       <doc xml:whitespace="preserve">Obtain a string representing the quark for this error domain.
1440 %NULL will be returned if the type tag is wrong or if a quark is
1441 missing in the typelib.</doc>
1442       <return-value transfer-ownership="none">
1443         <doc xml:whitespace="preserve">the quark represented as a string or %NULL</doc>
1444         <type name="utf8" c:type="gchar*"/>
1445       </return-value>
1446       <parameters>
1447         <parameter name="info" transfer-ownership="none">
1448           <doc xml:whitespace="preserve">a #GIErrorDomainInfo</doc>
1449           <type name="IErrorDomainInfo" c:type="GIErrorDomainInfo*"/>
1450         </parameter>
1451       </parameters>
1452     </function>
1453     <function name="field_info_get_field"
1454               c:identifier="g_field_info_get_field">
1455       <doc xml:whitespace="preserve">Reads a field identified by a #GFieldInfo from a C structure or
1456 union.  This only handles fields of simple C types. It will fail
1457 for a field of a composite type like a nested structure or union
1458 even if that is actually readable.</doc>
1459       <return-value transfer-ownership="none">
1460         <doc xml:whitespace="preserve">%TRUE if reading the field succeeded, otherwise %FALSE</doc>
1461         <type name="boolean" c:type="gboolean"/>
1462       </return-value>
1463       <parameters>
1464         <parameter name="field_info" transfer-ownership="none">
1465           <doc xml:whitespace="preserve">a #GIFieldInfo</doc>
1466           <type name="IFieldInfo" c:type="GIFieldInfo*"/>
1467         </parameter>
1468         <parameter name="mem" transfer-ownership="none">
1469           <doc xml:whitespace="preserve">pointer to a block of memory representing a C structure or union</doc>
1470           <type name="any" c:type="gpointer"/>
1471         </parameter>
1472         <parameter name="value" transfer-ownership="none">
1473           <doc xml:whitespace="preserve">a #GArgument into which to store the value retrieved</doc>
1474           <type name="Argument" c:type="GArgument*"/>
1475         </parameter>
1476       </parameters>
1477     </function>
1478     <function name="field_info_get_flags"
1479               c:identifier="g_field_info_get_flags">
1480       <doc xml:whitespace="preserve">Obtain the flags for this #GIFieldInfo. See #GIFieldInfoFlags for possible
1481 flag values.</doc>
1482       <return-value transfer-ownership="full">
1483         <doc xml:whitespace="preserve">the flags</doc>
1484         <type name="IFieldInfoFlags" c:type="GIFieldInfoFlags"/>
1485       </return-value>
1486       <parameters>
1487         <parameter name="info" transfer-ownership="none">
1488           <doc xml:whitespace="preserve">a #GIFieldInfo</doc>
1489           <type name="IFieldInfo" c:type="GIFieldInfo*"/>
1490         </parameter>
1491       </parameters>
1492     </function>
1493     <function name="field_info_get_offset"
1494               c:identifier="g_field_info_get_offset">
1495       <doc xml:whitespace="preserve">Obtain the offset in bits of the field member, this is relative
1496 to the beginning of the struct or union.</doc>
1497       <return-value transfer-ownership="none">
1498         <doc xml:whitespace="preserve">the field offset</doc>
1499         <type name="int" c:type="gint"/>
1500       </return-value>
1501       <parameters>
1502         <parameter name="info" transfer-ownership="none">
1503           <doc xml:whitespace="preserve">a #GIFieldInfo</doc>
1504           <type name="IFieldInfo" c:type="GIFieldInfo*"/>
1505         </parameter>
1506       </parameters>
1507     </function>
1508     <function name="field_info_get_size" c:identifier="g_field_info_get_size">
1509       <doc xml:whitespace="preserve">Obtain the size in bits of the field member, this is how
1510 much space you need to allocate to store the field.</doc>
1511       <return-value transfer-ownership="none">
1512         <doc xml:whitespace="preserve">the field size</doc>
1513         <type name="int" c:type="gint"/>
1514       </return-value>
1515       <parameters>
1516         <parameter name="info" transfer-ownership="none">
1517           <doc xml:whitespace="preserve">a #GIFieldInfo</doc>
1518           <type name="IFieldInfo" c:type="GIFieldInfo*"/>
1519         </parameter>
1520       </parameters>
1521     </function>
1522     <function name="field_info_get_type" c:identifier="g_field_info_get_type">
1523       <doc xml:whitespace="preserve">Obtain the type of a field as a #GITypeInfo.
1524 g_base_info_unref() when done.</doc>
1525       <return-value transfer-ownership="full">
1526         <doc xml:whitespace="preserve">the #GITypeInfo. Free the struct by calling</doc>
1527         <type name="ITypeInfo" c:type="GITypeInfo*"/>
1528       </return-value>
1529       <parameters>
1530         <parameter name="info" transfer-ownership="none">
1531           <doc xml:whitespace="preserve">a #GIFieldInfo</doc>
1532           <type name="IFieldInfo" c:type="GIFieldInfo*"/>
1533         </parameter>
1534       </parameters>
1535     </function>
1536     <function name="field_info_set_field"
1537               c:identifier="g_field_info_set_field">
1538       <doc xml:whitespace="preserve">Writes a field identified by a #GFieldInfo to a C structure or
1539 union.  This only handles fields of simple C types. It will fail
1540 for a field of a composite type like a nested structure or union
1541 even if that is actually writable. Note also that that it will refuse
1542 to write fields where memory management would by required. A field
1543 with a type such as 'char *' must be set with a setter function.</doc>
1544       <return-value transfer-ownership="none">
1545         <doc xml:whitespace="preserve">%TRUE if writing the field succeeded, otherwise %FALSE</doc>
1546         <type name="boolean" c:type="gboolean"/>
1547       </return-value>
1548       <parameters>
1549         <parameter name="field_info" transfer-ownership="none">
1550           <doc xml:whitespace="preserve">a #GIFieldInfo</doc>
1551           <type name="IFieldInfo" c:type="GIFieldInfo*"/>
1552         </parameter>
1553         <parameter name="mem" transfer-ownership="none">
1554           <doc xml:whitespace="preserve">pointer to a block of memory representing a C structure or union</doc>
1555           <type name="any" c:type="gpointer"/>
1556         </parameter>
1557         <parameter name="value" transfer-ownership="none">
1558           <doc xml:whitespace="preserve">a #GArgument holding the value to store</doc>
1559           <type name="Argument" c:type="GArgument*"/>
1560         </parameter>
1561       </parameters>
1562     </function>
1563     <function name="function_info_get_flags"
1564               c:identifier="g_function_info_get_flags">
1565       <doc xml:whitespace="preserve">Obtain the #GIFunctionInfoFlags for the @info.</doc>
1566       <return-value transfer-ownership="full">
1567         <doc xml:whitespace="preserve">the flags</doc>
1568         <type name="IFunctionInfoFlags" c:type="GIFunctionInfoFlags"/>
1569       </return-value>
1570       <parameters>
1571         <parameter name="info" transfer-ownership="none">
1572           <doc xml:whitespace="preserve">a #GIFunctionInfo</doc>
1573           <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
1574         </parameter>
1575       </parameters>
1576     </function>
1577     <function name="function_info_get_property"
1578               c:identifier="g_function_info_get_property">
1579       <doc xml:whitespace="preserve">Obtain the property associated with this #GIFunctionInfo.
1580 Only #GIFunctionInfo with the flag %GI_FUNCTION_IS_GETTER or
1581 %GI_FUNCTION_IS_SETTER have a property set. For other cases,
1582 %NULL will be returned.
1583 g_base_info_unref() when done.</doc>
1584       <return-value transfer-ownership="full">
1585         <doc xml:whitespace="preserve">the property or %NULL if not set. Free it with</doc>
1586         <type name="IPropertyInfo" c:type="GIPropertyInfo*"/>
1587       </return-value>
1588       <parameters>
1589         <parameter name="info" transfer-ownership="none">
1590           <doc xml:whitespace="preserve">a #GIFunctionInfo</doc>
1591           <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
1592         </parameter>
1593       </parameters>
1594     </function>
1595     <function name="function_info_get_symbol"
1596               c:identifier="g_function_info_get_symbol">
1597       <doc xml:whitespace="preserve">Obtain the symbol of the function. The symbol is the name of the
1598 exported function, suitable to be used as an argument to
1599 g_module_symbol().</doc>
1600       <return-value transfer-ownership="none">
1601         <doc xml:whitespace="preserve">the symbol</doc>
1602         <type name="utf8" c:type="gchar*"/>
1603       </return-value>
1604       <parameters>
1605         <parameter name="info" transfer-ownership="none">
1606           <doc xml:whitespace="preserve">a #GIFunctionInfo</doc>
1607           <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
1608         </parameter>
1609       </parameters>
1610     </function>
1611     <function name="function_info_get_vfunc"
1612               c:identifier="g_function_info_get_vfunc">
1613       <doc xml:whitespace="preserve">Obtain the virtual function associated with this #GIFunctionInfo.
1614 Only #GIFunctionInfo with the flag %GI_FUNCTION_WRAPS_VFUNC has
1615 a virtual function set. For other cases, %NULL will be returned.
1616 Free it by calling g_base_info_unref() when done.</doc>
1617       <return-value transfer-ownership="full">
1618         <doc xml:whitespace="preserve">the virtual function or %NULL if not set.</doc>
1619         <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
1620       </return-value>
1621       <parameters>
1622         <parameter name="info" transfer-ownership="none">
1623           <doc xml:whitespace="preserve">a #GIFunctionInfo</doc>
1624           <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
1625         </parameter>
1626       </parameters>
1627     </function>
1628     <function name="function_info_invoke"
1629               c:identifier="g_function_info_invoke"
1630               throws="1">
1631       <doc xml:whitespace="preserve">Invokes the function described in @info with the given
1632 arguments. Note that inout parameters must appear in both
1633 argument lists. This function uses dlsym() to obtain a pointer
1634 to the function, so the library or shared object containing the
1635 described function must either be linked to the caller, or must
1636 have been g_module_symbol()&lt;!-- --&gt;ed before calling this function.
1637 error occurred.</doc>
1638       <return-value transfer-ownership="none">
1639         <doc xml:whitespace="preserve">%TRUE if the function has been invoked, %FALSE if an</doc>
1640         <type name="boolean" c:type="gboolean"/>
1641       </return-value>
1642       <parameters>
1643         <parameter name="info" transfer-ownership="none">
1644           <doc xml:whitespace="preserve">a #GIFunctionInfo describing the function to invoke</doc>
1645           <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
1646         </parameter>
1647         <parameter name="in_args" transfer-ownership="none">
1648           <doc xml:whitespace="preserve">an array of #GArgument&lt;!-- --&gt;s, one for each in parameter of @info. If there are no in parameter, @in_args can be %NULL</doc>
1649           <type name="Argument" c:type="GArgument*"/>
1650         </parameter>
1651         <parameter name="n_in_args" transfer-ownership="none">
1652           <doc xml:whitespace="preserve">the length of the @in_args array</doc>
1653           <type name="int" c:type="int"/>
1654         </parameter>
1655         <parameter name="out_args" transfer-ownership="none">
1656           <doc xml:whitespace="preserve">an array of #GArgument&lt;!-- --&gt;s, one for each out parameter of @info. If there are no out parameters, @out_args may be %NULL</doc>
1657           <type name="Argument" c:type="GArgument*"/>
1658         </parameter>
1659         <parameter name="n_out_args" transfer-ownership="none">
1660           <doc xml:whitespace="preserve">the length of the @out_args array</doc>
1661           <type name="int" c:type="int"/>
1662         </parameter>
1663         <parameter name="return_value" transfer-ownership="none">
1664           <doc xml:whitespace="preserve">return location for the return value of the function. If the function returns void, @return_value may be %NULL</doc>
1665           <type name="Argument" c:type="GArgument*"/>
1666         </parameter>
1667       </parameters>
1668     </function>
1669     <function name="gi_cclosure_marshal_generic"
1670               c:identifier="gi_cclosure_marshal_generic">
1671       <return-value transfer-ownership="none">
1672         <type name="none" c:type="void"/>
1673       </return-value>
1674       <parameters>
1675         <parameter name="closure" transfer-ownership="none">
1676           <type name="GObject.Closure" c:type="GClosure*"/>
1677         </parameter>
1678         <parameter name="return_gvalue" transfer-ownership="none">
1679           <type name="GObject.Value" c:type="GValue*"/>
1680         </parameter>
1681         <parameter name="n_param_values" transfer-ownership="none">
1682           <type name="uint" c:type="guint"/>
1683         </parameter>
1684         <parameter name="param_values" transfer-ownership="none">
1685           <type name="GObject.Value" c:type="GValue*"/>
1686         </parameter>
1687         <parameter name="invocation_hint" transfer-ownership="none">
1688           <type name="any" c:type="gpointer"/>
1689         </parameter>
1690         <parameter name="marshal_data" transfer-ownership="none">
1691           <type name="any" c:type="gpointer"/>
1692         </parameter>
1693       </parameters>
1694     </function>
1695     <function name="info_new" c:identifier="g_info_new">
1696       <return-value transfer-ownership="full">
1697         <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1698       </return-value>
1699       <parameters>
1700         <parameter name="type" transfer-ownership="none">
1701           <type name="IInfoType" c:type="GIInfoType"/>
1702         </parameter>
1703         <parameter name="container" transfer-ownership="none">
1704           <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1705         </parameter>
1706         <parameter name="typelib" transfer-ownership="none">
1707           <type name="Typelib" c:type="GTypelib*"/>
1708         </parameter>
1709         <parameter name="offset" transfer-ownership="none">
1710           <type name="uint32" c:type="guint32"/>
1711         </parameter>
1712       </parameters>
1713     </function>
1714     <function name="info_type_to_string" c:identifier="g_info_type_to_string">
1715       <doc xml:whitespace="preserve">Obtain a string representation of @type</doc>
1716       <return-value transfer-ownership="none">
1717         <doc xml:whitespace="preserve">the string</doc>
1718         <type name="utf8" c:type="gchar*"/>
1719       </return-value>
1720       <parameters>
1721         <parameter name="type" transfer-ownership="none">
1722           <doc xml:whitespace="preserve">the info type</doc>
1723           <type name="IInfoType" c:type="GIInfoType"/>
1724         </parameter>
1725       </parameters>
1726     </function>
1727     <function name="interface_info_find_method"
1728               c:identifier="g_interface_info_find_method">
1729       <doc xml:whitespace="preserve">Obtain a method of the interface type given a @name. %NULL will be
1730 returned if there's no method available with that name.
1731 Free the struct by calling g_base_info_unref() when done.</doc>
1732       <return-value transfer-ownership="full">
1733         <doc xml:whitespace="preserve">the #GIFunctionInfo or %NULL if none found.</doc>
1734         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
1735       </return-value>
1736       <parameters>
1737         <parameter name="info" transfer-ownership="none">
1738           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1739           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1740         </parameter>
1741         <parameter name="name" transfer-ownership="none">
1742           <doc xml:whitespace="preserve">name of method to obtain</doc>
1743           <type name="utf8" c:type="gchar*"/>
1744         </parameter>
1745       </parameters>
1746     </function>
1747     <function name="interface_info_find_vfunc"
1748               c:identifier="g_interface_info_find_vfunc">
1749       <doc xml:whitespace="preserve">Locate a virtual function slot with name @name. See the documentation
1750 for g_object_info_find_vfunc() for more information on virtuals.
1751 g_base_info_unref() when done.</doc>
1752       <return-value transfer-ownership="full">
1753         <doc xml:whitespace="preserve">the #GIVFuncInfo, or %NULL. Free it with</doc>
1754         <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
1755       </return-value>
1756       <parameters>
1757         <parameter name="info" transfer-ownership="none">
1758           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1759           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1760         </parameter>
1761         <parameter name="name" transfer-ownership="none">
1762           <doc xml:whitespace="preserve">The name of a virtual function to find.</doc>
1763           <type name="utf8" c:type="gchar*"/>
1764         </parameter>
1765       </parameters>
1766     </function>
1767     <function name="interface_info_get_constant"
1768               c:identifier="g_interface_info_get_constant">
1769       <doc xml:whitespace="preserve">Obtain an interface type constant at index @n.
1770 g_base_info_unref() when done.</doc>
1771       <return-value transfer-ownership="full">
1772         <doc xml:whitespace="preserve">the #GIConstantInfo. Free the struct by calling</doc>
1773         <type name="IConstantInfo" c:type="GIConstantInfo*"/>
1774       </return-value>
1775       <parameters>
1776         <parameter name="info" transfer-ownership="none">
1777           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1778           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1779         </parameter>
1780         <parameter name="n" transfer-ownership="none">
1781           <doc xml:whitespace="preserve">index of constant to get</doc>
1782           <type name="int" c:type="gint"/>
1783         </parameter>
1784       </parameters>
1785     </function>
1786     <function name="interface_info_get_iface_struct"
1787               c:identifier="g_interface_info_get_iface_struct">
1788       <doc xml:whitespace="preserve">Returns the layout C structure associated with this #GInterface.
1789 g_base_info_unref() when done.</doc>
1790       <return-value transfer-ownership="full">
1791         <doc xml:whitespace="preserve">the #GIStructInfo or %NULL. Free it with</doc>
1792         <type name="IStructInfo" c:type="GIStructInfo*"/>
1793       </return-value>
1794       <parameters>
1795         <parameter name="info" transfer-ownership="none">
1796           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1797           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1798         </parameter>
1799       </parameters>
1800     </function>
1801     <function name="interface_info_get_method"
1802               c:identifier="g_interface_info_get_method">
1803       <doc xml:whitespace="preserve">Obtain an interface type method at index @n.
1804 g_base_info_unref() when done.</doc>
1805       <return-value transfer-ownership="full">
1806         <doc xml:whitespace="preserve">the #GIFunctionInfo. Free the struct by calling</doc>
1807         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
1808       </return-value>
1809       <parameters>
1810         <parameter name="info" transfer-ownership="none">
1811           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1812           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1813         </parameter>
1814         <parameter name="n" transfer-ownership="none">
1815           <doc xml:whitespace="preserve">index of method to get</doc>
1816           <type name="int" c:type="gint"/>
1817         </parameter>
1818       </parameters>
1819     </function>
1820     <function name="interface_info_get_n_constants"
1821               c:identifier="g_interface_info_get_n_constants">
1822       <doc xml:whitespace="preserve">Obtain the number of constants that this interface type has.</doc>
1823       <return-value transfer-ownership="none">
1824         <doc xml:whitespace="preserve">number of constants</doc>
1825         <type name="int" c:type="gint"/>
1826       </return-value>
1827       <parameters>
1828         <parameter name="info" transfer-ownership="none">
1829           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1830           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1831         </parameter>
1832       </parameters>
1833     </function>
1834     <function name="interface_info_get_n_methods"
1835               c:identifier="g_interface_info_get_n_methods">
1836       <doc xml:whitespace="preserve">Obtain the number of methods that this interface type has.</doc>
1837       <return-value transfer-ownership="none">
1838         <doc xml:whitespace="preserve">number of methods</doc>
1839         <type name="int" c:type="gint"/>
1840       </return-value>
1841       <parameters>
1842         <parameter name="info" transfer-ownership="none">
1843           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1844           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1845         </parameter>
1846       </parameters>
1847     </function>
1848     <function name="interface_info_get_n_prerequisites"
1849               c:identifier="g_interface_info_get_n_prerequisites">
1850       <doc xml:whitespace="preserve">Obtain the number of prerequisites for this interface type.
1851 A prerequisites is another interface that needs to be implemented for
1852 interface, similar to an base class for GObjects.</doc>
1853       <return-value transfer-ownership="none">
1854         <doc xml:whitespace="preserve">number of prerequisites</doc>
1855         <type name="int" c:type="gint"/>
1856       </return-value>
1857       <parameters>
1858         <parameter name="info" transfer-ownership="none">
1859           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1860           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1861         </parameter>
1862       </parameters>
1863     </function>
1864     <function name="interface_info_get_n_properties"
1865               c:identifier="g_interface_info_get_n_properties">
1866       <doc xml:whitespace="preserve">Obtain the number of properties that this interface type has.</doc>
1867       <return-value transfer-ownership="none">
1868         <doc xml:whitespace="preserve">number of properties</doc>
1869         <type name="int" c:type="gint"/>
1870       </return-value>
1871       <parameters>
1872         <parameter name="info" transfer-ownership="none">
1873           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1874           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1875         </parameter>
1876       </parameters>
1877     </function>
1878     <function name="interface_info_get_n_signals"
1879               c:identifier="g_interface_info_get_n_signals">
1880       <doc xml:whitespace="preserve">Obtain the number of signals that this interface type has.</doc>
1881       <return-value transfer-ownership="none">
1882         <doc xml:whitespace="preserve">number of signals</doc>
1883         <type name="int" c:type="gint"/>
1884       </return-value>
1885       <parameters>
1886         <parameter name="info" transfer-ownership="none">
1887           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1888           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1889         </parameter>
1890       </parameters>
1891     </function>
1892     <function name="interface_info_get_n_vfuncs"
1893               c:identifier="g_interface_info_get_n_vfuncs">
1894       <doc xml:whitespace="preserve">Obtain the number of virtual functions that this interface type has.</doc>
1895       <return-value transfer-ownership="none">
1896         <doc xml:whitespace="preserve">number of virtual functions</doc>
1897         <type name="int" c:type="gint"/>
1898       </return-value>
1899       <parameters>
1900         <parameter name="info" transfer-ownership="none">
1901           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1902           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1903         </parameter>
1904       </parameters>
1905     </function>
1906     <function name="interface_info_get_prerequisite"
1907               c:identifier="g_interface_info_get_prerequisite">
1908       <doc xml:whitespace="preserve">Obtain an interface type prerequisites index @n.
1909 g_base_info_unref() when done.</doc>
1910       <return-value transfer-ownership="full">
1911         <doc xml:whitespace="preserve">the prerequisites as a #GIBaseInfo. Free the struct by calling</doc>
1912         <type name="IBaseInfo" c:type="GIBaseInfo*"/>
1913       </return-value>
1914       <parameters>
1915         <parameter name="info" transfer-ownership="none">
1916           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1917           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1918         </parameter>
1919         <parameter name="n" transfer-ownership="none">
1920           <doc xml:whitespace="preserve">index of prerequisites to get</doc>
1921           <type name="int" c:type="gint"/>
1922         </parameter>
1923       </parameters>
1924     </function>
1925     <function name="interface_info_get_property"
1926               c:identifier="g_interface_info_get_property">
1927       <doc xml:whitespace="preserve">Obtain an interface type property at index @n.
1928 g_base_info_unref() when done.</doc>
1929       <return-value transfer-ownership="full">
1930         <doc xml:whitespace="preserve">the #GIPropertyInfo. Free the struct by calling</doc>
1931         <type name="IPropertyInfo" c:type="GIPropertyInfo*"/>
1932       </return-value>
1933       <parameters>
1934         <parameter name="info" transfer-ownership="none">
1935           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1936           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1937         </parameter>
1938         <parameter name="n" transfer-ownership="none">
1939           <doc xml:whitespace="preserve">index of property to get</doc>
1940           <type name="int" c:type="gint"/>
1941         </parameter>
1942       </parameters>
1943     </function>
1944     <function name="interface_info_get_signal"
1945               c:identifier="g_interface_info_get_signal">
1946       <doc xml:whitespace="preserve">Obtain an interface type signal at index @n.
1947 g_base_info_unref() when done.</doc>
1948       <return-value transfer-ownership="full">
1949         <doc xml:whitespace="preserve">the #GISignalInfo. Free the struct by calling</doc>
1950         <type name="ISignalInfo" c:type="GISignalInfo*"/>
1951       </return-value>
1952       <parameters>
1953         <parameter name="info" transfer-ownership="none">
1954           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1955           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1956         </parameter>
1957         <parameter name="n" transfer-ownership="none">
1958           <doc xml:whitespace="preserve">index of signal to get</doc>
1959           <type name="int" c:type="gint"/>
1960         </parameter>
1961       </parameters>
1962     </function>
1963     <function name="interface_info_get_vfunc"
1964               c:identifier="g_interface_info_get_vfunc">
1965       <doc xml:whitespace="preserve">Obtain an interface type virtual function at index @n.
1966 g_base_info_unref() when done.</doc>
1967       <return-value transfer-ownership="full">
1968         <doc xml:whitespace="preserve">the #GIVFuncInfo. Free the struct by calling</doc>
1969         <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
1970       </return-value>
1971       <parameters>
1972         <parameter name="info" transfer-ownership="none">
1973           <doc xml:whitespace="preserve">a #GIInterfaceInfo</doc>
1974           <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
1975         </parameter>
1976         <parameter name="n" transfer-ownership="none">
1977           <doc xml:whitespace="preserve">index of virtual function to get</doc>
1978           <type name="int" c:type="gint"/>
1979         </parameter>
1980       </parameters>
1981     </function>
1982     <function name="object_info_find_method"
1983               c:identifier="g_object_info_find_method">
1984       <doc xml:whitespace="preserve">Obtain a method of the object type given a @name. %NULL will be
1985 returned if there's no method available with that name.
1986 g_base_info_unref() when done.</doc>
1987       <return-value transfer-ownership="full">
1988         <doc xml:whitespace="preserve">the #GIFunctionInfo. Free the struct by calling</doc>
1989         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
1990       </return-value>
1991       <parameters>
1992         <parameter name="info" transfer-ownership="none">
1993           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
1994           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
1995         </parameter>
1996         <parameter name="name" transfer-ownership="none">
1997           <doc xml:whitespace="preserve">name of method to obtain</doc>
1998           <type name="utf8" c:type="gchar*"/>
1999         </parameter>
2000       </parameters>
2001     </function>
2002     <function name="object_info_find_vfunc"
2003               c:identifier="g_object_info_find_vfunc">
2004       <doc xml:whitespace="preserve">Locate a virtual function slot with name @name. Note that the namespace
2005 for virtuals is distinct from that of methods; there may or may not be
2006 a concrete method associated for a virtual. If there is one, it may
2007 be retrieved using g_vfunc_info_get_invoker(), otherwise %NULL will be
2008 returned.
2009 See the documentation for g_vfunc_info_get_invoker() for more
2010 information on invoking virtuals.
2011 g_base_info_unref() when done.</doc>
2012       <return-value transfer-ownership="full">
2013         <doc xml:whitespace="preserve">the #GIVFuncInfo, or %NULL. Free it with</doc>
2014         <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
2015       </return-value>
2016       <parameters>
2017         <parameter name="info" transfer-ownership="none">
2018           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2019           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2020         </parameter>
2021         <parameter name="name" transfer-ownership="none">
2022           <doc xml:whitespace="preserve">The name of a virtual function to find.</doc>
2023           <type name="utf8" c:type="gchar*"/>
2024         </parameter>
2025       </parameters>
2026     </function>
2027     <function name="object_info_get_abstract"
2028               c:identifier="g_object_info_get_abstract">
2029       <doc xml:whitespace="preserve">Obtain if the object type is an abstract type, eg if it cannot be
2030 instantiated</doc>
2031       <return-value transfer-ownership="none">
2032         <doc xml:whitespace="preserve">%TRUE if the object type is abstract</doc>
2033         <type name="boolean" c:type="gboolean"/>
2034       </return-value>
2035       <parameters>
2036         <parameter name="info" transfer-ownership="none">
2037           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2038           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2039         </parameter>
2040       </parameters>
2041     </function>
2042     <function name="object_info_get_class_struct"
2043               c:identifier="g_object_info_get_class_struct">
2044       <doc xml:whitespace="preserve">Every #GObject has two structures; an instance structure and a class
2045 structure.  This function returns the metadata for the class structure.
2046 g_base_info_unref() when done.</doc>
2047       <return-value transfer-ownership="full">
2048         <doc xml:whitespace="preserve">the #GIStructInfo or %NULL. Free with</doc>
2049         <type name="IStructInfo" c:type="GIStructInfo*"/>
2050       </return-value>
2051       <parameters>
2052         <parameter name="info" transfer-ownership="none">
2053           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2054           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2055         </parameter>
2056       </parameters>
2057     </function>
2058     <function name="object_info_get_constant"
2059               c:identifier="g_object_info_get_constant">
2060       <doc xml:whitespace="preserve">Obtain an object type constant at index @n.
2061 g_base_info_unref() when done.</doc>
2062       <return-value transfer-ownership="full">
2063         <doc xml:whitespace="preserve">the #GIConstantInfo. Free the struct by calling</doc>
2064         <type name="IConstantInfo" c:type="GIConstantInfo*"/>
2065       </return-value>
2066       <parameters>
2067         <parameter name="info" transfer-ownership="none">
2068           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2069           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2070         </parameter>
2071         <parameter name="n" transfer-ownership="none">
2072           <doc xml:whitespace="preserve">index of constant to get</doc>
2073           <type name="int" c:type="gint"/>
2074         </parameter>
2075       </parameters>
2076     </function>
2077     <function name="object_info_get_field"
2078               c:identifier="g_object_info_get_field">
2079       <doc xml:whitespace="preserve">Obtain an object type field at index @n.
2080 g_base_info_unref() when done.</doc>
2081       <return-value transfer-ownership="full">
2082         <doc xml:whitespace="preserve">the #GIFieldInfo. Free the struct by calling</doc>
2083         <type name="IFieldInfo" c:type="GIFieldInfo*"/>
2084       </return-value>
2085       <parameters>
2086         <parameter name="info" transfer-ownership="none">
2087           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2088           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2089         </parameter>
2090         <parameter name="n" transfer-ownership="none">
2091           <doc xml:whitespace="preserve">index of field to get</doc>
2092           <type name="int" c:type="gint"/>
2093         </parameter>
2094       </parameters>
2095     </function>
2096     <function name="object_info_get_fundamental"
2097               c:identifier="g_object_info_get_fundamental">
2098       <doc xml:whitespace="preserve">Obtain if the object type is of a fundamental type which is not
2099 G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.</doc>
2100       <return-value transfer-ownership="none">
2101         <doc xml:whitespace="preserve">%TRUE if the object type is a fundamental type</doc>
2102         <type name="boolean" c:type="gboolean"/>
2103       </return-value>
2104       <parameters>
2105         <parameter name="info" transfer-ownership="none">
2106           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2107           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2108         </parameter>
2109       </parameters>
2110     </function>
2111     <function name="object_info_get_get_value_function"
2112               c:identifier="g_object_info_get_get_value_function">
2113       <doc xml:whitespace="preserve">Obtain the symbol name of the function that should be called to convert
2114 an object instance pointer of this object type to a GValue.
2115 I's mainly used fundamental types. The type signature for the symbol
2116 is %GIObjectInfoGetValueFunction, to fetch the function pointer
2117 see g_object_info_get_get_value_function().</doc>
2118       <return-value transfer-ownership="none">
2119         <doc xml:whitespace="preserve">the symbol or %NULL</doc>
2120         <type name="utf8" c:type="char*"/>
2121       </return-value>
2122       <parameters>
2123         <parameter name="info" transfer-ownership="none">
2124           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2125           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2126         </parameter>
2127       </parameters>
2128     </function>
2129     <function name="object_info_get_get_value_function_pointer"
2130               c:identifier="g_object_info_get_get_value_function_pointer">
2131       <doc xml:whitespace="preserve">Obtain a pointer to a function which can be used to
2132 extract an instance of this object type out of a GValue.
2133 This takes derivation into account and will reversely traverse
2134 the base classes of this type, starting at the top type.</doc>
2135       <return-value transfer-ownership="full">
2136         <doc xml:whitespace="preserve">the function pointer or %NULL</doc>
2137         <type name="IObjectInfoGetValueFunction"
2138               c:type="GIObjectInfoGetValueFunction"/>
2139       </return-value>
2140       <parameters>
2141         <parameter name="info" transfer-ownership="none">
2142           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2143           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2144         </parameter>
2145       </parameters>
2146     </function>
2147     <function name="object_info_get_interface"
2148               c:identifier="g_object_info_get_interface">
2149       <doc xml:whitespace="preserve">Obtain an object type interface at index @n.
2150 g_base_info_unref() when done.</doc>
2151       <return-value transfer-ownership="full">
2152         <doc xml:whitespace="preserve">the #GIInterfaceInfo. Free the struct by calling</doc>
2153         <type name="IInterfaceInfo" c:type="GIInterfaceInfo*"/>
2154       </return-value>
2155       <parameters>
2156         <parameter name="info" transfer-ownership="none">
2157           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2158           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2159         </parameter>
2160         <parameter name="n" transfer-ownership="none">
2161           <doc xml:whitespace="preserve">index of interface to get</doc>
2162           <type name="int" c:type="gint"/>
2163         </parameter>
2164       </parameters>
2165     </function>
2166     <function name="object_info_get_method"
2167               c:identifier="g_object_info_get_method">
2168       <doc xml:whitespace="preserve">Obtain an object type method at index @n.
2169 g_base_info_unref() when done.</doc>
2170       <return-value transfer-ownership="full">
2171         <doc xml:whitespace="preserve">the #GIFunctionInfo. Free the struct by calling</doc>
2172         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
2173       </return-value>
2174       <parameters>
2175         <parameter name="info" transfer-ownership="none">
2176           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2177           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2178         </parameter>
2179         <parameter name="n" transfer-ownership="none">
2180           <doc xml:whitespace="preserve">index of method to get</doc>
2181           <type name="int" c:type="gint"/>
2182         </parameter>
2183       </parameters>
2184     </function>
2185     <function name="object_info_get_n_constants"
2186               c:identifier="g_object_info_get_n_constants">
2187       <doc xml:whitespace="preserve">Obtain the number of constants that this object type has.</doc>
2188       <return-value transfer-ownership="none">
2189         <doc xml:whitespace="preserve">number of constants</doc>
2190         <type name="int" c:type="gint"/>
2191       </return-value>
2192       <parameters>
2193         <parameter name="info" transfer-ownership="none">
2194           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2195           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2196         </parameter>
2197       </parameters>
2198     </function>
2199     <function name="object_info_get_n_fields"
2200               c:identifier="g_object_info_get_n_fields">
2201       <doc xml:whitespace="preserve">Obtain the number of fields that this object type has.</doc>
2202       <return-value transfer-ownership="none">
2203         <doc xml:whitespace="preserve">number of fields</doc>
2204         <type name="int" c:type="gint"/>
2205       </return-value>
2206       <parameters>
2207         <parameter name="info" transfer-ownership="none">
2208           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2209           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2210         </parameter>
2211       </parameters>
2212     </function>
2213     <function name="object_info_get_n_interfaces"
2214               c:identifier="g_object_info_get_n_interfaces">
2215       <doc xml:whitespace="preserve">Obtain the number of interfaces that this object type has.</doc>
2216       <return-value transfer-ownership="none">
2217         <doc xml:whitespace="preserve">number of interfaces</doc>
2218         <type name="int" c:type="gint"/>
2219       </return-value>
2220       <parameters>
2221         <parameter name="info" transfer-ownership="none">
2222           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2223           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2224         </parameter>
2225       </parameters>
2226     </function>
2227     <function name="object_info_get_n_methods"
2228               c:identifier="g_object_info_get_n_methods">
2229       <doc xml:whitespace="preserve">Obtain the number of methods that this object type has.</doc>
2230       <return-value transfer-ownership="none">
2231         <doc xml:whitespace="preserve">number of methods</doc>
2232         <type name="int" c:type="gint"/>
2233       </return-value>
2234       <parameters>
2235         <parameter name="info" transfer-ownership="none">
2236           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2237           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2238         </parameter>
2239       </parameters>
2240     </function>
2241     <function name="object_info_get_n_properties"
2242               c:identifier="g_object_info_get_n_properties">
2243       <doc xml:whitespace="preserve">Obtain the number of properties that this object type has.</doc>
2244       <return-value transfer-ownership="none">
2245         <doc xml:whitespace="preserve">number of properties</doc>
2246         <type name="int" c:type="gint"/>
2247       </return-value>
2248       <parameters>
2249         <parameter name="info" transfer-ownership="none">
2250           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2251           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2252         </parameter>
2253       </parameters>
2254     </function>
2255     <function name="object_info_get_n_signals"
2256               c:identifier="g_object_info_get_n_signals">
2257       <doc xml:whitespace="preserve">Obtain the number of signals that this object type has.</doc>
2258       <return-value transfer-ownership="none">
2259         <doc xml:whitespace="preserve">number of signals</doc>
2260         <type name="int" c:type="gint"/>
2261       </return-value>
2262       <parameters>
2263         <parameter name="info" transfer-ownership="none">
2264           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2265           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2266         </parameter>
2267       </parameters>
2268     </function>
2269     <function name="object_info_get_n_vfuncs"
2270               c:identifier="g_object_info_get_n_vfuncs">
2271       <doc xml:whitespace="preserve">Obtain the number of virtual functions that this object type has.</doc>
2272       <return-value transfer-ownership="none">
2273         <doc xml:whitespace="preserve">number of virtual functions</doc>
2274         <type name="int" c:type="gint"/>
2275       </return-value>
2276       <parameters>
2277         <parameter name="info" transfer-ownership="none">
2278           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2279           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2280         </parameter>
2281       </parameters>
2282     </function>
2283     <function name="object_info_get_parent"
2284               c:identifier="g_object_info_get_parent">
2285       <doc xml:whitespace="preserve">Obtain the parent of the object type.
2286 g_base_info_unref() when done.</doc>
2287       <return-value transfer-ownership="full">
2288         <doc xml:whitespace="preserve">the #GIObjectInfo. Free the struct by calling</doc>
2289         <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2290       </return-value>
2291       <parameters>
2292         <parameter name="info" transfer-ownership="none">
2293           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2294           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2295         </parameter>
2296       </parameters>
2297     </function>
2298     <function name="object_info_get_property"
2299               c:identifier="g_object_info_get_property">
2300       <doc xml:whitespace="preserve">Obtain an object type property at index @n.
2301 g_base_info_unref() when done.</doc>
2302       <return-value transfer-ownership="full">
2303         <doc xml:whitespace="preserve">the #GIPropertyInfo. Free the struct by calling</doc>
2304         <type name="IPropertyInfo" c:type="GIPropertyInfo*"/>
2305       </return-value>
2306       <parameters>
2307         <parameter name="info" transfer-ownership="none">
2308           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2309           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2310         </parameter>
2311         <parameter name="n" transfer-ownership="none">
2312           <doc xml:whitespace="preserve">index of property to get</doc>
2313           <type name="int" c:type="gint"/>
2314         </parameter>
2315       </parameters>
2316     </function>
2317     <function name="object_info_get_ref_function"
2318               c:identifier="g_object_info_get_ref_function">
2319       <doc xml:whitespace="preserve">Obtain the symbol name of the function that should be called to ref this
2320 object type. It's mainly used fundamental types. The type signature for
2321 the symbol is %GIObjectInfoRefFunction, to fetch the function pointer
2322 see g_object_info_get_ref_function().</doc>
2323       <return-value transfer-ownership="none">
2324         <doc xml:whitespace="preserve">the symbol or %NULL</doc>
2325         <type name="utf8" c:type="char*"/>
2326       </return-value>
2327       <parameters>
2328         <parameter name="info" transfer-ownership="none">
2329           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2330           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2331         </parameter>
2332       </parameters>
2333     </function>
2334     <function name="object_info_get_ref_function_pointer"
2335               c:identifier="g_object_info_get_ref_function_pointer">
2336       <doc xml:whitespace="preserve">Obtain a pointer to a function which can be used to
2337 increase the reference count an instance of this object type.
2338 This takes derivation into account and will reversely traverse
2339 the base classes of this type, starting at the top type.</doc>
2340       <return-value transfer-ownership="full">
2341         <doc xml:whitespace="preserve">the function pointer or %NULL</doc>
2342         <type name="IObjectInfoRefFunction" c:type="GIObjectInfoRefFunction"/>
2343       </return-value>
2344       <parameters>
2345         <parameter name="info" transfer-ownership="none">
2346           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2347           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2348         </parameter>
2349       </parameters>
2350     </function>
2351     <function name="object_info_get_set_value_function"
2352               c:identifier="g_object_info_get_set_value_function">
2353       <doc xml:whitespace="preserve">Obtain the symbol name of the function that should be called to convert
2354 set a GValue giving an object instance pointer of this object type.
2355 I's mainly used fundamental types. The type signature for the symbol
2356 is %GIObjectInfoSetValueFunction, to fetch the function pointer
2357 see g_object_info_get_set_value_function().</doc>
2358       <return-value transfer-ownership="none">
2359         <doc xml:whitespace="preserve">the symbol or %NULL</doc>
2360         <type name="utf8" c:type="char*"/>
2361       </return-value>
2362       <parameters>
2363         <parameter name="info" transfer-ownership="none">
2364           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2365           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2366         </parameter>
2367       </parameters>
2368     </function>
2369     <function name="object_info_get_set_value_function_pointer"
2370               c:identifier="g_object_info_get_set_value_function_pointer">
2371       <doc xml:whitespace="preserve">Obtain a pointer to a function which can be used to
2372 set a GValue given an instance of this object type.
2373 This takes derivation into account and will reversely traverse
2374 the base classes of this type, starting at the top type.</doc>
2375       <return-value transfer-ownership="full">
2376         <doc xml:whitespace="preserve">the function pointer or %NULL</doc>
2377         <type name="IObjectInfoSetValueFunction"
2378               c:type="GIObjectInfoSetValueFunction"/>
2379       </return-value>
2380       <parameters>
2381         <parameter name="info" transfer-ownership="none">
2382           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2383           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2384         </parameter>
2385       </parameters>
2386     </function>
2387     <function name="object_info_get_signal"
2388               c:identifier="g_object_info_get_signal">
2389       <doc xml:whitespace="preserve">Obtain an object type signal at index @n.
2390 g_base_info_unref() when done.</doc>
2391       <return-value transfer-ownership="full">
2392         <doc xml:whitespace="preserve">the #GISignalInfo. Free the struct by calling</doc>
2393         <type name="ISignalInfo" c:type="GISignalInfo*"/>
2394       </return-value>
2395       <parameters>
2396         <parameter name="info" transfer-ownership="none">
2397           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2398           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2399         </parameter>
2400         <parameter name="n" transfer-ownership="none">
2401           <doc xml:whitespace="preserve">index of signal to get</doc>
2402           <type name="int" c:type="gint"/>
2403         </parameter>
2404       </parameters>
2405     </function>
2406     <function name="object_info_get_type_init"
2407               c:identifier="g_object_info_get_type_init">
2408       <doc xml:whitespace="preserve">Obtain the function which when called will return the GType
2409 function for which this object type is registered.</doc>
2410       <return-value transfer-ownership="none">
2411         <doc xml:whitespace="preserve">the type init function</doc>
2412         <type name="utf8" c:type="gchar*"/>
2413       </return-value>
2414       <parameters>
2415         <parameter name="info" transfer-ownership="none">
2416           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2417           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2418         </parameter>
2419       </parameters>
2420     </function>
2421     <function name="object_info_get_type_name"
2422               c:identifier="g_object_info_get_type_name">
2423       <doc xml:whitespace="preserve">Obtain the name of the objects class/type.</doc>
2424       <return-value transfer-ownership="none">
2425         <doc xml:whitespace="preserve">name of the objects type</doc>
2426         <type name="utf8" c:type="gchar*"/>
2427       </return-value>
2428       <parameters>
2429         <parameter name="info" transfer-ownership="none">
2430           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2431           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2432         </parameter>
2433       </parameters>
2434     </function>
2435     <function name="object_info_get_unref_function"
2436               c:identifier="g_object_info_get_unref_function">
2437       <doc xml:whitespace="preserve">Obtain the symbol name of the function that should be called to unref this
2438 object type. It's mainly used fundamental types. The type signature for
2439 the symbol is %GIObjectInfoUnrefFunction, to fetch the function pointer
2440 see g_object_info_get_unref_function().</doc>
2441       <return-value transfer-ownership="none">
2442         <doc xml:whitespace="preserve">the symbol or %NULL</doc>
2443         <type name="utf8" c:type="char*"/>
2444       </return-value>
2445       <parameters>
2446         <parameter name="info" transfer-ownership="none">
2447           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2448           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2449         </parameter>
2450       </parameters>
2451     </function>
2452     <function name="object_info_get_unref_function_pointer"
2453               c:identifier="g_object_info_get_unref_function_pointer">
2454       <doc xml:whitespace="preserve">Obtain a pointer to a function which can be used to
2455 decrease the reference count an instance of this object type.
2456 This takes derivation into account and will reversely traverse
2457 the base classes of this type, starting at the top type.</doc>
2458       <return-value transfer-ownership="full">
2459         <doc xml:whitespace="preserve">the function pointer or %NULL</doc>
2460         <type name="IObjectInfoUnrefFunction"
2461               c:type="GIObjectInfoUnrefFunction"/>
2462       </return-value>
2463       <parameters>
2464         <parameter name="info" transfer-ownership="none">
2465           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2466           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2467         </parameter>
2468       </parameters>
2469     </function>
2470     <function name="object_info_get_vfunc"
2471               c:identifier="g_object_info_get_vfunc">
2472       <doc xml:whitespace="preserve">Obtain an object type virtual function at index @n.
2473 g_base_info_unref() when done.</doc>
2474       <return-value transfer-ownership="full">
2475         <doc xml:whitespace="preserve">the #GIVFuncInfo. Free the struct by calling</doc>
2476         <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
2477       </return-value>
2478       <parameters>
2479         <parameter name="info" transfer-ownership="none">
2480           <doc xml:whitespace="preserve">a #GIObjectInfo</doc>
2481           <type name="IObjectInfo" c:type="GIObjectInfo*"/>
2482         </parameter>
2483         <parameter name="n" transfer-ownership="none">
2484           <doc xml:whitespace="preserve">index of virtual function to get</doc>
2485           <type name="int" c:type="gint"/>
2486         </parameter>
2487       </parameters>
2488     </function>
2489     <function name="property_info_get_flags"
2490               c:identifier="g_property_info_get_flags">
2491       <doc xml:whitespace="preserve">Obtain the flags for this property info. See #GParamFags for
2492 more information about possible flag values.</doc>
2493       <return-value transfer-ownership="full">
2494         <doc xml:whitespace="preserve">the flags</doc>
2495         <type name="GObject.ParamFlags" c:type="GParamFlags"/>
2496       </return-value>
2497       <parameters>
2498         <parameter name="info" transfer-ownership="none">
2499           <doc xml:whitespace="preserve">a #GIPropertyInfo</doc>
2500           <type name="IPropertyInfo" c:type="GIPropertyInfo*"/>
2501         </parameter>
2502       </parameters>
2503     </function>
2504     <function name="property_info_get_ownership_transfer"
2505               c:identifier="g_property_info_get_ownership_transfer">
2506       <doc xml:whitespace="preserve">Obtain the ownership transfer for this property. See #GITransfer for more
2507 information about transfer values.</doc>
2508       <return-value transfer-ownership="full">
2509         <doc xml:whitespace="preserve">the transfer</doc>
2510         <type name="ITransfer" c:type="GITransfer"/>
2511       </return-value>
2512       <parameters>
2513         <parameter name="info" transfer-ownership="none">
2514           <doc xml:whitespace="preserve">a #GIPropertyInfo</doc>
2515           <type name="IPropertyInfo" c:type="GIPropertyInfo*"/>
2516         </parameter>
2517       </parameters>
2518     </function>
2519     <function name="property_info_get_type"
2520               c:identifier="g_property_info_get_type">
2521       <doc xml:whitespace="preserve">Obtain the type information for the property @info.
2522 g_base_info_unref() when done.</doc>
2523       <return-value transfer-ownership="full">
2524         <doc xml:whitespace="preserve">the #GITypeInfo, free it with</doc>
2525         <type name="ITypeInfo" c:type="GITypeInfo*"/>
2526       </return-value>
2527       <parameters>
2528         <parameter name="info" transfer-ownership="none">
2529           <doc xml:whitespace="preserve">a #GIPropertyInfo</doc>
2530           <type name="IPropertyInfo" c:type="GIPropertyInfo*"/>
2531         </parameter>
2532       </parameters>
2533     </function>
2534     <function name="registered_type_info_get_g_type"
2535               c:identifier="g_registered_type_info_get_g_type">
2536       <doc xml:whitespace="preserve">Obtain the #GType for this registered type.</doc>
2537       <return-value transfer-ownership="none">
2538         <doc xml:whitespace="preserve">the #GType.</doc>
2539         <type name="GType" c:type="GType"/>
2540       </return-value>
2541       <parameters>
2542         <parameter name="info" transfer-ownership="none">
2543           <doc xml:whitespace="preserve">a #GIRegisteredTypeInfo</doc>
2544           <type name="IRegisteredTypeInfo" c:type="GIRegisteredTypeInfo*"/>
2545         </parameter>
2546       </parameters>
2547     </function>
2548     <function name="registered_type_info_get_type_init"
2549               c:identifier="g_registered_type_info_get_type_init">
2550       <doc xml:whitespace="preserve">Obtain the type init function for @info. The type init function is the
2551 function which will register the GType within the GObject type system.
2552 Usually this is not called by langauge bindings or applications, use
2553 g_registered_type_info_get_g_type() directly instead.
2554 passing into g_module_symbol().</doc>
2555       <return-value transfer-ownership="none">
2556         <doc xml:whitespace="preserve">the symbol name of the type init function, suitable for</doc>
2557         <type name="utf8" c:type="gchar*"/>
2558       </return-value>
2559       <parameters>
2560         <parameter name="info" transfer-ownership="none">
2561           <doc xml:whitespace="preserve">a #GIRegisteredTypeInfo</doc>
2562           <type name="IRegisteredTypeInfo" c:type="GIRegisteredTypeInfo*"/>
2563         </parameter>
2564       </parameters>
2565     </function>
2566     <function name="registered_type_info_get_type_name"
2567               c:identifier="g_registered_type_info_get_type_name">
2568       <doc xml:whitespace="preserve">Obtain the type name of the struct within the GObject type system.
2569 This type can be passed to g_type_name() to get a #GType.</doc>
2570       <return-value transfer-ownership="none">
2571         <doc xml:whitespace="preserve">the type name</doc>
2572         <type name="utf8" c:type="gchar*"/>
2573       </return-value>
2574       <parameters>
2575         <parameter name="info" transfer-ownership="none">
2576           <doc xml:whitespace="preserve">a #GIRegisteredTypeInfo</doc>
2577           <type name="IRegisteredTypeInfo" c:type="GIRegisteredTypeInfo*"/>
2578         </parameter>
2579       </parameters>
2580     </function>
2581     <function name="signal_info_get_class_closure"
2582               c:identifier="g_signal_info_get_class_closure">
2583       <doc xml:whitespace="preserve">Obtain the class closure for this signal if one is set. The class
2584 closure is a virtual function on the type that the signal belongs to.
2585 If the signal lacks a closure %NULL will be returned.</doc>
2586       <return-value transfer-ownership="full">
2587         <doc xml:whitespace="preserve">the class closure or %NULL</doc>
2588         <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
2589       </return-value>
2590       <parameters>
2591         <parameter name="info" transfer-ownership="none">
2592           <doc xml:whitespace="preserve">a #GISignalInfo</doc>
2593           <type name="ISignalInfo" c:type="GISignalInfo*"/>
2594         </parameter>
2595       </parameters>
2596     </function>
2597     <function name="signal_info_get_flags"
2598               c:identifier="g_signal_info_get_flags">
2599       <doc xml:whitespace="preserve">Obtain the flags for this signal info. See #GSignalFlags for
2600 more information about possible flag values.</doc>
2601       <return-value transfer-ownership="full">
2602         <doc xml:whitespace="preserve">the flags</doc>
2603         <type name="GObject.SignalFlags" c:type="GSignalFlags"/>
2604       </return-value>
2605       <parameters>
2606         <parameter name="info" transfer-ownership="none">
2607           <doc xml:whitespace="preserve">a #GISignalInfo</doc>
2608           <type name="ISignalInfo" c:type="GISignalInfo*"/>
2609         </parameter>
2610       </parameters>
2611     </function>
2612     <function name="signal_info_true_stops_emit"
2613               c:identifier="g_signal_info_true_stops_emit">
2614       <doc xml:whitespace="preserve">Obtain if the returning true in the signal handler will
2615 stop the emission of the signal.</doc>
2616       <return-value transfer-ownership="none">
2617         <doc xml:whitespace="preserve">%TRUE if returning true stops the signal emission</doc>
2618         <type name="boolean" c:type="gboolean"/>
2619       </return-value>
2620       <parameters>
2621         <parameter name="info" transfer-ownership="none">
2622           <doc xml:whitespace="preserve">a #GISignalInfo</doc>
2623           <type name="ISignalInfo" c:type="GISignalInfo*"/>
2624         </parameter>
2625       </parameters>
2626     </function>
2627     <function name="struct_info_find_method"
2628               c:identifier="g_struct_info_find_method">
2629       <return-value transfer-ownership="full">
2630         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
2631       </return-value>
2632       <parameters>
2633         <parameter name="info" transfer-ownership="none">
2634           <type name="IStructInfo" c:type="GIStructInfo*"/>
2635         </parameter>
2636         <parameter name="name" transfer-ownership="none">
2637           <type name="utf8" c:type="gchar*"/>
2638         </parameter>
2639       </parameters>
2640     </function>
2641     <function name="struct_info_get_alignment"
2642               c:identifier="g_struct_info_get_alignment">
2643       <return-value transfer-ownership="none">
2644         <type name="gsize" c:type="gsize"/>
2645       </return-value>
2646       <parameters>
2647         <parameter name="info" transfer-ownership="none">
2648           <type name="IStructInfo" c:type="GIStructInfo*"/>
2649         </parameter>
2650       </parameters>
2651     </function>
2652     <function name="struct_info_get_field"
2653               c:identifier="g_struct_info_get_field">
2654       <return-value transfer-ownership="full">
2655         <type name="IFieldInfo" c:type="GIFieldInfo*"/>
2656       </return-value>
2657       <parameters>
2658         <parameter name="info" transfer-ownership="none">
2659           <type name="IStructInfo" c:type="GIStructInfo*"/>
2660         </parameter>
2661         <parameter name="n" transfer-ownership="none">
2662           <type name="int" c:type="gint"/>
2663         </parameter>
2664       </parameters>
2665     </function>
2666     <function name="struct_info_get_method"
2667               c:identifier="g_struct_info_get_method">
2668       <return-value transfer-ownership="full">
2669         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
2670       </return-value>
2671       <parameters>
2672         <parameter name="info" transfer-ownership="none">
2673           <type name="IStructInfo" c:type="GIStructInfo*"/>
2674         </parameter>
2675         <parameter name="n" transfer-ownership="none">
2676           <type name="int" c:type="gint"/>
2677         </parameter>
2678       </parameters>
2679     </function>
2680     <function name="struct_info_get_n_fields"
2681               c:identifier="g_struct_info_get_n_fields">
2682       <return-value transfer-ownership="none">
2683         <type name="int" c:type="gint"/>
2684       </return-value>
2685       <parameters>
2686         <parameter name="info" transfer-ownership="none">
2687           <type name="IStructInfo" c:type="GIStructInfo*"/>
2688         </parameter>
2689       </parameters>
2690     </function>
2691     <function name="struct_info_get_n_methods"
2692               c:identifier="g_struct_info_get_n_methods">
2693       <return-value transfer-ownership="none">
2694         <type name="int" c:type="gint"/>
2695       </return-value>
2696       <parameters>
2697         <parameter name="info" transfer-ownership="none">
2698           <type name="IStructInfo" c:type="GIStructInfo*"/>
2699         </parameter>
2700       </parameters>
2701     </function>
2702     <function name="struct_info_get_size"
2703               c:identifier="g_struct_info_get_size">
2704       <return-value transfer-ownership="none">
2705         <type name="gsize" c:type="gsize"/>
2706       </return-value>
2707       <parameters>
2708         <parameter name="info" transfer-ownership="none">
2709           <type name="IStructInfo" c:type="GIStructInfo*"/>
2710         </parameter>
2711       </parameters>
2712     </function>
2713     <function name="struct_info_is_foreign"
2714               c:identifier="g_struct_info_is_foreign">
2715       <return-value transfer-ownership="none">
2716         <type name="boolean" c:type="gboolean"/>
2717       </return-value>
2718       <parameters>
2719         <parameter name="info" transfer-ownership="none">
2720           <type name="IStructInfo" c:type="GIStructInfo*"/>
2721         </parameter>
2722       </parameters>
2723     </function>
2724     <function name="struct_info_is_gtype_struct"
2725               c:identifier="g_struct_info_is_gtype_struct">
2726       <doc xml:whitespace="preserve">Return true if this structure represents the "class structure" for some
2727 #GObject or #GInterface.  This function is mainly useful to hide this kind of structure
2728 from generated public APIs.</doc>
2729       <return-value transfer-ownership="none">
2730         <doc xml:whitespace="preserve">%TRUE if this is a class struct, %FALSE otherwise</doc>
2731         <type name="boolean" c:type="gboolean"/>
2732       </return-value>
2733       <parameters>
2734         <parameter name="info" transfer-ownership="none">
2735           <doc xml:whitespace="preserve">a #GIStructInfo</doc>
2736           <type name="IStructInfo" c:type="GIStructInfo*"/>
2737         </parameter>
2738       </parameters>
2739     </function>
2740     <function name="type_info_get_array_fixed_size"
2741               c:identifier="g_type_info_get_array_fixed_size">
2742       <doc xml:whitespace="preserve">Obtain the fixed array size of the type. The type tag must be a
2743 #GI_TYPE_TAG_ARRAY or -1 will returned.</doc>
2744       <return-value transfer-ownership="none">
2745         <doc xml:whitespace="preserve">the size or -1 if it's not an array</doc>
2746         <type name="int" c:type="gint"/>
2747       </return-value>
2748       <parameters>
2749         <parameter name="info" transfer-ownership="none">
2750           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2751           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2752         </parameter>
2753       </parameters>
2754     </function>
2755     <function name="type_info_get_array_length"
2756               c:identifier="g_type_info_get_array_length">
2757       <doc xml:whitespace="preserve">Obtain the array length of the type. The type tag must be a
2758 #GI_TYPE_TAG_ARRAY or -1 will returned.</doc>
2759       <return-value transfer-ownership="none">
2760         <doc xml:whitespace="preserve">the array length, or -1 if the type is not an array</doc>
2761         <type name="int" c:type="gint"/>
2762       </return-value>
2763       <parameters>
2764         <parameter name="info" transfer-ownership="none">
2765           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2766           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2767         </parameter>
2768       </parameters>
2769     </function>
2770     <function name="type_info_get_array_type"
2771               c:identifier="g_type_info_get_array_type">
2772       <doc xml:whitespace="preserve">Obtain the array type for this type. See #GIArrayType for a list of
2773 possible values. If the type tag of this type is not array, -1 will be
2774 returned.</doc>
2775       <return-value transfer-ownership="full">
2776         <doc xml:whitespace="preserve">the array type or -1</doc>
2777         <type name="IArrayType" c:type="GIArrayType"/>
2778       </return-value>
2779       <parameters>
2780         <parameter name="info" transfer-ownership="none">
2781           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2782           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2783         </parameter>
2784       </parameters>
2785     </function>
2786     <function name="type_info_get_error_domain"
2787               c:identifier="g_type_info_get_error_domain">
2788       <doc xml:whitespace="preserve">Obtain the error domains at index @n for this type. The type tag
2789 must be a #GI_TYPE_TAG_ERROR or -1 will be returned.
2790 free the struct with g_base_info_unref() when done.</doc>
2791       <return-value transfer-ownership="full">
2792         <doc xml:whitespace="preserve">the error domain or %NULL if type tag is wrong,</doc>
2793         <type name="IErrorDomainInfo" c:type="GIErrorDomainInfo*"/>
2794       </return-value>
2795       <parameters>
2796         <parameter name="info" transfer-ownership="none">
2797           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2798           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2799         </parameter>
2800         <parameter name="n" transfer-ownership="none">
2801           <doc xml:whitespace="preserve">index of error domain</doc>
2802           <type name="int" c:type="gint"/>
2803         </parameter>
2804       </parameters>
2805     </function>
2806     <function name="type_info_get_interface"
2807               c:identifier="g_type_info_get_interface">
2808       <doc xml:whitespace="preserve">For types which have #GI_TYPE_TAG_INTERFACE such as GObjects and boxed values,
2809 this function returns full information about the referenced type.  You can then
2810 inspect the type of the returned #GIBaseInfo to further query whether it is
2811 a concrete GObject, a GInterface, a structure, etc. using g_base_info_get_type().
2812 g_base_info_unref() when done.</doc>
2813       <return-value transfer-ownership="full">
2814         <doc xml:whitespace="preserve">the #GIBaseInfo, or %NULL. Free it with</doc>
2815         <type name="IBaseInfo" c:type="GIBaseInfo*"/>
2816       </return-value>
2817       <parameters>
2818         <parameter name="info" transfer-ownership="none">
2819           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2820           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2821         </parameter>
2822       </parameters>
2823     </function>
2824     <function name="type_info_get_n_error_domains"
2825               c:identifier="g_type_info_get_n_error_domains">
2826       <doc xml:whitespace="preserve">Obtain the number of error domains for this type. The type tag
2827 must be a #GI_TYPE_TAG_ERROR or -1 will be returned.</doc>
2828       <return-value transfer-ownership="none">
2829         <doc xml:whitespace="preserve">number of error domains or -1</doc>
2830         <type name="int" c:type="gint"/>
2831       </return-value>
2832       <parameters>
2833         <parameter name="info" transfer-ownership="none">
2834           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2835           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2836         </parameter>
2837       </parameters>
2838     </function>
2839     <function name="type_info_get_param_type"
2840               c:identifier="g_type_info_get_param_type">
2841       <doc xml:whitespace="preserve">Obtain the parameter type @n.</doc>
2842       <return-value transfer-ownership="full">
2843         <doc xml:whitespace="preserve">the param type info</doc>
2844         <type name="ITypeInfo" c:type="GITypeInfo*"/>
2845       </return-value>
2846       <parameters>
2847         <parameter name="info" transfer-ownership="none">
2848           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2849           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2850         </parameter>
2851         <parameter name="n" transfer-ownership="none">
2852           <doc xml:whitespace="preserve">index of the parameter</doc>
2853           <type name="int" c:type="gint"/>
2854         </parameter>
2855       </parameters>
2856     </function>
2857     <function name="type_info_get_tag" c:identifier="g_type_info_get_tag">
2858       <doc xml:whitespace="preserve">Obtain the type tag for the type. See #GITypeTag for a list
2859 of type tags.</doc>
2860       <return-value transfer-ownership="full">
2861         <doc xml:whitespace="preserve">the type tag</doc>
2862         <type name="ITypeTag" c:type="GITypeTag"/>
2863       </return-value>
2864       <parameters>
2865         <parameter name="info" transfer-ownership="none">
2866           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2867           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2868         </parameter>
2869       </parameters>
2870     </function>
2871     <function name="type_info_is_pointer"
2872               c:identifier="g_type_info_is_pointer">
2873       <doc xml:whitespace="preserve">Obtain if the type is passed as a reference.</doc>
2874       <return-value transfer-ownership="none">
2875         <doc xml:whitespace="preserve">%TRUE if it is a pointer</doc>
2876         <type name="boolean" c:type="gboolean"/>
2877       </return-value>
2878       <parameters>
2879         <parameter name="info" transfer-ownership="none">
2880           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2881           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2882         </parameter>
2883       </parameters>
2884     </function>
2885     <function name="type_info_is_zero_terminated"
2886               c:identifier="g_type_info_is_zero_terminated">
2887       <doc xml:whitespace="preserve">Obtain if the last element of the array is %NULL. The type tag must be a
2888 #GI_TYPE_TAG_ARRAY or %FALSE will returned.</doc>
2889       <return-value transfer-ownership="none">
2890         <doc xml:whitespace="preserve">%TRUE if zero terminated</doc>
2891         <type name="boolean" c:type="gboolean"/>
2892       </return-value>
2893       <parameters>
2894         <parameter name="info" transfer-ownership="none">
2895           <doc xml:whitespace="preserve">a #GITypeInfo</doc>
2896           <type name="ITypeInfo" c:type="GITypeInfo*"/>
2897         </parameter>
2898       </parameters>
2899     </function>
2900     <function name="type_tag_to_string" c:identifier="g_type_tag_to_string">
2901       <doc xml:whitespace="preserve">Obtain a string representation of @type</doc>
2902       <return-value transfer-ownership="none">
2903         <doc xml:whitespace="preserve">the string</doc>
2904         <type name="utf8" c:type="gchar*"/>
2905       </return-value>
2906       <parameters>
2907         <parameter name="type" transfer-ownership="none">
2908           <doc xml:whitespace="preserve">the type_tag</doc>
2909           <type name="ITypeTag" c:type="GITypeTag"/>
2910         </parameter>
2911       </parameters>
2912     </function>
2913     <function name="union_info_find_method"
2914               c:identifier="g_union_info_find_method">
2915       <return-value transfer-ownership="full">
2916         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
2917       </return-value>
2918       <parameters>
2919         <parameter name="info" transfer-ownership="none">
2920           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
2921         </parameter>
2922         <parameter name="name" transfer-ownership="none">
2923           <type name="utf8" c:type="gchar*"/>
2924         </parameter>
2925       </parameters>
2926     </function>
2927     <function name="union_info_get_alignment"
2928               c:identifier="g_union_info_get_alignment">
2929       <return-value transfer-ownership="none">
2930         <type name="gsize" c:type="gsize"/>
2931       </return-value>
2932       <parameters>
2933         <parameter name="info" transfer-ownership="none">
2934           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
2935         </parameter>
2936       </parameters>
2937     </function>
2938     <function name="union_info_get_discriminator"
2939               c:identifier="g_union_info_get_discriminator">
2940       <return-value transfer-ownership="full">
2941         <type name="IConstantInfo" c:type="GIConstantInfo*"/>
2942       </return-value>
2943       <parameters>
2944         <parameter name="info" transfer-ownership="none">
2945           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
2946         </parameter>
2947         <parameter name="n" transfer-ownership="none">
2948           <type name="int" c:type="gint"/>
2949         </parameter>
2950       </parameters>
2951     </function>
2952     <function name="union_info_get_discriminator_offset"
2953               c:identifier="g_union_info_get_discriminator_offset">
2954       <return-value transfer-ownership="none">
2955         <type name="int" c:type="gint"/>
2956       </return-value>
2957       <parameters>
2958         <parameter name="info" transfer-ownership="none">
2959           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
2960         </parameter>
2961       </parameters>
2962     </function>
2963     <function name="union_info_get_discriminator_type"
2964               c:identifier="g_union_info_get_discriminator_type">
2965       <return-value transfer-ownership="full">
2966         <type name="ITypeInfo" c:type="GITypeInfo*"/>
2967       </return-value>
2968       <parameters>
2969         <parameter name="info" transfer-ownership="none">
2970           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
2971         </parameter>
2972       </parameters>
2973     </function>
2974     <function name="union_info_get_field"
2975               c:identifier="g_union_info_get_field">
2976       <return-value transfer-ownership="full">
2977         <type name="IFieldInfo" c:type="GIFieldInfo*"/>
2978       </return-value>
2979       <parameters>
2980         <parameter name="info" transfer-ownership="none">
2981           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
2982         </parameter>
2983         <parameter name="n" transfer-ownership="none">
2984           <type name="int" c:type="gint"/>
2985         </parameter>
2986       </parameters>
2987     </function>
2988     <function name="union_info_get_method"
2989               c:identifier="g_union_info_get_method">
2990       <return-value transfer-ownership="full">
2991         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
2992       </return-value>
2993       <parameters>
2994         <parameter name="info" transfer-ownership="none">
2995           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
2996         </parameter>
2997         <parameter name="n" transfer-ownership="none">
2998           <type name="int" c:type="gint"/>
2999         </parameter>
3000       </parameters>
3001     </function>
3002     <function name="union_info_get_n_fields"
3003               c:identifier="g_union_info_get_n_fields">
3004       <return-value transfer-ownership="none">
3005         <type name="int" c:type="gint"/>
3006       </return-value>
3007       <parameters>
3008         <parameter name="info" transfer-ownership="none">
3009           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
3010         </parameter>
3011       </parameters>
3012     </function>
3013     <function name="union_info_get_n_methods"
3014               c:identifier="g_union_info_get_n_methods">
3015       <return-value transfer-ownership="none">
3016         <type name="int" c:type="gint"/>
3017       </return-value>
3018       <parameters>
3019         <parameter name="info" transfer-ownership="none">
3020           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
3021         </parameter>
3022       </parameters>
3023     </function>
3024     <function name="union_info_get_size" c:identifier="g_union_info_get_size">
3025       <return-value transfer-ownership="none">
3026         <type name="gsize" c:type="gsize"/>
3027       </return-value>
3028       <parameters>
3029         <parameter name="info" transfer-ownership="none">
3030           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
3031         </parameter>
3032       </parameters>
3033     </function>
3034     <function name="union_info_is_discriminated"
3035               c:identifier="g_union_info_is_discriminated">
3036       <return-value transfer-ownership="none">
3037         <type name="boolean" c:type="gboolean"/>
3038       </return-value>
3039       <parameters>
3040         <parameter name="info" transfer-ownership="none">
3041           <type name="IUnionInfo" c:type="GIUnionInfo*"/>
3042         </parameter>
3043       </parameters>
3044     </function>
3045     <function name="value_info_get_value"
3046               c:identifier="g_value_info_get_value">
3047       <doc xml:whitespace="preserve">Obtain the enumeration value of the #GIValueInfo.</doc>
3048       <return-value transfer-ownership="none">
3049         <doc xml:whitespace="preserve">the enumeration value</doc>
3050         <type name="long" c:type="glong"/>
3051       </return-value>
3052       <parameters>
3053         <parameter name="info" transfer-ownership="none">
3054           <doc xml:whitespace="preserve">a #GIValueInfo</doc>
3055           <type name="IValueInfo" c:type="GIValueInfo*"/>
3056         </parameter>
3057       </parameters>
3058     </function>
3059     <function name="vfunc_info_get_flags"
3060               c:identifier="g_vfunc_info_get_flags">
3061       <doc xml:whitespace="preserve">Obtain the flags for this virtual function info. See #GIVFuncInfoFlags for
3062 more information about possible flag values.</doc>
3063       <return-value transfer-ownership="full">
3064         <doc xml:whitespace="preserve">the flags</doc>
3065         <type name="IVFuncInfoFlags" c:type="GIVFuncInfoFlags"/>
3066       </return-value>
3067       <parameters>
3068         <parameter name="info" transfer-ownership="none">
3069           <doc xml:whitespace="preserve">a #GIVFuncInfo</doc>
3070           <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
3071         </parameter>
3072       </parameters>
3073     </function>
3074     <function name="vfunc_info_get_invoker"
3075               c:identifier="g_vfunc_info_get_invoker">
3076       <doc xml:whitespace="preserve">If this virtual function has an associated invoker method, this
3077 method will return it.  An invoker method is a C entry point.
3078 Not all virtuals will have invokers.
3079 g_base_info_unref() when done.</doc>
3080       <return-value transfer-ownership="full">
3081         <doc xml:whitespace="preserve">the #GIVFuncInfo or %NULL. Free it with</doc>
3082         <type name="IFunctionInfo" c:type="GIFunctionInfo*"/>
3083       </return-value>
3084       <parameters>
3085         <parameter name="info" transfer-ownership="none">
3086           <doc xml:whitespace="preserve">a #GIVFuncInfo</doc>
3087           <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
3088         </parameter>
3089       </parameters>
3090     </function>
3091     <function name="vfunc_info_get_offset"
3092               c:identifier="g_vfunc_info_get_offset">
3093       <doc xml:whitespace="preserve">Obtain the offset of the function pointer in the class struct. The value
3094 0xFFFF indicates that the struct offset is unknown.</doc>
3095       <return-value transfer-ownership="none">
3096         <doc xml:whitespace="preserve">the struct offset or 0xFFFF if it's unknown</doc>
3097         <type name="int" c:type="gint"/>
3098       </return-value>
3099       <parameters>
3100         <parameter name="info" transfer-ownership="none">
3101           <doc xml:whitespace="preserve">a #GIVFuncInfo</doc>
3102           <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
3103         </parameter>
3104       </parameters>
3105     </function>
3106     <function name="vfunc_info_get_signal"
3107               c:identifier="g_vfunc_info_get_signal">
3108       <doc xml:whitespace="preserve">Obtain the signal for the virtual function if one is set.
3109 The signal comes from the object or interface to which
3110 this virtual function belongs.</doc>
3111       <return-value transfer-ownership="full">
3112         <doc xml:whitespace="preserve">the signal or %NULL if none set</doc>
3113         <type name="ISignalInfo" c:type="GISignalInfo*"/>
3114       </return-value>
3115       <parameters>
3116         <parameter name="info" transfer-ownership="none">
3117           <doc xml:whitespace="preserve">a #GIVFuncInfo</doc>
3118           <type name="IVFuncInfo" c:type="GIVFuncInfo*"/>
3119         </parameter>
3120       </parameters>
3121     </function>
3122   </namespace>
3123 </repository>