📄 glib-hook-functions.html
字号:
<td>the reference count of this hook.</td></tr><tr><td><span class="term"><a href="glib-Basic-Types.html#gulong">gulong</a> <em class="structfield"><code>hook_id</code></em>;</span></td><td>the id of this hook, which is unique within its list.</td></tr><tr><td><span class="term"><a href="glib-Basic-Types.html#guint">guint</a> <em class="structfield"><code>flags</code></em>;</span></td><td>flags which are set for this hook. See <a href="glib-Hook-Functions.html#GHookFlagMask"><span class="type">GHookFlagMask</span></a> forpredefined flags.</td></tr><tr><td><span class="term"><a href="glib-Basic-Types.html#gpointer">gpointer</a> <em class="structfield"><code>func</code></em>;</span></td><td>the function to call when this hook is invoked. The possible signatures for this function are <a href="glib-Hook-Functions.html#GHookFunc"><span class="type">GHookFunc</span></a> and <a href="glib-Hook-Functions.html#GHookCheckFunc"><span class="type">GHookCheckFunc</span></a>.</td></tr><tr><td><span class="term"><a href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> <em class="structfield"><code>destroy</code></em>;</span></td><td>the default <code class="function">finalize_hook</code> function of a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a> calls this member of the hook that is being finalized.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3009019"></a><h3><a name="GHookFunc"></a>GHookFunc ()</h3><a class="indexterm" name="id3009030"></a><pre class="programlisting">void (*GHookFunc) (<a href="glib-Basic-Types.html#gpointer">gpointer</a> data);</pre><p>Defines the type of a hook function that can be invokedby <a href="glib-Hook-Functions.html#g-hook-list-invoke"><code class="function">g_hook_list_invoke()</code></a>.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>data</code></em> :</span></td><td>the data field of the <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a> is passed to the hook function here.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3009096"></a><h3><a name="GHookCheckFunc"></a>GHookCheckFunc ()</h3><a class="indexterm" name="id3009107"></a><pre class="programlisting"><a href="glib-Basic-Types.html#gboolean">gboolean</a> (*GHookCheckFunc) (<a href="glib-Basic-Types.html#gpointer">gpointer</a> data);</pre><p>Defines the type of a hook function that can be invokedby <a href="glib-Hook-Functions.html#g-hook-list-invoke-check"><code class="function">g_hook_list_invoke_check()</code></a>.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>data</code></em> :</span></td><td>the data field of the <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a> is passed to the hook function here.</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td><code class="literal">FALSE</code> if the <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a> should be destroyed.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3009197"></a><h3><a name="g-hook-list-init"></a>g_hook_list_init ()</h3><a class="indexterm" name="id3009208"></a><pre class="programlisting">void g_hook_list_init (<a href="glib-Hook-Functions.html#GHookList">GHookList</a> *hook_list, <a href="glib-Basic-Types.html#guint">guint</a> hook_size);</pre><p>Initializes a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.This must be called before the <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a> is used.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>hook_list</code></em> :</span></td><td>a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.</td></tr><tr><td><span class="term"><em class="parameter"><code>hook_size</code></em> :</span></td><td>the size of each element in the <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>, typically<code class="literal">sizeof (GHook)</code>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3009314"></a><h3><a name="g-hook-list-invoke"></a>g_hook_list_invoke ()</h3><a class="indexterm" name="id3009326"></a><pre class="programlisting">void g_hook_list_invoke (<a href="glib-Hook-Functions.html#GHookList">GHookList</a> *hook_list, <a href="glib-Basic-Types.html#gboolean">gboolean</a> may_recurse);</pre><p>Calls all of the <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a> functions in a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>hook_list</code></em> :</span></td><td>a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.</td></tr><tr><td><span class="term"><em class="parameter"><code>may_recurse</code></em> :</span></td><td><code class="literal">TRUE</code> if functions which are already running (e.g. in anotherthread) can be called. If set to <code class="literal">FALSE</code>, these are skipped.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3009429"></a><h3><a name="g-hook-list-invoke-check"></a>g_hook_list_invoke_check ()</h3><a class="indexterm" name="id3009440"></a><pre class="programlisting">void g_hook_list_invoke_check (<a href="glib-Hook-Functions.html#GHookList">GHookList</a> *hook_list, <a href="glib-Basic-Types.html#gboolean">gboolean</a> may_recurse);</pre><p>Calls all of the <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a> functions in a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.Any function which returns <code class="literal">TRUE</code> is removed from the <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>hook_list</code></em> :</span></td><td>a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.</td></tr><tr><td><span class="term"><em class="parameter"><code>may_recurse</code></em> :</span></td><td><code class="literal">TRUE</code> if functions which are already running (e.g. in anotherthread) can be called. If set to <code class="literal">FALSE</code>, these are skipped.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3009559"></a><h3><a name="g-hook-list-marshal"></a>g_hook_list_marshal ()</h3><a class="indexterm" name="id3009570"></a><pre class="programlisting">void g_hook_list_marshal (<a href="glib-Hook-Functions.html#GHookList">GHookList</a> *hook_list, <a href="glib-Basic-Types.html#gboolean">gboolean</a> may_recurse, <a href="glib-Hook-Functions.html#GHookMarshaller">GHookMarshaller</a> marshaller, <a href="glib-Basic-Types.html#gpointer">gpointer</a> marshal_data);</pre><p>Calls a function on each valid <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a>. </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>hook_list</code></em> :</span></td><td>a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.</td></tr><tr><td><span class="term"><em class="parameter"><code>may_recurse</code></em> :</span></td><td><code class="literal">TRUE</code> if hooks which are currently running (e.g. in anotherthread) are considered valid. If set to <code class="literal">FALSE</code>, these are skipped.</td></tr><tr><td><span class="term"><em class="parameter"><code>marshaller</code></em> :</span></td><td>the function to call for each <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a>.</td></tr><tr><td><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></td><td>data to pass to <em class="parameter"><code>marshaller</code></em>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3009723"></a><h3><a name="GHookMarshaller"></a>GHookMarshaller ()</h3><a class="indexterm" name="id3009734"></a><pre class="programlisting">void (*GHookMarshaller) (<a href="glib-Hook-Functions.html#GHook">GHook</a> *hook, <a href="glib-Basic-Types.html#gpointer">gpointer</a> marshal_data);</pre><p>Defines the type of function used by <a href="glib-Hook-Functions.html#g-hook-list-marshal"><code class="function">g_hook_list_marshal()</code></a>.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>hook</code></em> :</span></td><td>a <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a>.</td></tr><tr><td><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></td><td>user data.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3009821"></a><h3><a name="g-hook-list-marshal-check"></a>g_hook_list_marshal_check ()</h3><a class="indexterm" name="id3009832"></a><pre class="programlisting">void g_hook_list_marshal_check (<a href="glib-Hook-Functions.html#GHookList">GHookList</a> *hook_list, <a href="glib-Basic-Types.html#gboolean">gboolean</a> may_recurse, <a href="glib-Hook-Functions.html#GHookCheckMarshaller">GHookCheckMarshaller</a> marshaller, <a href="glib-Basic-Types.html#gpointer">gpointer</a> marshal_data);</pre><p>Calls a function on each valid <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a> and destroys it if the function returns <code class="literal">FALSE</code>.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>hook_list</code></em> :</span></td><td>a <a href="glib-Hook-Functions.html#GHookList"><span class="type">GHookList</span></a>.</td></tr><tr><td><span class="term"><em class="parameter"><code>may_recurse</code></em> :</span></td><td><code class="literal">TRUE</code> if hooks which are currently running (e.g. in anotherthread) are considered valid. If set to <code class="literal">FALSE</code>, these are skipped.</td></tr><tr><td><span class="term"><em class="parameter"><code>marshaller</code></em> :</span></td><td>the function to call for each <a href="glib-Hook-Functions.html#GHook"><span class="type">GHook</span></a>.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -