1dfde85cc340a598a775e7a890f055aa7a58e830
[platform/upstream/gobject-introspection.git] / docs / reference / html / gi-GICallableInfo.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>GObject Introspection Reference Manual: GICallableInfo</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GIBaseInfo.html" title="GIBaseInfo">
10 <link rel="next" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">
11 <meta name="generator" content="GTK-Doc V1.19.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="10"><tr valign="middle">
16 <td width="100%" align="left">
17 <a href="#" class="shortcut">Top</a>
18                    | 
19                   <a href="#gi-GICallableInfo.description" class="shortcut">Description</a>
20 </td>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23 <td><a accesskey="p" href="gi-GIBaseInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24 <td><a accesskey="n" href="gi-GIFunctionInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25 </tr></table>
26 <div class="refentry">
27 <a name="gi-GICallableInfo"></a><div class="titlepage"></div>
28 <div class="refnamediv"><table width="100%"><tr>
29 <td valign="top">
30 <h2><span class="refentrytitle"><a name="gi-GICallableInfo.top_of_page"></a>GICallableInfo</span></h2>
31 <p>GICallableInfo — Struct representing a callable</p>
32 </td>
33 <td valign="top" align="right"></td>
34 </tr></table></div>
35 <div class="refsynopsisdiv">
36 <a name="gi-GICallableInfo.synopsis"></a><h2>Synopsis</h2>
37 <pre class="synopsis">#define             <a class="link" href="gi-GICallableInfo.html#GI-IS-CALLABLE-INFO:CAPS" title="GI_IS_CALLABLE_INFO()">GI_IS_CALLABLE_INFO</a>                 (info)
38 typedef             <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo">GICallableInfo</a>;
39 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" title="g_callable_info_can_throw_gerror ()">g_callable_info_can_throw_gerror</a>    (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
40 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()">g_callable_info_get_n_args</a>          (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
41 <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="returnvalue">GIArgInfo</span></a> *         <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-arg" title="g_callable_info_get_arg ()">g_callable_info_get_arg</a>             (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
42                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
43 <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>          <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-caller-owns" title="g_callable_info_get_caller_owns ()">g_callable_info_get_caller_owns</a>     (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
44 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-attribute" title="g_callable_info_get_return_attribute ()">g_callable_info_get_return_attribute</a>
45                                                         (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
46                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
47 <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *        <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-type" title="g_callable_info_get_return_type ()">g_callable_info_get_return_type</a>     (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
48 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gi-GICallableInfo.html#g-callable-info-invoke" title="g_callable_info_invoke ()">g_callable_info_invoke</a>              (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
49                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> function</code></em>,
50                                                          <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
51                                                          <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
52                                                          <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
53                                                          <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
54                                                          <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
55                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_method</code></em>,
56                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> throws</code></em>,
57                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
58 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gi-GICallableInfo.html#g-callable-info-is-method" title="g_callable_info_is_method ()">g_callable_info_is_method</a>           (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
59 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gi-GICallableInfo.html#g-callable-info-iterate-return-attributes" title="g_callable_info_iterate_return_attributes ()">g_callable_info_iterate_return_attributes</a>
60                                                         (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
61                                                          <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
62                                                          <em class="parameter"><code><span class="type">char</span> **name</code></em>,
63                                                          <em class="parameter"><code><span class="type">char</span> **value</code></em>);
64 <span class="returnvalue">void</span>                <a class="link" href="gi-GICallableInfo.html#g-callable-info-load-arg" title="g_callable_info_load_arg ()">g_callable_info_load_arg</a>            (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
65                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>,
66                                                          <em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *arg</code></em>);
67 <span class="returnvalue">void</span>                <a class="link" href="gi-GICallableInfo.html#g-callable-info-load-return-type" title="g_callable_info_load_return_type ()">g_callable_info_load_return_type</a>    (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
68                                                          <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);
69 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gi-GICallableInfo.html#g-callable-info-may-return-null" title="g_callable_info_may_return_null ()">g_callable_info_may_return_null</a>     (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
70 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gi-GICallableInfo.html#g-callable-info-skip-return" title="g_callable_info_skip_return ()">g_callable_info_skip_return</a>         (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
71 </pre>
72 </div>
73 <div class="refsect1">
74 <a name="gi-GICallableInfo.description"></a><h2>Description</h2>
75 <p>
76 GICallableInfo represents an entity which is callable.
77 Currently a function (<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>), virtual function,
78 (<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>) or callback (<a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo"><span class="type">GICallbackInfo</span></a>).
79 </p>
80 <p>
81 A callable has a list of arguments (<a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>), a return type,
82 direction and a flag which decides if it returns null.
83 </p>
84 <p>
85 </p>
86 <div class="refsect1">
87 <a name="gi-gicallableinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
88 <pre class="synopsis">
89   <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
90    +----GICallableInfo
91          +----<a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
92          +----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
93          +----<a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
94 </pre>
95 </div>
96 <p>
97 </p>
98 </div>
99 <div class="refsect1">
100 <a name="gi-GICallableInfo.details"></a><h2>Details</h2>
101 <div class="refsect2">
102 <a name="GI-IS-CALLABLE-INFO:CAPS"></a><h3>GI_IS_CALLABLE_INFO()</h3>
103 <pre class="programlisting">#define             GI_IS_CALLABLE_INFO(info)</pre>
104 <p>
105 Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> or derived from it.
106 </p>
107 <div class="variablelist"><table border="0" class="variablelist">
108 <colgroup>
109 <col align="left" valign="top">
110 <col>
111 </colgroup>
112 <tbody><tr>
113 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
114 <td>an info structure</td>
115 </tr></tbody>
116 </table></div>
117 </div>
118 <hr>
119 <div class="refsect2">
120 <a name="GICallableInfo"></a><h3>GICallableInfo</h3>
121 <pre class="programlisting">typedef GIBaseInfo GICallableInfo;
122 </pre>
123 <p>
124 Represents a callable, either <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, <a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo"><span class="type">GICallbackInfo</span></a> or
125 <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>.
126 </p>
127 </div>
128 <hr>
129 <div class="refsect2">
130 <a name="g-callable-info-can-throw-gerror"></a><h3>g_callable_info_can_throw_gerror ()</h3>
131 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_callable_info_can_throw_gerror    (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
132 <p>
133 TODO
134 </p>
135 <div class="variablelist"><table border="0" class="variablelist">
136 <colgroup>
137 <col align="left" valign="top">
138 <col>
139 </colgroup>
140 <tbody>
141 <tr>
142 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
143 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
144 </td>
145 </tr>
146 <tr>
147 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
148 <td>
149 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if this <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> can throw a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
150 </td>
151 </tr>
152 </tbody>
153 </table></div>
154 <p class="since">Since 1.34</p>
155 </div>
156 <hr>
157 <div class="refsect2">
158 <a name="g-callable-info-get-n-args"></a><h3>g_callable_info_get_n_args ()</h3>
159 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                g_callable_info_get_n_args          (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
160 <p>
161 Obtain the number of arguments (both IN and OUT) for this callable.
162 </p>
163 <div class="variablelist"><table border="0" class="variablelist">
164 <colgroup>
165 <col align="left" valign="top">
166 <col>
167 </colgroup>
168 <tbody>
169 <tr>
170 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
171 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
172 </td>
173 </tr>
174 <tr>
175 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
176 <td>The number of arguments this callable expects.</td>
177 </tr>
178 </tbody>
179 </table></div>
180 </div>
181 <hr>
182 <div class="refsect2">
183 <a name="g-callable-info-get-arg"></a><h3>g_callable_info_get_arg ()</h3>
184 <pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="returnvalue">GIArgInfo</span></a> *         g_callable_info_get_arg             (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
185                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
186 <p>
187 Obtain information about a particular argument of this callable.
188 </p>
189 <div class="variablelist"><table border="0" class="variablelist">
190 <colgroup>
191 <col align="left" valign="top">
192 <col>
193 </colgroup>
194 <tbody>
195 <tr>
196 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
197 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
198 </td>
199 </tr>
200 <tr>
201 <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
202 <td>the argument index to fetch</td>
203 </tr>
204 <tr>
205 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
206 <td>the <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>. Free it with
207 <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>
208 </td>
209 </tr>
210 </tbody>
211 </table></div>
212 </div>
213 <hr>
214 <div class="refsect2">
215 <a name="g-callable-info-get-caller-owns"></a><h3>g_callable_info_get_caller_owns ()</h3>
216 <pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>          g_callable_info_get_caller_owns     (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
217 <p>
218 See whether the caller owns the return value of this callable.
219 <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> contains a list of possible transfer values.
220 </p>
221 <div class="variablelist"><table border="0" class="variablelist">
222 <colgroup>
223 <col align="left" valign="top">
224 <col>
225 </colgroup>
226 <tbody>
227 <tr>
228 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
229 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
230 </td>
231 </tr>
232 <tr>
233 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
234 <td>
235 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caller owns the return value, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
236 </tr>
237 </tbody>
238 </table></div>
239 </div>
240 <hr>
241 <div class="refsect2">
242 <a name="g-callable-info-get-return-attribute"></a><h3>g_callable_info_get_return_attribute ()</h3>
243 <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       g_callable_info_get_return_attribute
244                                                         (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
245                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
246 <p>
247 Retrieve an arbitrary attribute associated with the return value.
248 </p>
249 <div class="variablelist"><table border="0" class="variablelist">
250 <colgroup>
251 <col align="left" valign="top">
252 <col>
253 </colgroup>
254 <tbody>
255 <tr>
256 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
257 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
258 </td>
259 </tr>
260 <tr>
261 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
262 <td>a freeform string naming an attribute</td>
263 </tr>
264 <tr>
265 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
266 <td>The value of the attribute, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such attribute exists</td>
267 </tr>
268 </tbody>
269 </table></div>
270 </div>
271 <hr>
272 <div class="refsect2">
273 <a name="g-callable-info-get-return-type"></a><h3>g_callable_info_get_return_type ()</h3>
274 <pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *        g_callable_info_get_return_type     (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
275 <p>
276 Obtain the return type of a callable item as a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
277 </p>
278 <div class="variablelist"><table border="0" class="variablelist">
279 <colgroup>
280 <col align="left" valign="top">
281 <col>
282 </colgroup>
283 <tbody>
284 <tr>
285 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
286 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
287 </td>
288 </tr>
289 <tr>
290 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
291 <td>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
292 <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>
293 </td>
294 </tr>
295 </tbody>
296 </table></div>
297 </div>
298 <hr>
299 <div class="refsect2">
300 <a name="g-callable-info-invoke"></a><h3>g_callable_info_invoke ()</h3>
301 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_callable_info_invoke              (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
302                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> function</code></em>,
303                                                          <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
304                                                          <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
305                                                          <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
306                                                          <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
307                                                          <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
308                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_method</code></em>,
309                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> throws</code></em>,
310                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
311 <p>
312 TODO
313 </p>
314 <div class="variablelist"><table border="0" class="variablelist">
315 <colgroup>
316 <col align="left" valign="top">
317 <col>
318 </colgroup>
319 <tbody>
320 <tr>
321 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
322 <td>TODO</td>
323 </tr>
324 <tr>
325 <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
326 <td>TODO</td>
327 </tr>
328 <tr>
329 <td><p><span class="term"><em class="parameter"><code>in_args</code></em> :</span></p></td>
330 <td>TODO</td>
331 </tr>
332 <tr>
333 <td><p><span class="term"><em class="parameter"><code>n_in_args</code></em> :</span></p></td>
334 <td>TODO</td>
335 </tr>
336 <tr>
337 <td><p><span class="term"><em class="parameter"><code>out_args</code></em> :</span></p></td>
338 <td>TODO</td>
339 </tr>
340 <tr>
341 <td><p><span class="term"><em class="parameter"><code>n_out_args</code></em> :</span></p></td>
342 <td>TODO</td>
343 </tr>
344 <tr>
345 <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td>
346 <td>TODO</td>
347 </tr>
348 <tr>
349 <td><p><span class="term"><em class="parameter"><code>is_method</code></em> :</span></p></td>
350 <td>TODO</td>
351 </tr>
352 <tr>
353 <td><p><span class="term"><em class="parameter"><code>throws</code></em> :</span></p></td>
354 <td>TODO</td>
355 </tr>
356 <tr>
357 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
358 <td>TODO</td>
359 </tr>
360 </tbody>
361 </table></div>
362 </div>
363 <hr>
364 <div class="refsect2">
365 <a name="g-callable-info-is-method"></a><h3>g_callable_info_is_method ()</h3>
366 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_callable_info_is_method           (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
367 <p>
368 Determines if the callable info is a method. For <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>s,
369 <a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo"><span class="type">GICallbackInfo</span></a>s, and <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>s,
370 this is always true. Otherwise, this looks at the <a class="link" href="gi-GIFunctionInfo.html#GI-FUNCTION-IS-METHOD:CAPS"><code class="literal">GI_FUNCTION_IS_METHOD</code></a>
371 flag on the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.
372 </p>
373 <p>
374 Concretely, this function returns whether <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()"><code class="function">g_callable_info_get_n_args()</code></a>
375 matches the number of arguments in the raw C method. For methods, there
376 is one more C argument than is exposed by introspection: the "self"
377 or "this" object.
378 </p>
379 <div class="variablelist"><table border="0" class="variablelist">
380 <colgroup>
381 <col align="left" valign="top">
382 <col>
383 </colgroup>
384 <tbody>
385 <tr>
386 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
387 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
388 </td>
389 </tr>
390 <tr>
391 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
392 <td>
393 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>info</code></em> is a method, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
394 </tr>
395 </tbody>
396 </table></div>
397 <p class="since">Since 1.34</p>
398 </div>
399 <hr>
400 <div class="refsect2">
401 <a name="g-callable-info-iterate-return-attributes"></a><h3>g_callable_info_iterate_return_attributes ()</h3>
402 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_callable_info_iterate_return_attributes
403                                                         (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
404                                                          <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
405                                                          <em class="parameter"><code><span class="type">char</span> **name</code></em>,
406                                                          <em class="parameter"><code><span class="type">char</span> **value</code></em>);</pre>
407 <p>
408 Iterate over all attributes associated with the return value.  The
409 iterator structure is typically stack allocated, and must have its
410 first member initialized to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
411 </p>
412 <p>
413 Both the <em class="parameter"><code>name</code></em> and <em class="parameter"><code>value</code></em> should be treated as constants
414 and must not be freed.
415 </p>
416 <p>
417 See <a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()"><code class="function">g_base_info_iterate_attributes()</code></a> for an example of how to use a
418 similar API.
419 </p>
420 <div class="variablelist"><table border="0" class="variablelist">
421 <colgroup>
422 <col align="left" valign="top">
423 <col>
424 </colgroup>
425 <tbody>
426 <tr>
427 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
428 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
429 </td>
430 </tr>
431 <tr>
432 <td><p><span class="term"><em class="parameter"><code>iterator</code></em> :</span></p></td>
433 <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>
434 </tr>
435 <tr>
436 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
437 <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>
438 </td>
439 </tr>
440 <tr>
441 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
442 <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>
443 </td>
444 </tr>
445 <tr>
446 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
447 <td>
448 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there are more attributes</td>
449 </tr>
450 </tbody>
451 </table></div>
452 </div>
453 <hr>
454 <div class="refsect2">
455 <a name="g-callable-info-load-arg"></a><h3>g_callable_info_load_arg ()</h3>
456 <pre class="programlisting"><span class="returnvalue">void</span>                g_callable_info_load_arg            (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
457                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>,
458                                                          <em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *arg</code></em>);</pre>
459 <p>
460 Obtain information about a particular argument of this callable; this
461 function is a variant of <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-arg" title="g_callable_info_get_arg ()"><code class="function">g_callable_info_get_arg()</code></a> designed for stack
462 allocation.
463 </p>
464 <p>
465 The initialized <em class="parameter"><code>arg</code></em> must not be referenced after <em class="parameter"><code>info</code></em> is deallocated.
466 </p>
467 <div class="variablelist"><table border="0" class="variablelist">
468 <colgroup>
469 <col align="left" valign="top">
470 <col>
471 </colgroup>
472 <tbody>
473 <tr>
474 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
475 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
476 </td>
477 </tr>
478 <tr>
479 <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
480 <td>the argument index to fetch</td>
481 </tr>
482 <tr>
483 <td><p><span class="term"><em class="parameter"><code>arg</code></em> :</span></p></td>
484 <td>Initialize with argument number <em class="parameter"><code>n</code></em>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
485 </td>
486 </tr>
487 </tbody>
488 </table></div>
489 </div>
490 <hr>
491 <div class="refsect2">
492 <a name="g-callable-info-load-return-type"></a><h3>g_callable_info_load_return_type ()</h3>
493 <pre class="programlisting"><span class="returnvalue">void</span>                g_callable_info_load_return_type    (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
494                                                          <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);</pre>
495 <p>
496 Obtain information about a return value of callable; this
497 function is a variant of <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-type" title="g_callable_info_get_return_type ()"><code class="function">g_callable_info_get_return_type()</code></a> designed for stack
498 allocation.
499 </p>
500 <p>
501 The initialized <em class="parameter"><code>type</code></em> must not be referenced after <em class="parameter"><code>info</code></em> is deallocated.
502 </p>
503 <div class="variablelist"><table border="0" class="variablelist">
504 <colgroup>
505 <col align="left" valign="top">
506 <col>
507 </colgroup>
508 <tbody>
509 <tr>
510 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
511 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
512 </td>
513 </tr>
514 <tr>
515 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
516 <td>Initialized with return 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>
517 </td>
518 </tr>
519 </tbody>
520 </table></div>
521 </div>
522 <hr>
523 <div class="refsect2">
524 <a name="g-callable-info-may-return-null"></a><h3>g_callable_info_may_return_null ()</h3>
525 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_callable_info_may_return_null     (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
526 <p>
527 See if a callable could return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
528 </p>
529 <div class="variablelist"><table border="0" class="variablelist">
530 <colgroup>
531 <col align="left" valign="top">
532 <col>
533 </colgroup>
534 <tbody>
535 <tr>
536 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
537 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
538 </td>
539 </tr>
540 <tr>
541 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
542 <td>
543 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if callable could return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
544 </td>
545 </tr>
546 </tbody>
547 </table></div>
548 </div>
549 <hr>
550 <div class="refsect2">
551 <a name="g-callable-info-skip-return"></a><h3>g_callable_info_skip_return ()</h3>
552 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_callable_info_skip_return         (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
553 <p>
554 See if a callable's return value is only useful in C.
555 </p>
556 <div class="variablelist"><table border="0" class="variablelist">
557 <colgroup>
558 <col align="left" valign="top">
559 <col>
560 </colgroup>
561 <tbody>
562 <tr>
563 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
564 <td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
565 </td>
566 </tr>
567 <tr>
568 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
569 <td>
570 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if return value is only useful in C.</td>
571 </tr>
572 </tbody>
573 </table></div>
574 </div>
575 </div>
576 </div>
577 <div class="footer">
578 <hr>
579           Generated by GTK-Doc V1.19.1</div>
580 </body>
581 </html>