1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GIVFuncInfo: 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-GISignalInfo.html" title="GISignalInfo">
10 <link rel="next" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">
11 <meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="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-GIVFuncInfo.description" class="shortcut">Description</a></span>
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-GISignalInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="gi-GIRegisteredTypeInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25 <div class="refentry">
26 <a name="gi-GIVFuncInfo"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
29 <h2><span class="refentrytitle"><a name="gi-GIVFuncInfo.top_of_page"></a>GIVFuncInfo</span></h2>
30 <p>GIVFuncInfo — Struct representing a virtual function</p>
32 <td class="gallery_image" valign="top" align="right"></td>
34 <div class="refsect1">
35 <a name="gi-GIVFuncInfo.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
38 <col width="150px" class="functions_return">
39 <col class="functions_name">
43 <td class="function_type">
44 <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="returnvalue">GIVFuncInfoFlags</span></a>
46 <td class="function_name">
47 <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-flags" title="g_vfunc_info_get_flags ()">g_vfunc_info_get_flags</a> <span class="c_punctuation">()</span>
51 <td class="function_type">
52 <span class="returnvalue">gint</span>
54 <td class="function_name">
55 <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-offset" title="g_vfunc_info_get_offset ()">g_vfunc_info_get_offset</a> <span class="c_punctuation">()</span>
59 <td class="function_type">
60 <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
62 <td class="function_name">
63 <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-signal" title="g_vfunc_info_get_signal ()">g_vfunc_info_get_signal</a> <span class="c_punctuation">()</span>
67 <td class="function_type">
68 <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
70 <td class="function_name">
71 <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()">g_vfunc_info_get_invoker</a> <span class="c_punctuation">()</span>
75 <td class="function_type">
76 <span class="returnvalue">gpointer</span>
78 <td class="function_name">
79 <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-address" title="g_vfunc_info_get_address ()">g_vfunc_info_get_address</a> <span class="c_punctuation">()</span>
83 <td class="function_type">
84 <span class="returnvalue">gboolean</span>
86 <td class="function_name">
87 <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-invoke" title="g_vfunc_info_invoke ()">g_vfunc_info_invoke</a> <span class="c_punctuation">()</span>
93 <div class="refsect1">
94 <a name="gi-GIVFuncInfo.other"></a><h2>Types and Values</h2>
95 <div class="informaltable"><table class="informaltable" width="100%" border="0">
97 <col width="150px" class="name">
98 <col class="description">
102 <td class="typedef_keyword">typedef</td>
103 <td class="function_name"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo">GIVFuncInfo</a></td>
106 <td class="datatype_keyword">enum</td>
107 <td class="function_name"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags">GIVFuncInfoFlags</a></td>
112 <div class="refsect1">
113 <a name="gi-GIVFuncInfo.description"></a><h2>Description</h2>
114 <p>GIVfuncInfo represents a virtual function. A property belongs to
115 either a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.</p>
116 <div class="refsect1">
117 <a name="gi-givfuncinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
118 <pre class="synopsis">
119 <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
120 +----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
121 +----<a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
122 +----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
127 <div class="refsect1">
128 <a name="gi-GIVFuncInfo.functions_details"></a><h2>Functions</h2>
129 <div class="refsect2">
130 <a name="g-vfunc-info-get-flags"></a><h3>g_vfunc_info_get_flags ()</h3>
131 <pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="returnvalue">GIVFuncInfoFlags</span></a>
132 g_vfunc_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
133 <p>Obtain the flags for this virtual function info. See <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="type">GIVFuncInfoFlags</span></a> for
134 more information about possible flag values.</p>
135 <div class="refsect3">
136 <a name="g-vfunc-info-get-flags.parameters"></a><h4>Parameters</h4>
137 <div class="informaltable"><table class="informaltable" width="100%" border="0">
139 <col width="150px" class="parameters_name">
140 <col class="parameters_description">
141 <col width="200px" class="parameters_annotations">
144 <td class="parameter_name"><p>info</p></td>
145 <td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
146 <td class="parameter_annotations"> </td>
150 <div class="refsect3">
151 <a name="g-vfunc-info-get-flags.returns"></a><h4>Returns</h4>
156 <div class="refsect2">
157 <a name="g-vfunc-info-get-offset"></a><h3>g_vfunc_info_get_offset ()</h3>
158 <pre class="programlisting"><span class="returnvalue">gint</span>
159 g_vfunc_info_get_offset (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
160 <p>Obtain the offset of the function pointer in the class struct. The value
161 0xFFFF indicates that the struct offset is unknown.</p>
162 <div class="refsect3">
163 <a name="g-vfunc-info-get-offset.parameters"></a><h4>Parameters</h4>
164 <div class="informaltable"><table class="informaltable" width="100%" border="0">
166 <col width="150px" class="parameters_name">
167 <col class="parameters_description">
168 <col width="200px" class="parameters_annotations">
171 <td class="parameter_name"><p>info</p></td>
172 <td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
173 <td class="parameter_annotations"> </td>
177 <div class="refsect3">
178 <a name="g-vfunc-info-get-offset.returns"></a><h4>Returns</h4>
179 <p> the struct offset or 0xFFFF if it's unknown</p>
183 <div class="refsect2">
184 <a name="g-vfunc-info-get-signal"></a><h3>g_vfunc_info_get_signal ()</h3>
185 <pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
186 g_vfunc_info_get_signal (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
187 <p>Obtain the signal for the virtual function if one is set.
188 The signal comes from the object or interface to which
189 this virtual function belongs.</p>
190 <div class="refsect3">
191 <a name="g-vfunc-info-get-signal.parameters"></a><h4>Parameters</h4>
192 <div class="informaltable"><table class="informaltable" width="100%" border="0">
194 <col width="150px" class="parameters_name">
195 <col class="parameters_description">
196 <col width="200px" class="parameters_annotations">
199 <td class="parameter_name"><p>info</p></td>
200 <td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
201 <td class="parameter_annotations"> </td>
205 <div class="refsect3">
206 <a name="g-vfunc-info-get-signal.returns"></a><h4>Returns</h4>
207 <p> the signal or <code class="literal">NULL</code> if none set. </p>
208 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
212 <div class="refsect2">
213 <a name="g-vfunc-info-get-invoker"></a><h3>g_vfunc_info_get_invoker ()</h3>
214 <pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
215 g_vfunc_info_get_invoker (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
216 <p>If this virtual function has an associated invoker method, this
217 method will return it. An invoker method is a C entry point.</p>
218 <p>Not all virtuals will have invokers.</p>
219 <div class="refsect3">
220 <a name="g-vfunc-info-get-invoker.parameters"></a><h4>Parameters</h4>
221 <div class="informaltable"><table class="informaltable" width="100%" border="0">
223 <col width="150px" class="parameters_name">
224 <col class="parameters_description">
225 <col width="200px" class="parameters_annotations">
228 <td class="parameter_name"><p>info</p></td>
229 <td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
230 <td class="parameter_annotations"> </td>
234 <div class="refsect3">
235 <a name="g-vfunc-info-get-invoker.returns"></a><h4>Returns</h4>
236 <p> the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> or <code class="literal">NULL</code>. Free it with
237 <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. </p>
238 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
242 <div class="refsect2">
243 <a name="g-vfunc-info-get-address"></a><h3>g_vfunc_info_get_address ()</h3>
244 <pre class="programlisting"><span class="returnvalue">gpointer</span>
245 g_vfunc_info_get_address (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
246 <em class="parameter"><code><span class="type">GType</span> implementor_gtype</code></em>,
247 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
248 <p>This method will look up where inside the type struct of <em class="parameter"><code>implementor_gtype</code></em>
250 is the implementation for <em class="parameter"><code>info</code></em>
252 <div class="refsect3">
253 <a name="g-vfunc-info-get-address.parameters"></a><h4>Parameters</h4>
254 <div class="informaltable"><table class="informaltable" width="100%" border="0">
256 <col width="150px" class="parameters_name">
257 <col class="parameters_description">
258 <col width="200px" class="parameters_annotations">
262 <td class="parameter_name"><p>info</p></td>
263 <td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
264 <td class="parameter_annotations"> </td>
267 <td class="parameter_name"><p>implementor_gtype</p></td>
268 <td class="parameter_description"><p><span class="type">GType</span> implementing this virtual function</p></td>
269 <td class="parameter_annotations"> </td>
272 <td class="parameter_name"><p>error</p></td>
273 <td class="parameter_description"><p>return location for a <span class="type">GError</span></p></td>
274 <td class="parameter_annotations"> </td>
279 <div class="refsect3">
280 <a name="g-vfunc-info-get-address.returns"></a><h4>Returns</h4>
281 <p> address to a function or <code class="literal">NULL</code> if an error happened</p>
285 <div class="refsect2">
286 <a name="g-vfunc-info-invoke"></a><h3>g_vfunc_info_invoke ()</h3>
287 <pre class="programlisting"><span class="returnvalue">gboolean</span>
288 g_vfunc_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
289 <em class="parameter"><code><span class="type">GType</span> implementor</code></em>,
290 <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
291 <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
292 <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
293 <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
294 <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
295 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
296 <p>Invokes the function described in <em class="parameter"><code>info</code></em>
298 arguments. Note that inout parameters must appear in both
300 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
301 <div class="refsect3">
302 <a name="g-vfunc-info-invoke.parameters"></a><h4>Parameters</h4>
303 <div class="informaltable"><table class="informaltable" width="100%" border="0">
305 <col width="150px" class="parameters_name">
306 <col class="parameters_description">
307 <col width="200px" class="parameters_annotations">
311 <td class="parameter_name"><p>info</p></td>
312 <td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> describing the virtual function to invoke</p></td>
313 <td class="parameter_annotations"> </td>
316 <td class="parameter_name"><p>implementor</p></td>
317 <td class="parameter_description"><p><span class="type">GType</span> of the type that implements this virtual function</p></td>
318 <td class="parameter_annotations"> </td>
321 <td class="parameter_name"><p>in_args</p></td>
322 <td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
323 parameter of <em class="parameter"><code>info</code></em>
324 . If there are no in parameter, <em class="parameter"><code>in_args</code></em>
325 can be <code class="literal">NULL</code></p></td>
326 <td class="parameter_annotations"> </td>
329 <td class="parameter_name"><p>n_in_args</p></td>
330 <td class="parameter_description"><p>the length of the <em class="parameter"><code>in_args</code></em>
332 <td class="parameter_annotations"> </td>
335 <td class="parameter_name"><p>out_args</p></td>
336 <td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
337 parameter of <em class="parameter"><code>info</code></em>
338 . If there are no out parameters, <em class="parameter"><code>out_args</code></em>
339 may be <code class="literal">NULL</code></p></td>
340 <td class="parameter_annotations"> </td>
343 <td class="parameter_name"><p>n_out_args</p></td>
344 <td class="parameter_description"><p>the length of the <em class="parameter"><code>out_args</code></em>
346 <td class="parameter_annotations"> </td>
349 <td class="parameter_name"><p>return_value</p></td>
350 <td class="parameter_description"><p>return location for the return value of the
351 function. If the function returns void, <em class="parameter"><code>return_value</code></em>
353 <code class="literal">NULL</code></p></td>
354 <td class="parameter_annotations"> </td>
357 <td class="parameter_name"><p>error</p></td>
358 <td class="parameter_description"><p>return location for detailed error information, or <code class="literal">NULL</code></p></td>
359 <td class="parameter_annotations"> </td>
364 <div class="refsect3">
365 <a name="g-vfunc-info-invoke.returns"></a><h4>Returns</h4>
366 <p> <code class="literal">TRUE</code> if the function has been invoked, <code class="literal">FALSE</code> if an
371 <div class="refsect1">
372 <a name="gi-GIVFuncInfo.other_details"></a><h2>Types and Values</h2>
373 <div class="refsect2">
374 <a name="GIVFuncInfo"></a><h3>GIVFuncInfo</h3>
375 <pre class="programlisting">typedef GIBaseInfo GIVFuncInfo;
377 <p>Represents a virtual function.</p>
380 <div class="refsect2">
381 <a name="GIVFuncInfoFlags"></a><h3>enum GIVFuncInfoFlags</h3>
382 <p>Flags of a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> struct.</p>
383 <div class="refsect3">
384 <a name="GIVFuncInfoFlags.members"></a><h4>Members</h4>
385 <div class="informaltable"><table class="informaltable" width="100%" border="0">
387 <col width="300px" class="enum_members_name">
388 <col class="enum_members_description">
389 <col width="200px" class="enum_members_annotations">
393 <td class="enum_member_name"><p><a name="GI-VFUNC-MUST-CHAIN-UP:CAPS"></a>GI_VFUNC_MUST_CHAIN_UP</p></td>
394 <td class="enum_member_description">
395 <p>chains up to the parent type</p>
397 <td class="enum_member_annotations"> </td>
400 <td class="enum_member_name"><p><a name="GI-VFUNC-MUST-OVERRIDE:CAPS"></a>GI_VFUNC_MUST_OVERRIDE</p></td>
401 <td class="enum_member_description">
404 <td class="enum_member_annotations"> </td>
407 <td class="enum_member_name"><p><a name="GI-VFUNC-MUST-NOT-OVERRIDE:CAPS"></a>GI_VFUNC_MUST_NOT_OVERRIDE</p></td>
408 <td class="enum_member_description">
409 <p>does not override</p>
411 <td class="enum_member_annotations"> </td>
414 <td class="enum_member_name"><p><a name="GI-VFUNC-THROWS:CAPS"></a>GI_VFUNC_THROWS</p></td>
415 <td class="enum_member_description">
416 <p>Includes a <span class="type">GError</span></p>
418 <td class="enum_member_annotations"> </td>
427 <hr>Generated by GTK-Doc V1.25.1</div>