⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.83
Server IP:
157.245.101.34
Server:
Linux skvinfotech-website 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64
Server Software:
Apache/2.4.41 (Ubuntu)
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
libpango1.0-doc
/
gobject
/
View File Name :
gobject-Closures.html
<!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: GObject Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <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.32 (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="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"> <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> <a href="#gobject-Closures.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> <a href="#gobject-Closures.object-hierarchy" class="shortcut">Object Hierarchy</a></span> </td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><a accesskey="u" href="rn01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="gobject-Signals.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="gobject-Value-arrays.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <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 class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="gobject-Closures.functions"></a><h2>Functions</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="functions_proto_type"> <col class="functions_proto_name"> </colgroup> <tbody> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="gobject-Closures.html#G-CLOSURE-NEEDS-MARSHAL:CAPS" title="G_CLOSURE_NEEDS_MARSHAL()">G_CLOSURE_NEEDS_MARSHAL</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="gobject-Closures.html#G-CLOSURE-N-NOTIFIERS:CAPS" title="G_CLOSURE_N_NOTIFIERS()">G_CLOSURE_N_NOTIFIERS</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="gobject-Closures.html#G-CCLOSURE-SWAP-DATA:CAPS" title="G_CCLOSURE_SWAP_DATA()">G_CCLOSURE_SWAP_DATA</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="gobject-Closures.html#G-CALLBACK:CAPS" title="G_CALLBACK()">G_CALLBACK</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()">*GCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()">*GClosureMarshal</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()">*GVaClosureMarshal</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()">*GClosureNotify</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-new" title="g_cclosure_new ()">g_cclosure_new</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-new-swap" title="g_cclosure_new_swap ()">g_cclosure_new_swap</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-new-object" title="g_cclosure_new_object ()">g_cclosure_new_object</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-new-object-swap" title="g_cclosure_new_object_swap ()">g_cclosure_new_object_swap</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-generic" title="g_cclosure_marshal_generic ()">g_cclosure_marshal_generic</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-new-object" title="g_closure_new_object ()">g_closure_new_object</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-ref" title="g_closure_ref ()">g_closure_ref</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-sink" title="g_closure_sink ()">g_closure_sink</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-unref" title="g_closure_unref ()">g_closure_unref</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()">g_closure_invoke</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-invalidate" title="g_closure_invalidate ()">g_closure_invalidate</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-add-finalize-notifier" title="g_closure_add_finalize_notifier ()">g_closure_add_finalize_notifier</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-add-invalidate-notifier" title="g_closure_add_invalidate_notifier ()">g_closure_add_invalidate_notifier</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-remove-finalize-notifier" title="g_closure_remove_finalize_notifier ()">g_closure_remove_finalize_notifier</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-remove-invalidate-notifier" title="g_closure_remove_invalidate_notifier ()">g_closure_remove_invalidate_notifier</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-new-simple" title="g_closure_new_simple ()">g_closure_new_simple</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-set-marshal" title="g_closure_set_marshal ()">g_closure_set_marshal</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-add-marshal-guards" title="g_closure_add_marshal_guards ()">g_closure_add_marshal_guards</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-closure-set-meta-marshal" title="g_closure_set_meta_marshal ()">g_closure_set_meta_marshal</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-source-set-closure" title="g_source_set_closure ()">g_source_set_closure</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-source-set-dummy-callback" title="g_source_set_dummy_callback ()">g_source_set_dummy_callback</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--VOID" title="g_cclosure_marshal_VOID__VOID ()">g_cclosure_marshal_VOID__VOID</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--BOOLEAN" title="g_cclosure_marshal_VOID__BOOLEAN ()">g_cclosure_marshal_VOID__BOOLEAN</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--CHAR" title="g_cclosure_marshal_VOID__CHAR ()">g_cclosure_marshal_VOID__CHAR</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UCHAR" title="g_cclosure_marshal_VOID__UCHAR ()">g_cclosure_marshal_VOID__UCHAR</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--INT" title="g_cclosure_marshal_VOID__INT ()">g_cclosure_marshal_VOID__INT</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UINT" title="g_cclosure_marshal_VOID__UINT ()">g_cclosure_marshal_VOID__UINT</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--LONG" title="g_cclosure_marshal_VOID__LONG ()">g_cclosure_marshal_VOID__LONG</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--ULONG" title="g_cclosure_marshal_VOID__ULONG ()">g_cclosure_marshal_VOID__ULONG</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--ENUM" title="g_cclosure_marshal_VOID__ENUM ()">g_cclosure_marshal_VOID__ENUM</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--FLAGS" title="g_cclosure_marshal_VOID__FLAGS ()">g_cclosure_marshal_VOID__FLAGS</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--FLOAT" title="g_cclosure_marshal_VOID__FLOAT ()">g_cclosure_marshal_VOID__FLOAT</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--DOUBLE" title="g_cclosure_marshal_VOID__DOUBLE ()">g_cclosure_marshal_VOID__DOUBLE</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--STRING" title="g_cclosure_marshal_VOID__STRING ()">g_cclosure_marshal_VOID__STRING</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--PARAM" title="g_cclosure_marshal_VOID__PARAM ()">g_cclosure_marshal_VOID__PARAM</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--BOXED" title="g_cclosure_marshal_VOID__BOXED ()">g_cclosure_marshal_VOID__BOXED</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--POINTER" title="g_cclosure_marshal_VOID__POINTER ()">g_cclosure_marshal_VOID__POINTER</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--OBJECT" title="g_cclosure_marshal_VOID__OBJECT ()">g_cclosure_marshal_VOID__OBJECT</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--VARIANT" title="g_cclosure_marshal_VOID__VARIANT ()">g_cclosure_marshal_VOID__VARIANT</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <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> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <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> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--FLAGS" title="g_cclosure_marshal_BOOLEAN__FLAGS ()">g_cclosure_marshal_BOOLEAN__FLAGS</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--BOXED-BOXED" title="g_cclosure_marshal_BOOLEAN__BOXED_BOXED ()">g_cclosure_marshal_BOOLEAN__BOXED_BOXED</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-generic-va" title="g_cclosure_marshal_generic_va ()">g_cclosure_marshal_generic_va</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--VOIDv" title="g_cclosure_marshal_VOID__VOIDv ()">g_cclosure_marshal_VOID__VOIDv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--BOOLEANv" title="g_cclosure_marshal_VOID__BOOLEANv ()">g_cclosure_marshal_VOID__BOOLEANv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--CHARv" title="g_cclosure_marshal_VOID__CHARv ()">g_cclosure_marshal_VOID__CHARv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UCHARv" title="g_cclosure_marshal_VOID__UCHARv ()">g_cclosure_marshal_VOID__UCHARv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--INTv" title="g_cclosure_marshal_VOID__INTv ()">g_cclosure_marshal_VOID__INTv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UINTv" title="g_cclosure_marshal_VOID__UINTv ()">g_cclosure_marshal_VOID__UINTv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--LONGv" title="g_cclosure_marshal_VOID__LONGv ()">g_cclosure_marshal_VOID__LONGv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--ULONGv" title="g_cclosure_marshal_VOID__ULONGv ()">g_cclosure_marshal_VOID__ULONGv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--ENUMv" title="g_cclosure_marshal_VOID__ENUMv ()">g_cclosure_marshal_VOID__ENUMv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--FLAGSv" title="g_cclosure_marshal_VOID__FLAGSv ()">g_cclosure_marshal_VOID__FLAGSv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--FLOATv" title="g_cclosure_marshal_VOID__FLOATv ()">g_cclosure_marshal_VOID__FLOATv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--DOUBLEv" title="g_cclosure_marshal_VOID__DOUBLEv ()">g_cclosure_marshal_VOID__DOUBLEv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--STRINGv" title="g_cclosure_marshal_VOID__STRINGv ()">g_cclosure_marshal_VOID__STRINGv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--PARAMv" title="g_cclosure_marshal_VOID__PARAMv ()">g_cclosure_marshal_VOID__PARAMv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--BOXEDv" title="g_cclosure_marshal_VOID__BOXEDv ()">g_cclosure_marshal_VOID__BOXEDv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--POINTERv" title="g_cclosure_marshal_VOID__POINTERv ()">g_cclosure_marshal_VOID__POINTERv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--OBJECTv" title="g_cclosure_marshal_VOID__OBJECTv ()">g_cclosure_marshal_VOID__OBJECTv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--VARIANTv" title="g_cclosure_marshal_VOID__VARIANTv ()">g_cclosure_marshal_VOID__VARIANTv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-STRING--OBJECT-POINTERv" title="g_cclosure_marshal_STRING__OBJECT_POINTERv ()">g_cclosure_marshal_STRING__OBJECT_POINTERv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UINT-POINTERv" title="g_cclosure_marshal_VOID__UINT_POINTERv ()">g_cclosure_marshal_VOID__UINT_POINTERv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--FLAGSv" title="g_cclosure_marshal_BOOLEAN__FLAGSv ()">g_cclosure_marshal_BOOLEAN__FLAGSv</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--BOXED-BOXEDv" title="g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv ()">g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <a name="GClosure"></a><div class="refsect1"> <a name="gobject-Closures.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="other_proto_type"> <col class="other_proto_name"> </colgroup> <tbody> <tr> <td class="datatype_keyword">struct</td> <td class="function_name"><a class="link" href="gobject-Closures.html#GClosure-struct" title="struct GClosure">GClosure</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="gobject-Closures.html#G-TYPE-CLOSURE:CAPS" title="G_TYPE_CLOSURE">G_TYPE_CLOSURE</a></td> </tr> <tr> <td class="datatype_keyword">struct</td> <td class="function_name"><a class="link" href="gobject-Closures.html#GCClosure" title="struct GCClosure">GCClosure</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOL--FLAGS" title="g_cclosure_marshal_BOOL__FLAGS">g_cclosure_marshal_BOOL__FLAGS</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOL--BOXED-BOXED" title="g_cclosure_marshal_BOOL__BOXED_BOXED">g_cclosure_marshal_BOOL__BOXED_BOXED</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="gobject-Closures.object-hierarchy"></a><h2>Object Hierarchy</h2> <pre class="screen"> GBoxed <span class="lineart">╰──</span> GClosure </pre> </div> <div class="refsect1"> <a name="gobject-Closures.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <glib-object.h> #include <gobject/gvaluecollector.h> </pre> </div> <div class="refsect1"> <a name="gobject-Closures.description"></a><h2>Description</h2> <p>A <a class="link" href="gobject-Closures.html#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 responsibility of the marshaller to convert the arguments for the invocation from <span class="type">GValues</span> 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"><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"><span class="type">GValue</span></a> and native C types. The GObject library provides the <a class="link" href="gobject-Closures.html#GCClosure" title="struct GCClosure"><span class="type">GCClosure</span></a> type for this purpose. Bindings for other languages need marshallers which convert between <span class="type">GValues</span> and suitable representations in the runtime of the language in order to use functions written in that language as callbacks. Use <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> to set the marshaller on such a custom closure implementation.</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 glib-genmarshal 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" style="list-style-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"><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>g_closure_invalidate() and invalidation notifiers allow callbacks to be automatically removed when the objects they point to go away.</p></li> </ul></div> </div> <div class="refsect1"> <a name="gobject-Closures.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <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="refsect3"> <a name="G-CLOSURE-NEEDS-MARSHAL.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="G-CLOSURE-NEEDS-MARSHAL.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> 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> .</p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="G-CLOSURE-N-NOTIFIERS.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>cl</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="G-CLOSURE-N-NOTIFIERS.returns"></a><h4>Returns</h4> <p> number of notifiers</p> </div> </div> <hr> <div class="refsect2"> <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="struct 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="refsect3"> <a name="G-CCLOSURE-SWAP-DATA.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>cclosure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GCClosure" title="struct GCClosure"><span class="type">GCClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="G-CCLOSURE-SWAP-DATA.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> if data has to be swapped.</p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="G-CALLBACK.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>f</p></td> <td class="parameter_description"><p>a function pointer.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GCallback"></a><h3>GCallback ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GCallback<span class="c_punctuation">)</span> (<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"> <a name="GClosureMarshal"></a><h3>GClosureMarshal ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GClosureMarshal<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>The type used for marshaller functions.</p> <div class="refsect3"> <a name="GClosureMarshal.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_values</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>an array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of <em class="parameter"><code>closure</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_param_values]</span></td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GVaClosureMarshal"></a><h3>GVaClosureMarshal ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GVaClosureMarshal<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>This is the signature of va_list marshaller functions, an optional marshaller that can be used in some situations to avoid marshalling the signal argument into GValues.</p> <div class="refsect3"> <a name="GVaClosureMarshal.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GClosureNotify"></a><h3>GClosureNotify ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GClosureNotify<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">gpointer</span> data</code></em>, <em class="parameter"><code><a class="link" href="gobject-Closures.html#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="refsect3"> <a name="GClosureNotify.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>data specified when registering the notification callback</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> on which the notification is emitted</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-new"></a><h3>g_cclosure_new ()</h3> <pre class="programlisting"><a class="link" href="gobject-Closures.html#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><span class="type">gpointer</span> 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> <p><em class="parameter"><code>destroy_data</code></em> will be called as a finalize notifier on the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-cclosure-new.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>callback_func</p></td> <td class="parameter_description"><p>the function to invoke</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>callback_func</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> callback_func]</span></td> </tr> <tr> <td class="parameter_name"><p>destroy_data</p></td> <td class="parameter_description"><p>destroy notify to be called when <em class="parameter"><code>user_data</code></em> is no longer used</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-cclosure-new.returns"></a><h4>Returns</h4> <p>a floating reference to a new <a class="link" href="gobject-Closures.html#GCClosure" title="struct GCClosure"><span class="type">GCClosure</span></a>. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-new-swap"></a><h3>g_cclosure_new_swap ()</h3> <pre class="programlisting"><a class="link" href="gobject-Closures.html#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><span class="type">gpointer</span> 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> <p><em class="parameter"><code>destroy_data</code></em> will be called as a finalize notifier on the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-cclosure-new-swap.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>callback_func</p></td> <td class="parameter_description"><p>the function to invoke</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>callback_func</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> callback_func]</span></td> </tr> <tr> <td class="parameter_name"><p>destroy_data</p></td> <td class="parameter_description"><p>destroy notify to be called when <em class="parameter"><code>user_data</code></em> is no longer used</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-cclosure-new-swap.returns"></a><h4>Returns</h4> <p>a floating reference to a new <a class="link" href="gobject-Closures.html#GCClosure" title="struct GCClosure"><span class="type">GCClosure</span></a>. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-new-object"></a><h3>g_cclosure_new_object ()</h3> <pre class="programlisting"><a class="link" href="gobject-Closures.html#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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-cclosure-new-object.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>callback_func</p></td> <td class="parameter_description"><p>the function to invoke</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>object</p></td> <td class="parameter_description"><p>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> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-cclosure-new-object.returns"></a><h4>Returns</h4> <p> a new <a class="link" href="gobject-Closures.html#GCClosure" title="struct GCClosure"><span class="type">GCClosure</span></a></p> </div> </div> <hr> <div class="refsect2"> <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"><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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-cclosure-new-object-swap.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>callback_func</p></td> <td class="parameter_description"><p>the function to invoke</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>object</p></td> <td class="parameter_description"><p>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> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-cclosure-new-object-swap.returns"></a><h4>Returns</h4> <p> a new <a class="link" href="gobject-Closures.html#GCClosure" title="struct GCClosure"><span class="type">GCClosure</span></a></p> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-generic"></a><h3>g_cclosure_marshal_generic ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_generic (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_gvalue</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A generic marshaller function implemented via <a class="ulink" href="http://sourceware.org/libffi/" target="_top">libffi</a>.</p> <p>Normally this function is not passed explicitly to <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a>, but used automatically by GLib when specifying a <code class="literal">NULL</code> marshaller.</p> <div class="refsect3"> <a name="g-cclosure-marshal-generic.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_gvalue</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-30.html#api-index-2.30">2.30</a></p> </div> <hr> <div class="refsect2"> <a name="g-closure-new-object"></a><h3>g_closure_new_object ()</h3> <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * g_closure_new_object (<em class="parameter"><code><span class="type">guint</span> 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="refsect3"> <a name="g-closure-new-object.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>sizeof_closure</p></td> <td class="parameter_description"><p>the size of the structure to allocate, must be at least <code class="literal">sizeof (GClosure)</code></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>object</p></td> <td class="parameter_description"><p>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"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-closure-new-object.returns"></a><h4>Returns</h4> <p>a newly allocated <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="g-closure-ref"></a><h3>g_closure_ref ()</h3> <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * g_closure_ref (<em class="parameter"><code><a class="link" href="gobject-Closures.html#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="refsect3"> <a name="g-closure-ref.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to increment the reference count on</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-closure-ref.returns"></a><h4>Returns</h4> <p>The <em class="parameter"><code>closure</code></em> passed in, for convenience. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <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"><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 "floating" 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 existence 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="n">closure</span> <span class="o">=</span> <span class="n">g_cclosure_new</span> <span class="p">(</span><span class="n">cb_func</span><span class="p">,</span> <span class="n">cb_data</span><span class="p">);</span> <span class="n">g_source_set_closure</span> <span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">closure</span><span class="p">);</span> <span class="n">g_closure_unref</span> <span class="p">(</span><span class="n">closure</span><span class="p">);</span> <span class="c1">// 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="n">g_source_set_closure</span> <span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">g_cclosure_new</span> <span class="p">(</span><span class="n">cb_func</span><span class="p">,</span> <span class="n">cb_data</span><span class="p">));</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="k">static</span> <span class="n">GClosure</span> <span class="o">*</span><span class="n">notify_closure</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="kt">void</span> <span class="nf">foo_notify_set_closure</span> <span class="p">(</span><span class="n">GClosure</span> <span class="o">*</span><span class="n">closure</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="n">notify_closure</span><span class="p">)</span> <span class="n">g_closure_unref</span> <span class="p">(</span><span class="n">notify_closure</span><span class="p">);</span> <span class="n">notify_closure</span> <span class="o">=</span> <span class="n">closure</span><span class="p">;</span> <span class="k">if</span> <span class="p">(</span><span class="n">notify_closure</span><span class="p">)</span> <span class="p">{</span> <span class="n">g_closure_ref</span> <span class="p">(</span><span class="n">notify_closure</span><span class="p">);</span> <span class="n">g_closure_sink</span> <span class="p">(</span><span class="n">notify_closure</span><span class="p">);</span> <span class="p">}</span> <span class="p">}</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="refsect3"> <a name="g-closure-sink.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to decrement the initial reference count on, if it's still being held</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><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="refsect3"> <a name="g-closure-unref.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to decrement the reference count on</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> 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="refsect3"> <a name="g-closure-invoke.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_values</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>an array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of <em class="parameter"><code>closure</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_param_values]</span></td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>a context-dependent invocation hint. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><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="refsect3"> <a name="g-closure-invalidate.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to invalidate</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><span class="type">gpointer</span> 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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-closure-add-finalize-notifier.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>notify_data</p></td> <td class="parameter_description"><p>data to pass to <em class="parameter"><code>notify_func</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> notify_func]</span></td> </tr> <tr> <td class="parameter_name"><p>notify_func</p></td> <td class="parameter_description"><p>the callback function to register</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><span class="type">gpointer</span> 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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-closure-add-invalidate-notifier.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>notify_data</p></td> <td class="parameter_description"><p>data to pass to <em class="parameter"><code>notify_func</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> notify_func]</span></td> </tr> <tr> <td class="parameter_name"><p>notify_func</p></td> <td class="parameter_description"><p>the callback function to register</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><span class="type">gpointer</span> 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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-closure-remove-finalize-notifier.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>notify_data</p></td> <td class="parameter_description"><p>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> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>notify_func</p></td> <td class="parameter_description"><p>the callback function to remove</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><span class="type">gpointer</span> 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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-closure-remove-invalidate-notifier.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>notify_data</p></td> <td class="parameter_description"><p>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> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>notify_func</p></td> <td class="parameter_description"><p>the callback function to remove</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-closure-new-simple"></a><h3>g_closure_new_simple ()</h3> <pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure"><span class="returnvalue">GClosure</span></a> * g_closure_new_simple (<em class="parameter"><code><span class="type">guint</span> sizeof_closure</code></em>, <em class="parameter"><code><span class="type">gpointer</span> 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"><span class="type">GClosure</span></a>. This function is mainly useful when implementing new types of closures.</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="k">typedef</span> <span class="k">struct</span> <span class="n">_MyClosure</span> <span class="n">MyClosure</span><span class="p">;</span> <span class="k">struct</span> <span class="n">_MyClosure</span> <span class="p">{</span> <span class="n">GClosure</span> <span class="n">closure</span><span class="p">;</span> <span class="c1">// extra data goes here</span> <span class="p">};</span> <span class="k">static</span> <span class="kt">void</span> <span class="nf">my_closure_finalize</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">notify_data</span><span class="p">,</span> <span class="n">GClosure</span> <span class="o">*</span><span class="n">closure</span><span class="p">)</span> <span class="p">{</span> <span class="n">MyClosure</span> <span class="o">*</span><span class="n">my_closure</span> <span class="o">=</span> <span class="p">(</span><span class="n">MyClosure</span> <span class="o">*</span><span class="p">)</span><span class="n">closure</span><span class="p">;</span> <span class="c1">// free extra data here</span> <span class="p">}</span> <span class="n">MyClosure</span> <span class="o">*</span><span class="nf">my_closure_new</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span> <span class="p">{</span> <span class="n">GClosure</span> <span class="o">*</span><span class="n">closure</span><span class="p">;</span> <span class="n">MyClosure</span> <span class="o">*</span><span class="n">my_closure</span><span class="p">;</span> <span class="n">closure</span> <span class="o">=</span> <span class="n">g_closure_new_simple</span> <span class="p">(</span><span class="k">sizeof</span> <span class="p">(</span><span class="n">MyClosure</span><span class="p">),</span> <span class="n">data</span><span class="p">);</span> <span class="n">my_closure</span> <span class="o">=</span> <span class="p">(</span><span class="n">MyClosure</span> <span class="o">*</span><span class="p">)</span> <span class="n">closure</span><span class="p">;</span> <span class="c1">// initialize extra data here</span> <span class="n">g_closure_add_finalize_notifier</span> <span class="p">(</span><span class="n">closure</span><span class="p">,</span> <span class="n">notify_data</span><span class="p">,</span> <span class="n">my_closure_finalize</span><span class="p">);</span> <span class="k">return</span> <span class="n">my_closure</span><span class="p">;</span> <span class="p">}</span></pre></td> </tr> </tbody> </table> </div> <p></p> <div class="refsect3"> <a name="g-closure-new-simple.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>sizeof_closure</p></td> <td class="parameter_description"><p>the size of the structure to allocate, must be at least <code class="literal">sizeof (GClosure)</code></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>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"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-closure-new-simple.returns"></a><h4>Returns</h4> <p>a floating reference to a new <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <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"><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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-closure-set-marshal.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><span class="type">gpointer</span> 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><span class="type">gpointer</span> 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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-closure-add-marshal-guards.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pre_marshal_data</p></td> <td class="parameter_description"><p>data to pass to <em class="parameter"><code>pre_marshal_notify</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> pre_marshal_notify]</span></td> </tr> <tr> <td class="parameter_name"><p>pre_marshal_notify</p></td> <td class="parameter_description"><p>a function to call before the closure callback</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>post_marshal_data</p></td> <td class="parameter_description"><p>data to pass to <em class="parameter"><code>post_marshal_notify</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> post_marshal_notify]</span></td> </tr> <tr> <td class="parameter_name"><p>post_marshal_notify</p></td> <td class="parameter_description"><p>a function to call after the closure callback</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><span class="type">gpointer</span> 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 glib-genmarshal), 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> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="g-closure-set-meta-marshal.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>context-dependent data to pass to <em class="parameter"><code>meta_marshal</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> meta_marshal]</span></td> </tr> <tr> <td class="parameter_name"><p>meta_marshal</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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><span class="type">GSource</span> *source</code></em>, <em class="parameter"><code><a class="link" href="gobject-Closures.html#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"><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 <span class="type">GSourceFuncs</span> structure must have been filled in with pointers to appropriate functions.</p> <div class="refsect3"> <a name="g-source-set-closure.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>source</p></td> <td class="parameter_description"><p>the source</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-source-set-dummy-callback"></a><h3>g_source_set_dummy_callback ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_dummy_callback (<em class="parameter"><code><span class="type">GSource</span> *source</code></em>);</pre> <p>Sets a dummy callback for <em class="parameter"><code>source</code></em> . The callback will do nothing, and if the source expects a <span class="type">gboolean</span> return value, it will return <code class="literal">TRUE</code>. (If the source expects any other type of return value, it will return a 0/<code class="literal">NULL</code> value; whatever <a class="link" href="gobject-Generic-values.html#g-value-init" title="g_value_init ()"><code class="function">g_value_init()</code></a> initializes a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to for that type.)</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 <span class="type">GSourceFuncs</span> structure must have been filled in with pointers to appropriate functions.</p> <div class="refsect3"> <a name="g-source-set-dummy-callback.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>source</p></td> <td class="parameter_description"><p>the source</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with no arguments.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--VOID.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single boolean argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--BOOLEAN.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single character argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--CHAR.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single unsigned character argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--UCHAR.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single integer argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--INT.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with with a single unsigned integer argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--UINT.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with with a single long integer argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--LONG.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single unsigned long integer argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--ULONG.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single argument with an enumerated type.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--ENUM.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single argument with a flags types.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--FLAGS.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with one single-precision floating point argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--FLOAT.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with one double-precision floating point argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--DOUBLE.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single string argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--STRING.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single argument of type <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--PARAM.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single argument which is any boxed pointer type.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--BOXED.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single raw pointer argument type.</p> <p>If it is possible, it is better to use one of the more specific functions such as <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--OBJECT" title="g_cclosure_marshal_VOID__OBJECT ()"><code class="function">g_cclosure_marshal_VOID__OBJECT()</code></a> or <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--OBJECT" title="g_cclosure_marshal_VOID__OBJECT ()"><code class="function">g_cclosure_marshal_VOID__OBJECT()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--POINTER.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--OBJECT.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--VARIANT"></a><h3>g_cclosure_marshal_VOID__VARIANT ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__VARIANT (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with a single <span class="type">GVariant</span> argument.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--VARIANT.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with handlers that take a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> and a pointer and produce a string. It is highly unlikely that your signal handler fits this description.</p> <div class="refsect3"> <a name="g-cclosure-marshal-STRING--OBJECT-POINTER.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with an unsigned int and a pointer as arguments.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--UINT-POINTER.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with handlers that take a flags type as an argument and return a boolean. If you have such a signal, you will probably also need to use an accumulator, such as <a class="link" href="gobject-Signals.html#g-signal-accumulator-true-handled" title="g_signal_accumulator_true_handled ()"><code class="function">g_signal_accumulator_true_handled()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-BOOLEAN--FLAGS.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-BOOLEAN--BOXED-BOXED"></a><h3>g_cclosure_marshal_BOOLEAN__BOXED_BOXED ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_BOOLEAN__BOXED_BOXED (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>, <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>, <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre> <p>A <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> function for use with signals with handlers that take two boxed pointers as arguments and return a boolean. If you have such a signal, you will probably also need to use an accumulator, such as <a class="link" href="gobject-Signals.html#g-signal-accumulator-true-handled" title="g_signal_accumulator_true_handled ()"><code class="function">g_signal_accumulator_true_handled()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-BOOLEAN--BOXED-BOXED.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-generic-va"></a><h3>g_cclosure_marshal_generic_va ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_generic_va (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args_list</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>A generic <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> function implemented via <a class="ulink" href="http://sourceware.org/libffi/" target="_top">libffi</a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-generic-va.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args_list</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args_list</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-30.html#api-index-2.30">2.30</a></p> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--VOIDv"></a><h3>g_cclosure_marshal_VOID__VOIDv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__VOIDv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--VOID" title="g_cclosure_marshal_VOID__VOID ()"><code class="function">g_cclosure_marshal_VOID__VOID()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--VOIDv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--BOOLEANv"></a><h3>g_cclosure_marshal_VOID__BOOLEANv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__BOOLEANv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--BOOLEAN" title="g_cclosure_marshal_VOID__BOOLEAN ()"><code class="function">g_cclosure_marshal_VOID__BOOLEAN()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--BOOLEANv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--CHARv"></a><h3>g_cclosure_marshal_VOID__CHARv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__CHARv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--CHAR" title="g_cclosure_marshal_VOID__CHAR ()"><code class="function">g_cclosure_marshal_VOID__CHAR()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--CHARv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--UCHARv"></a><h3>g_cclosure_marshal_VOID__UCHARv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__UCHARv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UCHAR" title="g_cclosure_marshal_VOID__UCHAR ()"><code class="function">g_cclosure_marshal_VOID__UCHAR()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--UCHARv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--INTv"></a><h3>g_cclosure_marshal_VOID__INTv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__INTv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--INT" title="g_cclosure_marshal_VOID__INT ()"><code class="function">g_cclosure_marshal_VOID__INT()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--INTv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--UINTv"></a><h3>g_cclosure_marshal_VOID__UINTv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__UINTv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UINT" title="g_cclosure_marshal_VOID__UINT ()"><code class="function">g_cclosure_marshal_VOID__UINT()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--UINTv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--LONGv"></a><h3>g_cclosure_marshal_VOID__LONGv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__LONGv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--LONG" title="g_cclosure_marshal_VOID__LONG ()"><code class="function">g_cclosure_marshal_VOID__LONG()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--LONGv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--ULONGv"></a><h3>g_cclosure_marshal_VOID__ULONGv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__ULONGv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--ULONG" title="g_cclosure_marshal_VOID__ULONG ()"><code class="function">g_cclosure_marshal_VOID__ULONG()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--ULONGv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--ENUMv"></a><h3>g_cclosure_marshal_VOID__ENUMv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__ENUMv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--ENUM" title="g_cclosure_marshal_VOID__ENUM ()"><code class="function">g_cclosure_marshal_VOID__ENUM()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--ENUMv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--FLAGSv"></a><h3>g_cclosure_marshal_VOID__FLAGSv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__FLAGSv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--FLAGS" title="g_cclosure_marshal_VOID__FLAGS ()"><code class="function">g_cclosure_marshal_VOID__FLAGS()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--FLAGSv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--FLOATv"></a><h3>g_cclosure_marshal_VOID__FLOATv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__FLOATv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--FLOAT" title="g_cclosure_marshal_VOID__FLOAT ()"><code class="function">g_cclosure_marshal_VOID__FLOAT()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--FLOATv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--DOUBLEv"></a><h3>g_cclosure_marshal_VOID__DOUBLEv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__DOUBLEv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--DOUBLE" title="g_cclosure_marshal_VOID__DOUBLE ()"><code class="function">g_cclosure_marshal_VOID__DOUBLE()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--DOUBLEv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--STRINGv"></a><h3>g_cclosure_marshal_VOID__STRINGv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__STRINGv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--STRING" title="g_cclosure_marshal_VOID__STRING ()"><code class="function">g_cclosure_marshal_VOID__STRING()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--STRINGv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--PARAMv"></a><h3>g_cclosure_marshal_VOID__PARAMv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__PARAMv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--PARAM" title="g_cclosure_marshal_VOID__PARAM ()"><code class="function">g_cclosure_marshal_VOID__PARAM()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--PARAMv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--BOXEDv"></a><h3>g_cclosure_marshal_VOID__BOXEDv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__BOXEDv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--BOXED" title="g_cclosure_marshal_VOID__BOXED ()"><code class="function">g_cclosure_marshal_VOID__BOXED()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--BOXEDv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--POINTERv"></a><h3>g_cclosure_marshal_VOID__POINTERv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__POINTERv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--POINTER" title="g_cclosure_marshal_VOID__POINTER ()"><code class="function">g_cclosure_marshal_VOID__POINTER()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--POINTERv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--OBJECTv"></a><h3>g_cclosure_marshal_VOID__OBJECTv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__OBJECTv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--OBJECT" title="g_cclosure_marshal_VOID__OBJECT ()"><code class="function">g_cclosure_marshal_VOID__OBJECT()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--OBJECTv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--VARIANTv"></a><h3>g_cclosure_marshal_VOID__VARIANTv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__VARIANTv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--VARIANT" title="g_cclosure_marshal_VOID__VARIANT ()"><code class="function">g_cclosure_marshal_VOID__VARIANT()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--VARIANTv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-STRING--OBJECT-POINTERv"></a><h3>g_cclosure_marshal_STRING__OBJECT_POINTERv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_STRING__OBJECT_POINTERv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-STRING--OBJECT-POINTER" title="g_cclosure_marshal_STRING__OBJECT_POINTER ()"><code class="function">g_cclosure_marshal_STRING__OBJECT_POINTER()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-STRING--OBJECT-POINTERv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-VOID--UINT-POINTERv"></a><h3>g_cclosure_marshal_VOID__UINT_POINTERv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_VOID__UINT_POINTERv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-VOID--UINT-POINTER" title="g_cclosure_marshal_VOID__UINT_POINTER ()"><code class="function">g_cclosure_marshal_VOID__UINT_POINTER()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-VOID--UINT-POINTERv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-BOOLEAN--FLAGSv"></a><h3>g_cclosure_marshal_BOOLEAN__FLAGSv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_BOOLEAN__FLAGSv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <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 class="refsect3"> <a name="g-cclosure-marshal-BOOLEAN--FLAGSv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-BOOLEAN--BOXED-BOXEDv"></a><h3>g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (<em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>, <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_value</code></em>, <em class="parameter"><code><span class="type">gpointer</span> instance</code></em>, <em class="parameter"><code><span class="type">va_list</span> args</code></em>, <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>, <em class="parameter"><code><span class="type">int</span> n_params</code></em>, <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> *param_types</code></em>);</pre> <p>The <a class="link" href="gobject-Closures.html#GVaClosureMarshal" title="GVaClosureMarshal ()"><span class="type">GVaClosureMarshal</span></a> equivalent to <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--BOXED-BOXED" title="g_cclosure_marshal_BOOLEAN__BOXED_BOXED ()"><code class="function">g_cclosure_marshal_BOOLEAN__BOXED_BOXED()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-BOOLEAN--BOXED-BOXEDv.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> to which the marshaller belongs</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of <em class="parameter"><code>closure</code></em> doesn't return a value. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>instance</p></td> <td class="parameter_description"><p>the instance on which the closure is invoked. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.TypeInstance]</span></td> </tr> <tr> <td class="parameter_name"><p>args</p></td> <td class="parameter_description"><p>va_list of arguments to be passed to the closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_params</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>param_types</code></em> array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_types</p></td> <td class="parameter_description"><p>the <a class="link" href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of each argument from <em class="parameter"><code>args</code></em> . </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_params]</span></td> </tr> </tbody> </table></div> </div> </div> </div> <div class="refsect1"> <a name="gobject-Closures.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="GClosure-struct"></a><h3>struct GClosure</h3> <pre class="programlisting">struct GClosure { volatile guint in_marshal : 1; volatile guint is_invalid : 1; }; </pre> <p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> represents a callback supplied by the programmer.</p> <div class="refsect3"> <a name="GClosure.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p>volatile <span class="type">guint</span> <em class="structfield"><code><a name="GClosure-struct.in-marshal"></a>in_marshal</code></em> : 1;</p></td> <td class="struct_member_description"><p>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></p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p>volatile <span class="type">guint</span> <em class="structfield"><code><a name="GClosure-struct.is-invalid"></a>is_invalid</code></em> : 1;</p></td> <td class="struct_member_description"><p>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></p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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"><span class="type">GType</span></a> for <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p> </div> <hr> <div class="refsect2"> <a name="GCClosure"></a><h3>struct GCClosure</h3> <pre class="programlisting">struct GCClosure { GClosure closure; gpointer callback; }; </pre> <p>A <a class="link" href="gobject-Closures.html#GCClosure" title="struct GCClosure"><span class="type">GCClosure</span></a> is a specialization of <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> for C function callbacks.</p> <div class="refsect3"> <a name="GCClosure.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p><a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> <em class="structfield"><code><a name="GCClosure.closure"></a>closure</code></em>;</p></td> <td class="struct_member_description"><p>the <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a></p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gpointer</span> <em class="structfield"><code><a name="GCClosure.callback"></a>callback</code></em>;</p></td> <td class="struct_member_description"><p>the callback function</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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>An old alias 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 class="refsect3"> <a name="g-cclosure-marshal-BOOL--FLAGS.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="g-cclosure-marshal-BOOL--BOXED-BOXED"></a><h3>g_cclosure_marshal_BOOL__BOXED_BOXED</h3> <pre class="programlisting">#define g_cclosure_marshal_BOOL__BOXED_BOXED</pre> <p>An old alias for <a class="link" href="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--BOXED-BOXED" title="g_cclosure_marshal_BOOLEAN__BOXED_BOXED ()"><code class="function">g_cclosure_marshal_BOOLEAN__BOXED_BOXED()</code></a>.</p> <div class="refsect3"> <a name="g-cclosure-marshal-BOOL--BOXED-BOXED.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>closure</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>return_value</p></td> <td class="parameter_description"><p>A <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value. May be <code class="literal">NULL</code> if the callback of closure doesn't return a value.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>n_param_values</p></td> <td class="parameter_description"><p>The length of the <em class="parameter"><code>param_values</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>param_values</p></td> <td class="parameter_description"><p>An array of <span class="type">GValues</span> holding the arguments on which to invoke the callback of closure.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invocation_hint</p></td> <td class="parameter_description"><p>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>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>marshal_data</p></td> <td class="parameter_description"><p>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></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>