| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Closures</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> |
| <link rel="home" href="index.html" title="GObject Reference Manual"> |
| <link rel="up" href="rn01.html" title="API Reference"> |
| <link rel="prev" href="gobject-Signals.html" title="Signals"> |
| <link rel="next" href="gobject-Value-arrays.html" title="Value arrays"> |
| <meta name="generator" content="GTK-Doc V1.14 (XML mode)"> |
| <link rel="stylesheet" href="style.css" type="text/css"> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> |
| <tr valign="middle"> |
| <td><a accesskey="p" href="gobject-Signals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> |
| <td><a accesskey="u" href="rn01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> |
| <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> |
| <th width="100%" align="center">GObject Reference Manual</th> |
| <td><a accesskey="n" href="gobject-Value-arrays.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> |
| </tr> |
| <tr><td colspan="5" class="shortcuts"> |
| <a href="#gobject-Closures.synopsis" class="shortcut">Top</a> |
| | |
| <a href="#gobject-Closures.description" class="shortcut">Description</a> |
| </td></tr> |
| </table> |
| <div class="refentry" title="Closures"> |
| <a name="gobject-Closures"></a><div class="titlepage"></div> |
| <div class="refnamediv"><table width="100%"><tr> |
| <td valign="top"> |
| <h2><span class="refentrytitle"><a name="gobject-Closures.top_of_page"></a>Closures</span></h2> |
| <p>Closures — Functions as first-class objects</p> |
| </td> |
| <td valign="top" align="right"></td> |
| </tr></table></div> |
| <div class="refsynopsisdiv" title="Synopsis"> |
| <a name="gobject-Closures.synopsis"></a><h2>Synopsis</h2> |
| <pre class="synopsis"> |
| #include <glib-object.h> |
| |
| #define <a class="link" href="gobject-Closures.html#G-CLOSURE-NEEDS-MARSHAL:CAPS" title="G_CLOSURE_NEEDS_MARSHAL()">G_CLOSURE_NEEDS_MARSHAL</a> (closure) |
| #define <a class="link" href="gobject-Closures.html#G-CLOSURE-N-NOTIFIERS:CAPS" title="G_CLOSURE_N_NOTIFIERS()">G_CLOSURE_N_NOTIFIERS</a> (cl) |
| #define <a class="link" href="gobject-Closures.html#G-CCLOSURE-SWAP-DATA:CAPS" title="G_CCLOSURE_SWAP_DATA()">G_CCLOSURE_SWAP_DATA</a> (cclosure) |
| #define <a class="link" href="gobject-Closures.html#G-CALLBACK:CAPS" title="G_CALLBACK()">G_CALLBACK</a> (f) |
| <span class="returnvalue">void</span> (<a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()">*GCallback</a>) (<em class="parameter"><code><span class="type">void</span></code></em>); |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure">GClosure</a>; |
| #define <a class="link" href="gobject-Closures.html#G-TYPE-CLOSURE:CAPS" title="G_TYPE_CLOSURE">G_TYPE_CLOSURE</a> |
| <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure">GCClosure</a>; |
| <span class="returnvalue">void</span> (<a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()">*GClosureMarshal</a>) (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> (<a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()">*GClosureNotify</a>) (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>); |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* <a class="link" href="gobject-Closures.html#g-cclosure-new" title="g_cclosure_new ()">g_cclosure_new</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> callback_func</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> destroy_data</code></em>); |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* <a class="link" href="gobject-Closures.html#g-cclosure-new-swap" title="g_cclosure_new_swap ()">g_cclosure_new_swap</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> callback_func</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> destroy_data</code></em>); |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* <a class="link" href="gobject-Closures.html#g-cclosure-new-object" title="g_cclosure_new_object ()">g_cclosure_new_object</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> callback_func</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>); |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* <a class="link" href="gobject-Closures.html#g-cclosure-new-object-swap" title="g_cclosure_new_object_swap ()">g_cclosure_new_object_swap</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> callback_func</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>); |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* <a class="link" href="gobject-Closures.html#g-closure-new-object" title="g_closure_new_object ()">g_closure_new_object</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> sizeof_closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>); |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* <a class="link" href="gobject-Closures.html#g-closure-ref" title="g_closure_ref ()">g_closure_ref</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-sink" title="g_closure_sink ()">g_closure_sink</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-unref" title="g_closure_unref ()">g_closure_unref</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()">g_closure_invoke</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-invalidate" title="g_closure_invalidate ()">g_closure_invalidate</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-add-finalize-notifier" title="g_closure_add_finalize_notifier ()">g_closure_add_finalize_notifier</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> notify_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> notify_func</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-add-invalidate-notifier" title="g_closure_add_invalidate_notifier ()">g_closure_add_invalidate_notifier</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> notify_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> notify_func</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-remove-finalize-notifier" title="g_closure_remove_finalize_notifier ()">g_closure_remove_finalize_notifier</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> notify_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> notify_func</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-remove-invalidate-notifier" title="g_closure_remove_invalidate_notifier ()">g_closure_remove_invalidate_notifier</a> |
| (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> notify_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> notify_func</code></em>); |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* <a class="link" href="gobject-Closures.html#g-closure-new-simple" title="g_closure_new_simple ()">g_closure_new_simple</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> sizeof_closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-set-marshal" title="g_closure_set_marshal ()">g_closure_set_marshal</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> marshal</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-add-marshal-guards" title="g_closure_add_marshal_guards ()">g_closure_add_marshal_guards</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> pre_marshal_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> pre_marshal_notify</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> post_marshal_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> post_marshal_notify</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-closure-set-meta-marshal" title="g_closure_set_meta_marshal ()">g_closure_set_meta_marshal</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> meta_marshal</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-source-set-closure" title="g_source_set_closure ()">g_source_set_closure</a> (<em class="parameter"><code><a href="./../glib/glib/glib-The-Main-Event-Loop.html#GSource"><span class="type">GSource</span></a> *source</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>); |
| #define <a class="link" href="gobject-Closures.html#G-TYPE-IO-CHANNEL:CAPS" title="G_TYPE_IO_CHANNEL">G_TYPE_IO_CHANNEL</a> |
| #define <a class="link" href="gobject-Closures.html#G-TYPE-IO-CONDITION:CAPS" title="G_TYPE_IO_CONDITION">G_TYPE_IO_CONDITION</a> |
| |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--VOID" title="g_cclosure_marshal_VOID__VOID ()">g_cclosure_marshal_VOID__VOID</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--BOOLEAN" title="g_cclosure_marshal_VOID__BOOLEAN ()">g_cclosure_marshal_VOID__BOOLEAN</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--CHAR" title="g_cclosure_marshal_VOID__CHAR ()">g_cclosure_marshal_VOID__CHAR</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UCHAR" title="g_cclosure_marshal_VOID__UCHAR ()">g_cclosure_marshal_VOID__UCHAR</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--INT" title="g_cclosure_marshal_VOID__INT ()">g_cclosure_marshal_VOID__INT</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UINT" title="g_cclosure_marshal_VOID__UINT ()">g_cclosure_marshal_VOID__UINT</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--LONG" title="g_cclosure_marshal_VOID__LONG ()">g_cclosure_marshal_VOID__LONG</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--ULONG" title="g_cclosure_marshal_VOID__ULONG ()">g_cclosure_marshal_VOID__ULONG</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--ENUM" title="g_cclosure_marshal_VOID__ENUM ()">g_cclosure_marshal_VOID__ENUM</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--FLAGS" title="g_cclosure_marshal_VOID__FLAGS ()">g_cclosure_marshal_VOID__FLAGS</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--FLOAT" title="g_cclosure_marshal_VOID__FLOAT ()">g_cclosure_marshal_VOID__FLOAT</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--DOUBLE" title="g_cclosure_marshal_VOID__DOUBLE ()">g_cclosure_marshal_VOID__DOUBLE</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--STRING" title="g_cclosure_marshal_VOID__STRING ()">g_cclosure_marshal_VOID__STRING</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--PARAM" title="g_cclosure_marshal_VOID__PARAM ()">g_cclosure_marshal_VOID__PARAM</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--BOXED" title="g_cclosure_marshal_VOID__BOXED ()">g_cclosure_marshal_VOID__BOXED</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--POINTER" title="g_cclosure_marshal_VOID__POINTER ()">g_cclosure_marshal_VOID__POINTER</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--OBJECT" title="g_cclosure_marshal_VOID__OBJECT ()">g_cclosure_marshal_VOID__OBJECT</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-STRING--OBJECT-POINTER" title="g_cclosure_marshal_STRING__OBJECT_POINTER ()">g_cclosure_marshal_STRING__OBJECT_POINTER</a> |
| (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UINT-POINTER" title="g_cclosure_marshal_VOID__UINT_POINTER ()">g_cclosure_marshal_VOID__UINT_POINTER</a> |
| (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--FLAGS" title="g_cclosure_marshal_BOOLEAN__FLAGS ()">g_cclosure_marshal_BOOLEAN__FLAGS</a> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>); |
| #define <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOL--FLAGS" title="g_cclosure_marshal_BOOL__FLAGS">g_cclosure_marshal_BOOL__FLAGS</a> |
| </pre> |
| </div> |
| <div class="refsect1" title="Description"> |
| <a name="gobject-Closures.description"></a><h2>Description</h2> |
| <p> |
| A <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> represents a callback supplied by the programmer. It |
| will generally comprise a function of some kind and a marshaller |
| used to call it. It is the reponsibility of the marshaller to |
| convert the arguments for the invocation from <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a>s into |
| a suitable form, perform the callback on the converted arguments, |
| and transform the return value back into a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a>. |
| </p> |
| <p> |
| In the case of C programs, a closure usually just holds a pointer |
| to a function and maybe a data argument, and the marshaller |
| converts between <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> and native C types. The GObject |
| library provides the <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> type for this purpose. Bindings for |
| other languages need marshallers which convert between <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a>s and suitable representations in the runtime of the language in |
| order to use functions written in that languages as callbacks. |
| </p> |
| <p> |
| Within GObject, closures play an important role in the |
| implementation of signals. When a signal is registered, the |
| <em class="parameter"><code>c_marshaller</code></em> argument to <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a> specifies the default C |
| marshaller for any closure which is connected to this |
| signal. GObject provides a number of C marshallers for this |
| purpose, see the g_cclosure_marshal_*() functions. Additional C |
| marshallers can be generated with the <a href="glib-genmarshal.html">glib-genmarshal</a> utility. Closures |
| can be explicitly connected to signals with |
| <a class="link" href="gobject-Signals.html#g-signal-connect-closure" title="g_signal_connect_closure ()"><code class="function">g_signal_connect_closure()</code></a>, but it usually more convenient to let |
| GObject create a closure automatically by using one of the |
| g_signal_connect_*() functions which take a callback function/user |
| data pair. |
| </p> |
| <p> |
| Using closures has a number of important advantages over a simple |
| callback function/data pointer combination: |
| </p> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"><p> |
| Closures allow the callee to get the types of the callback parameters, |
| which means that language bindings don't have to write individual glue |
| for each callback type. |
| </p></li> |
| <li class="listitem"><p> |
| The reference counting of <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> makes it easy to handle reentrancy |
| right; if a callback is removed while it is being invoked, the closure |
| and its parameters won't be freed until the invocation finishes. |
| </p></li> |
| <li class="listitem"><p> |
| <a class="link" href="gobject-Closures.html#g-closure-invalidate" title="g_closure_invalidate ()"><code class="function">g_closure_invalidate()</code></a> and invalidation notifiers allow callbacks to be |
| automatically removed when the objects they point to go away. |
| </p></li> |
| </ul></div> |
| <p> |
| </p> |
| </div> |
| <div class="refsect1" title="Details"> |
| <a name="gobject-Closures.details"></a><h2>Details</h2> |
| <div class="refsect2" title="G_CLOSURE_NEEDS_MARSHAL()"> |
| <a name="G-CLOSURE-NEEDS-MARSHAL:CAPS"></a><h3>G_CLOSURE_NEEDS_MARSHAL()</h3> |
| <pre class="programlisting">#define G_CLOSURE_NEEDS_MARSHAL(closure) (((GClosure*) (closure))->marshal == NULL) |
| </pre> |
| <p> |
| Check if the closure still needs a marshaller. See <a class="link" href="gobject-Closures.html#g-closure-set-marshal" title="g_closure_set_marshal ()"><code class="function">g_closure_set_marshal()</code></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> marshaller has not yet been set on |
| <em class="parameter"><code>closure</code></em>. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="G_CLOSURE_N_NOTIFIERS()"> |
| <a name="G-CLOSURE-N-NOTIFIERS:CAPS"></a><h3>G_CLOSURE_N_NOTIFIERS()</h3> |
| <pre class="programlisting">#define G_CLOSURE_N_NOTIFIERS(cl)</pre> |
| <p> |
| Get the total number of notifiers connected with the closure <em class="parameter"><code>cl</code></em>. |
| The count includes the meta marshaller, the finalize and invalidate notifiers |
| and the marshal guards. Note that each guard counts as two notifiers. |
| See <a class="link" href="gobject-Closures.html#g-closure-set-meta-marshal" title="g_closure_set_meta_marshal ()"><code class="function">g_closure_set_meta_marshal()</code></a>, <a class="link" href="gobject-Closures.html#g-closure-add-finalize-notifier" title="g_closure_add_finalize_notifier ()"><code class="function">g_closure_add_finalize_notifier()</code></a>, |
| <a class="link" href="gobject-Closures.html#g-closure-add-invalidate-notifier" title="g_closure_add_invalidate_notifier ()"><code class="function">g_closure_add_invalidate_notifier()</code></a> and <a class="link" href="gobject-Closures.html#g-closure-add-marshal-guards" title="g_closure_add_marshal_guards ()"><code class="function">g_closure_add_marshal_guards()</code></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>cl</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> number of notifiers |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="G_CCLOSURE_SWAP_DATA()"> |
| <a name="G-CCLOSURE-SWAP-DATA:CAPS"></a><h3>G_CCLOSURE_SWAP_DATA()</h3> |
| <pre class="programlisting">#define G_CCLOSURE_SWAP_DATA(cclosure) (((GClosure*) (cclosure))->derivative_flag) |
| </pre> |
| <p> |
| Checks whether the user data of the <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> should be passed as the |
| first parameter to the callback. See <a class="link" href="gobject-Closures.html#g-cclosure-new-swap" title="g_cclosure_new_swap ()"><code class="function">g_cclosure_new_swap()</code></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>cclosure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if data has to be swapped. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="G_CALLBACK()"> |
| <a name="G-CALLBACK:CAPS"></a><h3>G_CALLBACK()</h3> |
| <pre class="programlisting">#define G_CALLBACK(f) ((GCallback) (f)) |
| </pre> |
| <p> |
| Cast a function pointer to a <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>f</code></em> :</span></p></td> |
| <td>a function pointer. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="GCallback ()"> |
| <a name="GCallback"></a><h3>GCallback ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> (*GCallback) (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> |
| <p> |
| The type used for callback functions in structure definitions and function |
| signatures. This doesn't mean that all callback functions must take no |
| parameters and return void. The required signature of a callback function |
| is determined by the context in which is used (e.g. the signal to which it |
| is connected). Use <a class="link" href="gobject-Closures.html#G-CALLBACK:CAPS" title="G_CALLBACK()"><code class="function">G_CALLBACK()</code></a> to cast the callback function to a <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a>. |
| </p> |
| </div> |
| <hr> |
| <div class="refsect2" title="GClosure"> |
| <a name="GClosure"></a><h3>GClosure</h3> |
| <pre class="programlisting">typedef struct { |
| volatile guint in_marshal : 1; |
| volatile guint is_invalid : 1; |
| } GClosure; |
| </pre> |
| <p> |
| A <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> represents a callback supplied by the programmer. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term">volatile <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GClosure.in-marshal"></a>in_marshal</code></em> : 1;</span></p></td> |
| <td>Indicates whether the closure is currently being invoked with |
| <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term">volatile <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GClosure.is-invalid"></a>is_invalid</code></em> : 1;</span></p></td> |
| <td>Indicates whether the closure has been invalidated by |
| <a class="link" href="gobject-Closures.html#g-closure-invalidate" title="g_closure_invalidate ()"><code class="function">g_closure_invalidate()</code></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="G_TYPE_CLOSURE"> |
| <a name="G-TYPE-CLOSURE:CAPS"></a><h3>G_TYPE_CLOSURE</h3> |
| <pre class="programlisting">#define G_TYPE_CLOSURE (g_closure_get_type ()) |
| </pre> |
| <p> |
| The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a>. |
| </p> |
| </div> |
| <hr> |
| <div class="refsect2" title="GCClosure"> |
| <a name="GCClosure"></a><h3>GCClosure</h3> |
| <pre class="programlisting">typedef struct { |
| GClosure closure; |
| gpointer callback; |
| } GCClosure; |
| </pre> |
| <p> |
| A <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> is a specialization of <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> for C function callbacks. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> <em class="structfield"><code><a name="GCClosure.closure"></a>closure</code></em>;</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GCClosure.callback"></a>callback</code></em>;</span></p></td> |
| <td>the callback function |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="GClosureMarshal ()"> |
| <a name="GClosureMarshal"></a><h3>GClosureMarshal ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> (*GClosureMarshal) (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| The type used for marshaller functions. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> to store the return value. May be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the |
| callback of <em class="parameter"><code>closure</code></em> doesn't return a value. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>the length of the <em class="parameter"><code>param_values</code></em> array |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>an array of <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a>s holding the arguments on |
| which to invoke the callback of <em class="parameter"><code>closure</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller, |
| see <a class="link" href="gobject-Closures.html#g-closure-set-marshal" title="g_closure_set_marshal ()"><code class="function">g_closure_set_marshal()</code></a> and <a class="link" href="gobject-Closures.html#g-closure-set-meta-marshal" title="g_closure_set_meta_marshal ()"><code class="function">g_closure_set_meta_marshal()</code></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="GClosureNotify ()"> |
| <a name="GClosureNotify"></a><h3>GClosureNotify ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> (*GClosureNotify) (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre> |
| <p> |
| The type used for the various notification callbacks which can be registered |
| on closures. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td> |
| <td>data specified when registering the notification callback |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> on which the notification is emitted |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_new ()"> |
| <a name="g-cclosure-new"></a><h3>g_cclosure_new ()</h3> |
| <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* g_cclosure_new (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> callback_func</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> destroy_data</code></em>);</pre> |
| <p> |
| Creates a new closure which invokes <em class="parameter"><code>callback_func</code></em> with <em class="parameter"><code>user_data</code></em> as |
| the last parameter. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>callback_func</code></em> :</span></p></td> |
| <td>the function to invoke |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data to pass to <em class="parameter"><code>callback_func</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>destroy_data</code></em> :</span></p></td> |
| <td>destroy notify to be called when <em class="parameter"><code>user_data</code></em> is no longer used |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> a new <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_new_swap ()"> |
| <a name="g-cclosure-new-swap"></a><h3>g_cclosure_new_swap ()</h3> |
| <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* g_cclosure_new_swap (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> callback_func</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> destroy_data</code></em>);</pre> |
| <p> |
| Creates a new closure which invokes <em class="parameter"><code>callback_func</code></em> with <em class="parameter"><code>user_data</code></em> as |
| the first parameter. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>callback_func</code></em> :</span></p></td> |
| <td>the function to invoke |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data to pass to <em class="parameter"><code>callback_func</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>destroy_data</code></em> :</span></p></td> |
| <td>destroy notify to be called when <em class="parameter"><code>user_data</code></em> is no longer used |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> a new <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_new_object ()"> |
| <a name="g-cclosure-new-object"></a><h3>g_cclosure_new_object ()</h3> |
| <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* g_cclosure_new_object (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> callback_func</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);</pre> |
| <p> |
| A variant of <a class="link" href="gobject-Closures.html#g-cclosure-new" title="g_cclosure_new ()"><code class="function">g_cclosure_new()</code></a> which uses <em class="parameter"><code>object</code></em> as <em class="parameter"><code>user_data</code></em> and |
| calls <a class="link" href="gobject-The-Base-Object-Type.html#g-object-watch-closure" title="g_object_watch_closure ()"><code class="function">g_object_watch_closure()</code></a> on <em class="parameter"><code>object</code></em> and the created |
| closure. This function is useful when you have a callback closely |
| associated with a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>, and want the callback to no longer run |
| after the object is is freed. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>callback_func</code></em> :</span></p></td> |
| <td>the function to invoke |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> pointer to pass to <em class="parameter"><code>callback_func</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> a new <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_new_object_swap ()"> |
| <a name="g-cclosure-new-object-swap"></a><h3>g_cclosure_new_object_swap ()</h3> |
| <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* g_cclosure_new_object_swap (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> callback_func</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);</pre> |
| <p> |
| A variant of <a class="link" href="gobject-Closures.html#g-cclosure-new-swap" title="g_cclosure_new_swap ()"><code class="function">g_cclosure_new_swap()</code></a> which uses <em class="parameter"><code>object</code></em> as <em class="parameter"><code>user_data</code></em> |
| and calls <a class="link" href="gobject-The-Base-Object-Type.html#g-object-watch-closure" title="g_object_watch_closure ()"><code class="function">g_object_watch_closure()</code></a> on <em class="parameter"><code>object</code></em> and the created |
| closure. This function is useful when you have a callback closely |
| associated with a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>, and want the callback to no longer run |
| after the object is is freed. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>callback_func</code></em> :</span></p></td> |
| <td>the function to invoke |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> pointer to pass to <em class="parameter"><code>callback_func</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> a new <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_new_object ()"> |
| <a name="g-closure-new-object"></a><h3>g_closure_new_object ()</h3> |
| <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* g_closure_new_object (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> sizeof_closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);</pre> |
| <p> |
| A variant of <a class="link" href="gobject-Closures.html#g-closure-new-simple" title="g_closure_new_simple ()"><code class="function">g_closure_new_simple()</code></a> which stores <em class="parameter"><code>object</code></em> in the |
| <em class="parameter"><code>data</code></em> field of the closure and calls <a class="link" href="gobject-The-Base-Object-Type.html#g-object-watch-closure" title="g_object_watch_closure ()"><code class="function">g_object_watch_closure()</code></a> on |
| <em class="parameter"><code>object</code></em> and the created closure. This function is mainly useful |
| when implementing new types of closures. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>sizeof_closure</code></em> :</span></p></td> |
| <td>the size of the structure to allocate, must be at least |
| <code class="literal">sizeof (GClosure)</code> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> pointer to store in the <em class="parameter"><code>data</code></em> field of the newly |
| allocated <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> a newly allocated <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_ref ()"> |
| <a name="g-closure-ref"></a><h3>g_closure_ref ()</h3> |
| <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* g_closure_ref (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre> |
| <p> |
| Increments the reference count on a closure to force it staying |
| alive while the caller holds a pointer to it. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td> |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to increment the reference count on |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> The <em class="parameter"><code>closure</code></em> passed in, for convenience |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_sink ()"> |
| <a name="g-closure-sink"></a><h3>g_closure_sink ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_sink (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre> |
| <p> |
| Takes over the initial ownership of a closure. Each closure is |
| initially created in a <em class="firstterm">floating</em> state, which |
| means that the initial reference count is not owned by any caller. |
| <a class="link" href="gobject-Closures.html#g-closure-sink" title="g_closure_sink ()"><code class="function">g_closure_sink()</code></a> checks to see if the object is still floating, and |
| if so, unsets the floating state and decreases the reference |
| count. If the closure is not floating, <a class="link" href="gobject-Closures.html#g-closure-sink" title="g_closure_sink ()"><code class="function">g_closure_sink()</code></a> does |
| nothing. The reason for the existance of the floating state is to |
| prevent cumbersome code sequences like: |
| </p> |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1 |
| 2 |
| 3</pre></td> |
| <td class="listing_code"><pre class="programlisting"><span class="normal">closure </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-Closures.html#g-cclosure-new">g_cclosure_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cb_func</span><span class="symbol">,</span><span class="normal"> cb_data</span><span class="symbol">);</span> |
| <span class="function"><a href="gobject-Closures.html#g-source-set-closure">g_source_set_closure</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">source</span><span class="symbol">,</span><span class="normal"> closure</span><span class="symbol">);</span> |
| <span class="function"><a href="gobject-Closures.html#g-closure-unref">g_closure_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">closure</span><span class="symbol">);</span><span class="normal"> </span><span class="comment">// XXX GObject doesn't really need this</span></pre></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| |
| <p> |
| Because <a class="link" href="gobject-Closures.html#g-source-set-closure" title="g_source_set_closure ()"><code class="function">g_source_set_closure()</code></a> (and similar functions) take ownership of the |
| initial reference count, if it is unowned, we instead can write: |
| </p> |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1</pre></td> |
| <td class="listing_code"><pre class="programlisting"><span class="function"><a href="gobject-Closures.html#g-source-set-closure">g_source_set_closure</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">source</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="gobject-Closures.html#g-cclosure-new">g_cclosure_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cb_func</span><span class="symbol">,</span><span class="normal"> cb_data</span><span class="symbol">));</span></pre></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| |
| <p> |
| </p> |
| <p> |
| Generally, this function is used together with <a class="link" href="gobject-Closures.html#g-closure-ref" title="g_closure_ref ()"><code class="function">g_closure_ref()</code></a>. Ane example |
| of storing a closure for later notification looks like: |
| </p> |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13</pre></td> |
| <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> <a href="gobject-Closures.html#GClosure">GClosure</a> </span><span class="symbol">*</span><span class="normal">notify_closure </span><span class="symbol">=</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span> |
| <span class="type">void</span> |
| <span class="function">foo_notify_set_closure</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="gobject-Closures.html#GClosure">GClosure</a> </span><span class="symbol">*</span><span class="normal">closure</span><span class="symbol">)</span> |
| <span class="cbracket">{</span> |
| <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">notify_closure</span><span class="symbol">)</span> |
| <span class="normal"> </span><span class="function"><a href="gobject-Closures.html#g-closure-unref">g_closure_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">notify_closure</span><span class="symbol">);</span> |
| <span class="normal"> notify_closure </span><span class="symbol">=</span><span class="normal"> closure</span><span class="symbol">;</span> |
| <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">notify_closure</span><span class="symbol">)</span> |
| <span class="normal"> </span><span class="cbracket">{</span> |
| <span class="normal"> </span><span class="function"><a href="gobject-Closures.html#g-closure-ref">g_closure_ref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">notify_closure</span><span class="symbol">);</span> |
| <span class="normal"> </span><span class="function"><a href="gobject-Closures.html#g-closure-sink">g_closure_sink</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">notify_closure</span><span class="symbol">);</span> |
| <span class="normal"> </span><span class="cbracket">}</span> |
| <span class="cbracket">}</span></pre></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| |
| <p> |
| </p> |
| <p> |
| Because <a class="link" href="gobject-Closures.html#g-closure-sink" title="g_closure_sink ()"><code class="function">g_closure_sink()</code></a> may decrement the reference count of a closure |
| (if it hasn't been called on <em class="parameter"><code>closure</code></em> yet) just like <a class="link" href="gobject-Closures.html#g-closure-unref" title="g_closure_unref ()"><code class="function">g_closure_unref()</code></a>, |
| <a class="link" href="gobject-Closures.html#g-closure-ref" title="g_closure_ref ()"><code class="function">g_closure_ref()</code></a> should be called prior to this function. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td> |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to decrement the initial reference count on, if it's |
| still being held |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_unref ()"> |
| <a name="g-closure-unref"></a><h3>g_closure_unref ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_unref (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre> |
| <p> |
| Decrements the reference count of a closure after it was previously |
| incremented by the same caller. If no other callers are using the |
| closure, then the closure will be destroyed and freed. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td> |
| <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to decrement the reference count on |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_invoke ()"> |
| <a name="g-closure-invoke"></a><h3>g_closure_invoke ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_invoke (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>);</pre> |
| <p> |
| Invokes the closure, i.e. executes the callback represented by the <em class="parameter"><code>closure</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> to store the return value. May be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the |
| callback of <em class="parameter"><code>closure</code></em> doesn't return a value. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>the length of the <em class="parameter"><code>param_values</code></em> array |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>an array of <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a>s holding the arguments on |
| which to invoke the callback of <em class="parameter"><code>closure</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>a context-dependent invocation hint |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_invalidate ()"> |
| <a name="g-closure-invalidate"></a><h3>g_closure_invalidate ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_invalidate (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre> |
| <p> |
| Sets a flag on the closure to indicate that its calling |
| environment has become invalid, and thus causes any future |
| invocations of <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> on this <em class="parameter"><code>closure</code></em> to be |
| ignored. Also, invalidation notifiers installed on the closure will |
| be called at this point. Note that unless you are holding a |
| reference to the closure yourself, the invalidation notifiers may |
| unref the closure and cause it to be destroyed, so if you need to |
| access the closure after calling <a class="link" href="gobject-Closures.html#g-closure-invalidate" title="g_closure_invalidate ()"><code class="function">g_closure_invalidate()</code></a>, make sure |
| that you've previously called <a class="link" href="gobject-Closures.html#g-closure-ref" title="g_closure_ref ()"><code class="function">g_closure_ref()</code></a>. |
| </p> |
| <p> |
| Note that <a class="link" href="gobject-Closures.html#g-closure-invalidate" title="g_closure_invalidate ()"><code class="function">g_closure_invalidate()</code></a> will also be called when the |
| reference count of a closure drops to zero (unless it has already |
| been invalidated before). |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>GClosure to invalidate |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_add_finalize_notifier ()"> |
| <a name="g-closure-add-finalize-notifier"></a><h3>g_closure_add_finalize_notifier ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_add_finalize_notifier (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> notify_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> notify_func</code></em>);</pre> |
| <p> |
| Registers a finalization notifier which will be called when the |
| reference count of <em class="parameter"><code>closure</code></em> goes down to 0. Multiple finalization |
| notifiers on a single closure are invoked in unspecified order. If |
| a single call to <a class="link" href="gobject-Closures.html#g-closure-unref" title="g_closure_unref ()"><code class="function">g_closure_unref()</code></a> results in the closure being |
| both invalidated and finalized, then the invalidate notifiers will |
| be run before the finalize notifiers. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>notify_data</code></em> :</span></p></td> |
| <td>data to pass to <em class="parameter"><code>notify_func</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>notify_func</code></em> :</span></p></td> |
| <td>the callback function to register |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_add_invalidate_notifier ()"> |
| <a name="g-closure-add-invalidate-notifier"></a><h3>g_closure_add_invalidate_notifier ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_add_invalidate_notifier (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> notify_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> notify_func</code></em>);</pre> |
| <p> |
| Registers an invalidation notifier which will be called when the |
| <em class="parameter"><code>closure</code></em> is invalidated with <a class="link" href="gobject-Closures.html#g-closure-invalidate" title="g_closure_invalidate ()"><code class="function">g_closure_invalidate()</code></a>. Invalidation |
| notifiers are invoked before finalization notifiers, in an |
| unspecified order. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>notify_data</code></em> :</span></p></td> |
| <td>data to pass to <em class="parameter"><code>notify_func</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>notify_func</code></em> :</span></p></td> |
| <td>the callback function to register |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_remove_finalize_notifier ()"> |
| <a name="g-closure-remove-finalize-notifier"></a><h3>g_closure_remove_finalize_notifier ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_remove_finalize_notifier (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> notify_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> notify_func</code></em>);</pre> |
| <p> |
| Removes a finalization notifier. |
| </p> |
| <p> |
| Notice that notifiers are automatically removed after they are run. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>notify_data</code></em> :</span></p></td> |
| <td>data which was passed to <a class="link" href="gobject-Closures.html#g-closure-add-finalize-notifier" title="g_closure_add_finalize_notifier ()"><code class="function">g_closure_add_finalize_notifier()</code></a> |
| when registering <em class="parameter"><code>notify_func</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>notify_func</code></em> :</span></p></td> |
| <td>the callback function to remove |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_remove_invalidate_notifier ()"> |
| <a name="g-closure-remove-invalidate-notifier"></a><h3>g_closure_remove_invalidate_notifier ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_remove_invalidate_notifier |
| (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> notify_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> notify_func</code></em>);</pre> |
| <p> |
| Removes an invalidation notifier. |
| </p> |
| <p> |
| Notice that notifiers are automatically removed after they are run. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>notify_data</code></em> :</span></p></td> |
| <td>data which was passed to <a class="link" href="gobject-Closures.html#g-closure-add-invalidate-notifier" title="g_closure_add_invalidate_notifier ()"><code class="function">g_closure_add_invalidate_notifier()</code></a> |
| when registering <em class="parameter"><code>notify_func</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>notify_func</code></em> :</span></p></td> |
| <td>the callback function to remove |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_new_simple ()"> |
| <a name="g-closure-new-simple"></a><h3>g_closure_new_simple ()</h3> |
| <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>* g_closure_new_simple (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> sizeof_closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre> |
| <p> |
| Allocates a struct of the given size and initializes the initial |
| part as a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a>. This function is mainly useful when |
| implementing new types of closures. |
| </p> |
| <p> |
| </p> |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30</pre></td> |
| <td class="listing_code"><pre class="programlisting"><span class="keyword">typedef</span><span class="normal"> </span><span class="keyword">struct</span><span class="normal"> </span><span class="classname">_MyClosure</span><span class="normal"> MyClosure</span><span class="symbol">;</span> |
| <span class="keyword">struct</span><span class="normal"> </span><span class="classname">_MyClosure</span> |
| <span class="cbracket">{</span> |
| <span class="normal"> <a href="gobject-Closures.html#GClosure">GClosure</a> closure</span><span class="symbol">;</span> |
| <span class="normal"> </span><span class="comment">// extra data goes here</span> |
| <span class="cbracket">}</span><span class="symbol">;</span> |
| |
| <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span> |
| <span class="function">my_closure_finalize</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="./../glib/glib/glib-Basic-Types.html#gpointer">gpointer</a> notify_data</span><span class="symbol">,</span> |
| <span class="normal"> <a href="gobject-Closures.html#GClosure">GClosure</a> </span><span class="symbol">*</span><span class="normal">closure</span><span class="symbol">)</span> |
| <span class="cbracket">{</span> |
| <span class="normal"> MyClosure </span><span class="symbol">*</span><span class="normal">my_closure </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">MyClosure </span><span class="symbol">*)</span><span class="normal">closure</span><span class="symbol">;</span> |
| |
| <span class="normal"> </span><span class="comment">// free extra data here</span> |
| <span class="cbracket">}</span> |
| |
| <span class="normal">MyClosure </span><span class="symbol">*</span><span class="function">my_closure_new</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="./../glib/glib/glib-Basic-Types.html#gpointer">gpointer</a> data</span><span class="symbol">)</span> |
| <span class="cbracket">{</span> |
| <span class="normal"> <a href="gobject-Closures.html#GClosure">GClosure</a> </span><span class="symbol">*</span><span class="normal">closure</span><span class="symbol">;</span> |
| <span class="normal"> MyClosure </span><span class="symbol">*</span><span class="normal">my_closure</span><span class="symbol">;</span> |
| |
| <span class="normal"> closure </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-Closures.html#g-closure-new-simple">g_closure_new_simple</a></span><span class="normal"> </span><span class="symbol">(</span><span class="keyword">sizeof</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">MyClosure</span><span class="symbol">),</span><span class="normal"> data</span><span class="symbol">);</span> |
| <span class="normal"> my_closure </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">MyClosure </span><span class="symbol">*)</span><span class="normal"> closure</span><span class="symbol">;</span> |
| |
| <span class="normal"> </span><span class="comment">// initialize extra data here</span> |
| |
| <span class="normal"> </span><span class="function"><a href="gobject-Closures.html#g-closure-add-finalize-notifier">g_closure_add_finalize_notifier</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">closure</span><span class="symbol">,</span><span class="normal"> notify_data</span><span class="symbol">,</span> |
| <span class="normal"> my_closure_finalize</span><span class="symbol">);</span> |
| <span class="normal"> </span><span class="keyword">return</span><span class="normal"> my_closure</span><span class="symbol">;</span> |
| <span class="cbracket">}</span></pre></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| |
| <p> |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>sizeof_closure</code></em> :</span></p></td> |
| <td>the size of the structure to allocate, must be at least |
| <code class="literal">sizeof (GClosure)</code> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td> |
| <td>data to store in the <em class="parameter"><code>data</code></em> field of the newly allocated <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> a newly allocated <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_set_marshal ()"> |
| <a name="g-closure-set-marshal"></a><h3>g_closure_set_marshal ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_set_marshal (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> marshal</code></em>);</pre> |
| <p> |
| Sets the marshaller of <em class="parameter"><code>closure</code></em>. The <code class="literal">marshal_data</code> |
| of <em class="parameter"><code>marshal</code></em> provides a way for a meta marshaller to provide additional |
| information to the marshaller. (See <a class="link" href="gobject-Closures.html#g-closure-set-meta-marshal" title="g_closure_set_meta_marshal ()"><code class="function">g_closure_set_meta_marshal()</code></a>.) For |
| GObject's C predefined marshallers (the g_cclosure_marshal_*() |
| functions), what it provides is a callback function to use instead of |
| <em class="parameter"><code>closure->callback</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_add_marshal_guards ()"> |
| <a name="g-closure-add-marshal-guards"></a><h3>g_closure_add_marshal_guards ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_add_marshal_guards (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> pre_marshal_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> pre_marshal_notify</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> post_marshal_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> post_marshal_notify</code></em>);</pre> |
| <p> |
| Adds a pair of notifiers which get invoked before and after the |
| closure callback, respectively. This is typically used to protect |
| the extra arguments for the duration of the callback. See |
| <a class="link" href="gobject-The-Base-Object-Type.html#g-object-watch-closure" title="g_object_watch_closure ()"><code class="function">g_object_watch_closure()</code></a> for an example of marshal guards. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>pre_marshal_data</code></em> :</span></p></td> |
| <td>data to pass to <em class="parameter"><code>pre_marshal_notify</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>pre_marshal_notify</code></em> :</span></p></td> |
| <td>a function to call before the closure callback |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>post_marshal_data</code></em> :</span></p></td> |
| <td>data to pass to <em class="parameter"><code>post_marshal_notify</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>post_marshal_notify</code></em> :</span></p></td> |
| <td>a function to call after the closure callback |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_closure_set_meta_marshal ()"> |
| <a name="g-closure-set-meta-marshal"></a><h3>g_closure_set_meta_marshal ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_closure_set_meta_marshal (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> meta_marshal</code></em>);</pre> |
| <p> |
| Sets the meta marshaller of <em class="parameter"><code>closure</code></em>. A meta marshaller wraps |
| <em class="parameter"><code>closure->marshal</code></em> and modifies the way it is called in some |
| fashion. The most common use of this facility is for C callbacks. |
| The same marshallers (generated by <a href="glib-genmarshal.html">glib-genmarshal</a>) are used |
| everywhere, but the way that we get the callback function |
| differs. In most cases we want to use <em class="parameter"><code>closure->callback</code></em>, but in |
| other cases we want to use some different technique to retrieve the |
| callback function. |
| </p> |
| <p> |
| For example, class closures for signals (see |
| <a class="link" href="gobject-Signals.html#g-signal-type-cclosure-new" title="g_signal_type_cclosure_new ()"><code class="function">g_signal_type_cclosure_new()</code></a>) retrieve the callback function from a |
| fixed offset in the class structure. The meta marshaller retrieves |
| the right callback and passes it to the marshaller as the |
| <em class="parameter"><code>marshal_data</code></em> argument. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>context-dependent data to pass to <em class="parameter"><code>meta_marshal</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>meta_marshal</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_source_set_closure ()"> |
| <a name="g-source-set-closure"></a><h3>g_source_set_closure ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_closure (<em class="parameter"><code><a href="./../glib/glib/glib-The-Main-Event-Loop.html#GSource"><span class="type">GSource</span></a> *source</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre> |
| <p> |
| Set the callback for a source as a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a>. |
| </p> |
| <p> |
| If the source is not one of the standard GLib types, the <em class="parameter"><code>closure_callback</code></em> |
| and <em class="parameter"><code>closure_marshal</code></em> fields of the <a href="./../glib/glib/glib-The-Main-Event-Loop.html#GSourceFuncs"><span class="type">GSourceFuncs</span></a> structure must have been |
| filled in with pointers to appropriate functions. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td> |
| <td>the source |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="G_TYPE_IO_CHANNEL"> |
| <a name="G-TYPE-IO-CHANNEL:CAPS"></a><h3>G_TYPE_IO_CHANNEL</h3> |
| <pre class="programlisting">#define G_TYPE_IO_CHANNEL (g_io_channel_get_type ()) |
| </pre> |
| <p> |
| The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for <a href="./../glib/glib/glib-IO-Channels.html#GIOChannel"><span class="type">GIOChannel</span></a>. |
| </p> |
| </div> |
| <hr> |
| <div class="refsect2" title="G_TYPE_IO_CONDITION"> |
| <a name="G-TYPE-IO-CONDITION:CAPS"></a><h3>G_TYPE_IO_CONDITION</h3> |
| <pre class="programlisting">#define G_TYPE_IO_CONDITION (g_io_condition_get_type ()) |
| </pre> |
| <p> |
| The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for <a href="./../glib/glib/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a>. |
| </p> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__VOID ()"> |
| <a name="g-cclosure-marshal-VOID--VOID"></a><h3>g_cclosure_marshal_VOID__VOID ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__VOID (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>1 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding only the instance |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__BOOLEAN ()"> |
| <a name="g-cclosure-marshal-VOID--BOOLEAN"></a><h3>g_cclosure_marshal_VOID__BOOLEAN ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__BOOLEAN (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__CHAR ()"> |
| <a name="g-cclosure-marshal-VOID--CHAR"></a><h3>g_cclosure_marshal_VOID__CHAR ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__CHAR (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gchar arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__UCHAR ()"> |
| <a name="g-cclosure-marshal-VOID--UCHAR"></a><h3>g_cclosure_marshal_VOID__UCHAR ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__UCHAR (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, guchar arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#guchar"><span class="type">guchar</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__INT ()"> |
| <a name="g-cclosure-marshal-VOID--INT"></a><h3>g_cclosure_marshal_VOID__INT ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__INT (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gint arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__UINT ()"> |
| <a name="g-cclosure-marshal-VOID--UINT"></a><h3>g_cclosure_marshal_VOID__UINT ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__UINT (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, guint arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__LONG ()"> |
| <a name="g-cclosure-marshal-VOID--LONG"></a><h3>g_cclosure_marshal_VOID__LONG ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__LONG (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, glong arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#glong"><span class="type">glong</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__ULONG ()"> |
| <a name="g-cclosure-marshal-VOID--ULONG"></a><h3>g_cclosure_marshal_VOID__ULONG ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__ULONG (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gulong arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__ENUM ()"> |
| <a name="g-cclosure-marshal-VOID--ENUM"></a><h3>g_cclosure_marshal_VOID__ENUM ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__ENUM (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gint arg1, gpointer user_data)</code> where the <a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> parameter denotes an enumeration type.. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the enumeration parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__FLAGS ()"> |
| <a name="g-cclosure-marshal-VOID--FLAGS"></a><h3>g_cclosure_marshal_VOID__FLAGS ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__FLAGS (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gint arg1, gpointer user_data)</code> where the <a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> parameter denotes a flags type. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the flags parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__FLOAT ()"> |
| <a name="g-cclosure-marshal-VOID--FLOAT"></a><h3>g_cclosure_marshal_VOID__FLOAT ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__FLOAT (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__DOUBLE ()"> |
| <a name="g-cclosure-marshal-VOID--DOUBLE"></a><h3>g_cclosure_marshal_VOID__DOUBLE ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__DOUBLE (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__STRING ()"> |
| <a name="g-cclosure-marshal-VOID--STRING"></a><h3>g_cclosure_marshal_VOID__STRING ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__STRING (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__PARAM ()"> |
| <a name="g-cclosure-marshal-VOID--PARAM"></a><h3>g_cclosure_marshal_VOID__PARAM ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__PARAM (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a>* parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__BOXED ()"> |
| <a name="g-cclosure-marshal-VOID--BOXED"></a><h3>g_cclosure_marshal_VOID__BOXED ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__BOXED (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <span class="type">GBoxed</span>* parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__POINTER ()"> |
| <a name="g-cclosure-marshal-VOID--POINTER"></a><h3>g_cclosure_marshal_VOID__POINTER ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__POINTER (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__OBJECT ()"> |
| <a name="g-cclosure-marshal-VOID--OBJECT"></a><h3>g_cclosure_marshal_VOID__OBJECT ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__OBJECT (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, GOBject *arg1, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding the instance and the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>* parameter |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_STRING__OBJECT_POINTER ()"> |
| <a name="g-cclosure-marshal-STRING--OBJECT-POINTER"></a><h3>g_cclosure_marshal_STRING__OBJECT_POINTER ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_STRING__OBJECT_POINTER |
| (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a>, which can store the returned string |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>3 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding instance, arg1 and arg2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_VOID__UINT_POINTER ()"> |
| <a name="g-cclosure-marshal-VOID--UINT-POINTER"></a><h3>g_cclosure_marshal_VOID__UINT_POINTER ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__UINT_POINTER |
| (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)</code>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>ignored |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>3 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding instance, arg1 and arg2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_BOOLEAN__FLAGS ()"> |
| <a name="g-cclosure-marshal-BOOLEAN--FLAGS"></a><h3>g_cclosure_marshal_BOOLEAN__FLAGS ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_BOOLEAN__FLAGS (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>, |
| <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>, |
| <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre> |
| <p> |
| A marshaller for a <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a> with a callback of type |
| <code class="literal">gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)</code> where the <a href="./../glib/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> parameter |
| denotes a flags type. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td> |
| <td>the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> which can store the returned <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td> |
| <td>2 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td> |
| <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> array holding instance and arg1 |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td> |
| <td>the invocation hint given as the last argument |
| to <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()"><code class="function">g_closure_invoke()</code></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td> |
| <td>additional data specified when registering the marshaller |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_cclosure_marshal_BOOL__FLAGS"> |
| <a name="g-cclosure-marshal-BOOL--FLAGS"></a><h3>g_cclosure_marshal_BOOL__FLAGS</h3> |
| <pre class="programlisting">#define g_cclosure_marshal_BOOL__FLAGS</pre> |
| <p> |
| Another name for <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--FLAGS" title="g_cclosure_marshal_BOOLEAN__FLAGS ()"><code class="function">g_cclosure_marshal_BOOLEAN__FLAGS()</code></a>. |
| </p> |
| </div> |
| </div> |
| </div> |
| <div class="footer"> |
| <hr> |
| Generated by GTK-Doc V1.14</div> |
| </body> |
| </html> |