Imported Upstream version 1.49.1
[platform/upstream/gobject-introspection.git] / docs / reference / html / gi-GIArgInfo.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GIArgInfo: GObject Introspection Reference Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="GObject Introspection Reference Manual">
8 <link rel="up" href="ch01.html" title="GIRepository">
9 <link rel="prev" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">
10 <link rel="next" href="gi-GIConstantInfo.html" title="GIConstantInfo">
11 <meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
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="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18                   <a href="#gi-GIArgInfo.description" class="shortcut">Description</a></span>
19 </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22 <td><a accesskey="p" href="gi-GIInterfaceInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="gi-GIConstantInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
24 </tr></table>
25 <div class="refentry">
26 <a name="gi-GIArgInfo"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
28 <td valign="top">
29 <h2><span class="refentrytitle"><a name="gi-GIArgInfo.top_of_page"></a>GIArgInfo</span></h2>
30 <p>GIArgInfo — Struct representing an argument</p>
31 </td>
32 <td class="gallery_image" valign="top" align="right"></td>
33 </tr></table></div>
34 <div class="refsect1">
35 <a name="gi-GIArgInfo.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
37 <colgroup>
38 <col width="150px" class="functions_return">
39 <col class="functions_name">
40 </colgroup>
41 <tbody>
42 <tr>
43 <td class="define_keyword">#define</td>
44 <td class="function_name">
45 <a class="link" href="gi-GIArgInfo.html#GI-IS-ARG-INFO:CAPS" title="GI_IS_ARG_INFO()">GI_IS_ARG_INFO</a><span class="c_punctuation">()</span>
46 </td>
47 </tr>
48 <tr>
49 <td class="function_type">
50 <span class="returnvalue">gint</span>
51 </td>
52 <td class="function_name">
53 <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-closure" title="g_arg_info_get_closure ()">g_arg_info_get_closure</a> <span class="c_punctuation">()</span>
54 </td>
55 </tr>
56 <tr>
57 <td class="function_type">
58 <span class="returnvalue">gint</span>
59 </td>
60 <td class="function_name">
61 <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-destroy" title="g_arg_info_get_destroy ()">g_arg_info_get_destroy</a> <span class="c_punctuation">()</span>
62 </td>
63 </tr>
64 <tr>
65 <td class="function_type">
66 <a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="returnvalue">GIDirection</span></a>
67 </td>
68 <td class="function_name">
69 <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-direction" title="g_arg_info_get_direction ()">g_arg_info_get_direction</a> <span class="c_punctuation">()</span>
70 </td>
71 </tr>
72 <tr>
73 <td class="function_type">
74 <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
75 </td>
76 <td class="function_name">
77 <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-ownership-transfer" title="g_arg_info_get_ownership_transfer ()">g_arg_info_get_ownership_transfer</a> <span class="c_punctuation">()</span>
78 </td>
79 </tr>
80 <tr>
81 <td class="function_type">
82 <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="returnvalue">GIScopeType</span></a>
83 </td>
84 <td class="function_name">
85 <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-scope" title="g_arg_info_get_scope ()">g_arg_info_get_scope</a> <span class="c_punctuation">()</span>
86 </td>
87 </tr>
88 <tr>
89 <td class="function_type">
90 <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
91 </td>
92 <td class="function_name">
93 <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()">g_arg_info_get_type</a> <span class="c_punctuation">()</span>
94 </td>
95 </tr>
96 <tr>
97 <td class="function_type">
98 <span class="returnvalue">void</span>
99 </td>
100 <td class="function_name">
101 <a class="link" href="gi-GIArgInfo.html#g-arg-info-load-type" title="g_arg_info_load_type ()">g_arg_info_load_type</a> <span class="c_punctuation">()</span>
102 </td>
103 </tr>
104 <tr>
105 <td class="function_type">
106 <span class="returnvalue">gboolean</span>
107 </td>
108 <td class="function_name">
109 <a class="link" href="gi-GIArgInfo.html#g-arg-info-may-be-null" title="g_arg_info_may_be_null ()">g_arg_info_may_be_null</a> <span class="c_punctuation">()</span>
110 </td>
111 </tr>
112 <tr>
113 <td class="function_type">
114 <span class="returnvalue">gboolean</span>
115 </td>
116 <td class="function_name">
117 <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-caller-allocates" title="g_arg_info_is_caller_allocates ()">g_arg_info_is_caller_allocates</a> <span class="c_punctuation">()</span>
118 </td>
119 </tr>
120 <tr>
121 <td class="function_type">
122 <span class="returnvalue">gboolean</span>
123 </td>
124 <td class="function_name">
125 <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()">g_arg_info_is_optional</a> <span class="c_punctuation">()</span>
126 </td>
127 </tr>
128 <tr>
129 <td class="function_type">
130 <span class="returnvalue">gboolean</span>
131 </td>
132 <td class="function_name">
133 <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-return-value" title="g_arg_info_is_return_value ()">g_arg_info_is_return_value</a> <span class="c_punctuation">()</span>
134 </td>
135 </tr>
136 <tr>
137 <td class="function_type">
138 <span class="returnvalue">gboolean</span>
139 </td>
140 <td class="function_name">
141 <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a> <span class="c_punctuation">()</span>
142 </td>
143 </tr>
144 </tbody>
145 </table></div>
146 </div>
147 <div class="refsect1">
148 <a name="gi-GIArgInfo.other"></a><h2>Types and Values</h2>
149 <div class="informaltable"><table class="informaltable" width="100%" border="0">
150 <colgroup>
151 <col width="150px" class="name">
152 <col class="description">
153 </colgroup>
154 <tbody>
155 <tr>
156 <td class="typedef_keyword">typedef</td>
157 <td class="function_name"><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo">GIArgInfo</a></td>
158 </tr>
159 <tr>
160 <td class="datatype_keyword">enum</td>
161 <td class="function_name"><a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection">GIDirection</a></td>
162 </tr>
163 <tr>
164 <td class="datatype_keyword">enum</td>
165 <td class="function_name"><a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType">GIScopeType</a></td>
166 </tr>
167 <tr>
168 <td class="datatype_keyword">enum</td>
169 <td class="function_name"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer">GITransfer</a></td>
170 </tr>
171 </tbody>
172 </table></div>
173 </div>
174 <div class="refsect1">
175 <a name="gi-GIArgInfo.description"></a><h2>Description</h2>
176 <p>GIArgInfo represents an argument. An argument is always
177 part of a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>.</p>
178 <div class="refsect1">
179 <a name="gi-giarginfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
180 <pre class="synopsis">
181   <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
182    +----GIArgInfo
183 </pre>
184 </div>
185 </div>
186 <div class="refsect1">
187 <a name="gi-GIArgInfo.functions_details"></a><h2>Functions</h2>
188 <div class="refsect2">
189 <a name="GI-IS-ARG-INFO:CAPS"></a><h3>GI_IS_ARG_INFO()</h3>
190 <pre class="programlisting">#define             GI_IS_ARG_INFO(info)</pre>
191 <p>Checks if <em class="parameter"><code>info</code></em>
192  is a GIArgInfo.</p>
193 <div class="refsect3">
194 <a name="GI-IS-ARG-INFO.parameters"></a><h4>Parameters</h4>
195 <div class="informaltable"><table class="informaltable" width="100%" border="0">
196 <colgroup>
197 <col width="150px" class="parameters_name">
198 <col class="parameters_description">
199 <col width="200px" class="parameters_annotations">
200 </colgroup>
201 <tbody><tr>
202 <td class="parameter_name"><p>info</p></td>
203 <td class="parameter_description"><p>an info structure</p></td>
204 <td class="parameter_annotations"> </td>
205 </tr></tbody>
206 </table></div>
207 </div>
208 </div>
209 <hr>
210 <div class="refsect2">
211 <a name="g-arg-info-get-closure"></a><h3>g_arg_info_get_closure ()</h3>
212 <pre class="programlisting"><span class="returnvalue">gint</span>
213 g_arg_info_get_closure (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
214 <p>Obtain the index of the user data argument. This is only valid
215 for arguments which are callbacks.</p>
216 <div class="refsect3">
217 <a name="g-arg-info-get-closure.parameters"></a><h4>Parameters</h4>
218 <div class="informaltable"><table class="informaltable" width="100%" border="0">
219 <colgroup>
220 <col width="150px" class="parameters_name">
221 <col class="parameters_description">
222 <col width="200px" class="parameters_annotations">
223 </colgroup>
224 <tbody><tr>
225 <td class="parameter_name"><p>info</p></td>
226 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
227 <td class="parameter_annotations"> </td>
228 </tr></tbody>
229 </table></div>
230 </div>
231 <div class="refsect3">
232 <a name="g-arg-info-get-closure.returns"></a><h4>Returns</h4>
233 <p> index of the user data argument or -1 if there is none</p>
234 </div>
235 </div>
236 <hr>
237 <div class="refsect2">
238 <a name="g-arg-info-get-destroy"></a><h3>g_arg_info_get_destroy ()</h3>
239 <pre class="programlisting"><span class="returnvalue">gint</span>
240 g_arg_info_get_destroy (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
241 <p>Obtains the index of the <span class="type">GDestroyNotify</span> argument. This is only valid
242 for arguments which are callbacks.</p>
243 <div class="refsect3">
244 <a name="g-arg-info-get-destroy.parameters"></a><h4>Parameters</h4>
245 <div class="informaltable"><table class="informaltable" width="100%" border="0">
246 <colgroup>
247 <col width="150px" class="parameters_name">
248 <col class="parameters_description">
249 <col width="200px" class="parameters_annotations">
250 </colgroup>
251 <tbody><tr>
252 <td class="parameter_name"><p>info</p></td>
253 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
254 <td class="parameter_annotations"> </td>
255 </tr></tbody>
256 </table></div>
257 </div>
258 <div class="refsect3">
259 <a name="g-arg-info-get-destroy.returns"></a><h4>Returns</h4>
260 <p> index of the <span class="type">GDestroyNotify</span> argument or -1 if there is none</p>
261 </div>
262 </div>
263 <hr>
264 <div class="refsect2">
265 <a name="g-arg-info-get-direction"></a><h3>g_arg_info_get_direction ()</h3>
266 <pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="returnvalue">GIDirection</span></a>
267 g_arg_info_get_direction (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
268 <p>Obtain the direction of the argument. Check <a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="type">GIDirection</span></a> for possible
269 direction values.</p>
270 <div class="refsect3">
271 <a name="g-arg-info-get-direction.parameters"></a><h4>Parameters</h4>
272 <div class="informaltable"><table class="informaltable" width="100%" border="0">
273 <colgroup>
274 <col width="150px" class="parameters_name">
275 <col class="parameters_description">
276 <col width="200px" class="parameters_annotations">
277 </colgroup>
278 <tbody><tr>
279 <td class="parameter_name"><p>info</p></td>
280 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
281 <td class="parameter_annotations"> </td>
282 </tr></tbody>
283 </table></div>
284 </div>
285 <div class="refsect3">
286 <a name="g-arg-info-get-direction.returns"></a><h4>Returns</h4>
287 <p> the direction</p>
288 </div>
289 </div>
290 <hr>
291 <div class="refsect2">
292 <a name="g-arg-info-get-ownership-transfer"></a><h3>g_arg_info_get_ownership_transfer ()</h3>
293 <pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
294 g_arg_info_get_ownership_transfer (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
295 <p>Obtain the ownership transfer for this argument.
296 <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> contains a list of possible values.</p>
297 <div class="refsect3">
298 <a name="g-arg-info-get-ownership-transfer.parameters"></a><h4>Parameters</h4>
299 <div class="informaltable"><table class="informaltable" width="100%" border="0">
300 <colgroup>
301 <col width="150px" class="parameters_name">
302 <col class="parameters_description">
303 <col width="200px" class="parameters_annotations">
304 </colgroup>
305 <tbody><tr>
306 <td class="parameter_name"><p>info</p></td>
307 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
308 <td class="parameter_annotations"> </td>
309 </tr></tbody>
310 </table></div>
311 </div>
312 <div class="refsect3">
313 <a name="g-arg-info-get-ownership-transfer.returns"></a><h4>Returns</h4>
314 <p> the transfer</p>
315 </div>
316 </div>
317 <hr>
318 <div class="refsect2">
319 <a name="g-arg-info-get-scope"></a><h3>g_arg_info_get_scope ()</h3>
320 <pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="returnvalue">GIScopeType</span></a>
321 g_arg_info_get_scope (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
322 <p>Obtain the scope type for this argument. The scope type explains
323 how a callback is going to be invoked, most importantly when
324 the resources required to invoke it can be freed.
325 <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="type">GIScopeType</span></a> contains a list of possible values.</p>
326 <div class="refsect3">
327 <a name="g-arg-info-get-scope.parameters"></a><h4>Parameters</h4>
328 <div class="informaltable"><table class="informaltable" width="100%" border="0">
329 <colgroup>
330 <col width="150px" class="parameters_name">
331 <col class="parameters_description">
332 <col width="200px" class="parameters_annotations">
333 </colgroup>
334 <tbody><tr>
335 <td class="parameter_name"><p>info</p></td>
336 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
337 <td class="parameter_annotations"> </td>
338 </tr></tbody>
339 </table></div>
340 </div>
341 <div class="refsect3">
342 <a name="g-arg-info-get-scope.returns"></a><h4>Returns</h4>
343 <p> the scope type</p>
344 </div>
345 </div>
346 <hr>
347 <div class="refsect2">
348 <a name="g-arg-info-get-type"></a><h3>g_arg_info_get_type ()</h3>
349 <pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
350 g_arg_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
351 <p>Obtain the type information for <em class="parameter"><code>info</code></em>
352 .</p>
353 <div class="refsect3">
354 <a name="g-arg-info-get-type.parameters"></a><h4>Parameters</h4>
355 <div class="informaltable"><table class="informaltable" width="100%" border="0">
356 <colgroup>
357 <col width="150px" class="parameters_name">
358 <col class="parameters_description">
359 <col width="200px" class="parameters_annotations">
360 </colgroup>
361 <tbody><tr>
362 <td class="parameter_name"><p>info</p></td>
363 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
364 <td class="parameter_annotations"> </td>
365 </tr></tbody>
366 </table></div>
367 </div>
368 <div class="refsect3">
369 <a name="g-arg-info-get-type.returns"></a><h4>Returns</h4>
370 <p> the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> holding the type
371 information for <em class="parameter"><code>info</code></em>
372 , 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>
373 when done. </p>
374 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
375 </div>
376 </div>
377 <hr>
378 <div class="refsect2">
379 <a name="g-arg-info-load-type"></a><h3>g_arg_info_load_type ()</h3>
380 <pre class="programlisting"><span class="returnvalue">void</span>
381 g_arg_info_load_type (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>,
382                       <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);</pre>
383 <p>Obtain information about a the type of given argument <em class="parameter"><code>info</code></em>
384 ; this
385 function is a variant of <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()"><code class="function">g_arg_info_get_type()</code></a> designed for stack
386 allocation.</p>
387 <p>The initialized <em class="parameter"><code>type</code></em>
388  must not be referenced after <em class="parameter"><code>info</code></em>
389  is deallocated.</p>
390 <div class="refsect3">
391 <a name="g-arg-info-load-type.parameters"></a><h4>Parameters</h4>
392 <div class="informaltable"><table class="informaltable" width="100%" border="0">
393 <colgroup>
394 <col width="150px" class="parameters_name">
395 <col class="parameters_description">
396 <col width="200px" class="parameters_annotations">
397 </colgroup>
398 <tbody>
399 <tr>
400 <td class="parameter_name"><p>info</p></td>
401 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
402 <td class="parameter_annotations"> </td>
403 </tr>
404 <tr>
405 <td class="parameter_name"><p>type</p></td>
406 <td class="parameter_description"><p> Initialized with information about type of <em class="parameter"><code>info</code></em>
407 . </p></td>
408 <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
409 </tr>
410 </tbody>
411 </table></div>
412 </div>
413 </div>
414 <hr>
415 <div class="refsect2">
416 <a name="g-arg-info-may-be-null"></a><h3>g_arg_info_may_be_null ()</h3>
417 <pre class="programlisting"><span class="returnvalue">gboolean</span>
418 g_arg_info_may_be_null (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
419 <p>Obtain if the type of the argument includes the possibility of <code class="literal">NULL</code>.
420 For 'in' values this means that <code class="literal">NULL</code> is a valid value.  For 'out'
421 values, this means that <code class="literal">NULL</code> may be returned.</p>
422 <p>See also <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()"><code class="function">g_arg_info_is_optional()</code></a>.</p>
423 <div class="refsect3">
424 <a name="g-arg-info-may-be-null.parameters"></a><h4>Parameters</h4>
425 <div class="informaltable"><table class="informaltable" width="100%" border="0">
426 <colgroup>
427 <col width="150px" class="parameters_name">
428 <col class="parameters_description">
429 <col width="200px" class="parameters_annotations">
430 </colgroup>
431 <tbody><tr>
432 <td class="parameter_name"><p>info</p></td>
433 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
434 <td class="parameter_annotations"> </td>
435 </tr></tbody>
436 </table></div>
437 </div>
438 <div class="refsect3">
439 <a name="g-arg-info-may-be-null.returns"></a><h4>Returns</h4>
440 <p> <code class="literal">TRUE</code> if the value may be <code class="literal">NULL</code></p>
441 </div>
442 </div>
443 <hr>
444 <div class="refsect2">
445 <a name="g-arg-info-is-caller-allocates"></a><h3>g_arg_info_is_caller_allocates ()</h3>
446 <pre class="programlisting"><span class="returnvalue">gboolean</span>
447 g_arg_info_is_caller_allocates (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
448 <p>Obtain if the argument is a pointer to a struct or object that will
449 receive an output of a function.  The default assumption for
450 <a class="link" href="gi-GIArgInfo.html#GI-DIRECTION-OUT:CAPS"><code class="literal">GI_DIRECTION_OUT</code></a> arguments which have allocation is that the
451 callee allocates; if this is <code class="literal">TRUE</code>, then the caller must allocate.</p>
452 <div class="refsect3">
453 <a name="g-arg-info-is-caller-allocates.parameters"></a><h4>Parameters</h4>
454 <div class="informaltable"><table class="informaltable" width="100%" border="0">
455 <colgroup>
456 <col width="150px" class="parameters_name">
457 <col class="parameters_description">
458 <col width="200px" class="parameters_annotations">
459 </colgroup>
460 <tbody><tr>
461 <td class="parameter_name"><p>info</p></td>
462 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
463 <td class="parameter_annotations"> </td>
464 </tr></tbody>
465 </table></div>
466 </div>
467 <div class="refsect3">
468 <a name="g-arg-info-is-caller-allocates.returns"></a><h4>Returns</h4>
469 <p> <code class="literal">TRUE</code> if caller is required to have allocated the argument</p>
470 </div>
471 </div>
472 <hr>
473 <div class="refsect2">
474 <a name="g-arg-info-is-optional"></a><h3>g_arg_info_is_optional ()</h3>
475 <pre class="programlisting"><span class="returnvalue">gboolean</span>
476 g_arg_info_is_optional (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
477 <p>Obtain if the argument is optional.  For 'out' arguments this means
478 that you can pass <code class="literal">NULL</code> in order to ignore the result.</p>
479 <div class="refsect3">
480 <a name="g-arg-info-is-optional.parameters"></a><h4>Parameters</h4>
481 <div class="informaltable"><table class="informaltable" width="100%" border="0">
482 <colgroup>
483 <col width="150px" class="parameters_name">
484 <col class="parameters_description">
485 <col width="200px" class="parameters_annotations">
486 </colgroup>
487 <tbody><tr>
488 <td class="parameter_name"><p>info</p></td>
489 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
490 <td class="parameter_annotations"> </td>
491 </tr></tbody>
492 </table></div>
493 </div>
494 <div class="refsect3">
495 <a name="g-arg-info-is-optional.returns"></a><h4>Returns</h4>
496 <p> <code class="literal">TRUE</code> if it is an optional argument</p>
497 </div>
498 </div>
499 <hr>
500 <div class="refsect2">
501 <a name="g-arg-info-is-return-value"></a><h3>g_arg_info_is_return_value ()</h3>
502 <pre class="programlisting"><span class="returnvalue">gboolean</span>
503 g_arg_info_is_return_value (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
504 <p>Obtain if the argument is a return value. It can either be a
505 parameter or a return value.</p>
506 <div class="refsect3">
507 <a name="g-arg-info-is-return-value.parameters"></a><h4>Parameters</h4>
508 <div class="informaltable"><table class="informaltable" width="100%" border="0">
509 <colgroup>
510 <col width="150px" class="parameters_name">
511 <col class="parameters_description">
512 <col width="200px" class="parameters_annotations">
513 </colgroup>
514 <tbody><tr>
515 <td class="parameter_name"><p>info</p></td>
516 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
517 <td class="parameter_annotations"> </td>
518 </tr></tbody>
519 </table></div>
520 </div>
521 <div class="refsect3">
522 <a name="g-arg-info-is-return-value.returns"></a><h4>Returns</h4>
523 <p> <code class="literal">TRUE</code> if it is a return value</p>
524 </div>
525 </div>
526 <hr>
527 <div class="refsect2">
528 <a name="g-arg-info-is-skip"></a><h3>g_arg_info_is_skip ()</h3>
529 <pre class="programlisting"><span class="returnvalue">gboolean</span>
530 g_arg_info_is_skip (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
531 <p>Obtain if an argument is only useful in C.</p>
532 <div class="refsect3">
533 <a name="g-arg-info-is-skip.parameters"></a><h4>Parameters</h4>
534 <div class="informaltable"><table class="informaltable" width="100%" border="0">
535 <colgroup>
536 <col width="150px" class="parameters_name">
537 <col class="parameters_description">
538 <col width="200px" class="parameters_annotations">
539 </colgroup>
540 <tbody><tr>
541 <td class="parameter_name"><p>info</p></td>
542 <td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
543 <td class="parameter_annotations"> </td>
544 </tr></tbody>
545 </table></div>
546 </div>
547 <div class="refsect3">
548 <a name="g-arg-info-is-skip.returns"></a><h4>Returns</h4>
549 <p> <code class="literal">TRUE</code> if argument is only useful in C.</p>
550 </div>
551 <p class="since">Since: <a class="link" href="api-index-1-29-0.html#api-index-1.29.0">1.29.0</a></p>
552 </div>
553 </div>
554 <div class="refsect1">
555 <a name="gi-GIArgInfo.other_details"></a><h2>Types and Values</h2>
556 <div class="refsect2">
557 <a name="GIArgInfo"></a><h3>GIArgInfo</h3>
558 <pre class="programlisting">typedef GIBaseInfo GIArgInfo;
559 </pre>
560 <p>Represents an argument.</p>
561 </div>
562 <hr>
563 <div class="refsect2">
564 <a name="GIDirection"></a><h3>enum GIDirection</h3>
565 <p>The direction of a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>.</p>
566 <div class="refsect3">
567 <a name="GIDirection.members"></a><h4>Members</h4>
568 <div class="informaltable"><table class="informaltable" width="100%" border="0">
569 <colgroup>
570 <col width="300px" class="enum_members_name">
571 <col class="enum_members_description">
572 <col width="200px" class="enum_members_annotations">
573 </colgroup>
574 <tbody>
575 <tr>
576 <td class="enum_member_name"><p><a name="GI-DIRECTION-IN:CAPS"></a>GI_DIRECTION_IN</p></td>
577 <td class="enum_member_description">
578 <p>in argument.</p>
579 </td>
580 <td class="enum_member_annotations"> </td>
581 </tr>
582 <tr>
583 <td class="enum_member_name"><p><a name="GI-DIRECTION-OUT:CAPS"></a>GI_DIRECTION_OUT</p></td>
584 <td class="enum_member_description">
585 <p>out argument.</p>
586 </td>
587 <td class="enum_member_annotations"> </td>
588 </tr>
589 <tr>
590 <td class="enum_member_name"><p><a name="GI-DIRECTION-INOUT:CAPS"></a>GI_DIRECTION_INOUT</p></td>
591 <td class="enum_member_description">
592 <p>in and out argument.</p>
593 </td>
594 <td class="enum_member_annotations"> </td>
595 </tr>
596 </tbody>
597 </table></div>
598 </div>
599 </div>
600 <hr>
601 <div class="refsect2">
602 <a name="GIScopeType"></a><h3>enum GIScopeType</h3>
603 <p>Scope type of a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> representing callback, determines how the
604 callback is invoked and is used to decided when the invoke structs
605 can be freed.</p>
606 <div class="refsect3">
607 <a name="GIScopeType.members"></a><h4>Members</h4>
608 <div class="informaltable"><table class="informaltable" width="100%" border="0">
609 <colgroup>
610 <col width="300px" class="enum_members_name">
611 <col class="enum_members_description">
612 <col width="200px" class="enum_members_annotations">
613 </colgroup>
614 <tbody>
615 <tr>
616 <td class="enum_member_name"><p><a name="GI-SCOPE-TYPE-INVALID:CAPS"></a>GI_SCOPE_TYPE_INVALID</p></td>
617 <td class="enum_member_description">
618 <p>The argument is not of callback type.</p>
619 </td>
620 <td class="enum_member_annotations"> </td>
621 </tr>
622 <tr>
623 <td class="enum_member_name"><p><a name="GI-SCOPE-TYPE-CALL:CAPS"></a>GI_SCOPE_TYPE_CALL</p></td>
624 <td class="enum_member_description">
625 <p>The callback and associated user_data is only
626 used during the call to this function.</p>
627 </td>
628 <td class="enum_member_annotations"> </td>
629 </tr>
630 <tr>
631 <td class="enum_member_name"><p><a name="GI-SCOPE-TYPE-ASYNC:CAPS"></a>GI_SCOPE_TYPE_ASYNC</p></td>
632 <td class="enum_member_description">
633 <p>The callback and associated user_data is
634 only used until the callback is invoked, and the callback.
635 is invoked always exactly once.</p>
636 </td>
637 <td class="enum_member_annotations"> </td>
638 </tr>
639 <tr>
640 <td class="enum_member_name"><p><a name="GI-SCOPE-TYPE-NOTIFIED:CAPS"></a>GI_SCOPE_TYPE_NOTIFIED</p></td>
641 <td class="enum_member_description">
642 <p>The callback and and associated
643 user_data is used until the caller is notfied via the destroy_notify.</p>
644 </td>
645 <td class="enum_member_annotations"> </td>
646 </tr>
647 </tbody>
648 </table></div>
649 </div>
650 </div>
651 <hr>
652 <div class="refsect2">
653 <a name="GITransfer"></a><h3>enum GITransfer</h3>
654 <p>The transfer is the exchange of data between two parts, from the callee to
655 the caller. The callee is either a function/method/signal or an
656 object/interface where a property is defined. The caller is the side
657 accessing a property or calling a function.
658 <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> specifies who's responsible for freeing the resources after the
659 ownership transfer is complete. In case of a containing type such as a list,
660 an array or a hash table the container itself is specified differently from
661 the items within the container itself. Each container is freed differently,
662 check the documentation for the types themselves for information on how to
663 free them.</p>
664 <div class="refsect3">
665 <a name="GITransfer.members"></a><h4>Members</h4>
666 <div class="informaltable"><table class="informaltable" width="100%" border="0">
667 <colgroup>
668 <col width="300px" class="enum_members_name">
669 <col class="enum_members_description">
670 <col width="200px" class="enum_members_annotations">
671 </colgroup>
672 <tbody>
673 <tr>
674 <td class="enum_member_name"><p><a name="GI-TRANSFER-NOTHING:CAPS"></a>GI_TRANSFER_NOTHING</p></td>
675 <td class="enum_member_description">
676 <p>transfer nothing from the callee (function or the type
677 instance the property belongs to) to the caller. The callee retains the
678 ownership of the transfer and the caller doesn't need to do anything to free
679 up the resources of this transfer.</p>
680 </td>
681 <td class="enum_member_annotations"> </td>
682 </tr>
683 <tr>
684 <td class="enum_member_name"><p><a name="GI-TRANSFER-CONTAINER:CAPS"></a>GI_TRANSFER_CONTAINER</p></td>
685 <td class="enum_member_description">
686 <p>transfer the container (list, array, hash table) from
687 the callee to the caller. The callee retains the ownership of the individual
688 items in the container and the caller has to free up the container resources
689 (<code class="function">g_list_free()</code>/<code class="function">g_hash_table_destroy()</code> etc) of this transfer.</p>
690 </td>
691 <td class="enum_member_annotations"> </td>
692 </tr>
693 <tr>
694 <td class="enum_member_name"><p><a name="GI-TRANSFER-EVERYTHING:CAPS"></a>GI_TRANSFER_EVERYTHING</p></td>
695 <td class="enum_member_description">
696 <p>transfer everything, eg the container and its
697 contents from the callee to the caller. This is the case when the callee
698 creates a copy of all the data it returns. The caller is responsible for
699 cleaning up the container and item resources of this transfer.</p>
700 </td>
701 <td class="enum_member_annotations"> </td>
702 </tr>
703 </tbody>
704 </table></div>
705 </div>
706 </div>
707 </div>
708 </div>
709 <div class="footer">
710 <hr>Generated by GTK-Doc V1.25.1</div>
711 </body>
712 </html>