<refentry id="linc-linc">
<refmeta>
<refentrytitle>linc</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LINC Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>linc</refname><refpurpose>the main setup and loop methods</refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>

<synopsis>



extern      GMainLoop *<link linkend="linc-loop">linc_loop</link>;
void        <link linkend="linc-set-threaded">linc_set_threaded</link>               (<link linkend="gboolean">gboolean</link> threaded);
void        <link linkend="linc-init">linc_init</link>                       (<link linkend="gboolean">gboolean</link> init_threads);
<link linkend="LincWatch">LincWatch</link>*  <link linkend="linc-io-add-watch">linc_io_add_watch</link>               (<link linkend="GIOChannel">GIOChannel</link> *channel,
                                             <link linkend="GIOCondition">GIOCondition</link> condition,
                                             <link linkend="GIOFunc">GIOFunc</link> func,
                                             <link linkend="gpointer">gpointer</link> user_data);
void        <link linkend="linc-io-remove-watch">linc_io_remove_watch</link>            (<link linkend="LincWatch">LincWatch</link> *watch);
void        <link linkend="linc-main-iteration">linc_main_iteration</link>             (<link linkend="gboolean">gboolean</link> block_for_reply);
<link linkend="gboolean">gboolean</link>    <link linkend="linc-main-pending">linc_main_pending</link>               (void);
void        <link linkend="linc-main-loop-run">linc_main_loop_run</link>              (void);
</synopsis>
</refsynopsisdiv>







<refsect1>
<title>Description</title>
<para>

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="linc-loop">linc_loop</title>
<programlisting>extern GMainLoop *linc_loop;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="linc-set-threaded">linc_set_threaded ()</title>
<programlisting>void        linc_set_threaded               (<link linkend="gboolean">gboolean</link> threaded);</programlisting>
<para>
This routine turns threading on or off for the whole
ORB, it should be called (TRUE) if threading is desired
before any of the ORB initialization occurs.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>threaded</parameter>&nbsp;:</term>
<listitem><simpara> whether to do locking
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="linc-init">linc_init ()</title>
<programlisting>void        linc_init                       (<link linkend="gboolean">gboolean</link> init_threads);</programlisting>
<para>
Initialize linc.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>init_threads</parameter>&nbsp;:</term>
<listitem><simpara> if we want threading enabled.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="linc-io-add-watch">linc_io_add_watch ()</title>
<programlisting><link linkend="LincWatch">LincWatch</link>*  linc_io_add_watch               (<link linkend="GIOChannel">GIOChannel</link> *channel,
                                             <link linkend="GIOCondition">GIOCondition</link> condition,
                                             <link linkend="GIOFunc">GIOFunc</link> func,
                                             <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
This routine creates a watch on an IO channel that operates both in
the standard glib mainloop, but also in the 'linc' mainloop so we
can iterate that without causing re-enterancy.
</para>
<para>
This method is deprecated.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>channel</parameter>&nbsp;:</term>
<listitem><simpara> the GIOChannel to watch
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
<listitem><simpara> the condition mask to watch for
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&nbsp;:</term>
<listitem><simpara> the function to invoke when a condition is met
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara> a user data closure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a pointer identifying the watch.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="linc-io-remove-watch">linc_io_remove_watch ()</title>
<programlisting>void        linc_io_remove_watch            (<link linkend="LincWatch">LincWatch</link> *watch);</programlisting>
<para>
This removes a watch by it's handle in <parameter>w</parameter></para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>watch</parameter>&nbsp;:</term>
<listitem><simpara> the handle of a watch on a GIOChannel
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="linc-main-iteration">linc_main_iteration ()</title>
<programlisting>void        linc_main_iteration             (<link linkend="gboolean">gboolean</link> block_for_reply);</programlisting>
<para>
This routine iterates the linc mainloop, which has
only the linc sources registered against it.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>block_for_reply</parameter>&nbsp;:</term>
<listitem><simpara> whether we should wait for a reply
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="linc-main-pending">linc_main_pending ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    linc_main_pending               (void);</programlisting>
<para>
determines if the linc mainloop has any pending work to process.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if the linc mainloop has any pending work to process.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="linc-main-loop-run">linc_main_loop_run ()</title>
<programlisting>void        linc_main_loop_run              (void);</programlisting>
<para>
Runs the linc mainloop; blocking until the loop is exited.</para>
<para>

</para></refsect2>

</refsect1>




</refentry>
