1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GIBaseInfo</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7 <link rel="home" href="index.html" title="GObject Introspection Reference Manual">
8 <link rel="up" href="gi-repository-structs.html" title="GIRepository structs">
9 <link rel="prev" href="gi-struct-hierarchy.html" title="Struct hierarchy">
10 <link rel="next" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="gi-struct-hierarchy.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="gi-repository-structs.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GObject Introspection Reference Manual</th>
21 <td><a accesskey="n" href="gi-GIFunctionInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gi-GIBaseInfo.synopsis" class="shortcut">Top</a>
26 <a href="#gi-GIBaseInfo.description" class="shortcut">Description</a>
29 <div class="refentry">
30 <a name="gi-GIBaseInfo"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
33 <h2><span class="refentrytitle"><a name="gi-GIBaseInfo.top_of_page"></a>GIBaseInfo</span></h2>
34 <p>GIBaseInfo — Base struct for all GITypelib structs</p>
36 <td valign="top" align="right"></td>
38 <div class="refsynopsisdiv">
39 <a name="gi-GIBaseInfo.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">enum <a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType">GIInfoType</a>;
41 const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIBaseInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>);
42 <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter">GIAttributeIter</a>;
43 typedef <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo">GIBaseInfo</a>;
44 <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);
45 <span class="returnvalue">void</span> <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);
46 <a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a> <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);
47 const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);
48 const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);
49 <span class="returnvalue">gboolean</span> <a class="link" href="gi-GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);
50 const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>,
51 <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
52 <span class="returnvalue">gboolean</span> <a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>,
53 <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
54 <em class="parameter"><code><span class="type">char</span> **name</code></em>,
55 <em class="parameter"><code><span class="type">char</span> **value</code></em>);
56 <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);
57 <a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);
58 <span class="returnvalue">gboolean</span> <a class="link" href="gi-GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info1</code></em>,
59 <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info2</code></em>);
62 <div class="refsect1">
63 <a name="gi-GIBaseInfo.description"></a><h2>Description</h2>
65 GIBaseInfo is the common base struct of all other *Info structs
66 accessible through the <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> API.
67 All other structs can be casted to a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>, for instance:
70 <a name="id-1.3.3.3.4.2.3"></a><p class="title"><b>Example 1. Casting a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> to <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></b></p>
71 <div class="example-contents">
72 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
75 <td class="listing_lines" align="right"><pre>1
77 <td class="listing_code"><pre class="programlisting"><span class="usertype">GIFunctionInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">function_info </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">...;</span>
78 <span class="usertype">GIBaseInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">info </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="gi-GIBaseInfo.html#GIBaseInfo">GIBaseInfo</a></span><span class="symbol">*)</span><span class="normal">function_info</span><span class="symbol">;</span></pre></td>
85 <p><br class="example-break">
86 Most <a class="link" href="gi-girepository.html#GIRepository"><span class="type">GIRepository</span></a> APIs returning a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> is actually creating a new struct, in other
87 words, <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> has to be called when done accessing the data.
88 GIBaseInfos are normally accessed by calling either
89 <a class="link" href="gi-girepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()"><code class="function">g_irepository_find_by_name()</code></a>, <a class="link" href="gi-girepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()"><code class="function">g_irepository_find_by_gtype()</code></a> or <a class="link" href="gi-girepository.html#g-irepository-get-info" title="g_irepository_get_info ()"><code class="function">g_irepository_get_info()</code></a>.
94 <a name="id-1.3.3.3.4.3.1"></a><p class="title"><b>Example 2. Getting the Button of the Gtk typelib</b></p>
95 <div class="example-contents">
96 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
99 <td class="listing_lines" align="right"><pre>1
102 <td class="listing_code"><pre class="programlisting"><span class="usertype">GIBaseInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">button_info </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gi-girepository.html#g-irepository-find-by-name">g_irepository_find_by_name</a></span><span class="symbol">(</span><span class="normal">NULL</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Gtk"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Button"</span><span class="symbol">);</span>
103 <span class="symbol">...</span><span class="normal"> </span><span class="usertype">use</span><span class="normal"> button_info </span><span class="symbol">...</span>
104 <span class="function"><a href="gi-GIBaseInfo.html#g-base-info-unref">g_base_info_unref</a></span><span class="symbol">(</span><span class="normal">button_info</span><span class="symbol">);</span></pre></td>
111 <p><br class="example-break">
115 <div class="refsect1">
116 <a name="gi-gibaseinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
117 <pre class="synopsis">
119 +----<a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
120 +----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
121 +----<a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
122 +----<a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
123 +----<a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
124 +----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
125 +----<a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
131 <div class="refsect1">
132 <a name="gi-GIBaseInfo.details"></a><h2>Details</h2>
133 <div class="refsect2">
134 <a name="GIInfoType"></a><h3>enum GIInfoType</h3>
135 <pre class="programlisting">typedef enum {
136 GI_INFO_TYPE_INVALID,
137 GI_INFO_TYPE_FUNCTION,
138 GI_INFO_TYPE_CALLBACK,
141 GI_INFO_TYPE_ENUM, /* 5 */
144 GI_INFO_TYPE_INTERFACE,
145 GI_INFO_TYPE_CONSTANT,
146 GI_INFO_TYPE_INVALID_0, /* 10 */ /** DELETED - used to be ERROR_DOMAIN **/
151 GI_INFO_TYPE_PROPERTY, /* 15 */
155 GI_INFO_TYPE_UNRESOLVED
159 The type of a GIBaseInfo struct.
161 <div class="variablelist"><table border="0" class="variablelist">
163 <col align="left" valign="top">
168 <td><p><a name="GI-INFO-TYPE-INVALID:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_INVALID</code></span></p></td>
173 <td><p><a name="GI-INFO-TYPE-FUNCTION:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_FUNCTION</code></span></p></td>
174 <td>function, see <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
178 <td><p><a name="GI-INFO-TYPE-CALLBACK:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_CALLBACK</code></span></p></td>
179 <td>callback, see <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
183 <td><p><a name="GI-INFO-TYPE-STRUCT:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_STRUCT</code></span></p></td>
184 <td>struct, see <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
188 <td><p><a name="GI-INFO-TYPE-BOXED:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_BOXED</code></span></p></td>
189 <td>boxed, see <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
193 <td><p><a name="GI-INFO-TYPE-ENUM:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_ENUM</code></span></p></td>
194 <td>enum, see <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
198 <td><p><a name="GI-INFO-TYPE-FLAGS:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_FLAGS</code></span></p></td>
199 <td>flags, see <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
203 <td><p><a name="GI-INFO-TYPE-OBJECT:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_OBJECT</code></span></p></td>
204 <td>object, see <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
208 <td><p><a name="GI-INFO-TYPE-INTERFACE:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_INTERFACE</code></span></p></td>
209 <td>interface, see <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
213 <td><p><a name="GI-INFO-TYPE-CONSTANT:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_CONSTANT</code></span></p></td>
214 <td>contant, see <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>
218 <td><p><a name="GI-INFO-TYPE-INVALID-0:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_INVALID_0</code></span></p></td>
222 <td><p><a name="GI-INFO-TYPE-UNION:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_UNION</code></span></p></td>
223 <td>union, see <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
227 <td><p><a name="GI-INFO-TYPE-VALUE:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_VALUE</code></span></p></td>
228 <td>enum value, see <a class="link" href="gi-GIEnumInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a>
232 <td><p><a name="GI-INFO-TYPE-SIGNAL:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_SIGNAL</code></span></p></td>
233 <td>signal, see <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>
237 <td><p><a name="GI-INFO-TYPE-VFUNC:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_VFUNC</code></span></p></td>
238 <td>virtual function, see <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>
242 <td><p><a name="GI-INFO-TYPE-PROPERTY:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_PROPERTY</code></span></p></td>
243 <td>GObject property, see <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>
247 <td><p><a name="GI-INFO-TYPE-FIELD:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_FIELD</code></span></p></td>
248 <td>struct or union field, see <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>
252 <td><p><a name="GI-INFO-TYPE-ARG:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_ARG</code></span></p></td>
253 <td>argument of a function or callback, see <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
257 <td><p><a name="GI-INFO-TYPE-TYPE:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_TYPE</code></span></p></td>
258 <td>type information, see <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
262 <td><p><a name="GI-INFO-TYPE-UNRESOLVED:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_UNRESOLVED</code></span></p></td>
263 <td>unresolved type, a type which is not present in
264 the typelib, or any of its dependencies.
271 <div class="refsect2">
272 <a name="g-info-type-to-string"></a><h3>g_info_type_to_string ()</h3>
273 <pre class="programlisting">const <span class="returnvalue">gchar</span> * g_info_type_to_string (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>);</pre>
275 Obtain a string representation of <em class="parameter"><code>type</code></em>
277 <div class="variablelist"><table border="0" class="variablelist">
279 <col align="left" valign="top">
284 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
285 <td>the info type</td>
288 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
295 <div class="refsect2">
296 <a name="GIAttributeIter"></a><h3>GIAttributeIter</h3>
297 <pre class="programlisting">typedef struct {
301 An opaque structure used to iterate over attributes
302 in a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> struct.
306 <div class="refsect2">
307 <a name="GIBaseInfo"></a><h3>GIBaseInfo</h3>
308 <pre class="programlisting">typedef struct _GIBaseInfoStub GIBaseInfo;
312 <div class="refsect2">
313 <a name="g-base-info-ref"></a><h3>g_base_info_ref ()</h3>
314 <pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> * g_base_info_ref (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
316 Increases the reference count of <em class="parameter"><code>info</code></em>.
318 <div class="variablelist"><table border="0" class="variablelist">
320 <col align="left" valign="top">
325 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
326 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
330 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
331 <td>the same <em class="parameter"><code>info</code></em>.</td>
337 <div class="refsect2">
338 <a name="g-base-info-unref"></a><h3>g_base_info_unref ()</h3>
339 <pre class="programlisting"><span class="returnvalue">void</span> g_base_info_unref (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
341 Decreases the reference count of <em class="parameter"><code>info</code></em>. When its reference count
342 drops to 0, the info is freed.
344 <div class="variablelist"><table border="0" class="variablelist">
346 <col align="left" valign="top">
350 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
351 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
357 <div class="refsect2">
358 <a name="g-base-info-get-type"></a><h3>g_base_info_get_type ()</h3>
359 <pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a> g_base_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
361 Obtain the info type of the GIBaseInfo.
363 <div class="variablelist"><table border="0" class="variablelist">
365 <col align="left" valign="top">
370 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
371 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
375 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
376 <td>the info type of <em class="parameter"><code>info</code></em>
383 <div class="refsect2">
384 <a name="g-base-info-get-name"></a><h3>g_base_info_get_name ()</h3>
385 <pre class="programlisting">const <span class="returnvalue">gchar</span> * g_base_info_get_name (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
387 Obtain the name of the <em class="parameter"><code>info</code></em>. What the name represents depends on
388 the <a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> of the <em class="parameter"><code>info</code></em>. For instance for <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> it is
389 the name of the function.
391 <div class="variablelist"><table border="0" class="variablelist">
393 <col align="left" valign="top">
398 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
399 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
403 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
404 <td>the name of <em class="parameter"><code>info</code></em> or <code class="literal">NULL</code> if it lacks a name.</td>
410 <div class="refsect2">
411 <a name="g-base-info-get-namespace"></a><h3>g_base_info_get_namespace ()</h3>
412 <pre class="programlisting">const <span class="returnvalue">gchar</span> * g_base_info_get_namespace (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
414 Obtain the namespace of <em class="parameter"><code>info</code></em>.
416 <div class="variablelist"><table border="0" class="variablelist">
418 <col align="left" valign="top">
423 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
424 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
428 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
429 <td>the namespace</td>
435 <div class="refsect2">
436 <a name="g-base-info-is-deprecated"></a><h3>g_base_info_is_deprecated ()</h3>
437 <pre class="programlisting"><span class="returnvalue">gboolean</span> g_base_info_is_deprecated (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
439 Obtain whether the <em class="parameter"><code>info</code></em> is represents a metadata which is
442 <div class="variablelist"><table border="0" class="variablelist">
444 <col align="left" valign="top">
449 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
450 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
454 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
456 <code class="literal">TRUE</code> if deprecated</td>
462 <div class="refsect2">
463 <a name="g-base-info-get-attribute"></a><h3>g_base_info_get_attribute ()</h3>
464 <pre class="programlisting">const <span class="returnvalue">gchar</span> * g_base_info_get_attribute (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>,
465 <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
467 Retrieve an arbitrary attribute associated with this node.
469 <div class="variablelist"><table border="0" class="variablelist">
471 <col align="left" valign="top">
476 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
477 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
481 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
482 <td>a freeform string naming an attribute</td>
485 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
486 <td>The value of the attribute, or <code class="literal">NULL</code> if no such attribute exists</td>
492 <div class="refsect2">
493 <a name="g-base-info-iterate-attributes"></a><h3>g_base_info_iterate_attributes ()</h3>
494 <pre class="programlisting"><span class="returnvalue">gboolean</span> g_base_info_iterate_attributes (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>,
495 <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
496 <em class="parameter"><code><span class="type">char</span> **name</code></em>,
497 <em class="parameter"><code><span class="type">char</span> **value</code></em>);</pre>
499 Iterate over all attributes associated with this node. The iterator
500 structure is typically stack allocated, and must have its first
501 member initialized to <code class="literal">NULL</code>.
504 Both the <em class="parameter"><code>name</code></em> and <em class="parameter"><code>value</code></em> should be treated as constants
505 and must not be freed.
509 <div class="example">
510 <a name="id-1.3.3.3.5.13.6.1"></a><p class="title"><b>Example 3. Iterating over attributes</b></p>
511 <div class="example-contents">
512 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
515 <td class="listing_lines" align="right"><pre>1
526 <td class="listing_code"><pre class="programlisting"><span class="type">void</span>
527 <span class="function">print_attributes</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GIBaseInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">info</span><span class="symbol">)</span>
528 <span class="cbracket">{</span>
529 <span class="normal"> </span><span class="usertype">GIAttributeIter</span><span class="normal"> iter </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
530 <span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">name</span><span class="symbol">;</span>
531 <span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">value</span><span class="symbol">;</span>
532 <span class="normal"> </span><span class="keyword">while</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="gi-GIBaseInfo.html#g-base-info-iterate-attributes">g_base_info_iterate_attributes</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">info</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">iter</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">name</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">value</span><span class="symbol">))</span>
533 <span class="normal"> </span><span class="cbracket">{</span>
534 <span class="normal"> </span><span class="function">g_print</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"attribute name: %s value: %s"</span><span class="symbol">,</span><span class="normal"> name</span><span class="symbol">,</span><span class="normal"> value</span><span class="symbol">);</span>
535 <span class="normal"> </span><span class="cbracket">}</span>
536 <span class="cbracket">}</span></pre></td>
543 <p><br class="example-break">
545 <div class="variablelist"><table border="0" class="variablelist">
547 <col align="left" valign="top">
552 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
553 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
557 <td><p><span class="term"><em class="parameter"><code>iterator</code></em> :</span></p></td>
558 <td>a <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below</td>
561 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
562 <td>Returned name, must not be freed. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
566 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
567 <td>Returned name, must not be freed. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
571 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
573 <code class="literal">TRUE</code> if there are more attributes</td>
579 <div class="refsect2">
580 <a name="g-base-info-get-container"></a><h3>g_base_info_get_container ()</h3>
581 <pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> * g_base_info_get_container (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
583 Obtain the container of the <em class="parameter"><code>info</code></em>. The container is the parent
584 GIBaseInfo. For instance, the parent of a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> is an
585 <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.
587 <div class="variablelist"><table border="0" class="variablelist">
589 <col align="left" valign="top">
594 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
595 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
599 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
600 <td>the container. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
607 <div class="refsect2">
608 <a name="g-base-info-get-typelib"></a><h3>g_base_info_get_typelib ()</h3>
609 <pre class="programlisting"><a class="link" href="gi-girepository.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * g_base_info_get_typelib (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
611 Obtain the typelib this <em class="parameter"><code>info</code></em> belongs to
613 <div class="variablelist"><table border="0" class="variablelist">
615 <col align="left" valign="top">
620 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
621 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
625 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
626 <td>the typelib. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
633 <div class="refsect2">
634 <a name="g-base-info-equal"></a><h3>g_base_info_equal ()</h3>
635 <pre class="programlisting"><span class="returnvalue">gboolean</span> g_base_info_equal (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info1</code></em>,
636 <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info2</code></em>);</pre>
638 Compare two <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>.
641 Using pointer comparison is not practical since many functions return
642 different instances of <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> that refers to the same part of the
643 TypeLib; use this function instead to do <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> comparisons.
645 <div class="variablelist"><table border="0" class="variablelist">
647 <col align="left" valign="top">
652 <td><p><span class="term"><em class="parameter"><code>info1</code></em> :</span></p></td>
653 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
657 <td><p><span class="term"><em class="parameter"><code>info2</code></em> :</span></p></td>
658 <td>a <a class="link" href="gi-GIBaseInfo.html#GIBaseInfo" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>
662 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
664 <code class="literal">TRUE</code> if and only if <em class="parameter"><code>info1</code></em> equals <em class="parameter"><code>info2</code></em>.</td>
673 Generated by GTK-Doc V1.18.1</div>