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>GIUnionInfo</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
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-GIStructInfo.html" title="GIStructInfo">
10
<link rel="next" href="gi-GIFieldInfo.html" title="GIFieldInfo">
11
<meta name="generator" content="GTK-Doc V1.16.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-GIStructInfo.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-GIFieldInfo.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-GIUnionInfo.synopsis" class="shortcut">Top</a>
26
<a href="#gi-GIUnionInfo.description" class="shortcut">Description</a>
29
<div class="refentry">
30
<a name="gi-GIUnionInfo"></a><div class="titlepage"></div>
31
<div class="refnamediv"><table width="100%"><tr>
33
<h2><span class="refentrytitle"><a name="gi-GIUnionInfo.top_of_page"></a>GIUnionInfo</span></h2>
34
<p>GIUnionInfo — Struct representing a union.</p>
36
<td valign="top" align="right"></td>
38
<div class="refsynopsisdiv">
39
<a name="gi-GIUnionInfo.synopsis"></a><h2>Synopsis</h2>
40
<pre class="synopsis">#define <a class="link" href="gi-GIUnionInfo.html#GI-IS-UNION-INFO:CAPS" title="GI_IS_UNION_INFO()">GI_IS_UNION_INFO</a> (info)
41
typedef <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo">GIUnionInfo</a>;
42
<span class="returnvalue">gint</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-fields" title="g_union_info_get_n_fields ()">g_union_info_get_n_fields</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
43
<a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-field" title="g_union_info_get_field ()">g_union_info_get_field</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
44
<em class="parameter"><code><span class="type">gint</span> n</code></em>);
45
<span class="returnvalue">gint</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-methods" title="g_union_info_get_n_methods ()">g_union_info_get_n_methods</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
46
<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-method" title="g_union_info_get_method ()">g_union_info_get_method</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
47
<em class="parameter"><code><span class="type">gint</span> n</code></em>);
48
<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-is-discriminated" title="g_union_info_is_discriminated ()">g_union_info_is_discriminated</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
49
<span class="returnvalue">gint</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-offset" title="g_union_info_get_discriminator_offset ()">g_union_info_get_discriminator_offset</a>
50
(<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
51
<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-type" title="g_union_info_get_discriminator_type ()">g_union_info_get_discriminator_type</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
52
<a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator" title="g_union_info_get_discriminator ()">g_union_info_get_discriminator</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
53
<em class="parameter"><code><span class="type">gint</span> n</code></em>);
54
<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-find-method" title="g_union_info_find_method ()">g_union_info_find_method</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
55
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
56
<span class="returnvalue">gsize</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-size" title="g_union_info_get_size ()">g_union_info_get_size</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
57
<span class="returnvalue">gsize</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-alignment" title="g_union_info_get_alignment ()">g_union_info_get_alignment</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
60
<div class="refsect1">
61
<a name="gi-GIUnionInfo.description"></a><h2>Description</h2>
63
GIUnionInfo represents a union type.
66
A union has methods and fields. Unions can optionally have a
67
discriminator, which is a field deciding what type of real union
68
fields is valid for specified instance.
72
<div class="refsect1">
73
<a name="gi-giobjectinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
74
<pre class="synopsis">
75
<a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
76
+----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
83
<div class="refsect1">
84
<a name="gi-GIUnionInfo.details"></a><h2>Details</h2>
85
<div class="refsect2">
86
<a name="GI-IS-UNION-INFO:CAPS"></a><h3>GI_IS_UNION_INFO()</h3>
87
<pre class="programlisting">#define GI_IS_UNION_INFO(info)</pre>
92
<div class="refsect2">
93
<a name="GIUnionInfo"></a><h3>GIUnionInfo</h3>
94
<pre class="programlisting">typedef GIBaseInfo GIUnionInfo;
101
<div class="refsect2">
102
<a name="g-union-info-get-n-fields"></a><h3>g_union_info_get_n_fields ()</h3>
103
<pre class="programlisting"><span class="returnvalue">gint</span> g_union_info_get_n_fields (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
105
Obtain the number of fields this union has.
107
<div class="variablelist"><table border="0">
108
<col align="left" valign="top">
111
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
112
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
116
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
117
<td>number of fields</td>
123
<div class="refsect2">
124
<a name="g-union-info-get-field"></a><h3>g_union_info_get_field ()</h3>
125
<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> * g_union_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
126
<em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
128
Obtain the type information for field with specified index.
130
<div class="variablelist"><table border="0">
131
<col align="left" valign="top">
134
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
135
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
139
<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
140
<td>a field index</td>
143
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
144
<td>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <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>
145
when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
152
<div class="refsect2">
153
<a name="g-union-info-get-n-methods"></a><h3>g_union_info_get_n_methods ()</h3>
154
<pre class="programlisting"><span class="returnvalue">gint</span> g_union_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
156
Obtain the number of methods this union has.
158
<div class="variablelist"><table border="0">
159
<col align="left" valign="top">
162
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
163
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
167
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
168
<td>number of methods</td>
174
<div class="refsect2">
175
<a name="g-union-info-get-method"></a><h3>g_union_info_get_method ()</h3>
176
<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_union_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
177
<em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
179
Obtain the type information for method with specified index.
181
<div class="variablelist"><table border="0">
182
<col align="left" valign="top">
185
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
186
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
190
<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
191
<td>a method index</td>
194
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
195
<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <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>
196
when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
203
<div class="refsect2">
204
<a name="g-union-info-is-discriminated"></a><h3>g_union_info_is_discriminated ()</h3>
205
<pre class="programlisting"><span class="returnvalue">gboolean</span> g_union_info_is_discriminated (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
207
Return true if this union contains discriminator field.
209
<div class="variablelist"><table border="0">
210
<col align="left" valign="top">
213
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
214
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
218
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
220
<code class="literal">TRUE</code> if this is a discriminated union, <code class="literal">FALSE</code> otherwise</td>
226
<div class="refsect2">
227
<a name="g-union-info-get-discriminator-offset"></a><h3>g_union_info_get_discriminator_offset ()</h3>
228
<pre class="programlisting"><span class="returnvalue">gint</span> g_union_info_get_discriminator_offset
229
(<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
234
<div class="refsect2">
235
<a name="g-union-info-get-discriminator-type"></a><h3>g_union_info_get_discriminator_type ()</h3>
236
<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * g_union_info_get_discriminator_type (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
238
Obtain the type information of the union discriminator.
240
<div class="variablelist"><table border="0">
241
<col align="left" valign="top">
244
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
245
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
249
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
250
<td>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>, free it with <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>
251
when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
258
<div class="refsect2">
259
<a name="g-union-info-get-discriminator"></a><h3>g_union_info_get_discriminator ()</h3>
260
<pre class="programlisting"><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> * g_union_info_get_discriminator (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
261
<em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
263
Obtain discriminator value assigned for n-th union field, i.e. n-th
264
union field is the active one if discriminator contains this
267
<div class="variablelist"><table border="0">
268
<col align="left" valign="top">
271
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
272
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
276
<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
277
<td>a union field index</td>
280
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
281
<td>the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>, free it with <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>
282
when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
289
<div class="refsect2">
290
<a name="g-union-info-find-method"></a><h3>g_union_info_find_method ()</h3>
291
<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_union_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
292
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
294
Obtain the type information for method named <em class="parameter"><code>name</code></em>.
296
<div class="variablelist"><table border="0">
297
<col align="left" valign="top">
300
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
301
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
305
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
306
<td>a method name</td>
309
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
310
<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <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>
311
when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
318
<div class="refsect2">
319
<a name="g-union-info-get-size"></a><h3>g_union_info_get_size ()</h3>
320
<pre class="programlisting"><span class="returnvalue">gsize</span> g_union_info_get_size (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
322
Obtain the total size of the union.
324
<div class="variablelist"><table border="0">
325
<col align="left" valign="top">
328
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
329
<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
333
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
334
<td>size of the union in bytes</td>
340
<div class="refsect2">
341
<a name="g-union-info-get-alignment"></a><h3>g_union_info_get_alignment ()</h3>
342
<pre class="programlisting"><span class="returnvalue">gsize</span> g_union_info_get_alignment (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
344
Obtain the required alignment of the union.
346
<div class="variablelist"><table border="0">
347
<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-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
355
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
356
<td>required alignment in bytes</td>
365
Generated by GTK-Doc V1.16.1</div>
b'\\ No newline at end of file'