Imported Upstream version 1.35.8
[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</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-GICallableInfo.html" title="GICallableInfo">
10 <link rel="next" href="gi-GITypeInfo.html" title="GITypeInfo">
11 <meta name="generator" content="GTK-Doc V1.18.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="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gi-GICallableInfo.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-GITypeInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gi-GIArgInfo.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gi-GIArgInfo.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="gi-GIArgInfo"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gi-GIArgInfo.top_of_page"></a>GIArgInfo</span></h2>
34 <p>GIArgInfo — Struct representing an argument</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="gi-GIArgInfo.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">#define             <a class="link" href="gi-GIArgInfo.html#GI-IS-ARG-INFO:CAPS" title="GI_IS_ARG_INFO()">GI_IS_ARG_INFO</a>                      (info)
41 typedef             <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo">GIArgInfo</a>;
42 enum                <a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection">GIDirection</a>;
43 enum                <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType">GIScopeType</a>;
44 enum                <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer">GITransfer</a>;
45 <a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="returnvalue">GIDirection</span></a>         <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-direction" title="g_arg_info_get_direction ()">g_arg_info_get_direction</a>            (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
46 <span class="returnvalue">gboolean</span>            <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>      (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
47 <span class="returnvalue">gboolean</span>            <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>          (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
48 <span class="returnvalue">gboolean</span>            <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()">g_arg_info_is_optional</a>              (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
49 <span class="returnvalue">gboolean</span>            <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>              (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
50 <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>          <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>   (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
51 <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="returnvalue">GIScopeType</span></a>         <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-scope" title="g_arg_info_get_scope ()">g_arg_info_get_scope</a>                (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
52 <span class="returnvalue">gint</span>                <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-closure" title="g_arg_info_get_closure ()">g_arg_info_get_closure</a>              (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
53 <span class="returnvalue">gint</span>                <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-destroy" title="g_arg_info_get_destroy ()">g_arg_info_get_destroy</a>              (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
54 <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *        <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()">g_arg_info_get_type</a>                 (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
55 <span class="returnvalue">void</span>                <a class="link" href="gi-GIArgInfo.html#g-arg-info-load-type" title="g_arg_info_load_type ()">g_arg_info_load_type</a>                (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>,
56                                                          <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);
57 </pre>
58 </div>
59 <div class="refsect1">
60 <a name="gi-GIArgInfo.description"></a><h2>Description</h2>
61 <p>
62 GIArgInfo represents an argument. An argument is always
63 part of a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>.
64 </p>
65 <p>
66 </p>
67 <div class="refsect1">
68 <a name="gi-giarginfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
69 <pre class="synopsis">
70   <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
71    +----GIArgInfo
72 </pre>
73 </div>
74 <p>
75 </p>
76 </div>
77 <div class="refsect1">
78 <a name="gi-GIArgInfo.details"></a><h2>Details</h2>
79 <div class="refsect2">
80 <a name="GI-IS-ARG-INFO:CAPS"></a><h3>GI_IS_ARG_INFO()</h3>
81 <pre class="programlisting">#define             GI_IS_ARG_INFO(info)</pre>
82 </div>
83 <hr>
84 <div class="refsect2">
85 <a name="GIArgInfo"></a><h3>GIArgInfo</h3>
86 <pre class="programlisting">typedef GIBaseInfo GIArgInfo;
87 </pre>
88 <p>
89 Represents an argument.
90 </p>
91 </div>
92 <hr>
93 <div class="refsect2">
94 <a name="GIDirection"></a><h3>enum GIDirection</h3>
95 <pre class="programlisting">typedef enum {
96   GI_DIRECTION_IN,
97   GI_DIRECTION_OUT,
98   GI_DIRECTION_INOUT
99 } GIDirection;
100 </pre>
101 <p>
102 The direction of a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>.
103 </p>
104 <div class="variablelist"><table border="0" class="variablelist">
105 <colgroup>
106 <col align="left" valign="top">
107 <col>
108 </colgroup>
109 <tbody>
110 <tr>
111 <td><p><a name="GI-DIRECTION-IN:CAPS"></a><span class="term"><code class="literal">GI_DIRECTION_IN</code></span></p></td>
112 <td>in argument.
113 </td>
114 </tr>
115 <tr>
116 <td><p><a name="GI-DIRECTION-OUT:CAPS"></a><span class="term"><code class="literal">GI_DIRECTION_OUT</code></span></p></td>
117 <td>out argument.
118 </td>
119 </tr>
120 <tr>
121 <td><p><a name="GI-DIRECTION-INOUT:CAPS"></a><span class="term"><code class="literal">GI_DIRECTION_INOUT</code></span></p></td>
122 <td>in and out argument.
123 </td>
124 </tr>
125 </tbody>
126 </table></div>
127 </div>
128 <hr>
129 <div class="refsect2">
130 <a name="GIScopeType"></a><h3>enum GIScopeType</h3>
131 <pre class="programlisting">typedef enum {
132   GI_SCOPE_TYPE_INVALID,
133   GI_SCOPE_TYPE_CALL,
134   GI_SCOPE_TYPE_ASYNC,
135   GI_SCOPE_TYPE_NOTIFIED
136 } GIScopeType;
137 </pre>
138 <p>
139 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
140 callback is invoked and is used to decided when the invoke structs
141 can be freed.
142 </p>
143 <div class="variablelist"><table border="0" class="variablelist">
144 <colgroup>
145 <col align="left" valign="top">
146 <col>
147 </colgroup>
148 <tbody>
149 <tr>
150 <td><p><a name="GI-SCOPE-TYPE-INVALID:CAPS"></a><span class="term"><code class="literal">GI_SCOPE_TYPE_INVALID</code></span></p></td>
151 <td>The argument is not of callback type.
152 </td>
153 </tr>
154 <tr>
155 <td><p><a name="GI-SCOPE-TYPE-CALL:CAPS"></a><span class="term"><code class="literal">GI_SCOPE_TYPE_CALL</code></span></p></td>
156 <td>The callback and associated user_data is only
157 used during the call to this function.
158 </td>
159 </tr>
160 <tr>
161 <td><p><a name="GI-SCOPE-TYPE-ASYNC:CAPS"></a><span class="term"><code class="literal">GI_SCOPE_TYPE_ASYNC</code></span></p></td>
162 <td>The callback and associated user_data is
163 only used until the callback is invoked, and the callback.
164 is invoked always exactly once.
165 </td>
166 </tr>
167 <tr>
168 <td><p><a name="GI-SCOPE-TYPE-NOTIFIED:CAPS"></a><span class="term"><code class="literal">GI_SCOPE_TYPE_NOTIFIED</code></span></p></td>
169 <td>The callback and and associated
170 user_data is used until the caller is notfied via the destroy_notify.
171 </td>
172 </tr>
173 </tbody>
174 </table></div>
175 </div>
176 <hr>
177 <div class="refsect2">
178 <a name="GITransfer"></a><h3>enum GITransfer</h3>
179 <pre class="programlisting">typedef enum {
180   GI_TRANSFER_NOTHING,
181   GI_TRANSFER_CONTAINER,
182   GI_TRANSFER_EVERYTHING
183 } GITransfer;
184 </pre>
185 <p>
186 The transfer is the exchange of data between two parts, from the callee to
187 the caller. The callee is either a function/method/signal or an
188 object/interface where a property is defined. The caller is the side
189 accessing a property or calling a function.
190 <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
191 ownership transfer is complete. In case of a containing type such as a list,
192 an array or a hash table the container itself is specified differently from
193 the items within the container itself. Each container is freed differently,
194 check the documentation for the types themselves for information on how to
195 free them.
196 </p>
197 <div class="variablelist"><table border="0" class="variablelist">
198 <colgroup>
199 <col align="left" valign="top">
200 <col>
201 </colgroup>
202 <tbody>
203 <tr>
204 <td><p><a name="GI-TRANSFER-NOTHING:CAPS"></a><span class="term"><code class="literal">GI_TRANSFER_NOTHING</code></span></p></td>
205 <td>transfer nothing from the callee (function or the type
206 instance the property belongs to) to the caller. The callee retains the
207 ownership of the transfer and the caller doesn't need to do anything to free
208 up the resources of this transfer.
209 </td>
210 </tr>
211 <tr>
212 <td><p><a name="GI-TRANSFER-CONTAINER:CAPS"></a><span class="term"><code class="literal">GI_TRANSFER_CONTAINER</code></span></p></td>
213 <td>transfer the container (list, array, hash table) from
214 the callee to the caller. The callee retains the ownership of the individual
215 items in the container and the caller has to free up the container resources
216 (<code class="function">g_list_free()</code>/<code class="function">g_hash_table_destroy()</code> etc) of this transfer.
217 </td>
218 </tr>
219 <tr>
220 <td><p><a name="GI-TRANSFER-EVERYTHING:CAPS"></a><span class="term"><code class="literal">GI_TRANSFER_EVERYTHING</code></span></p></td>
221 <td>transfer everything, eg the container and its
222 contents from the callee to the caller. This is the case when the callee
223 creates a copy of all the data it returns. The caller is responsible for
224 cleaning up the container and item resources of this transfer.
225 </td>
226 </tr>
227 </tbody>
228 </table></div>
229 </div>
230 <hr>
231 <div class="refsect2">
232 <a name="g-arg-info-get-direction"></a><h3>g_arg_info_get_direction ()</h3>
233 <pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="returnvalue">GIDirection</span></a>         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>
234 <p>
235 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
236 direction values.
237 </p>
238 <div class="variablelist"><table border="0" class="variablelist">
239 <colgroup>
240 <col align="left" valign="top">
241 <col>
242 </colgroup>
243 <tbody>
244 <tr>
245 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
246 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
247 </td>
248 </tr>
249 <tr>
250 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
251 <td>the direction</td>
252 </tr>
253 </tbody>
254 </table></div>
255 </div>
256 <hr>
257 <div class="refsect2">
258 <a name="g-arg-info-is-caller-allocates"></a><h3>g_arg_info_is_caller_allocates ()</h3>
259 <pre class="programlisting"><span class="returnvalue">gboolean</span>            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>
260 <p>
261 Obtain if the argument is a pointer to a struct or object that will
262 receive an output of a function.  The default assumption for
263 <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
264 callee allocates; if this is <code class="literal">TRUE</code>, then the caller must allocate.
265 </p>
266 <div class="variablelist"><table border="0" class="variablelist">
267 <colgroup>
268 <col align="left" valign="top">
269 <col>
270 </colgroup>
271 <tbody>
272 <tr>
273 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
274 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
275 </td>
276 </tr>
277 <tr>
278 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
279 <td>
280 <code class="literal">TRUE</code> if caller is required to have allocated the argument</td>
281 </tr>
282 </tbody>
283 </table></div>
284 </div>
285 <hr>
286 <div class="refsect2">
287 <a name="g-arg-info-is-return-value"></a><h3>g_arg_info_is_return_value ()</h3>
288 <pre class="programlisting"><span class="returnvalue">gboolean</span>            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>
289 <p>
290 Obtain if the argument is a return value. It can either be a
291 parameter or a return value.
292 </p>
293 <div class="variablelist"><table border="0" class="variablelist">
294 <colgroup>
295 <col align="left" valign="top">
296 <col>
297 </colgroup>
298 <tbody>
299 <tr>
300 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
301 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
302 </td>
303 </tr>
304 <tr>
305 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
306 <td>
307 <code class="literal">TRUE</code> if it is a return value</td>
308 </tr>
309 </tbody>
310 </table></div>
311 </div>
312 <hr>
313 <div class="refsect2">
314 <a name="g-arg-info-is-optional"></a><h3>g_arg_info_is_optional ()</h3>
315 <pre class="programlisting"><span class="returnvalue">gboolean</span>            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>
316 <p>
317 Obtain if the argument is optional.
318 </p>
319 <div class="variablelist"><table border="0" class="variablelist">
320 <colgroup>
321 <col align="left" valign="top">
322 <col>
323 </colgroup>
324 <tbody>
325 <tr>
326 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
327 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
328 </td>
329 </tr>
330 <tr>
331 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
332 <td>
333 <code class="literal">TRUE</code> if it is an optional argument</td>
334 </tr>
335 </tbody>
336 </table></div>
337 </div>
338 <hr>
339 <div class="refsect2">
340 <a name="g-arg-info-may-be-null"></a><h3>g_arg_info_may_be_null ()</h3>
341 <pre class="programlisting"><span class="returnvalue">gboolean</span>            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>
342 <p>
343 Obtain if the argument accepts <code class="literal">NULL</code>.
344 </p>
345 <div class="variablelist"><table border="0" class="variablelist">
346 <colgroup>
347 <col align="left" valign="top">
348 <col>
349 </colgroup>
350 <tbody>
351 <tr>
352 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
353 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
354 </td>
355 </tr>
356 <tr>
357 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
358 <td>
359 <code class="literal">TRUE</code> if it accepts <code class="literal">NULL</code>
360 </td>
361 </tr>
362 </tbody>
363 </table></div>
364 </div>
365 <hr>
366 <div class="refsect2">
367 <a name="g-arg-info-get-ownership-transfer"></a><h3>g_arg_info_get_ownership_transfer ()</h3>
368 <pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>          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>
369 <p>
370 Obtain the ownership transfer for this argument.
371 <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> contains a list of possible values.
372 </p>
373 <div class="variablelist"><table border="0" class="variablelist">
374 <colgroup>
375 <col align="left" valign="top">
376 <col>
377 </colgroup>
378 <tbody>
379 <tr>
380 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
381 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
382 </td>
383 </tr>
384 <tr>
385 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
386 <td>the transfer</td>
387 </tr>
388 </tbody>
389 </table></div>
390 </div>
391 <hr>
392 <div class="refsect2">
393 <a name="g-arg-info-get-scope"></a><h3>g_arg_info_get_scope ()</h3>
394 <pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="returnvalue">GIScopeType</span></a>         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>
395 <p>
396 Obtain the scope type for this argument. The scope type explains
397 how a callback is going to be invoked, most importantly when
398 the resources required to invoke it can be freed.
399 <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="type">GIScopeType</span></a> contains a list of possible values.
400 </p>
401 <div class="variablelist"><table border="0" class="variablelist">
402 <colgroup>
403 <col align="left" valign="top">
404 <col>
405 </colgroup>
406 <tbody>
407 <tr>
408 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
409 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
410 </td>
411 </tr>
412 <tr>
413 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
414 <td>the scope type</td>
415 </tr>
416 </tbody>
417 </table></div>
418 </div>
419 <hr>
420 <div class="refsect2">
421 <a name="g-arg-info-get-closure"></a><h3>g_arg_info_get_closure ()</h3>
422 <pre class="programlisting"><span class="returnvalue">gint</span>                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>
423 <p>
424 Obtain the index of the user data argument. This is only valid
425 for arguments which are callbacks.
426 </p>
427 <div class="variablelist"><table border="0" class="variablelist">
428 <colgroup>
429 <col align="left" valign="top">
430 <col>
431 </colgroup>
432 <tbody>
433 <tr>
434 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
435 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
436 </td>
437 </tr>
438 <tr>
439 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
440 <td>index of the user data argument or -1 if there is none</td>
441 </tr>
442 </tbody>
443 </table></div>
444 </div>
445 <hr>
446 <div class="refsect2">
447 <a name="g-arg-info-get-destroy"></a><h3>g_arg_info_get_destroy ()</h3>
448 <pre class="programlisting"><span class="returnvalue">gint</span>                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>
449 <p>
450 Obtains the index of the <span class="type">GDestroyNotify</span> argument. This is only valid
451 for arguments which are callbacks.
452 </p>
453 <div class="variablelist"><table border="0" class="variablelist">
454 <colgroup>
455 <col align="left" valign="top">
456 <col>
457 </colgroup>
458 <tbody>
459 <tr>
460 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
461 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
462 </td>
463 </tr>
464 <tr>
465 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
466 <td>index of the <span class="type">GDestroyNotify</span> argument or -1 if there is none</td>
467 </tr>
468 </tbody>
469 </table></div>
470 </div>
471 <hr>
472 <div class="refsect2">
473 <a name="g-arg-info-get-type"></a><h3>g_arg_info_get_type ()</h3>
474 <pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *        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>
475 <p>
476 Obtain the type information for <em class="parameter"><code>info</code></em>.
477 </p>
478 <div class="variablelist"><table border="0" class="variablelist">
479 <colgroup>
480 <col align="left" valign="top">
481 <col>
482 </colgroup>
483 <tbody>
484 <tr>
485 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
486 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
487 </td>
488 </tr>
489 <tr>
490 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
491 <td>the <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>, free it with
492 <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> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
493 </td>
494 </tr>
495 </tbody>
496 </table></div>
497 </div>
498 <hr>
499 <div class="refsect2">
500 <a name="g-arg-info-load-type"></a><h3>g_arg_info_load_type ()</h3>
501 <pre class="programlisting"><span class="returnvalue">void</span>                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>,
502                                                          <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);</pre>
503 <p>
504 Obtain information about a the type of given argument <em class="parameter"><code>info</code></em>; this
505 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
506 allocation.
507 </p>
508 <p>
509 The initialized <em class="parameter"><code>type</code></em> must not be referenced after <em class="parameter"><code>info</code></em> is deallocated.
510 </p>
511 <div class="variablelist"><table border="0" class="variablelist">
512 <colgroup>
513 <col align="left" valign="top">
514 <col>
515 </colgroup>
516 <tbody>
517 <tr>
518 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
519 <td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
520 </td>
521 </tr>
522 <tr>
523 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
524 <td>Initialized with information about type of <em class="parameter"><code>info</code></em>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
525 </td>
526 </tr>
527 </tbody>
528 </table></div>
529 </div>
530 </div>
531 </div>
532 <div class="footer">
533 <hr>
534           Generated by GTK-Doc V1.18.1</div>
535 </body>
536 </html>