<?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="GCutEgg">
<refmeta>
<refentrytitle role="top_of_page" id="GCutEgg.top_of_page">外部コマンド（非推奨）</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>Cutterライブラリ</refmiscinfo>
</refmeta>
<refnamediv>
<refname>外部コマンド（非推奨）</refname>
<refpurpose>外部コマンドを使うための便利API（非推奨）</refpurpose>
</refnamediv>

<refsynopsisdiv id="GCutEgg.synopsis" role="synopsis">
<title role="synopsis.title">概要</title>

<synopsis>#define             <link linkend="GCUT-EGG-ERROR:CAPS">GCUT_EGG_ERROR</link>
struct              <link linkend="GCutEgg-struct">GCutEgg</link>;
struct              <link linkend="GCutEggClass">GCutEggClass</link>;
enum                <link linkend="GCutEggError">GCutEggError</link>;
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="gcut-egg-close">gcut_egg_close</link>                      (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);
<link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>              <link linkend="gcut-egg-error-quark">gcut_egg_error_quark</link>                (<parameter><type>void</type></parameter>);
<link linkend="gchar"><returnvalue>gchar</returnvalue></link> **            <link linkend="gcut-egg-get-env">gcut_egg_get_env</link>                    (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);
<link linkend="GIOChannel"><returnvalue>GIOChannel</returnvalue></link> *        <link linkend="gcut-egg-get-error">gcut_egg_get_error</link>                  (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);
<link linkend="GSpawnFlags"><returnvalue>GSpawnFlags</returnvalue></link>         <link linkend="gcut-egg-get-flags">gcut_egg_get_flags</link>                  (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);
<link linkend="guint"><returnvalue>guint</returnvalue></link>               <link linkend="gcut-egg-get-forced-termination-wait-time">gcut_egg_get_forced_termination_wait_time</link>
                                                        (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);
<link linkend="GIOChannel"><returnvalue>GIOChannel</returnvalue></link> *        <link linkend="gcut-egg-get-input">gcut_egg_get_input</link>                  (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);
<link linkend="GIOChannel"><returnvalue>GIOChannel</returnvalue></link> *        <link linkend="gcut-egg-get-output">gcut_egg_get_output</link>                 (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);
<link linkend="GPid"><returnvalue>GPid</returnvalue></link>                <link linkend="gcut-egg-get-pid">gcut_egg_get_pid</link>                    (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>            <link linkend="gcut-egg-hatch">gcut_egg_hatch</link>                      (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="gcut-egg-kill">gcut_egg_kill</link>                       (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="gint"><type>gint</type></link> signal_number</parameter>);
<link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           <link linkend="gcut-egg-new">gcut_egg_new</link>                        (<parameter>const <link linkend="gchar"><type>gchar</type></link> *command</parameter>,
                                                         <parameter>...</parameter>);
<link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           <link linkend="gcut-egg-new-argv">gcut_egg_new_argv</link>                   (<parameter><link linkend="gint"><type>gint</type></link> argc</parameter>,
                                                         <parameter><link linkend="gchar"><type>gchar</type></link> **argv</parameter>);
<link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           <link linkend="gcut-egg-new-array">gcut_egg_new_array</link>                  (<parameter><link linkend="GArray"><type>GArray</type></link> *command</parameter>);
<link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           <link linkend="gcut-egg-new-strings">gcut_egg_new_strings</link>                (<parameter>const <link linkend="gchar"><type>gchar</type></link> **command</parameter>);
<link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           <link linkend="gcut-egg-new-va-list">gcut_egg_new_va_list</link>                (<parameter>const <link linkend="gchar"><type>gchar</type></link> *command</parameter>,
                                                         <parameter><link linkend="va-list"><type>va_list</type></link> args</parameter>);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="gcut-egg-set-env">gcut_egg_set_env</link>                    (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
                                                         <parameter>...</parameter>);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="gcut-egg-set-flags">gcut_egg_set_flags</link>                  (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="GSpawnFlags"><type>GSpawnFlags</type></link> flags</parameter>);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="gcut-egg-set-forced-termination-wait-time">gcut_egg_set_forced_termination_wait_time</link>
                                                        (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="guint"><type>guint</type></link> timeout</parameter>);
<link linkend="gint"><returnvalue>gint</returnvalue></link>                <link linkend="gcut-egg-wait">gcut_egg_wait</link>                       (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="guint"><type>guint</type></link> timeout</parameter>,
                                                         <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>            <link linkend="gcut-egg-write">gcut_egg_write</link>                      (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *chunk</parameter>,
                                                         <parameter><link linkend="gsize"><type>gsize</type></link> size</parameter>,
                                                         <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);
</synopsis>
</refsynopsisdiv>
<refsect1 id="GCutEgg.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">オブジェクト階層</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----GCutEgg
</synopsis>
</refsect1>
<refsect1 id="GCutEgg.properties" role="properties">
<title role="properties.title">プロパティ</title>
<synopsis>
  "<link linkend="GCutEgg--command">command</link>"                  <link linkend="gpointer"><type>gpointer</type></link>              : Read / Write
</synopsis>
</refsect1>
<refsect1 id="GCutEgg.signals" role="signal_proto">
<title role="signal_proto.title">シグナル</title>
<synopsis>
  "<link linkend="GCutEgg-error">error</link>"                                          : <link linkend="G-SIGNAL-RUN-LAST:CAPS"><literal>Run Last</literal></link>
  "<link linkend="GCutEgg-error-received">error-received</link>"                                 : <link linkend="G-SIGNAL-RUN-LAST:CAPS"><literal>Run Last</literal></link>
  "<link linkend="GCutEgg-output-received">output-received</link>"                                : <link linkend="G-SIGNAL-RUN-LAST:CAPS"><literal>Run Last</literal></link>
  "<link linkend="GCutEgg-reaped">reaped</link>"                                         : <link linkend="G-SIGNAL-RUN-LAST:CAPS"><literal>Run Last</literal></link>
</synopsis>
</refsect1>

<refsect1 id="GCutEgg.description" role="desc">
<title role="desc.title">説明</title>
<para><link linkend="GCutEgg"><type>GCutEgg</type></link>は外部コマンドの実行・通信・終了をカプセル化します。<link linkend="GCutEgg"><type>GCutEgg</type></link>はエラーを<link linkend="GError"><type>GError</type></link>として報告します。エラーは<link linkend="gcut-assert-error"><function>gcut_assert_error()</function></link>を使うことにより簡単に検証できます。</para>
<para>外部コマンドは<link linkend="gcut-egg-new"><function>gcut_egg_new()</function></link>、<link linkend="gcut-egg-new-strings"><function>gcut_egg_new_strings()</function></link>などのようなコンストラクタで指定します。この時点では外部コマンドは実行されません。<link linkend="gcut-egg-hatch"><function>gcut_egg_hatch()</function></link>で指定された外部コマンドが実行されます。</para>
<para>外部コマンドの標準出力・エラー出力は<link linkend="GCutEgg-output-received"><type>"output-received"</type></link>シグナル・<link linkend="GCutEgg-error-received"><type>"error-received"</type></link>シグナル、あるいは、<link linkend="gcut-egg-get-output"><function>gcut_egg_get_output()</function></link>・<link linkend="gcut-egg-get-error"><function>gcut_egg_get_error()</function></link>が返す<link linkend="GIOChannel"><type>GIOChannel</type></link>で取得できます。<link linkend="gcut-egg-write"><function>gcut_egg_write()</function></link>は外部コマンドの標準入力にデータを書き込みます。</para>
<para>外部コマンドの終了を待つためには<link linkend="gcut-egg-wait"><function>gcut_egg_wait()</function></link>を使うことができます。無限待ちを避けるために、タイムアウトを指定することができます。</para>
<para>例: <informalexample><programlisting>
static GString *output_string;
static GCutEgg *egg;

void
cut_setup (void)
{
    output_string = g_string_new(NULL);
    egg = NULL;
}

void
cut_teardown (void)
{
    if (output_string)
        g_string_free(output_string, TRUE);
    if (egg)
        g_object_unref(egg);
}

static void
cb_output_received (GCutEgg *egg, const gchar *chunk, gsize size,
                    gpointer user_data)
{
    g_string_append_len(output_string, chunk, size);
}

void
test_echo (void)
{
    GError *error = NULL;

    egg = gcut_egg_new("echo", "XXX", NULL);
    g_signal_connect(egg, "receive-output",
                     G_CALLBACK(cb_output_received), NULL);

    gcut_egg_hatch(egg, &amp;error);
    gcut_assert_error(error);

    gcut_egg_wait(egg, 1000, &amp;error);
    gcut_assert_error(error);
    cut_assert_equal_string("XXX\n", output_string-&gt;str);
}
</programlisting></informalexample></para>
</refsect1>
<refsect1 id="GCutEgg.details" role="details">
<title role="details.title">詳細</title>
<refsect2 id="GCUT-EGG-ERROR:CAPS" role="macro" condition="deprecated:">
<title>GCUT_EGG_ERROR</title>
<indexterm zone="GCUT-EGG-ERROR:CAPS" role="deprecated"><primary>GCUT_EGG_ERROR</primary></indexterm>
<programlisting>#define GCUT_EGG_ERROR           (gcut_egg_error_quark())
</programlisting>
<warning><para><literal>GCUT_EGG_ERROR</literal>は非推奨です。新しいコードでは使わないでください。</para></warning>
<para>
</para></refsect2>
<refsect2 id="GCutEgg-struct" role="struct">
<title>struct GCutEgg</title>
<indexterm zone="GCutEgg-struct" role="deprecated"><primary>GCutEgg</primary></indexterm>
<programlisting>struct GCutEgg;</programlisting>
<warning><para><literal>GCutEgg</literal>は非推奨です。新しいコードでは使わないでください。</para></warning>
<para>
</para></refsect2>
<refsect2 id="GCutEggClass" role="struct" condition="deprecated:">
<title>struct GCutEggClass</title>
<indexterm zone="GCutEggClass" role="deprecated"><primary>GCutEggClass</primary></indexterm>
<programlisting>struct GCutEggClass {
    GObjectClass parent_class;

    void (*output_received) (GCutEgg     *egg,
                             const gchar *chunk,
                             gsize        size);
    void (*error_received)  (GCutEgg     *egg,
                             const gchar *chunk,
                             gsize        size);
    void (*reaped)          (GCutEgg     *egg,
                             gint         status);
    void (*error)           (GCutEgg     *egg,
                             GError      *error);
};
</programlisting>
<warning><para><literal>GCutEggClass</literal>は非推奨です。新しいコードでは使わないでください。</para></warning>
<para>
</para></refsect2>
<refsect2 id="GCutEggError" role="enum" condition="deprecated:1.1.5: Use #GCutProcessError instead.|since:1.0.6">
<title>enum GCutEggError</title>
<indexterm zone="GCutEggError" role="deprecated"><primary>GCutEggError</primary></indexterm><indexterm zone="GCutEggError" role="1.0.6"><primary>GCutEggError</primary></indexterm>
<programlisting>typedef enum {
    GCUT_EGG_ERROR_COMMAND_LINE,
    GCUT_EGG_ERROR_IO_ERROR,
    GCUT_EGG_ERROR_ALREADY_RUNNING,
    GCUT_EGG_ERROR_NOT_RUNNING,
    GCUT_EGG_ERROR_INVALID_OBJECT,
    GCUT_EGG_ERROR_TIMEOUT
} GCutEggError;
</programlisting>
<warning><para><literal>GCutEggError</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="GCutProcessError"><type>GCutProcessError</type></link>を使ってください。</para></warning>
<para><link linkend="GCutEgg"><type>GCutEgg</type></link>関連の操作で返されるエラーコード。</para><variablelist role="enum">
<varlistentry id="GCUT-EGG-ERROR-COMMAND-LINE:CAPS" role="constant">
<term><literal>GCUT_EGG_ERROR_COMMAND_LINE</literal></term>
<listitem><simpara>コマンドライン関連のエラー。</simpara></listitem>
</varlistentry>
<varlistentry id="GCUT-EGG-ERROR-IO-ERROR:CAPS" role="constant">
<term><literal>GCUT_EGG_ERROR_IO_ERROR</literal></term>
<listitem><simpara>入出力エラー。</simpara></listitem>
</varlistentry>
<varlistentry id="GCUT-EGG-ERROR-ALREADY-RUNNING:CAPS" role="constant">
<term><literal>GCUT_EGG_ERROR_ALREADY_RUNNING</literal></term>
<listitem><simpara>外部コマンドはすでに実行されています。</simpara></listitem>
</varlistentry>
<varlistentry id="GCUT-EGG-ERROR-NOT-RUNNING:CAPS" role="constant">
<term><literal>GCUT_EGG_ERROR_NOT_RUNNING</literal></term>
<listitem><simpara>外部こもアンドが実行されていません。</simpara></listitem>
</varlistentry>
<varlistentry id="GCUT-EGG-ERROR-INVALID-OBJECT:CAPS" role="constant">
<term><literal>GCUT_EGG_ERROR_INVALID_OBJECT</literal></term>
<listitem><simpara>不正な<link linkend="GCutEgg"><type>GCutEgg</type></link>オブジェクトが渡されました。</simpara></listitem>
</varlistentry>
<varlistentry id="GCUT-EGG-ERROR-TIMEOUT:CAPS" role="constant">
<term><literal>GCUT_EGG_ERROR_TIMEOUT</literal></term>
<listitem><simpara>タイムアウト。</simpara></listitem>
</varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-close" role="function" condition="deprecated:1.1.5: no need to close explicitly on #GCutProcess.|since:1.0.6">
<title>gcut_egg_close ()</title>
<indexterm zone="gcut-egg-close" role="deprecated"><primary>gcut_egg_close</primary></indexterm><indexterm zone="gcut-egg-close" role="1.0.6"><primary>gcut_egg_close</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                gcut_egg_close                      (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);</programlisting>
<warning><para><literal>gcut_egg_close</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="GCutProcess"><type>GCutProcess</type></link>を使ってください。</para></warning>
<para>実行した外部コマンドのリソースを回収します。破棄されるときに暗黙的に回収されます。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-error-quark" role="function" condition="deprecated:">
<title>gcut_egg_error_quark ()</title>
<indexterm zone="gcut-egg-error-quark" role="deprecated"><primary>gcut_egg_error_quark</primary></indexterm>
<programlisting><link linkend="GQuark"><returnvalue>GQuark</returnvalue></link>              gcut_egg_error_quark                (<parameter><type>void</type></parameter>);</programlisting>
<warning><para><literal>gcut_egg_error_quark</literal>は非推奨です。新しいコードでは使わないでください。</para></warning>
<para>
</para></refsect2>
<refsect2 id="gcut-egg-get-env" role="function" condition="deprecated:1.1.5: Use gcut_process_get_env() instead.|since:1.0.6">
<title>gcut_egg_get_env ()</title>
<indexterm zone="gcut-egg-get-env" role="deprecated"><primary>gcut_egg_get_env</primary></indexterm><indexterm zone="gcut-egg-get-env" role="1.0.6"><primary>gcut_egg_get_env</primary></indexterm>
<programlisting><link linkend="gchar"><returnvalue>gchar</returnvalue></link> **            gcut_egg_get_env                    (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);</programlisting>
<warning><para><literal>gcut_egg_get_env</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-get-env"><function>gcut_process_get_env()</function></link>を使ってください。</para></warning>
<para>外部コマンドの環境変数を取得します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>新しく割り当てられた<link linkend="NULL:CAPS"><literal>NULL</literal></link>終端の環境変数のリスト（"名前1=値1", "名前2=値2", ..., <link linkend="NULL:CAPS"><literal>NULL</literal></link>）を返します。必要がなくなったら<link linkend="g-strfreev"><function>g_strfreev()</function></link>で開放してください。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-get-error" role="function" condition="deprecated:1.1.5: Use gcut_process_get_error_channel() instead.|since:1.0.6">
<title>gcut_egg_get_error ()</title>
<indexterm zone="gcut-egg-get-error" role="deprecated"><primary>gcut_egg_get_error</primary></indexterm><indexterm zone="gcut-egg-get-error" role="1.0.6"><primary>gcut_egg_get_error</primary></indexterm>
<programlisting><link linkend="GIOChannel"><returnvalue>GIOChannel</returnvalue></link> *        gcut_egg_get_error                  (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);</programlisting>
<warning><para><literal>gcut_egg_get_error</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-egg-get-error"><function>gcut_egg_get_error()</function></link>を使ってください。</para></warning>
<para>外部プロセスのエラー出力に結びついた<link linkend="GIOChannel"><type>GIOChannel</type></link>を返します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>外部プロセスが実行中の場合は<link linkend="GIOChannel"><type>GIOChannel</type></link>。そうでない場合は<link linkend="NULL:CAPS"><literal>NULL</literal></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-get-flags" role="function" condition="deprecated:1.1.5: Use gcut_process_get_flags() instead.|since:1.0.6">
<title>gcut_egg_get_flags ()</title>
<indexterm zone="gcut-egg-get-flags" role="deprecated"><primary>gcut_egg_get_flags</primary></indexterm><indexterm zone="gcut-egg-get-flags" role="1.0.6"><primary>gcut_egg_get_flags</primary></indexterm>
<programlisting><link linkend="GSpawnFlags"><returnvalue>GSpawnFlags</returnvalue></link>         gcut_egg_get_flags                  (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);</programlisting>
<warning><para><literal>gcut_egg_get_flags</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-get-flags"><function>gcut_process_get_flags()</function></link>を使ってください。</para></warning>
<para>外部コマンドを実行する時の<parameter>flags</parameter>を取得します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>外部コマンドを実行するときのフラグ。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-get-forced-termination-wait-time" role="function" condition="deprecated:1.1.5: Use gcut_process_get_forced_termination_wait_time() instead.|since:1.0.6">
<title>gcut_egg_get_forced_termination_wait_time ()</title>
<indexterm zone="gcut-egg-get-forced-termination-wait-time" role="deprecated"><primary>gcut_egg_get_forced_termination_wait_time</primary></indexterm><indexterm zone="gcut-egg-get-forced-termination-wait-time" role="1.0.6"><primary>gcut_egg_get_forced_termination_wait_time</primary></indexterm>
<programlisting><link linkend="guint"><returnvalue>guint</returnvalue></link>               gcut_egg_get_forced_termination_wait_time
                                                        (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);</programlisting>
<warning><para><literal>gcut_egg_get_forced_termination_wait_time</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-get-forced-termination-wait-time"><function>gcut_process_get_forced_termination_wait_time()</function></link>を使ってください。</para></warning>
<para>オブジェクトが破棄されるときに行われる外部コマンド強制終了後に待つ時間（ミリ秒）を取得します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>破棄時の強制終了待ちの時間。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-get-input" role="function" condition="deprecated:1.1.5: Use gcut_process_get_input_channel() instead.|since:1.0.6">
<title>gcut_egg_get_input ()</title>
<indexterm zone="gcut-egg-get-input" role="deprecated"><primary>gcut_egg_get_input</primary></indexterm><indexterm zone="gcut-egg-get-input" role="1.0.6"><primary>gcut_egg_get_input</primary></indexterm>
<programlisting><link linkend="GIOChannel"><returnvalue>GIOChannel</returnvalue></link> *        gcut_egg_get_input                  (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);</programlisting>
<warning><para><literal>gcut_egg_get_input</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-get-input-channel"><function>gcut_process_get_input_channel()</function></link>を使ってください。</para></warning>
<para>外部プロセスの標準入力と結びついた<link linkend="GIOChannel"><type>GIOChannel</type></link>を取得します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>外部プロセスが実行中の場合は<link linkend="GIOChannel"><type>GIOChannel</type></link>。そうでない場合は<link linkend="NULL:CAPS"><literal>NULL</literal></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-get-output" role="function" condition="deprecated:1.1.5: Use gcut_process_get_output_channel() instead.|since:1.0.6">
<title>gcut_egg_get_output ()</title>
<indexterm zone="gcut-egg-get-output" role="deprecated"><primary>gcut_egg_get_output</primary></indexterm><indexterm zone="gcut-egg-get-output" role="1.0.6"><primary>gcut_egg_get_output</primary></indexterm>
<programlisting><link linkend="GIOChannel"><returnvalue>GIOChannel</returnvalue></link> *        gcut_egg_get_output                 (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);</programlisting>
<warning><para><literal>gcut_egg_get_output</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-get-output-channel"><function>gcut_process_get_output_channel()</function></link>を使ってください。</para></warning>
<para>外部プロセスの標準出力と結びついた<link linkend="GIOChannel"><type>GIOChannel</type></link>を取得します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>外部プロセスが実行中の場合は<link linkend="GIOChannel"><type>GIOChannel</type></link>。そうでない場合は<link linkend="NULL:CAPS"><literal>NULL</literal></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-get-pid" role="function" condition="deprecated:1.1.5: Use gcut_process_get_pid() instead.|since:1.0.6">
<title>gcut_egg_get_pid ()</title>
<indexterm zone="gcut-egg-get-pid" role="deprecated"><primary>gcut_egg_get_pid</primary></indexterm><indexterm zone="gcut-egg-get-pid" role="1.0.6"><primary>gcut_egg_get_pid</primary></indexterm>
<programlisting><link linkend="GPid"><returnvalue>GPid</returnvalue></link>                gcut_egg_get_pid                    (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>);</programlisting>
<warning><para><literal>gcut_egg_get_pid</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-get-pid"><function>gcut_process_get_pid()</function></link>を使ってください。</para></warning>
<para>実行している外部プロセスのプロセスIDを取得します。外部コマンドが実行されていない場合は0が返ります。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>実行中の外部コマンドのプロセスID。実行していない場合は0。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-hatch" role="function" condition="deprecated:1.1.5: Use gcut_process_run() instead.|since:1.0.6">
<title>gcut_egg_hatch ()</title>
<indexterm zone="gcut-egg-hatch" role="deprecated"><primary>gcut_egg_hatch</primary></indexterm><indexterm zone="gcut-egg-hatch" role="1.0.6"><primary>gcut_egg_hatch</primary></indexterm>
<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>            gcut_egg_hatch                      (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<warning><para><literal>gcut_egg_hatch</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-run"><function>gcut_process_run()</function></link>を使ってください。</para></warning>
<para>新しい外部プロセスを実行します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter> :</term>
<listitem><simpara>エラーを返すアドレスまたは<link linkend="NULL:CAPS"><literal>NULL</literal></link>。</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>成功したときは<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>、そうでない場合は<link linkend="FALSE:CAPS"><literal>FALSE</literal></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-kill" role="function" condition="deprecated:1.1.5: Use gcut_process_kill() instead.|since:1.0.6">
<title>gcut_egg_kill ()</title>
<indexterm zone="gcut-egg-kill" role="deprecated"><primary>gcut_egg_kill</primary></indexterm><indexterm zone="gcut-egg-kill" role="1.0.6"><primary>gcut_egg_kill</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                gcut_egg_kill                       (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="gint"><type>gint</type></link> signal_number</parameter>);</programlisting>
<warning><para><literal>gcut_egg_kill</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないで下さい。代わりに<link linkend="gcut-process-kill"><function>gcut_process_kill()</function></link>を使ってください。</para></warning>
<para>外部プロセスに<parameter>signal_number</parameter>シグナルを送ります。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><parameter>signal_number</parameter> :</term>
<listitem><simpara>外部プロセスに送るシグナル番号。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-new" role="function" condition="deprecated:1.1.5: Use gcut_process_new() instead.|since:1.0.6">
<title>gcut_egg_new ()</title>
<indexterm zone="gcut-egg-new" role="deprecated"><primary>gcut_egg_new</primary></indexterm><indexterm zone="gcut-egg-new" role="1.0.6"><primary>gcut_egg_new</primary></indexterm>
<programlisting><link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           gcut_egg_new                        (<parameter>const <link linkend="gchar"><type>gchar</type></link> *command</parameter>,
                                                         <parameter>...</parameter>);</programlisting>
<warning><para><literal>gcut_egg_new</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-new"><function>gcut_process_new()</function></link>を使ってください。</para></warning>
<para><parameter>command</parameter>を実行する新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>オブジェクトを生成します。</para><variablelist role="params">
<varlistentry><term><parameter>command</parameter> :</term>
<listitem><simpara>実行する外部コマンド名。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter> :</term>
<listitem><simpara><parameter>command</parameter>の引数</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-new-argv" role="function" condition="deprecated:1.1.5: Use gcut_process_new_argv() instead.|since:1.0.6">
<title>gcut_egg_new_argv ()</title>
<indexterm zone="gcut-egg-new-argv" role="deprecated"><primary>gcut_egg_new_argv</primary></indexterm><indexterm zone="gcut-egg-new-argv" role="1.0.6"><primary>gcut_egg_new_argv</primary></indexterm>
<programlisting><link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           gcut_egg_new_argv                   (<parameter><link linkend="gint"><type>gint</type></link> argc</parameter>,
                                                         <parameter><link linkend="gchar"><type>gchar</type></link> **argv</parameter>);</programlisting>
<warning><para><literal>gcut_egg_new_argv</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-egg-new-argv"><function>gcut_egg_new_argv()</function></link>を使ってください。</para></warning>
<para><parameter>command</parameter>を実行する新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>オブジェクトを生成します。</para><variablelist role="params">
<varlistentry><term><parameter>argc</parameter> :</term>
<listitem><simpara><parameter>argv</parameter>の要素数</simpara></listitem></varlistentry>
<varlistentry><term><parameter>argv</parameter> :</term>
<listitem><simpara>実行する外部コマンド名とコマンド引数。</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-new-array" role="function" condition="deprecated:1.1.5: Use gcut_process_new_array() instead.|since:1.0.6">
<title>gcut_egg_new_array ()</title>
<indexterm zone="gcut-egg-new-array" role="deprecated"><primary>gcut_egg_new_array</primary></indexterm><indexterm zone="gcut-egg-new-array" role="1.0.6"><primary>gcut_egg_new_array</primary></indexterm>
<programlisting><link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           gcut_egg_new_array                  (<parameter><link linkend="GArray"><type>GArray</type></link> *command</parameter>);</programlisting>
<warning><para><literal>gcut_egg_new_array</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-egg-new-array"><function>gcut_egg_new_array()</function></link>を使ってください。</para></warning>
<para><parameter>command</parameter>を実行する新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>オブジェクトを生成します。</para><variablelist role="params">
<varlistentry><term><parameter>command</parameter> :</term>
<listitem><simpara>実行する外部コマンド名とコマンド引数。<link linkend="GArray"><type>GArray</type></link>は0終端にして下さい。</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-new-strings" role="function" condition="deprecated:1.1.5: Use gcut_process_new_strings() instead.|since:1.0.6">
<title>gcut_egg_new_strings ()</title>
<indexterm zone="gcut-egg-new-strings" role="deprecated"><primary>gcut_egg_new_strings</primary></indexterm><indexterm zone="gcut-egg-new-strings" role="1.0.6"><primary>gcut_egg_new_strings</primary></indexterm>
<programlisting><link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           gcut_egg_new_strings                (<parameter>const <link linkend="gchar"><type>gchar</type></link> **command</parameter>);</programlisting>
<warning><para><literal>gcut_egg_new_strings</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-new-strings"><function>gcut_process_new_strings()</function></link>を使ってください。</para></warning>
<para><parameter>command</parameter>を実行する新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>オブジェクトを生成します。</para><variablelist role="params">
<varlistentry><term><parameter>command</parameter> :</term>
<listitem><simpara>実行する外部コマンド名とコマンド引数。<link linkend="NULL:CAPS"><literal>NULL</literal></link>終端。</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-new-va-list" role="function" condition="deprecated:1.1.5: Use gcut_process_new_va_list() instead.|since:1.0.6">
<title>gcut_egg_new_va_list ()</title>
<indexterm zone="gcut-egg-new-va-list" role="deprecated"><primary>gcut_egg_new_va_list</primary></indexterm><indexterm zone="gcut-egg-new-va-list" role="1.0.6"><primary>gcut_egg_new_va_list</primary></indexterm>
<programlisting><link linkend="GCutEgg"><returnvalue>GCutEgg</returnvalue></link> *           gcut_egg_new_va_list                (<parameter>const <link linkend="gchar"><type>gchar</type></link> *command</parameter>,
                                                         <parameter><link linkend="va-list"><type>va_list</type></link> args</parameter>);</programlisting>
<warning><para><literal>gcut_egg_new_va_list</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないで下さい。代わりに<link linkend="gcut-process-new-va-list"><function>gcut_process_new_va_list()</function></link>を使ってください。</para></warning>
<para><parameter>command</parameter>を実行する新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>オブジェクトを生成します。</para><variablelist role="params">
<varlistentry><term><parameter>command</parameter> :</term>
<listitem><simpara>実行する外部コマンド名。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>args</parameter> :</term>
<listitem><simpara><parameter>command</parameter>の引数</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>新しい<link linkend="GCutEgg"><type>GCutEgg</type></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-set-env" role="function" condition="deprecated:1.1.5: Use gcut_process_set_env() instead.|since:1.0.6">
<title>gcut_egg_set_env ()</title>
<indexterm zone="gcut-egg-set-env" role="deprecated"><primary>gcut_egg_set_env</primary></indexterm><indexterm zone="gcut-egg-set-env" role="1.0.6"><primary>gcut_egg_set_env</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                gcut_egg_set_env                    (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
                                                         <parameter>...</parameter>);</programlisting>
<warning><para><literal>gcut_egg_set_env</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-set-env"><function>gcut_process_set_env()</function></link>を使ってください。</para></warning>
<para>外部コマンドの環境変数を設定します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter> :</term>
<listitem><simpara>最初の環境変数名。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter> :</term>
<listitem><simpara><parameter>name</parameter>に対応する値。その後に、名前と値のペアを任意の数だけ指定します。最後の引数は<link linkend="NULL:CAPS"><literal>NULL</literal></link>にしてください。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-set-flags" role="function" condition="deprecated:1.1.5: Use gcut_process_set_flags() instead.|since:1.0.6">
<title>gcut_egg_set_flags ()</title>
<indexterm zone="gcut-egg-set-flags" role="deprecated"><primary>gcut_egg_set_flags</primary></indexterm><indexterm zone="gcut-egg-set-flags" role="1.0.6"><primary>gcut_egg_set_flags</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                gcut_egg_set_flags                  (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="GSpawnFlags"><type>GSpawnFlags</type></link> flags</parameter>);</programlisting>
<warning><para><literal>gcut_egg_set_flags</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-set-flags"><function>gcut_process_set_flags()</function></link>を使ってください。</para></warning>
<para>外部コマンドを実行するときの<parameter>flags</parameter>を設定します。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><parameter>flags</parameter> :</term>
<listitem><simpara><link linkend="g-spawn-async-with-pipes"><function>g_spawn_async_with_pipes()</function></link>に渡すフラグ。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-set-forced-termination-wait-time" role="function" condition="deprecated:1.1.5: Use gcut_process_set_forced_termination_wait_time() instead.|since:1.0.6">
<title>gcut_egg_set_forced_termination_wait_time ()</title>
<indexterm zone="gcut-egg-set-forced-termination-wait-time" role="deprecated"><primary>gcut_egg_set_forced_termination_wait_time</primary></indexterm><indexterm zone="gcut-egg-set-forced-termination-wait-time" role="1.0.6"><primary>gcut_egg_set_forced_termination_wait_time</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                gcut_egg_set_forced_termination_wait_time
                                                        (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="guint"><type>guint</type></link> timeout</parameter>);</programlisting>
<warning><para><literal>gcut_egg_set_forced_termination_wait_time</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-egg-set-forced-termination-wait-time"><function>gcut_egg_set_forced_termination_wait_time()</function></link>を使ってください。</para></warning>
<para>オブジェクトが破棄されるときに行われる外部コマンド強制終了時に待つ時間（ミリ秒）を設定します。<parameter>timeout</parameter>が0なら外部コマンドの終了を待ちません。デフォルト値は10です。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><parameter>timeout</parameter> :</term>
<listitem><simpara>タイムアウト時間（ミリ秒）</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-wait" role="function" condition="deprecated:1.1.5: Use gcut_process_wait() instead.|since:1.0.6">
<title>gcut_egg_wait ()</title>
<indexterm zone="gcut-egg-wait" role="deprecated"><primary>gcut_egg_wait</primary></indexterm><indexterm zone="gcut-egg-wait" role="1.0.6"><primary>gcut_egg_wait</primary></indexterm>
<programlisting><link linkend="gint"><returnvalue>gint</returnvalue></link>                gcut_egg_wait                       (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter><link linkend="guint"><type>guint</type></link> timeout</parameter>,
                                                         <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<warning><para><literal>gcut_egg_wait</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-wait"><function>gcut_process_wait()</function></link>を使ってください。</para></warning>
<para>実行中の外部プロセスが終了することを<parameter>timeout</parameter>ミリ秒待ちます。外部コマンドが<parameter>timeout</parameter>ミリ秒以内に終了しなかった場合は、<link linkend="GCUT-EGG-ERROR-TIMEOUT:CAPS"><literal>GCUT_EGG_ERROR_TIMEOUT</literal></link>エラーが設定され、-1が返ります。外部プロセスが実行されていない場合は、<link linkend="GCUT-EGG-ERROR-NOT-RUNNING:CAPS"><literal>GCUT_EGG_ERROR_NOT_RUNNING</literal></link>エラーが設定され、-1が返ります。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><parameter>timeout</parameter> :</term>
<listitem><simpara>タイムアウト時間（ミリ秒）</simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter> :</term>
<listitem><simpara>エラーを返すアドレスまたは<link linkend="NULL:CAPS"><literal>NULL</literal></link>。</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>外部プロセスが終了した場合は終了ステータス。そうでない場合は-1。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
<refsect2 id="gcut-egg-write" role="function" condition="deprecated:1.1.5: Use gcut_process_write() instead.|since:1.0.6">
<title>gcut_egg_write ()</title>
<indexterm zone="gcut-egg-write" role="deprecated"><primary>gcut_egg_write</primary></indexterm><indexterm zone="gcut-egg-write" role="1.0.6"><primary>gcut_egg_write</primary></indexterm>
<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>            gcut_egg_write                      (<parameter><link linkend="GCutEgg"><type>GCutEgg</type></link> *egg</parameter>,
                                                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *chunk</parameter>,
                                                         <parameter><link linkend="gsize"><type>gsize</type></link> size</parameter>,
                                                         <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<warning><para><literal>gcut_egg_write</literal>はバージョン1.1.5から非推奨になりました。新しく書くコードでは使わないでください。代わりに<link linkend="gcut-process-write"><function>gcut_process_write()</function></link>を使ってください。</para></warning>
<para>外部プロセスの標準入力に<parameter>chunk</parameter>を書き込みます。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara><link linkend="GCutEgg"><type>GCutEgg</type></link></simpara></listitem></varlistentry>
<varlistentry><term><parameter>chunk</parameter> :</term>
<listitem><simpara>書き込むデータ</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter> :</term>
<listitem><simpara><parameter>chunk</parameter>のサイズ</simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter> :</term>
<listitem><simpara>エラーを返すアドレスまたは<link linkend="NULL:CAPS"><literal>NULL</literal></link>。</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>戻り値</emphasis> :</term><listitem><simpara>成功したときは<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>、そうでない場合は<link linkend="FALSE:CAPS"><literal>FALSE</literal></link>。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>

</refsect1>
<refsect1 id="GCutEgg.property-details" role="property_details">
<title role="property_details.title">プロパティ詳細</title>
<refsect2 id="GCutEgg--command" role="property"><title><literal>"command"</literal>プロパティ</title>
<indexterm zone="GCutEgg--command"><primary>GCutEgg:command</primary></indexterm>
<programlisting>  "command"                  <link linkend="gpointer"><type>gpointer</type></link>              : Read / Write</programlisting>
<para>実行する外部コマンド。</para></refsect2>
</refsect1>
<refsect1 id="GCutEgg.signal-details" role="signals">
<title role="signals.title">シグナル詳細</title>
<refsect2 id="GCutEgg-error" role="signal"><title><literal>"error"</literal>シグナル</title>
<indexterm zone="GCutEgg-error" role="1.0.6"><primary>GCutEgg::error</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                user_function                      (<link linkend="GCutEgg"><type>GCutEgg</type></link> *egg,
                                                        <link linkend="gpointer"><type>gpointer</type></link> error,
                                                        <link linkend="gpointer"><type>gpointer</type></link> user_data)      : <link linkend="G-SIGNAL-RUN-LAST:CAPS"><literal>Run Last</literal></link></programlisting>
<para>外部プロセス関連のエラーが発生した毎に発行されます。（例: 入出力エラー）</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara>シグナルを受け取るオブジェクト。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter> :</term>
<listitem><simpara>外部プロセスのエラー。（<link linkend="GError"><literal>GError</literal></link>）</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter> :</term>
<listitem><simpara>シグナルハンドラが接続された時にユーザが指定したデータ。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2><refsect2 id="GCutEgg-error-received" role="signal"><title><literal>"error-received"</literal>シグナル</title>
<indexterm zone="GCutEgg-error-received" role="1.0.6"><primary>GCutEgg::error-received</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                user_function                      (<link linkend="GCutEgg"><type>GCutEgg</type></link> *egg,
                                                        <link linkend="gchar"><type>gchar</type></link>   *chunk,
                                                        <link linkend="guint64"><type>guint64</type></link>  size,
                                                        <link linkend="gpointer"><type>gpointer</type></link> user_data)      : <link linkend="G-SIGNAL-RUN-LAST:CAPS"><literal>Run Last</literal></link></programlisting>
<para>外部プロセスが標準エラー出力に出力したデータが読み込まれる毎に発行されます。</para>
<para>外部コマンドの出力が読み取り可能になったかどうかを検出するために、<link linkend="g-main-loop-run"><function>g_main_loop_run()</function></link>や<link linkend="g-main-context-iteration"><function>g_main_context_iteration()</function></link>などでGLibのメインループをまわす必要があることに注意してください。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara>シグナルを受け取るオブジェクト。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>chunk</parameter> :</term>
<listitem><simpara>外部プロセスの標準エラー出力から読み込んだデータ。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter> :</term>
<listitem><simpara><parameter>chunk</parameter>のサイズ。（<link linkend="gsize"><literal>gsize</literal></link>）</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter> :</term>
<listitem><simpara>シグナルハンドラが接続された時にユーザが指定したデータ。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2><refsect2 id="GCutEgg-output-received" role="signal"><title><literal>"output-received"</literal>シグナル</title>
<indexterm zone="GCutEgg-output-received" role="1.0.6"><primary>GCutEgg::output-received</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                user_function                      (<link linkend="GCutEgg"><type>GCutEgg</type></link> *egg,
                                                        <link linkend="gchar"><type>gchar</type></link>   *chunk,
                                                        <link linkend="guint64"><type>guint64</type></link>  size,
                                                        <link linkend="gpointer"><type>gpointer</type></link> user_data)      : <link linkend="G-SIGNAL-RUN-LAST:CAPS"><literal>Run Last</literal></link></programlisting>
<para>外部プロセスが標準出力に出力したデータが読み込まれる毎に発行されます。</para>
<para>外部コマンドの出力が読み取り可能になったかどうかを検出するために、<link linkend="g-main-loop-run"><function>g_main_loop_run()</function></link>や<link linkend="g-main-context-iteration"><function>g_main_context_iteration()</function></link>などでGLibのメインループをまわす必要があることに注意してください。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara>シグナルを受け取るオブジェクト。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>chunk</parameter> :</term>
<listitem><simpara>外部プロセスの標準出力から読み込んだデータ。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter> :</term>
<listitem><simpara><parameter>chunk</parameter>のサイズ。（<link linkend="gsize"><literal>gsize</literal></link>）</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter> :</term>
<listitem><simpara>シグナルハンドラが接続された時にユーザが指定したデータ。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2><refsect2 id="GCutEgg-reaped" role="signal"><title><literal>"reaped"</literal>シグナル</title>
<indexterm zone="GCutEgg-reaped" role="1.0.6"><primary>GCutEgg::reaped</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                user_function                      (<link linkend="GCutEgg"><type>GCutEgg</type></link> *egg,
                                                        <link linkend="gint"><type>gint</type></link>     status,
                                                        <link linkend="gpointer"><type>gpointer</type></link> user_data)      : <link linkend="G-SIGNAL-RUN-LAST:CAPS"><literal>Run Last</literal></link></programlisting>
<para>外部プロセスが終了した時に発行されます。</para>
<para>外部コマンドが終了したこと検出するために、<link linkend="g-main-loop-run"><function>g_main_loop_run()</function></link>や<link linkend="g-main-context-iteration"><function>g_main_context_iteration()</function></link>などでGLibのメインループをまわす必要があることに注意してください。</para><variablelist role="params">
<varlistentry><term><parameter>egg</parameter> :</term>
<listitem><simpara>シグナルを受け取るオブジェクト。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>status</parameter> :</term>
<listitem><simpara>外部プロセスの終了ステータス。</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter> :</term>
<listitem><simpara>シグナルハンドラが接続された時にユーザが指定したデータ。</simpara></listitem></varlistentry>
</variablelist><para role="since">1.0.6から</para></refsect2>
</refsect1>

</refentry>
