<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Signals</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GObject Reference Manual">
<link rel="up" href="rn01.html" title="API Reference">
<link rel="prev" href="gobject-Varargs-Value-Collection.html" title="Varargs Value Collection">
<link rel="next" href="gobject-Closures.html" title="Closures">
<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gobject-Varargs-Value-Collection.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="rn01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GObject Reference Manual</th>
<td><a accesskey="n" href="gobject-Closures.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gobject-Signals.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gobject-Signals.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="Signals">
<a name="gobject-Signals"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gobject-Signals.top_of_page"></a>Signals</span></h2>
<p>Signals — A means for customization of object behaviour
    and a general purpose notification mechanism</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="gobject-Signals.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;glib-object.h&gt;

                    <a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint">GSignalInvocationHint</a>;
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()">*GSignalAccumulator</a>)               (<em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a> *ihint</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_accu</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *handler_return</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
typedef             <a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller">GSignalCMarshaller</a>;
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="gobject-Signals.html#GSignalEmissionHook" title="GSignalEmissionHook ()">*GSignalEmissionHook</a>)              (<em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a> *ihint</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
enum                <a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags">GSignalFlags</a>;
enum                <a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType">GSignalMatchType</a>;
                    <a class="link" href="gobject-Signals.html#GSignalQuery" title="GSignalQuery">GSignalQuery</a>;
#define             <a class="link" href="gobject-Signals.html#G-SIGNAL-TYPE-STATIC-SCOPE:CAPS" title="G_SIGNAL_TYPE_STATIC_SCOPE">G_SIGNAL_TYPE_STATIC_SCOPE</a>
#define             <a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-MASK:CAPS" title="G_SIGNAL_MATCH_MASK">G_SIGNAL_MATCH_MASK</a>
#define             <a class="link" href="gobject-Signals.html#G-SIGNAL-FLAGS-MASK:CAPS" title="G_SIGNAL_FLAGS_MASK">G_SIGNAL_FLAGS_MASK</a>
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()">g_signal_new</a>                        (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> signal_flags</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> class_offset</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> accumulator</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> accu_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller"><span class="type">GSignalCMarshaller</span></a> c_marshaller</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> return_type</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Signals.html#g-signal-newv" title="g_signal_newv ()">g_signal_newv</a>                       (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> signal_flags</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *class_closure</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> accumulator</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> accu_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller"><span class="type">GSignalCMarshaller</span></a> c_marshaller</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> return_type</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> *param_types</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Signals.html#g-signal-new-valist" title="g_signal_new_valist ()">g_signal_new_valist</a>                 (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> signal_flags</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *class_closure</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> accumulator</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> accu_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller"><span class="type">GSignalCMarshaller</span></a> c_marshaller</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> return_type</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code><span class="type">va_list</span> args</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-query" title="g_signal_query ()">g_signal_query</a>                      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalQuery" title="GSignalQuery"><span class="type">GSignalQuery</span></a> *query</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Signals.html#g-signal-lookup" title="g_signal_lookup ()">g_signal_lookup</a>                     (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>);
const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>*        <a class="link" href="gobject-Signals.html#g-signal-name" title="g_signal_name ()">g_signal_name</a>                       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>*              <a class="link" href="gobject-Signals.html#g-signal-list-ids" title="g_signal_list_ids ()">g_signal_list_ids</a>                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_ids</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-emit" title="g_signal_emit ()">g_signal_emit</a>                       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-emit-by-name" title="g_signal_emit_by_name ()">g_signal_emit_by_name</a>               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-emitv" title="g_signal_emitv ()">g_signal_emitv</a>                      (<em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *instance_and_params</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-emit-valist" title="g_signal_emit_valist ()">g_signal_emit_valist</a>                (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
#define             <a class="link" href="gobject-Signals.html#g-signal-connect" title="g_signal_connect()">g_signal_connect</a>                    (instance,
                                                         detailed_signal,
                                                         c_handler,
                                                         data)
#define             <a class="link" href="gobject-Signals.html#g-signal-connect-after" title="g_signal_connect_after()">g_signal_connect_after</a>              (instance,
                                                         detailed_signal,
                                                         c_handler,
                                                         data)
#define             <a class="link" href="gobject-Signals.html#g-signal-connect-swapped" title="g_signal_connect_swapped()">g_signal_connect_swapped</a>            (instance,
                                                         detailed_signal,
                                                         c_handler,
                                                         data)
<a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              <a class="link" href="gobject-Signals.html#g-signal-connect-object" title="g_signal_connect_object ()">g_signal_connect_object</a>             (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> c_handler</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> gobject</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GConnectFlags" title="enum GConnectFlags"><span class="type">GConnectFlags</span></a> connect_flags</code></em>);
enum                <a class="link" href="gobject-Signals.html#GConnectFlags" title="enum GConnectFlags">GConnectFlags</a>;
<a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              <a class="link" href="gobject-Signals.html#g-signal-connect-data" title="g_signal_connect_data ()">g_signal_connect_data</a>               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> c_handler</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> destroy_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GConnectFlags" title="enum GConnectFlags"><span class="type">GConnectFlags</span></a> connect_flags</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              <a class="link" href="gobject-Signals.html#g-signal-connect-closure" title="g_signal_connect_closure ()">g_signal_connect_closure</a>            (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> after</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              <a class="link" href="gobject-Signals.html#g-signal-connect-closure-by-id" title="g_signal_connect_closure_by_id ()">g_signal_connect_closure_by_id</a>      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> after</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-handler-block" title="g_signal_handler_block ()">g_signal_handler_block</a>              (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> handler_id</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-handler-unblock" title="g_signal_handler_unblock ()">g_signal_handler_unblock</a>            (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> handler_id</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-handler-disconnect" title="g_signal_handler_disconnect ()">g_signal_handler_disconnect</a>         (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> handler_id</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              <a class="link" href="gobject-Signals.html#g-signal-handler-find" title="g_signal_handler_find ()">g_signal_handler_find</a>               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> mask</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Signals.html#g-signal-handlers-block-matched" title="g_signal_handlers_block_matched ()">g_signal_handlers_block_matched</a>     (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> mask</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Signals.html#g-signal-handlers-unblock-matched" title="g_signal_handlers_unblock_matched ()">g_signal_handlers_unblock_matched</a>   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> mask</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Signals.html#g-signal-handlers-disconnect-matched" title="g_signal_handlers_disconnect_matched ()">g_signal_handlers_disconnect_matched</a>
                                                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> mask</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gobject-Signals.html#g-signal-handler-is-connected" title="g_signal_handler_is_connected ()">g_signal_handler_is_connected</a>       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> handler_id</code></em>);
#define             <a class="link" href="gobject-Signals.html#g-signal-handlers-block-by-func" title="g_signal_handlers_block_by_func()">g_signal_handlers_block_by_func</a>     (instance,
                                                         func,
                                                         data)
#define             <a class="link" href="gobject-Signals.html#g-signal-handlers-unblock-by-func" title="g_signal_handlers_unblock_by_func()">g_signal_handlers_unblock_by_func</a>   (instance,
                                                         func,
                                                         data)
#define             <a class="link" href="gobject-Signals.html#g-signal-handlers-disconnect-by-func" title="g_signal_handlers_disconnect_by_func()">g_signal_handlers_disconnect_by_func</a>(instance,
                                                         func,
                                                         data)
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gobject-Signals.html#g-signal-has-handler-pending" title="g_signal_has_handler_pending ()">g_signal_has_handler_pending</a>        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> may_be_blocked</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-stop-emission" title="g_signal_stop_emission ()">g_signal_stop_emission</a>              (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-stop-emission-by-name" title="g_signal_stop_emission_by_name ()">g_signal_stop_emission_by_name</a>      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-override-class-closure" title="g_signal_override_class_closure ()">g_signal_override_class_closure</a>     (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> instance_type</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *class_closure</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-chain-from-overridden" title="g_signal_chain_from_overridden ()">g_signal_chain_from_overridden</a>      (<em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *instance_and_params</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gobject-Signals.html#g-signal-new-class-handler" title="g_signal_new_class_handler ()">g_signal_new_class_handler</a>          (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> signal_flags</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> class_handler</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> accumulator</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> accu_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller"><span class="type">GSignalCMarshaller</span></a> c_marshaller</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> return_type</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-override-class-handler" title="g_signal_override_class_handler ()">g_signal_override_class_handler</a>     (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> instance_type</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> class_handler</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-chain-from-overridden-handler" title="g_signal_chain_from_overridden_handler ()">g_signal_chain_from_overridden_handler</a>
                                                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              <a class="link" href="gobject-Signals.html#g-signal-add-emission-hook" title="g_signal_add_emission_hook ()">g_signal_add_emission_hook</a>          (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalEmissionHook" title="GSignalEmissionHook ()"><span class="type">GSignalEmissionHook</span></a> hook_func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> hook_data</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> data_destroy</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gobject-Signals.html#g-signal-remove-emission-hook" title="g_signal_remove_emission_hook ()">g_signal_remove_emission_hook</a>       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> hook_id</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gobject-Signals.html#g-signal-parse-name" title="g_signal_parse_name ()">g_signal_parse_name</a>                 (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *signal_id_p</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> *detail_p</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_detail_quark</code></em>);
<a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="returnvalue">GSignalInvocationHint</span></a>* <a class="link" href="gobject-Signals.html#g-signal-get-invocation-hint" title="g_signal_get_invocation_hint ()">g_signal_get_invocation_hint</a>     (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>);
<a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>*           <a class="link" href="gobject-Signals.html#g-signal-type-cclosure-new" title="g_signal_type_cclosure_new ()">g_signal_type_cclosure_new</a>          (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> struct_offset</code></em>);
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gobject-Signals.html#g-signal-accumulator-true-handled" title="g_signal_accumulator_true_handled ()">g_signal_accumulator_true_handled</a>   (<em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a> *ihint</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_accu</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *handler_return</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dummy</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<a name="gobject-Signals.description"></a><h2>Description</h2>
<p>
The basic concept of the signal system is that of the
<span class="emphasis"><em>emission</em></span> of a signal. Signals are introduced
per-type and are identified through strings.  Signals introduced
for a parent type are available in derived types as well, so
basically they are a per-type facility that is inherited.  A signal
emission mainly involves invocation of a certain set of callbacks
in precisely defined manner. There are two main categories of such
callbacks, per-object 
<sup>[<a name="id658845" href="#ftn.id658845" class="footnote">10</a>]</sup>
ones and user provided ones.
The per-object callbacks are most often referred to as "object method
handler" or "default (signal) handler", while user provided callbacks are
usually just called "signal handler".
The object method handler is provided at signal creation time (this most
frequently happens at the end of an object class' creation), while user
provided handlers are frequently connected and disconnected to/from a certain
signal on certain object instances.
</p>
<p>
A signal emission consists of five stages, unless prematurely stopped:
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"></span></p></td>
<td><p>
	1 - Invocation of the object method handler for <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">G_SIGNAL_RUN_FIRST</code></a> signals
</p></td>
</tr>
<tr>
<td><p><span class="term"></span></p></td>
<td><p>
	2 - Invocation of normal user-provided signal handlers (<span class="emphasis"><em>after</em></span> flag <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>)
</p></td>
</tr>
<tr>
<td><p><span class="term"></span></p></td>
<td><p>
	3 - Invocation of the object method handler for <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">G_SIGNAL_RUN_LAST</code></a> signals
</p></td>
</tr>
<tr>
<td><p><span class="term"></span></p></td>
<td><p>
	4 - Invocation of user provided signal handlers, connected with an <span class="emphasis"><em>after</em></span> flag of <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
</p></td>
</tr>
<tr>
<td><p><span class="term"></span></p></td>
<td><p>
	5 - Invocation of the object method handler for <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-CLEANUP:CAPS"><code class="literal">G_SIGNAL_RUN_CLEANUP</code></a> signals
</p></td>
</tr>
</tbody>
</table></div>
<p>
The user-provided signal handlers are called in the order they were
connected in.
All handlers may prematurely stop a signal emission, and any number of
handlers may be connected, disconnected, blocked or unblocked during
a signal emission.
There are certain criteria for skipping user handlers in stages 2 and 4
of a signal emission.
First, user handlers may be <span class="emphasis"><em>blocked</em></span>, blocked handlers are omitted
during callback invocation, to return from the "blocked" state, a
handler has to get unblocked exactly the same amount of times
it has been blocked before.
Second, upon emission of a <a class="link" href="gobject-Signals.html#G-SIGNAL-DETAILED:CAPS"><code class="literal">G_SIGNAL_DETAILED</code></a> signal, an additional
"detail" argument passed in to <a class="link" href="gobject-Signals.html#g-signal-emit" title="g_signal_emit ()"><code class="function">g_signal_emit()</code></a> has to match the detail
argument of the signal handler currently subject to invocation.
Specification of no detail argument for signal handlers (omission of the
detail part of the signal specification upon connection) serves as a
wildcard and matches any detail argument passed in to emission.
</p>
</div>
<div class="refsect1" title="Details">
<a name="gobject-Signals.details"></a><h2>Details</h2>
<div class="refsect2" title="GSignalInvocationHint">
<a name="GSignalInvocationHint"></a><h3>GSignalInvocationHint</h3>
<pre class="programlisting">typedef struct {
  guint		signal_id;
  GQuark detail;
  GSignalFlags run_type;
} GSignalInvocationHint;
</pre>
<p>
The <a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a> structure is used to pass on additional information
to callbacks during a signal emission.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GSignalInvocationHint.signal-id"></a>signal_id</code></em>;</span></p></td>
<td>The signal id of the signal invoking the callback
</td>
</tr>
<tr>
<td><p><span class="term"><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> <em class="structfield"><code><a name="GSignalInvocationHint.detail"></a>detail</code></em>;</span></p></td>
<td>The detail passed on for this emission
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> <em class="structfield"><code><a name="GSignalInvocationHint.run-type"></a>run_type</code></em>;</span></p></td>
<td>The stage the signal emission is currently in, this
 field will contain one of <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">G_SIGNAL_RUN_FIRST</code></a>,
 <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">G_SIGNAL_RUN_LAST</code></a> or <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-CLEANUP:CAPS"><code class="literal">G_SIGNAL_RUN_CLEANUP</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="GSignalAccumulator ()">
<a name="GSignalAccumulator"></a><h3>GSignalAccumulator ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GSignalAccumulator)               (<em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a> *ihint</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_accu</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *handler_return</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
<p>
The signal accumulator is a special callback function that can be used
to collect return values of the various callbacks that are called
during a signal emission. The signal accumulator is specified at signal
creation time, if it is left <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, no accumulation of callback return
values is performed. The return value of signal emissions is then the
value returned by the last callback.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ihint</code></em> :</span></p></td>
<td>Signal invocation hint, see <a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>return_accu</code></em> :</span></p></td>
<td>Accumulator to collect callback return values in, this
 is the return value of the current signal emission.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler_return</code></em> :</span></p></td>
<td>A <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> holding the return value of the signal handler.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>Callback data that was specified when creating the signal.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The accumulator function returns whether the signal emission
 should be aborted. Returning <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> means to abort the
 current emission and <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is returned for continuation.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="GSignalCMarshaller">
<a name="GSignalCMarshaller"></a><h3>GSignalCMarshaller</h3>
<pre class="programlisting">typedef GClosureMarshal			 GSignalCMarshaller;
</pre>
<p>
This is the signature of marshaller functions, required to marshall
arrays of parameter values to signal emissions into C language callback
invocations. It is merely an alias to <a class="link" href="gobject-Closures.html#GClosureMarshal" title="GClosureMarshal ()"><span class="type">GClosureMarshal</span></a> since the <a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a>
mechanism takes over responsibility of actual function invocation for the
signal system.
</p>
</div>
<hr>
<div class="refsect2" title="GSignalEmissionHook ()">
<a name="GSignalEmissionHook"></a><h3>GSignalEmissionHook ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GSignalEmissionHook)              (<em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a> *ihint</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *param_values</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
<p>
A simple function pointer to get invoked when the signal is emitted. This 
allows you to tie a hook to the signal type, so that it will trap all 
emissions of that signal, from any object.
</p>
<p>
You may not attach these to signals created with the <a class="link" href="gobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS"><span class="type">G_SIGNAL_NO_HOOKS</span></a> flag.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ihint</code></em> :</span></p></td>
<td>Signal invocation hint, see <a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td>
<td>the number of parameters to the function, including
 the instance on which the signal was emitted.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td>
<td>the instance on which the signal was emitted, followed by the 
 parameters of the emission.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>user data associated with the hook.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> whether it wants to stay connected. If it returns <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, the signal 
 hook is disconnected (and destroyed).
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="enum GSignalFlags">
<a name="GSignalFlags"></a><h3>enum GSignalFlags</h3>
<pre class="programlisting">typedef enum
{
  G_SIGNAL_RUN_FIRST = 1 &lt;&lt; 0,
  G_SIGNAL_RUN_LAST = 1 &lt;&lt; 1,
  G_SIGNAL_RUN_CLEANUP = 1 &lt;&lt; 2,
  G_SIGNAL_NO_RECURSE = 1 &lt;&lt; 3,
  G_SIGNAL_DETAILED = 1 &lt;&lt; 4,
  G_SIGNAL_ACTION = 1 &lt;&lt; 5,
  G_SIGNAL_NO_HOOKS = 1 &lt;&lt; 6
} GSignalFlags;
</pre>
<p>
The signal flags are used to specify a signal's behaviour, the overall
signal description outlines how especially the RUN flags control the
stages of a signal emission.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="G-SIGNAL-RUN-FIRST:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_RUN_FIRST</code></span></p></td>
<td>Invoke the object method handler in the first emission stage.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-RUN-LAST:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_RUN_LAST</code></span></p></td>
<td>Invoke the object method handler in the third emission stage.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-RUN-CLEANUP:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_RUN_CLEANUP</code></span></p></td>
<td>Invoke the object method handler in the last emission stage.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-NO-RECURSE:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_NO_RECURSE</code></span></p></td>
<td>Signals being emitted for an object while currently being in
 emission for this very object will not be emitted recursively,
 but instead cause the first emission to be restarted.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-DETAILED:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_DETAILED</code></span></p></td>
<td>This signal supports "::detail" appendices to the signal name
 upon handler connections and emissions.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-ACTION:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_ACTION</code></span></p></td>
<td>Action signals are signals that may freely be emitted on alive
 objects from user code via <a class="link" href="gobject-Signals.html#g-signal-emit" title="g_signal_emit ()"><code class="function">g_signal_emit()</code></a> and friends, without
 the need of being embedded into extra code that performs pre or
 post emission adjustments on the object. They can also be thought
 of as object methods which can be called generically by 
 third-party code.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-NO-HOOKS:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_NO_HOOKS</code></span></p></td>
<td>No emissions hooks are supported for this signal.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="enum GSignalMatchType">
<a name="GSignalMatchType"></a><h3>enum GSignalMatchType</h3>
<pre class="programlisting">typedef enum
{
  G_SIGNAL_MATCH_ID	   = 1 &lt;&lt; 0,
  G_SIGNAL_MATCH_DETAIL	   = 1 &lt;&lt; 1,
  G_SIGNAL_MATCH_CLOSURE   = 1 &lt;&lt; 2,
  G_SIGNAL_MATCH_FUNC	   = 1 &lt;&lt; 3,
  G_SIGNAL_MATCH_DATA	   = 1 &lt;&lt; 4,
  G_SIGNAL_MATCH_UNBLOCKED = 1 &lt;&lt; 5
} GSignalMatchType;
</pre>
<p>
The match types specify what <a class="link" href="gobject-Signals.html#g-signal-handlers-block-matched" title="g_signal_handlers_block_matched ()"><code class="function">g_signal_handlers_block_matched()</code></a>,
<a class="link" href="gobject-Signals.html#g-signal-handlers-unblock-matched" title="g_signal_handlers_unblock_matched ()"><code class="function">g_signal_handlers_unblock_matched()</code></a> and <a class="link" href="gobject-Signals.html#g-signal-handlers-disconnect-matched" title="g_signal_handlers_disconnect_matched ()"><code class="function">g_signal_handlers_disconnect_matched()</code></a>
match signals by.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="G-SIGNAL-MATCH-ID:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_MATCH_ID</code></span></p></td>
<td>The signal id must be equal.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-MATCH-DETAIL:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_MATCH_DETAIL</code></span></p></td>
<td>The signal detail be equal.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-MATCH-CLOSURE:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_MATCH_CLOSURE</code></span></p></td>
<td>The closure must be the same.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-MATCH-FUNC:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_MATCH_FUNC</code></span></p></td>
<td>The C closure callback must be the same.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-MATCH-DATA:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_MATCH_DATA</code></span></p></td>
<td>The closure data must be the same.
</td>
</tr>
<tr>
<td><p><a name="G-SIGNAL-MATCH-UNBLOCKED:CAPS"></a><span class="term"><code class="literal">G_SIGNAL_MATCH_UNBLOCKED</code></span></p></td>
<td>Only unblocked signals may matched.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="GSignalQuery">
<a name="GSignalQuery"></a><h3>GSignalQuery</h3>
<pre class="programlisting">typedef struct {
  guint		signal_id;
  const gchar  *signal_name;
  GType		itype;
  GSignalFlags signal_flags;
  GType		return_type; /* mangled with G_SIGNAL_TYPE_STATIC_SCOPE flag */
  guint		n_params;
  const GType  *param_types; /* mangled with G_SIGNAL_TYPE_STATIC_SCOPE flag */
} GSignalQuery;
</pre>
<p>
A structure holding in-depth information for a specific signal. It is
filled in by the <a class="link" href="gobject-Signals.html#g-signal-query" title="g_signal_query ()"><code class="function">g_signal_query()</code></a> function.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GSignalQuery.signal-id"></a>signal_id</code></em>;</span></p></td>
<td>The signal id of the signal being queried, or 0 if the
 signal to be queried was unknown.
</td>
</tr>
<tr>
<td><p><span class="term">const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GSignalQuery.signal-name"></a>signal_name</code></em>;</span></p></td>
<td>The signal name.
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> <em class="structfield"><code><a name="GSignalQuery.itype"></a>itype</code></em>;</span></p></td>
<td>The interface/instance type that this signal can be emitted for.
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> <em class="structfield"><code><a name="GSignalQuery.signal-flags"></a>signal_flags</code></em>;</span></p></td>
<td>The signal flags as passed in to <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> <em class="structfield"><code><a name="GSignalQuery.return-type"></a>return_type</code></em>;</span></p></td>
<td>The return type for user callbacks.
</td>
</tr>
<tr>
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GSignalQuery.n-params"></a>n_params</code></em>;</span></p></td>
<td>The number of parameters that user callbacks take.
</td>
</tr>
<tr>
<td><p><span class="term">const <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> *<em class="structfield"><code><a name="GSignalQuery.param-types"></a>param_types</code></em>;</span></p></td>
<td>The individual parameter types for user callbacks, note that the
 effective callback signature is:
 <pre class="programlisting">
 @return_type callback (<a href="./../glib/glib/glib-Basic-Types.html#gpointer">gpointer</a>     data1,
 [param_types param_names,]
 <a href="./../glib/glib/glib-Basic-Types.html#gpointer">gpointer</a>     data2);
 </pre>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="G_SIGNAL_TYPE_STATIC_SCOPE">
<a name="G-SIGNAL-TYPE-STATIC-SCOPE:CAPS"></a><h3>G_SIGNAL_TYPE_STATIC_SCOPE</h3>
<pre class="programlisting">#define G_SIGNAL_TYPE_STATIC_SCOPE (G_TYPE_FLAG_RESERVED_ID_BIT)
</pre>
<p>
This macro flags signal argument types for which the signal system may 
assume that instances thereof remain persistent across all signal emissions
they are used in. This is only useful for non ref-counted, value-copy types.
</p>
<p>
To flag a signal argument in this way, add 
<code class="literal">| G_SIGNAL_TYPE_STATIC_SCOPE</code> to the corresponding argument
of <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a>.
</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</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="gobject-Signals.html#g-signal-new">g_signal_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"size_request"</span><span class="symbol">,</span>
<span class="normal">  </span><span class="function"><a href="gobject-Type-Information.html#G-TYPE-FROM-CLASS:CAPS">G_TYPE_FROM_CLASS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gobject_class</span><span class="symbol">),</span>
<span class="normal">	 <a href="gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">G_SIGNAL_RUN_FIRST</a></span><span class="symbol">,</span>
<span class="normal">	 </span><span class="function"><a href="./../glib/glib/glib-Standard-Macros.html#G-STRUCT-OFFSET:CAPS">G_STRUCT_OFFSET</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/gtk/unstable/GtkWidget.html#GtkWidgetClass">GtkWidgetClass</a></span><span class="symbol">,</span><span class="normal"> size_request</span><span class="symbol">),</span>
<span class="normal">	 <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
<span class="normal">	 _gtk_marshal_VOID__BOXED</span><span class="symbol">,</span>
<span class="normal">	 <a href="gobject-Type-Information.html#G-TYPE-NONE:CAPS">G_TYPE_NONE</a></span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span>
<span class="normal">	 GTK_TYPE_REQUISITION </span><span class="symbol">|</span><span class="normal"> <a href="gobject-Signals.html#G-SIGNAL-TYPE-STATIC-SCOPE:CAPS">G_SIGNAL_TYPE_STATIC_SCOPE</a></span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p>
</p>
</div>
<hr>
<div class="refsect2" title="G_SIGNAL_MATCH_MASK">
<a name="G-SIGNAL-MATCH-MASK:CAPS"></a><h3>G_SIGNAL_MATCH_MASK</h3>
<pre class="programlisting">#define G_SIGNAL_MATCH_MASK  0x3f
</pre>
<p>
A mask for all <a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> bits.
</p>
</div>
<hr>
<div class="refsect2" title="G_SIGNAL_FLAGS_MASK">
<a name="G-SIGNAL-FLAGS-MASK:CAPS"></a><h3>G_SIGNAL_FLAGS_MASK</h3>
<pre class="programlisting">#define G_SIGNAL_FLAGS_MASK  0x7f
</pre>
<p>
A mask for all <a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> bits.
</p>
</div>
<hr>
<div class="refsect2" title="g_signal_new ()">
<a name="g-signal-new"></a><h3>g_signal_new ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_signal_new                        (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> signal_flags</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> class_offset</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> accumulator</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> accu_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller"><span class="type">GSignalCMarshaller</span></a> c_marshaller</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> return_type</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Creates a new signal. (This is usually done in the class initializer.)
</p>
<p>
A signal name consists of segments consisting of ASCII letters and
digits, separated by either the '-' or '_' character. The first
character of a signal name must be a letter. Names which violate these
rules lead to undefined behaviour of the GSignal system.
</p>
<p>
When registering a signal and looking up a signal, either separator can
be used, but they cannot be mixed.
</p>
<p>
If 0 is used for <em class="parameter"><code>class_offset</code></em> subclasses cannot override the class handler
in their <code class="code">class_init</code> method by doing
<code class="code">super_class-&gt;signal_handler = my_signal_handler</code>. Instead they
will have to use <a class="link" href="gobject-Signals.html#g-signal-override-class-handler" title="g_signal_override_class_handler ()"><code class="function">g_signal_override_class_handler()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_name</code></em> :</span></p></td>
<td>the name for the signal
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>itype</code></em> :</span></p></td>
<td>the type this signal pertains to. It will also pertain to
 types which are derived from this type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_flags</code></em> :</span></p></td>
<td>a combination of <a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> specifying detail of when
 the default handler is to be invoked. You should at least specify
 <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">G_SIGNAL_RUN_FIRST</code></a> or <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">G_SIGNAL_RUN_LAST</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>class_offset</code></em> :</span></p></td>
<td>The offset of the function pointer in the class structure
 for this type. Used to invoke a class method generically. Pass 0 to
 not associate a class method slot with this signal.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>accumulator</code></em> :</span></p></td>
<td>the accumulator for this signal; may be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>accu_data</code></em> :</span></p></td>
<td>user data for the <em class="parameter"><code>accumulator</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_marshaller</code></em> :</span></p></td>
<td>the function to translate arrays of parameter values to
 signal emissions into C language callback invocations.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>return_type</code></em> :</span></p></td>
<td>the type of return value, or <a class="link" href="gobject-Type-Information.html#G-TYPE-NONE:CAPS" title="G_TYPE_NONE"><span class="type">G_TYPE_NONE</span></a> for a signal
 without a return value.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_params</code></em> :</span></p></td>
<td>the number of parameter types to follow.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>a list of types, one for each parameter.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the signal id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_newv ()">
<a name="g-signal-newv"></a><h3>g_signal_newv ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_signal_newv                       (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> signal_flags</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *class_closure</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> accumulator</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> accu_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller"><span class="type">GSignalCMarshaller</span></a> c_marshaller</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> return_type</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> *param_types</code></em>);</pre>
<p>
Creates a new signal. (This is usually done in the class initializer.)
</p>
<p>
See <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a> for details on allowed signal names.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_name</code></em> :</span></p></td>
<td>the name for the signal
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>itype</code></em> :</span></p></td>
<td>the type this signal pertains to. It will also pertain to
    types which are derived from this type
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_flags</code></em> :</span></p></td>
<td>a combination of <a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> specifying detail of when
    the default handler is to be invoked. You should at least specify
    <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">G_SIGNAL_RUN_FIRST</code></a> or <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">G_SIGNAL_RUN_LAST</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>class_closure</code></em> :</span></p></td>
<td>The closure to invoke on signal emission; may be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>accumulator</code></em> :</span></p></td>
<td>the accumulator for this signal; may be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>accu_data</code></em> :</span></p></td>
<td>user data for the <em class="parameter"><code>accumulator</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_marshaller</code></em> :</span></p></td>
<td>the function to translate arrays of parameter values to
    signal emissions into C language callback invocations
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>return_type</code></em> :</span></p></td>
<td>the type of return value, or <a class="link" href="gobject-Type-Information.html#G-TYPE-NONE:CAPS" title="G_TYPE_NONE"><span class="type">G_TYPE_NONE</span></a> for a signal
    without a return value
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_params</code></em> :</span></p></td>
<td>the length of <em class="parameter"><code>param_types</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>param_types</code></em> :</span></p></td>
<td>an array of types, one for each parameter
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the signal id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_new_valist ()">
<a name="g-signal-new-valist"></a><h3>g_signal_new_valist ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_signal_new_valist                 (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> signal_flags</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *class_closure</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> accumulator</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> accu_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller"><span class="type">GSignalCMarshaller</span></a> c_marshaller</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> return_type</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
<p>
Creates a new signal. (This is usually done in the class initializer.)
</p>
<p>
See <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a> for details on allowed signal names.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_name</code></em> :</span></p></td>
<td>the name for the signal
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>itype</code></em> :</span></p></td>
<td>the type this signal pertains to. It will also pertain to
 types which are derived from this type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_flags</code></em> :</span></p></td>
<td>a combination of <a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> specifying detail of when
 the default handler is to be invoked. You should at least specify
 <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">G_SIGNAL_RUN_FIRST</code></a> or <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">G_SIGNAL_RUN_LAST</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>class_closure</code></em> :</span></p></td>
<td>The closure to invoke on signal emission; may be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>accumulator</code></em> :</span></p></td>
<td>the accumulator for this signal; may be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>accu_data</code></em> :</span></p></td>
<td>user data for the <em class="parameter"><code>accumulator</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_marshaller</code></em> :</span></p></td>
<td>the function to translate arrays of parameter values to
 signal emissions into C language callback invocations.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>return_type</code></em> :</span></p></td>
<td>the type of return value, or <a class="link" href="gobject-Type-Information.html#G-TYPE-NONE:CAPS" title="G_TYPE_NONE"><span class="type">G_TYPE_NONE</span></a> for a signal
 without a return value.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_params</code></em> :</span></p></td>
<td>the number of parameter types in <em class="parameter"><code>args</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
<td>va_list of <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a>, one for each parameter.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the signal id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_query ()">
<a name="g-signal-query"></a><h3>g_signal_query ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_query                      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalQuery" title="GSignalQuery"><span class="type">GSignalQuery</span></a> *query</code></em>);</pre>
<p>
Queries the signal system for in-depth information about a
specific signal. This function will fill in a user-provided
structure to hold signal-specific information. If an invalid
signal id is passed in, the <em class="parameter"><code>signal_id</code></em> member of the <a class="link" href="gobject-Signals.html#GSignalQuery" title="GSignalQuery"><span class="type">GSignalQuery</span></a>
is 0. All members filled into the <a class="link" href="gobject-Signals.html#GSignalQuery" title="GSignalQuery"><span class="type">GSignalQuery</span></a> structure should
be considered constant and have to be left untouched.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>The signal id of the signal to query information for.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
<td>A user provided structure that is filled in with constant
 values upon success.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_lookup ()">
<a name="g-signal-lookup"></a><h3>g_signal_lookup ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_signal_lookup                     (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>);</pre>
<p>
Given the name of the signal and the type of object it connects to, gets
the signal's identifying integer. Emitting the signal by number is
somewhat faster than using the name each time.
</p>
<p>
Also tries the ancestors of the given type.
</p>
<p>
See <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a> for details on allowed signal names.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>the signal's name.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>itype</code></em> :</span></p></td>
<td>the type that the signal operates on.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the signal's identifying number, or 0 if no signal was found.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_name ()">
<a name="g-signal-name"></a><h3>g_signal_name ()</h3>
<pre class="programlisting">const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>*        g_signal_name                       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>);</pre>
<p>
Given the signal's identifier, finds its name.
</p>
<p>
Two different signals may have the same name, if they have differing types.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the signal's identifying number.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the signal name, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the signal number was invalid.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_list_ids ()">
<a name="g-signal-list-ids"></a><h3>g_signal_list_ids ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>*              g_signal_list_ids                   (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_ids</code></em>);</pre>
<p>
Lists the signals by id that a certain instance or interface type
created. Further information about the signals can be acquired through
<a class="link" href="gobject-Signals.html#g-signal-query" title="g_signal_query ()"><code class="function">g_signal_query()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>itype</code></em> :</span></p></td>
<td>Instance or interface type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_ids</code></em> :</span></p></td>
<td>Location to store the number of signal ids for <em class="parameter"><code>itype</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Newly allocated array of signal IDs.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_emit ()">
<a name="g-signal-emit"></a><h3>g_signal_emit ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_emit                       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Emits a signal.
</p>
<p>
Note that <a class="link" href="gobject-Signals.html#g-signal-emit" title="g_signal_emit ()"><code class="function">g_signal_emit()</code></a> resets the return value to the default
if no handlers are connected, in contrast to <a class="link" href="gobject-Signals.html#g-signal-emitv" title="g_signal_emitv ()"><code class="function">g_signal_emitv()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance the signal is being emitted on.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the signal id
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>the detail
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>parameters to be passed to the signal, followed by a
 location for the return value. If the return type of the signal
 is <a class="link" href="gobject-Type-Information.html#G-TYPE-NONE:CAPS" title="G_TYPE_NONE"><span class="type">G_TYPE_NONE</span></a>, the return value location can be omitted.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_emit_by_name ()">
<a name="g-signal-emit-by-name"></a><h3>g_signal_emit_by_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_emit_by_name               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Emits a signal.
</p>
<p>
Note that <a class="link" href="gobject-Signals.html#g-signal-emit-by-name" title="g_signal_emit_by_name ()"><code class="function">g_signal_emit_by_name()</code></a> resets the return value to the default
if no handlers are connected, in contrast to <a class="link" href="gobject-Signals.html#g-signal-emitv" title="g_signal_emitv ()"><code class="function">g_signal_emitv()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance the signal is being emitted on.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>parameters to be passed to the signal, followed by a
 location for the return value. If the return type of the signal
 is <a class="link" href="gobject-Type-Information.html#G-TYPE-NONE:CAPS" title="G_TYPE_NONE"><span class="type">G_TYPE_NONE</span></a>, the return value location can be omitted.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_emitv ()">
<a name="g-signal-emitv"></a><h3>g_signal_emitv ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_emitv                      (<em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *instance_and_params</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>);</pre>
<p>
Emits a signal.
</p>
<p>
Note that <a class="link" href="gobject-Signals.html#g-signal-emitv" title="g_signal_emitv ()"><code class="function">g_signal_emitv()</code></a> doesn't change <em class="parameter"><code>return_value</code></em> if no handlers are
connected, in contrast to <a class="link" href="gobject-Signals.html#g-signal-emit" title="g_signal_emit ()"><code class="function">g_signal_emit()</code></a> and <a class="link" href="gobject-Signals.html#g-signal-emit-valist" title="g_signal_emit_valist ()"><code class="function">g_signal_emit_valist()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance_and_params</code></em> :</span></p></td>
<td>argument list for the signal emission. The first
 element in the array is a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> for the instance the signal is
 being emitted on. The rest are any arguments to be passed to the
 signal.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the signal id
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>the detail
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td>
<td>Location to store the return value of the signal emission.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_emit_valist ()">
<a name="g-signal-emit-valist"></a><h3>g_signal_emit_valist ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_emit_valist                (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
<p>
Emits a signal.
</p>
<p>
Note that <a class="link" href="gobject-Signals.html#g-signal-emit-valist" title="g_signal_emit_valist ()"><code class="function">g_signal_emit_valist()</code></a> resets the return value to the default
if no handlers are connected, in contrast to <a class="link" href="gobject-Signals.html#g-signal-emitv" title="g_signal_emitv ()"><code class="function">g_signal_emitv()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance the signal is being emitted on.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the signal id
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>the detail
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
<td>a list of parameters to be passed to the signal, followed by a
 location for the return value. If the return type of the signal
 is <a class="link" href="gobject-Type-Information.html#G-TYPE-NONE:CAPS" title="G_TYPE_NONE"><span class="type">G_TYPE_NONE</span></a>, the return value location can be omitted.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_connect()">
<a name="g-signal-connect"></a><h3>g_signal_connect()</h3>
<pre class="programlisting">#define             g_signal_connect(instance, detailed_signal, c_handler, data)</pre>
<p>
Connects a <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> function to a signal for a particular object.
</p>
<p>
The handler will be called before the default handler of the signal.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance to connect to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_handler</code></em> :</span></p></td>
<td>the <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> to connect.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>data to pass to <em class="parameter"><code>c_handler</code></em> calls.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the handler id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_connect_after()">
<a name="g-signal-connect-after"></a><h3>g_signal_connect_after()</h3>
<pre class="programlisting">#define             g_signal_connect_after(instance, detailed_signal, c_handler, data)</pre>
<p>
Connects a <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> function to a signal for a particular object.
</p>
<p>
The handler will be called after the default handler of the signal.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance to connect to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_handler</code></em> :</span></p></td>
<td>the <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> to connect.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>data to pass to <em class="parameter"><code>c_handler</code></em> calls.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the handler id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_connect_swapped()">
<a name="g-signal-connect-swapped"></a><h3>g_signal_connect_swapped()</h3>
<pre class="programlisting">#define             g_signal_connect_swapped(instance, detailed_signal, c_handler, data)</pre>
<p>
Connects a <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> function to a signal for a particular object.
</p>
<p>
The instance on which the signal is emitted and <em class="parameter"><code>data</code></em> will be swapped when 
calling the handler.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance to connect to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_handler</code></em> :</span></p></td>
<td>the <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> to connect.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>data to pass to <em class="parameter"><code>c_handler</code></em> calls.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the handler id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_connect_object ()">
<a name="g-signal-connect-object"></a><h3>g_signal_connect_object ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              g_signal_connect_object             (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> c_handler</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> gobject</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GConnectFlags" title="enum GConnectFlags"><span class="type">GConnectFlags</span></a> connect_flags</code></em>);</pre>
<p>
This is similar to <a class="link" href="gobject-Signals.html#g-signal-connect-data" title="g_signal_connect_data ()"><code class="function">g_signal_connect_data()</code></a>, but uses a closure which
ensures that the <em class="parameter"><code>gobject</code></em> stays alive during the call to <em class="parameter"><code>c_handler</code></em>
by temporarily adding a reference count to <em class="parameter"><code>gobject</code></em>.
</p>
<p>
Note that there is a bug in GObject that makes this function
much less useful than it might seem otherwise. Once <em class="parameter"><code>gobject</code></em> is
disposed, the callback will no longer be called, but, the signal
handler is <span class="emphasis"><em>not</em></span> currently disconnected. If the
<em class="parameter"><code>instance</code></em> is itself being freed at the same time than this doesn't
matter, since the signal will automatically be removed, but
if <em class="parameter"><code>instance</code></em> persists, then the signal handler will leak. You
should not remove the signal yourself because in a future versions of
GObject, the handler <span class="emphasis"><em>will</em></span> automatically
be disconnected.
</p>
<p>
It's possible to work around this problem in a way that will
continue to work with future versions of GObject by checking
that the signal handler is still connected before disconnected it:
</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</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="gobject-Signals.html#g-signal-handler-is-connected">g_signal_handler_is_connected</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">instance</span><span class="symbol">,</span><span class="normal"> id</span><span class="symbol">))</span>
<span class="normal">  </span><span class="function"><a href="gobject-Signals.html#g-signal-handler-disconnect">g_signal_handler_disconnect</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">instance</span><span class="symbol">,</span><span class="normal"> id</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance to connect to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_handler</code></em> :</span></p></td>
<td>the <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> to connect.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>gobject</code></em> :</span></p></td>
<td>the object to pass as data to <em class="parameter"><code>c_handler</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>connect_flags</code></em> :</span></p></td>
<td>a combination of <span class="type">GConnnectFlags</span>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the handler id.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="enum GConnectFlags">
<a name="GConnectFlags"></a><h3>enum GConnectFlags</h3>
<pre class="programlisting">typedef enum
{
  G_CONNECT_AFTER = 1 &lt;&lt; 0,
  G_CONNECT_SWAPPED = 1 &lt;&lt; 1
} GConnectFlags;
</pre>
<p>
The connection flags are used to specify the behaviour of a signal's 
connection.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="G-CONNECT-AFTER:CAPS"></a><span class="term"><code class="literal">G_CONNECT_AFTER</code></span></p></td>
<td>whether the handler should be called before or after the 
 default handler of the signal.
</td>
</tr>
<tr>
<td><p><a name="G-CONNECT-SWAPPED:CAPS"></a><span class="term"><code class="literal">G_CONNECT_SWAPPED</code></span></p></td>
<td>whether the instance and data should be swapped when
 calling the handler.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_connect_data ()">
<a name="g-signal-connect-data"></a><h3>g_signal_connect_data ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              g_signal_connect_data               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> c_handler</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> destroy_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GConnectFlags" title="enum GConnectFlags"><span class="type">GConnectFlags</span></a> connect_flags</code></em>);</pre>
<p>
Connects a <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> function to a signal for a particular object. Similar
to <a class="link" href="gobject-Signals.html#g-signal-connect" title="g_signal_connect()"><code class="function">g_signal_connect()</code></a>, but allows to provide a <a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> for the data
which will be called when the signal handler is disconnected and no longer
used. Specify <em class="parameter"><code>connect_flags</code></em> if you need <code class="literal">..._after()</code> or
<code class="literal">..._swapped()</code> variants of this function.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance to connect to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_handler</code></em> :</span></p></td>
<td>the <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> to connect.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>data to pass to <em class="parameter"><code>c_handler</code></em> calls.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>destroy_data</code></em> :</span></p></td>
<td>a <a class="link" href="gobject-Closures.html#GClosureNotify" title="GClosureNotify ()"><span class="type">GClosureNotify</span></a> for <em class="parameter"><code>data</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>connect_flags</code></em> :</span></p></td>
<td>a combination of <a class="link" href="gobject-Signals.html#GConnectFlags" title="enum GConnectFlags"><span class="type">GConnectFlags</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the handler id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_connect_closure ()">
<a name="g-signal-connect-closure"></a><h3>g_signal_connect_closure ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              g_signal_connect_closure            (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> after</code></em>);</pre>
<p>
Connects a closure to a signal for a particular object.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance to connect to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
<td>the closure to connect.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>after</code></em> :</span></p></td>
<td>whether the handler should be called before or after the
 default handler of the signal.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the handler id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_connect_closure_by_id ()">
<a name="g-signal-connect-closure-by-id"></a><h3>g_signal_connect_closure_by_id ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              g_signal_connect_closure_by_id      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> after</code></em>);</pre>
<p>
Connects a closure to a signal for a particular object.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance to connect to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the id of the signal.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>the detail.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
<td>the closure to connect.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>after</code></em> :</span></p></td>
<td>whether the handler should be called before or after the
 default handler of the signal.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the handler id
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handler_block ()">
<a name="g-signal-handler-block"></a><h3>g_signal_handler_block ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_handler_block              (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> handler_id</code></em>);</pre>
<p>
Blocks a handler of an instance so it will not be called during any
signal emissions unless it is unblocked again. Thus "blocking" a
signal handler means to temporarily deactive it, a signal handler
has to be unblocked exactly the same amount of times it has been
blocked before to become active again.
</p>
<p>
The <em class="parameter"><code>handler_id</code></em> has to be a valid signal handler id, connected to a
signal of <em class="parameter"><code>instance</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to block the signal handler of.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler_id</code></em> :</span></p></td>
<td>Handler id of the handler to be blocked.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handler_unblock ()">
<a name="g-signal-handler-unblock"></a><h3>g_signal_handler_unblock ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_handler_unblock            (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> handler_id</code></em>);</pre>
<p>
Undoes the effect of a previous <a class="link" href="gobject-Signals.html#g-signal-handler-block" title="g_signal_handler_block ()"><code class="function">g_signal_handler_block()</code></a> call.  A
blocked handler is skipped during signal emissions and will not be
invoked, unblocking it (for exactly the amount of times it has been
blocked before) reverts its "blocked" state, so the handler will be
recognized by the signal system and is called upon future or
currently ongoing signal emissions (since the order in which
handlers are called during signal emissions is deterministic,
whether the unblocked handler in question is called as part of a
currently ongoing emission depends on how far that emission has
proceeded yet).
</p>
<p>
The <em class="parameter"><code>handler_id</code></em> has to be a valid id of a signal handler that is
connected to a signal of <em class="parameter"><code>instance</code></em> and is currently blocked.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to unblock the signal handler of.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler_id</code></em> :</span></p></td>
<td>Handler id of the handler to be unblocked.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handler_disconnect ()">
<a name="g-signal-handler-disconnect"></a><h3>g_signal_handler_disconnect ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_handler_disconnect         (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> handler_id</code></em>);</pre>
<p>
Disconnects a handler from an instance so it will not be called during
any future or currently ongoing emissions of the signal it has been
connected to. The <em class="parameter"><code>handler_id</code></em> becomes invalid and may be reused.
</p>
<p>
The <em class="parameter"><code>handler_id</code></em> has to be a valid signal handler id, connected to a
signal of <em class="parameter"><code>instance</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to remove the signal handler from.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler_id</code></em> :</span></p></td>
<td>Handler id of the handler to be disconnected.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handler_find ()">
<a name="g-signal-handler-find"></a><h3>g_signal_handler_find ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              g_signal_handler_find               (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> mask</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
<p>
Finds the first signal handler that matches certain selection criteria.
The criteria mask is passed as an OR-ed combination of <a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a>
flags, and the criteria values are passed as arguments.
The match <em class="parameter"><code>mask</code></em> has to be non-0 for successful matches.
If no handler was found, 0 is returned.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance owning the signal handler to be found.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mask</code></em> :</span></p></td>
<td>Mask indicating which of <em class="parameter"><code>signal_id</code></em>, <em class="parameter"><code>detail</code></em>, <em class="parameter"><code>closure</code></em>, <em class="parameter"><code>func</code></em>
 and/or <em class="parameter"><code>data</code></em> the handler has to match.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>Signal the handler has to be connected to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>Signal detail the handler has to be connected to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
<td>The closure the handler will invoke.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>The C closure callback of the handler (useless for non-C closures).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>The closure data of the handler's closure.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A valid non-0 signal handler id for a successful match.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handlers_block_matched ()">
<a name="g-signal-handlers-block-matched"></a><h3>g_signal_handlers_block_matched ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_signal_handlers_block_matched     (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> mask</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
<p>
Blocks all handlers on an instance that match a certain selection criteria.
The criteria mask is passed as an OR-ed combination of <a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a>
flags, and the criteria values are passed as arguments.
Passing at least one of the <a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-CLOSURE:CAPS"><code class="literal">G_SIGNAL_MATCH_CLOSURE</code></a>, <a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-FUNC:CAPS"><code class="literal">G_SIGNAL_MATCH_FUNC</code></a>
or <a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-DATA:CAPS"><code class="literal">G_SIGNAL_MATCH_DATA</code></a> match flags is required for successful matches.
If no handlers were found, 0 is returned, the number of blocked handlers
otherwise.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to block handlers from.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mask</code></em> :</span></p></td>
<td>Mask indicating which of <em class="parameter"><code>signal_id</code></em>, <em class="parameter"><code>detail</code></em>, <em class="parameter"><code>closure</code></em>, <em class="parameter"><code>func</code></em>
 and/or <em class="parameter"><code>data</code></em> the handlers have to match.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>Signal the handlers have to be connected to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>Signal detail the handlers have to be connected to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
<td>The closure the handlers will invoke.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>The C closure callback of the handlers (useless for non-C closures).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>The closure data of the handlers' closures.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The number of handlers that matched.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handlers_unblock_matched ()">
<a name="g-signal-handlers-unblock-matched"></a><h3>g_signal_handlers_unblock_matched ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_signal_handlers_unblock_matched   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> mask</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
<p>
Unblocks all handlers on an instance that match a certain selection
criteria. The criteria mask is passed as an OR-ed combination of
<a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> flags, and the criteria values are passed as arguments.
Passing at least one of the <a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-CLOSURE:CAPS"><code class="literal">G_SIGNAL_MATCH_CLOSURE</code></a>, <a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-FUNC:CAPS"><code class="literal">G_SIGNAL_MATCH_FUNC</code></a>
or <a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-DATA:CAPS"><code class="literal">G_SIGNAL_MATCH_DATA</code></a> match flags is required for successful matches.
If no handlers were found, 0 is returned, the number of unblocked handlers
otherwise. The match criteria should not apply to any handlers that are
not currently blocked.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to unblock handlers from.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mask</code></em> :</span></p></td>
<td>Mask indicating which of <em class="parameter"><code>signal_id</code></em>, <em class="parameter"><code>detail</code></em>, <em class="parameter"><code>closure</code></em>, <em class="parameter"><code>func</code></em>
 and/or <em class="parameter"><code>data</code></em> the handlers have to match.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>Signal the handlers have to be connected to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>Signal detail the handlers have to be connected to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
<td>The closure the handlers will invoke.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>The C closure callback of the handlers (useless for non-C closures).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>The closure data of the handlers' closures.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The number of handlers that matched.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handlers_disconnect_matched ()">
<a name="g-signal-handlers-disconnect-matched"></a><h3>g_signal_handlers_disconnect_matched ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_signal_handlers_disconnect_matched
                                                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> mask</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
<p>
Disconnects all handlers on an instance that match a certain
selection criteria. The criteria mask is passed as an OR-ed
combination of <a class="link" href="gobject-Signals.html#GSignalMatchType" title="enum GSignalMatchType"><span class="type">GSignalMatchType</span></a> flags, and the criteria values are
passed as arguments.  Passing at least one of the
<a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-CLOSURE:CAPS"><code class="literal">G_SIGNAL_MATCH_CLOSURE</code></a>, <a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-FUNC:CAPS"><code class="literal">G_SIGNAL_MATCH_FUNC</code></a> or
<a class="link" href="gobject-Signals.html#G-SIGNAL-MATCH-DATA:CAPS"><code class="literal">G_SIGNAL_MATCH_DATA</code></a> match flags is required for successful
matches.  If no handlers were found, 0 is returned, the number of
disconnected handlers otherwise.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to remove handlers from.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mask</code></em> :</span></p></td>
<td>Mask indicating which of <em class="parameter"><code>signal_id</code></em>, <em class="parameter"><code>detail</code></em>, <em class="parameter"><code>closure</code></em>, <em class="parameter"><code>func</code></em>
 and/or <em class="parameter"><code>data</code></em> the handlers have to match.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>Signal the handlers have to be connected to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>Signal detail the handlers have to be connected to.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
<td>The closure the handlers will invoke.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>The C closure callback of the handlers (useless for non-C closures).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>The closure data of the handlers' closures.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The number of handlers that matched.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handler_is_connected ()">
<a name="g-signal-handler-is-connected"></a><h3>g_signal_handler_is_connected ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_signal_handler_is_connected       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> handler_id</code></em>);</pre>
<p>
Returns whether <em class="parameter"><code>handler_id</code></em> is the id of a handler connected to <em class="parameter"><code>instance</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance where a signal handler is sought.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler_id</code></em> :</span></p></td>
<td>the handler id.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> whether <em class="parameter"><code>handler_id</code></em> identifies a handler connected to <em class="parameter"><code>instance</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handlers_block_by_func()">
<a name="g-signal-handlers-block-by-func"></a><h3>g_signal_handlers_block_by_func()</h3>
<pre class="programlisting">#define             g_signal_handlers_block_by_func(instance, func, data)</pre>
<p>
Blocks all handlers on an instance that match <em class="parameter"><code>func</code></em> and <em class="parameter"><code>data</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to block handlers from.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>The C closure callback of the handlers (useless for non-C closures).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>The closure data of the handlers' closures.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The number of handlers that matched.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handlers_unblock_by_func()">
<a name="g-signal-handlers-unblock-by-func"></a><h3>g_signal_handlers_unblock_by_func()</h3>
<pre class="programlisting">#define             g_signal_handlers_unblock_by_func(instance, func, data)</pre>
<p>
Unblocks all handlers on an instance that match <em class="parameter"><code>func</code></em> and <em class="parameter"><code>data</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to unblock handlers from.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>The C closure callback of the handlers (useless for non-C closures).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>The closure data of the handlers' closures.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The number of handlers that matched.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_handlers_disconnect_by_func()">
<a name="g-signal-handlers-disconnect-by-func"></a><h3>g_signal_handlers_disconnect_by_func()</h3>
<pre class="programlisting">#define             g_signal_handlers_disconnect_by_func(instance, func, data)</pre>
<p>
Disconnects all handlers on an instance that match <em class="parameter"><code>func</code></em> and <em class="parameter"><code>data</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>The instance to remove handlers from.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>The C closure callback of the handlers (useless for non-C closures).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>The closure data of the handlers' closures.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The number of handlers that matched.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_has_handler_pending ()">
<a name="g-signal-has-handler-pending"></a><h3>g_signal_has_handler_pending ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_signal_has_handler_pending        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> may_be_blocked</code></em>);</pre>
<p>
Returns whether there are any handlers connected to <em class="parameter"><code>instance</code></em> for the
given signal id and detail.
</p>
<p>
One example of when you might use this is when the arguments to the
signal are difficult to compute. A class implementor may opt to not
emit the signal if no one is attached anyway, thus saving the cost
of building the arguments.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the object whose signal handlers are sought.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the signal id.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>the detail.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>may_be_blocked</code></em> :</span></p></td>
<td>whether blocked handlers should count as match.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a handler is connected to the signal, <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
         otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_stop_emission ()">
<a name="g-signal-stop-emission"></a><h3>g_signal_stop_emission ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_stop_emission              (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>);</pre>
<p>
Stops a signal's current emission.
</p>
<p>
This will prevent the default method from running, if the signal was
<a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">G_SIGNAL_RUN_LAST</code></a> and you connected normally (i.e. without the "after"
flag).
</p>
<p>
Prints a warning if used on a signal which isn't being emitted.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the object whose signal handlers you wish to stop.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the signal identifier, as returned by <a class="link" href="gobject-Signals.html#g-signal-lookup" title="g_signal_lookup ()"><code class="function">g_signal_lookup()</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>the detail which the signal was emitted with.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_stop_emission_by_name ()">
<a name="g-signal-stop-emission-by-name"></a><h3>g_signal_stop_emission_by_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_stop_emission_by_name      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>);</pre>
<p>
Stops a signal's current emission.
</p>
<p>
This is just like <a class="link" href="gobject-Signals.html#g-signal-stop-emission" title="g_signal_stop_emission ()"><code class="function">g_signal_stop_emission()</code></a> except it will look up the
signal id for you.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the object whose signal handlers you wish to stop.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_override_class_closure ()">
<a name="g-signal-override-class-closure"></a><h3>g_signal_override_class_closure ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_override_class_closure     (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> instance_type</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *class_closure</code></em>);</pre>
<p>
Overrides the class closure (i.e. the default handler) for the given signal
for emissions on instances of <em class="parameter"><code>instance_type</code></em>. <em class="parameter"><code>instance_type</code></em> must be derived
from the type to which the signal belongs.
</p>
<p>
See <a class="link" href="gobject-Signals.html#g-signal-chain-from-overridden" title="g_signal_chain_from_overridden ()"><code class="function">g_signal_chain_from_overridden()</code></a> and
<a class="link" href="gobject-Signals.html#g-signal-chain-from-overridden-handler" title="g_signal_chain_from_overridden_handler ()"><code class="function">g_signal_chain_from_overridden_handler()</code></a> for how to chain up to the
parent class closure from inside the overridden one.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the signal id
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance_type</code></em> :</span></p></td>
<td>the instance type on which to override the class closure
 for the signal.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>class_closure</code></em> :</span></p></td>
<td>the closure.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_chain_from_overridden ()">
<a name="g-signal-chain-from-overridden"></a><h3>g_signal_chain_from_overridden ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_chain_from_overridden      (<em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *instance_and_params</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_value</code></em>);</pre>
<p>
Calls the original class closure of a signal. This function should only
be called from an overridden class closure; see
<a class="link" href="gobject-Signals.html#g-signal-override-class-closure" title="g_signal_override_class_closure ()"><code class="function">g_signal_override_class_closure()</code></a> and
<a class="link" href="gobject-Signals.html#g-signal-override-class-handler" title="g_signal_override_class_handler ()"><code class="function">g_signal_override_class_handler()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance_and_params</code></em> :</span></p></td>
<td>the argument list of the signal emission. The first
 element in the array is a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> for the instance the signal is being
 emitted on. The rest are any arguments to be passed to the signal.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td>
<td>Location for the return value.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_new_class_handler ()">
<a name="g-signal-new-class-handler"></a><h3>g_signal_new_class_handler ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_signal_new_class_handler          (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> signal_flags</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> class_handler</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> accumulator</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> accu_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalCMarshaller" title="GSignalCMarshaller"><span class="type">GSignalCMarshaller</span></a> c_marshaller</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> return_type</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Creates a new signal. (This is usually done in the class initializer.)
</p>
<p>
This is a variant of <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a> that takes a C callback instead
off a class offset for the signal's class handler. This function
doesn't need a function pointer exposed in the class structure of
an object definition, instead the function pointer is passed
directly and can be overriden by derived classes with
<a class="link" href="gobject-Signals.html#g-signal-override-class-closure" title="g_signal_override_class_closure ()"><code class="function">g_signal_override_class_closure()</code></a> or
<a class="link" href="gobject-Signals.html#g-signal-override-class-handler" title="g_signal_override_class_handler ()"><code class="function">g_signal_override_class_handler()</code></a>and chained to with
<a class="link" href="gobject-Signals.html#g-signal-chain-from-overridden" title="g_signal_chain_from_overridden ()"><code class="function">g_signal_chain_from_overridden()</code></a> or
<a class="link" href="gobject-Signals.html#g-signal-chain-from-overridden-handler" title="g_signal_chain_from_overridden_handler ()"><code class="function">g_signal_chain_from_overridden_handler()</code></a>.
</p>
<p>
See <a class="link" href="gobject-Signals.html#g-signal-new" title="g_signal_new ()"><code class="function">g_signal_new()</code></a> for information about signal names.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_name</code></em> :</span></p></td>
<td>the name for the signal
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>itype</code></em> :</span></p></td>
<td>the type this signal pertains to. It will also pertain to
 types which are derived from this type.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_flags</code></em> :</span></p></td>
<td>a combination of <a class="link" href="gobject-Signals.html#GSignalFlags" title="enum GSignalFlags"><span class="type">GSignalFlags</span></a> specifying detail of when
 the default handler is to be invoked. You should at least specify
 <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">G_SIGNAL_RUN_FIRST</code></a> or <a class="link" href="gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">G_SIGNAL_RUN_LAST</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>class_handler</code></em> :</span></p></td>
<td>a <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> which acts as class implementation of
 this signal. Used to invoke a class method generically. Pass <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
 not associate a class method with this signal.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>accumulator</code></em> :</span></p></td>
<td>the accumulator for this signal; may be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>accu_data</code></em> :</span></p></td>
<td>user data for the <em class="parameter"><code>accumulator</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>c_marshaller</code></em> :</span></p></td>
<td>the function to translate arrays of parameter values to
 signal emissions into C language callback invocations.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>return_type</code></em> :</span></p></td>
<td>the type of return value, or <a class="link" href="gobject-Type-Information.html#G-TYPE-NONE:CAPS" title="G_TYPE_NONE"><span class="type">G_TYPE_NONE</span></a> for a signal
 without a return value.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_params</code></em> :</span></p></td>
<td>the number of parameter types to follow.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>a list of types, one for each parameter.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the signal id

</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.18</p>
</div>
<hr>
<div class="refsect2" title="g_signal_override_class_handler ()">
<a name="g-signal-override-class-handler"></a><h3>g_signal_override_class_handler ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_override_class_handler     (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_name</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> instance_type</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> class_handler</code></em>);</pre>
<p>
Overrides the class closure (i.e. the default handler) for the
given signal for emissions on instances of <em class="parameter"><code>instance_type</code></em> with
callabck <em class="parameter"><code>class_handler</code></em>. <em class="parameter"><code>instance_type</code></em> must be derived from the
type to which the signal belongs.
</p>
<p>
See <a class="link" href="gobject-Signals.html#g-signal-chain-from-overridden" title="g_signal_chain_from_overridden ()"><code class="function">g_signal_chain_from_overridden()</code></a> and
<a class="link" href="gobject-Signals.html#g-signal-chain-from-overridden-handler" title="g_signal_chain_from_overridden_handler ()"><code class="function">g_signal_chain_from_overridden_handler()</code></a> for how to chain up to the
parent class closure from inside the overridden one.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_name</code></em> :</span></p></td>
<td>the name for the signal
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance_type</code></em> :</span></p></td>
<td>the instance type on which to override the class handler
 for the signal.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>class_handler</code></em> :</span></p></td>
<td>the handler.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.18</p>
</div>
<hr>
<div class="refsect2" title="g_signal_chain_from_overridden_handler ()">
<a name="g-signal-chain-from-overridden-handler"></a><h3>g_signal_chain_from_overridden_handler ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_chain_from_overridden_handler
                                                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Calls the original class closure of a signal. This function should
only be called from an overridden class closure; see
<a class="link" href="gobject-Signals.html#g-signal-override-class-closure" title="g_signal_override_class_closure ()"><code class="function">g_signal_override_class_closure()</code></a> and
<a class="link" href="gobject-Signals.html#g-signal-override-class-handler" title="g_signal_override_class_handler ()"><code class="function">g_signal_override_class_handler()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance the signal is being emitted on.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>parameters to be passed to the parent class closure, followed by a
 location for the return value. If the return type of the signal
 is <a class="link" href="gobject-Type-Information.html#G-TYPE-NONE:CAPS" title="G_TYPE_NONE"><span class="type">G_TYPE_NONE</span></a>, the return value location can be omitted.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.18</p>
</div>
<hr>
<div class="refsect2" title="g_signal_add_emission_hook ()">
<a name="g-signal-add-emission-hook"></a><h3>g_signal_add_emission_hook ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>              g_signal_add_emission_hook          (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> detail</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalEmissionHook" title="GSignalEmissionHook ()"><span class="type">GSignalEmissionHook</span></a> hook_func</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> hook_data</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> data_destroy</code></em>);</pre>
<p>
Adds an emission hook for a signal, which will get called for any emission
of that signal, independent of the instance. This is possible only
for signals which don't have <a class="link" href="gobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS"><span class="type">G_SIGNAL_NO_HOOKS</span></a> flag set.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the signal identifier, as returned by <a class="link" href="gobject-Signals.html#g-signal-lookup" title="g_signal_lookup ()"><code class="function">g_signal_lookup()</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail</code></em> :</span></p></td>
<td>the detail on which to call the hook.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>hook_func</code></em> :</span></p></td>
<td>a <a class="link" href="gobject-Signals.html#GSignalEmissionHook" title="GSignalEmissionHook ()"><span class="type">GSignalEmissionHook</span></a> function.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>hook_data</code></em> :</span></p></td>
<td>user data for <em class="parameter"><code>hook_func</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data_destroy</code></em> :</span></p></td>
<td>a <a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> for <em class="parameter"><code>hook_data</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the hook id, for later use with <a class="link" href="gobject-Signals.html#g-signal-remove-emission-hook" title="g_signal_remove_emission_hook ()"><code class="function">g_signal_remove_emission_hook()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_remove_emission_hook ()">
<a name="g-signal-remove-emission-hook"></a><h3>g_signal_remove_emission_hook ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                g_signal_remove_emission_hook       (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> signal_id</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> hook_id</code></em>);</pre>
<p>
Deletes an emission hook.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id</code></em> :</span></p></td>
<td>the id of the signal
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>hook_id</code></em> :</span></p></td>
<td>the id of the emission hook, as returned by
 <a class="link" href="gobject-Signals.html#g-signal-add-emission-hook" title="g_signal_add_emission_hook ()"><code class="function">g_signal_add_emission_hook()</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_parse_name ()">
<a name="g-signal-parse-name"></a><h3>g_signal_parse_name ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_signal_parse_name                 (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *detailed_signal</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *signal_id_p</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> *detail_p</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_detail_quark</code></em>);</pre>
<p>
Internal function to parse a signal name into its <em class="parameter"><code>signal_id</code></em>
and <em class="parameter"><code>detail</code></em> quark.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>detailed_signal</code></em> :</span></p></td>
<td>a string of the form "signal-name::detail".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>itype</code></em> :</span></p></td>
<td>The interface/instance type that introduced "signal-name".
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>signal_id_p</code></em> :</span></p></td>
<td>Location to store the signal id.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>detail_p</code></em> :</span></p></td>
<td>Location to store the detail quark.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>force_detail_quark</code></em> :</span></p></td>
<td>
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> forces creation of a <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> for the detail.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Whether the signal name could successfully be parsed and <em class="parameter"><code>signal_id_p</code></em> and <em class="parameter"><code>detail_p</code></em> contain valid return values.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_get_invocation_hint ()">
<a name="g-signal-get-invocation-hint"></a><h3>g_signal_get_invocation_hint ()</h3>
<pre class="programlisting"><a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="returnvalue">GSignalInvocationHint</span></a>* g_signal_get_invocation_hint     (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>);</pre>
<p>
Returns the invocation hint of the innermost signal emission of instance.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
<td>the instance to query
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the invocation hint of the innermost signal emission.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_type_cclosure_new ()">
<a name="g-signal-type-cclosure-new"></a><h3>g_signal_type_cclosure_new ()</h3>
<pre class="programlisting"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="returnvalue">GClosure</span></a>*           g_signal_type_cclosure_new          (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> itype</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> struct_offset</code></em>);</pre>
<p>
Creates a new closure which invokes the function found at the offset
<em class="parameter"><code>struct_offset</code></em> in the class structure of the interface or classed type
identified by <em class="parameter"><code>itype</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>itype</code></em> :</span></p></td>
<td>the <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> identifier of an interface or classed type
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>struct_offset</code></em> :</span></p></td>
<td>the offset of the member function of <em class="parameter"><code>itype</code></em>'s class
 structure which is to be invoked by the new closure
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a new <a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure"><span class="type">GCClosure</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_signal_accumulator_true_handled ()">
<a name="g-signal-accumulator-true-handled"></a><h3>g_signal_accumulator_true_handled ()</h3>
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_signal_accumulator_true_handled   (<em class="parameter"><code><a class="link" href="gobject-Signals.html#GSignalInvocationHint" title="GSignalInvocationHint"><span class="type">GSignalInvocationHint</span></a> *ihint</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *return_accu</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *handler_return</code></em>,
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dummy</code></em>);</pre>
<p>
A predefined <a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> for signals that return a
boolean values. The behavior that this accumulator gives is
that a return of <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> stops the signal emission: no further
callbacks will be invoked, while a return of <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> allows
the emission to coninue. The idea here is that a <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> return
indicates that the callback <span class="emphasis"><em>handled</em></span> the signal,
and no further handling is needed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ihint</code></em> :</span></p></td>
<td>standard <a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> parameter
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>return_accu</code></em> :</span></p></td>
<td>standard <a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> parameter
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler_return</code></em> :</span></p></td>
<td>standard <a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> parameter
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dummy</code></em> :</span></p></td>
<td>standard <a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> parameter
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> standard <a class="link" href="gobject-Signals.html#GSignalAccumulator" title="GSignalAccumulator ()"><span class="type">GSignalAccumulator</span></a> result
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
</div>
<div class="footnotes">
<br><hr width="100" align="left">
<div class="footnote"><p><sup>[<a name="ftn.id658845" href="#id658845" class="para">10</a>] </sup>Although signals can deal with any kind of instantiatable 
type, i'm referring to those types as "object types" in the following, 
simply because that is the context most users will encounter signals in.
</p></div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.14</div>
</body>
</html>