<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="GCutEventLoop">
<refmeta>
<refentrytitle role="top_of_page" id="GCutEventLoop.top_of_page"
>Abstracted event loop</refentrytitle>
<manvolnum
>3</manvolnum>
<refmiscinfo
>Cutterライブラリ</refmiscinfo>
</refmeta>
<refnamediv>
<refname
>Abstracted event loop</refname>
<refpurpose
>GCutterで使うイベントループをカスタマイズするための抽象化されたイベントループAPI。</refpurpose>
</refnamediv>

<refsect1 id="GCutEventLoop.functions" role="functions_proto">
<title role="functions_proto.title"
>Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row
><entry role="function_type"
><link linkend="GQuark"
><returnvalue
>GQuark</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-error-quark"
>gcut_event_loop_error_quark</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="void"
><returnvalue
>void</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-run"
>gcut_event_loop_run</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="gboolean"
><returnvalue
>gboolean</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-iterate"
>gcut_event_loop_iterate</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="void"
><returnvalue
>void</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-quit"
>gcut_event_loop_quit</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="guint"
><returnvalue
>guint</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-watch-io"
>gcut_event_loop_watch_io</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="guint"
><returnvalue
>guint</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-watch-child"
>gcut_event_loop_watch_child</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="guint"
><returnvalue
>guint</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-watch-child-full"
>gcut_event_loop_watch_child_full</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="guint"
><returnvalue
>guint</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-add-timeout"
>gcut_event_loop_add_timeout</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="guint"
><returnvalue
>guint</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-add-timeout-full"
>gcut_event_loop_add_timeout_full</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="guint"
><returnvalue
>guint</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-add-idle"
>gcut_event_loop_add_idle</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="guint"
><returnvalue
>guint</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-add-idle-full"
>gcut_event_loop_add_idle_full</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>
<row
><entry role="function_type"
><link linkend="gboolean"
><returnvalue
>gboolean</returnvalue
></link>
</entry
><entry role="function_name"
><link linkend="gcut-event-loop-remove"
>gcut_event_loop_remove</link
>&#160;<phrase role="c_punctuation"
>()</phrase
></entry
></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GCutEventLoop.other" role="other_proto">
<title role="other_proto.title"
>Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row
><entry role="define_keyword"
>#define</entry
><entry role="function_name"
><link linkend="GCUT-EVENT-LOOP-ERROR:CAPS"
>GCUT_EVENT_LOOP_ERROR</link
></entry
></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GCutEventLoop.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title"
>オブジェクト階層</title>
<screen
><link linkend="GObject"
>GObject</link>
    <phrase role="lineart"
>&#9584;&#9472;&#9472;</phrase
> GCutEventLoop
        <phrase role="lineart"
>&#9584;&#9472;&#9472;</phrase
> <link linkend="GCutGLibEventLoop"
>GCutGLibEventLoop</link
>
</screen>
</refsect1>


<refsect1 id="GCutEventLoop.description" role="desc">
<title role="desc.title"
>説明</title>
<para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>はイベントループをカプセル化します。イベントループは<link linkend="GCutProcess"
><type
>GCutProcess</type
></link
>で使われています。GCutProcessはデフォルトではGLibのデフォルトGMainContextを使います。</para>
<para
>ふつうはカスタム<link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>は必要ありません。必要になるのは特別な場合だけです。例えば、イベントループのバックエンドにGLibのGMainLoopではなく、libevのイベントループに使っている場合です。</para>
<para
>GCutterはGLibのGMainContextとGMainLoop用の<link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>である<link linkend="GCutGLibEventLoop"
><type
>GCutGLibEventLoop</type
></link
>を提供します。</para>

</refsect1>
<refsect1 id="GCutEventLoop.functions_details" role="details">
<title role="details.title"
>Functions</title>
<refsect2 id="gcut-event-loop-error-quark" role="function">
<title
>gcut_event_loop_error_quark&#160;()</title>
<indexterm zone="gcut-event-loop-error-quark"
><primary
>gcut_event_loop_error_quark</primary
></indexterm>
<programlisting language="C"
><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>
gcut_event_loop_error_quark (<parameter><type>void</type></parameter>);</programlisting>
</refsect2>
<refsect2 id="gcut-event-loop-run" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_run&#160;()</title>
<indexterm zone="gcut-event-loop-run" role="1.1.6"
><primary
>gcut_event_loop_run</primary
></indexterm>
<programlisting language="C"
><link linkend="GCutGLibEventLoop"
><type
>GCutGLibEventLoop</type
></link
>はGLibのGMainContextとGMainLoop用の<link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>実装です。</programlisting>
<para
><link linkend="gcut-event-loop-quit"
><function
>gcut_event_loop_quit()</function
></link
>が呼ばれるまでイベントループを回します。</para>
<refsect3 id="gcut-event-loop-run.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-iterate" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_iterate&#160;()</title>
<indexterm zone="gcut-event-loop-iterate" role="1.1.6"
><primary
>gcut_event_loop_iterate</primary
></indexterm>
<programlisting language="C"
><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gcut_event_loop_iterate (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                         <parameter><link linkend="gboolean"><type>gboolean</type></link> may_block</parameter>);</programlisting>
<para
>イベントループを1回だけ回します。もし、イベントがなく<parameter
>may_block</parameter
>が<link linkend="TRUE:CAPS"
><literal
>TRUE</literal
></link
>なら、イベントがくるまで待ちつづけます。<parameter
>may_block</parameter
>が<link linkend="FALSE:CAPS"
><literal
>FALSE</literal
></link
>なら、イベントがくるのを待ちません。</para>
<refsect3 id="gcut-event-loop-iterate.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>may_block</para
></entry>
<entry role="parameter_description"
><para
>呼び出しがブロックするかどうか。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-iterate.returns" role="returns">
<title
>Returns</title>
<para
>イベントを処理したら<link linkend="TRUE:CAPS"
><literal
>TRUE</literal
></link
>。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-quit" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_quit&#160;()</title>
<indexterm zone="gcut-event-loop-quit" role="1.1.6"
><primary
>gcut_event_loop_quit</primary
></indexterm>
<programlisting language="C"
><link linkend="GCutGLibEventLoop"
><type
>GCutGLibEventLoop</type
></link
>はGLibのGMainContextとGMainLoop用の<link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>実装です。</programlisting>
<para
>実行中の<parameter
>loop</parameter
>を止めます。</para>
<refsect3 id="gcut-event-loop-quit.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-watch-io" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_watch_io&#160;()</title>
<indexterm zone="gcut-event-loop-watch-io" role="1.1.6"
><primary
>gcut_event_loop_watch_io</primary
></indexterm>
<programlisting language="C"
><link linkend="guint"><returnvalue>guint</returnvalue></link>
gcut_event_loop_watch_io (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                          <parameter><link linkend="GIOChannel"><type>GIOChannel</type></link> *channel</parameter>,
                          <parameter><link linkend="GIOCondition"><type>GIOCondition</type></link> condition</parameter>,
                          <parameter><link linkend="GIOFunc"><type>GIOFunc</type></link> function</parameter>,
                          <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para
><parameter
>channel</parameter
>をデフォルトの優先度で<parameter
>loop</parameter
>に追加します。<parameter
>channel</parameter
>に<parameter
>condition</parameter
>イベントが発生したら<parameter
>function</parameter
>が呼ばれます。</para>
<refsect3 id="gcut-event-loop-watch-io.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>channel</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GIOChannel"
><type
>GIOChannel</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>説明</para
></entry>
<entry role="parameter_description"
><para
>監視する状態。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_description"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>data</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>に渡されるデータ </para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-watch-io.returns" role="returns">
<title
>Returns</title>
<para
>イベントID。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-watch-child" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_watch_child&#160;()</title>
<indexterm zone="gcut-event-loop-watch-child" role="1.1.6"
><primary
>gcut_event_loop_watch_child</primary
></indexterm>
<programlisting language="C"
><link linkend="guint"><returnvalue>guint</returnvalue></link>
gcut_event_loop_watch_child (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                             <parameter><link linkend="GPid"><type>GPid</type></link> pid</parameter>,
                             <parameter><link linkend="GChildWatchFunc"><type>GChildWatchFunc</type></link> function</parameter>,
                             <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para
><parameter
>pid</parameter
>の子プロセスが終了した時に呼ばれる<parameter
>function</parameter
>をデフォルトの優先度で<parameter
>loop</parameter
>に追加します。</para>
<refsect3 id="gcut-event-loop-watch-child.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>pid</para
></entry>
<entry role="parameter_description"
><para
>監視するプロセスのID</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_description"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>data</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>に渡されるデータ </para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-watch-child.returns" role="returns">
<title
>Returns</title>
<para
>イベントID。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-watch-child-full" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_watch_child_full&#160;()</title>
<indexterm zone="gcut-event-loop-watch-child-full" role="1.1.6"
><primary
>gcut_event_loop_watch_child_full</primary
></indexterm>
<programlisting language="C"
><link linkend="guint"><returnvalue>guint</returnvalue></link>
gcut_event_loop_watch_child_full (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                                  <parameter><link linkend="gint"><type>gint</type></link> priority</parameter>,
                                  <parameter><link linkend="GPid"><type>GPid</type></link> pid</parameter>,
                                  <parameter><link linkend="GChildWatchFunc"><type>GChildWatchFunc</type></link> function</parameter>,
                                  <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                                  <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> notify</parameter>);</programlisting>
<para
><parameter
>pid</parameter
>の子プロセスが終了した時に呼ばれる<parameter
>function</parameter
>をデフォルトの優先度で<parameter
>loop</parameter
>に追加します。</para>
<refsect3 id="gcut-event-loop-watch-child-full.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>priority</para
></entry>
<entry role="parameter_description"
><para
>このイベントの優先度。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>pid</para
></entry>
<entry role="parameter_description"
><para
>監視するプロセスのID</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_description"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>data</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>に渡されるデータ </para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>notify</para
></entry>
<entry role="parameter_description"
><para
>このイベントが削除された時に呼ばれる関数または<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-watch-child-full.returns" role="returns">
<title
>Returns</title>
<para
>イベントID。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-add-timeout" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_add_timeout&#160;()</title>
<indexterm zone="gcut-event-loop-add-timeout" role="1.1.6"
><primary
>gcut_event_loop_add_timeout</primary
></indexterm>
<programlisting language="C"
><link linkend="guint"><returnvalue>guint</returnvalue></link>
gcut_event_loop_add_timeout (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                             <parameter><link linkend="gdouble"><type>gdouble</type></link> interval_in_seconds</parameter>,
                             <parameter><link linkend="GSourceFunc"><type>GSourceFunc</type></link> function</parameter>,
                             <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para
>一定間隔で呼び出される<parameter
>function</parameter
>をデフォルト優先度で追加します。</para>
<refsect3 id="gcut-event-loop-add-timeout.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>interval_in_seconds</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>を呼び出す感覚。単位は秒。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_description"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>data</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>に渡されるデータ </para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-add-timeout.returns" role="returns">
<title
>Returns</title>
<para
>イベントID。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-add-timeout-full" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_add_timeout_full&#160;()</title>
<indexterm zone="gcut-event-loop-add-timeout-full" role="1.1.6"
><primary
>gcut_event_loop_add_timeout_full</primary
></indexterm>
<programlisting language="C"
><link linkend="guint"><returnvalue>guint</returnvalue></link>
gcut_event_loop_add_timeout_full (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                                  <parameter><link linkend="gint"><type>gint</type></link> priority</parameter>,
                                  <parameter><link linkend="gdouble"><type>gdouble</type></link> interval_in_seconds</parameter>,
                                  <parameter><link linkend="GSourceFunc"><type>GSourceFunc</type></link> function</parameter>,
                                  <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                                  <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> notify</parameter>);</programlisting>
<para
>定期的に呼び出される関数を優先度<parameter
>priority</parameter
>で追加します。</para>
<refsect3 id="gcut-event-loop-add-timeout-full.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>priority</para
></entry>
<entry role="parameter_description"
><para
>このイベントの優先度。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>interval_in_seconds</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>を呼び出す感覚。単位は秒。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_description"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>data</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>に渡されるデータ </para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>notify</para
></entry>
<entry role="parameter_description"
><para
>このイベントが削除された時に呼ばれる関数または<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-add-timeout-full.returns" role="returns">
<title
>Returns</title>
<para
>イベントID。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-add-idle" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_add_idle&#160;()</title>
<indexterm zone="gcut-event-loop-add-idle" role="1.1.6"
><primary
>gcut_event_loop_add_idle</primary
></indexterm>
<programlisting language="C"
><link linkend="guint"><returnvalue>guint</returnvalue></link>
gcut_event_loop_add_idle (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                          <parameter><link linkend="GSourceFunc"><type>GSourceFunc</type></link> function</parameter>,
                          <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para
>デフォルト優先度より高い優先度がない場合に呼び出される関数<parameter
>function</parameter
>を追加します。</para>
<refsect3 id="gcut-event-loop-add-idle.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_description"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>data</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>に渡されるデータ </para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-add-idle.returns" role="returns">
<title
>Returns</title>
<para
>イベントID。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-add-idle-full" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_add_idle_full&#160;()</title>
<indexterm zone="gcut-event-loop-add-idle-full" role="1.1.6"
><primary
>gcut_event_loop_add_idle_full</primary
></indexterm>
<programlisting language="C"
><link linkend="guint"><returnvalue>guint</returnvalue></link>
gcut_event_loop_add_idle_full (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> priority</parameter>,
                               <parameter><link linkend="GSourceFunc"><type>GSourceFunc</type></link> function</parameter>,
                               <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                               <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> notify</parameter>);</programlisting>
<para
>優先度<parameter
>priority</parameter
>より高い優先度のイベントがない場合に呼び出される関数<parameter
>function</parameter
>を追加します。</para>
<refsect3 id="gcut-event-loop-add-idle-full.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>priority</para
></entry>
<entry role="parameter_description"
><para
>このイベントの優先度。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_description"
><para
>呼び出される関数</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>data</para
></entry>
<entry role="parameter_description"
><para
><parameter
>function</parameter
>に渡されるデータ </para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>notify</para
></entry>
<entry role="parameter_description"
><para
>このイベントが削除された時に呼ばれる関数または<link linkend="NULL:CAPS"
><literal
>NULL</literal
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-add-idle-full.returns" role="returns">
<title
>Returns</title>
<para
>イベントID。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>
<refsect2 id="gcut-event-loop-remove" role="function" condition="since:1.1.6">
<title
>gcut_event_loop_remove&#160;()</title>
<indexterm zone="gcut-event-loop-remove" role="1.1.6"
><primary
>gcut_event_loop_remove</primary
></indexterm>
<programlisting language="C"
><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gcut_event_loop_remove (<parameter><link linkend="GCutEventLoop"><type>GCutEventLoop</type></link> *loop</parameter>,
                        <parameter><link linkend="guint"><type>guint</type></link> tag</parameter>);</programlisting>
<para
>IDが<parameter
>tag</parameter
>のイベントを削除します。</para>
<refsect3 id="gcut-event-loop-remove.parameters" role="parameters">
<title
>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row
><entry role="parameter_name"
><para
>loop</para
></entry>
<entry role="parameter_description"
><para
><link linkend="GCutEventLoop"
><type
>GCutEventLoop</type
></link
>。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
<row
><entry role="parameter_name"
><para
>tag</para
></entry>
<entry role="parameter_description"
><para
>削除するソースのID。</para
></entry>
<entry role="parameter_annotations"
></entry
></row>
</tbody
></tgroup
></informaltable>
</refsect3
><refsect3 id="gcut-event-loop-remove.returns" role="returns">
<title
>Returns</title>
<para
>ソースが見つかって削除されたら<link linkend="TRUE:CAPS"
><literal
>TRUE</literal
></link
>。</para>
</refsect3
><para role="since"
>Since: <link linkend="api-index-1.1.6"
>1.1.6</link
></para
></refsect2>

</refsect1>
<refsect1 id="GCutEventLoop.other_details" role="details">
<title role="details.title"
>Types and Values</title>
<refsect2 id="GCUT-EVENT-LOOP-ERROR:CAPS" role="macro">
<title
>GCUT_EVENT_LOOP_ERROR</title>
<indexterm zone="GCUT-EVENT-LOOP-ERROR:CAPS"
><primary
>GCUT_EVENT_LOOP_ERROR</primary
></indexterm>
<programlisting language="C"
>#define GCUT_EVENT_LOOP_ERROR           (gcut_event_loop_error_quark())
</programlisting>
</refsect2>

</refsect1>

</refentry>
