<refentry id="ThunarVfsInteractiveJob">
<refmeta>
<refentrytitle>ThunarVfsInteractiveJob</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>THUNAR-VFS Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>ThunarVfsInteractiveJob</refname><refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>

<synopsis>

#include &lt;thunar-vfs/thunar-vfs.h&gt;


enum        <link linkend="ThunarVfsInteractiveJobResponse">ThunarVfsInteractiveJobResponse</link>;
            <link linkend="ThunarVfsInteractiveJob-struct">ThunarVfsInteractiveJob</link>;
<link linkend="void">void</link>        <link linkend="thunar-vfs-interactive-job-info-message">thunar_vfs_interactive_job_info_message</link>
                                            (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *interactive_job,
                                             const <link linkend="gchar">gchar</link> *message);
<link linkend="void">void</link>        <link linkend="thunar-vfs-interactive-job-percent">thunar_vfs_interactive_job_percent</link>
                                            (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *interactive_job,
                                             <link linkend="gdouble">gdouble</link> percent);
<link linkend="gboolean">gboolean</link>    <link linkend="thunar-vfs-interactive-job-overwrite">thunar_vfs_interactive_job_overwrite</link>
                                            (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *interactive_job,
                                             const <link linkend="gchar">gchar</link> *message);
<link linkend="gboolean">gboolean</link>    <link linkend="thunar-vfs-interactive-job-skip">thunar_vfs_interactive_job_skip</link> (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *interactive_job,
                                             const <link linkend="gchar">gchar</link> *message);


</synopsis>
</refsynopsisdiv>

<refsect1>
<title>Object Hierarchy</title>
<synopsis>

  <link linkend="GObject">GObject</link>
   +----<link linkend="ThunarVfsJob">ThunarVfsJob</link>
         +----ThunarVfsInteractiveJob
</synopsis>

</refsect1>






<refsect1>
<title>Signal Prototypes</title>
<synopsis>

&quot;<link linkend="ThunarVfsInteractiveJob-ask">ask</link>&quot;       <link linkend="ThunarVfsInteractiveJobResponse">ThunarVfsInteractiveJobResponse</link>user_function      (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *job,
                                            <link linkend="gchar">gchar</link> *message,
                                            <link linkend="ThunarVfsInteractiveJobResponse">ThunarVfsInteractiveJobResponse</link> choices,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="ThunarVfsInteractiveJob-info-message">info-message</link>&quot;
            <link linkend="void">void</link>        user_function      (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *job,
                                            <link linkend="gchar">gchar</link> *message,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="ThunarVfsInteractiveJob-percent">percent</link>&quot;   <link linkend="void">void</link>        user_function      (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *job,
                                            <link linkend="gdouble">gdouble</link> percent,
                                            <link linkend="gpointer">gpointer</link> user_data);
</synopsis>
</refsect1>


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

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="ThunarVfsInteractiveJobResponse"/>enum ThunarVfsInteractiveJobResponse</title>
<indexterm><primary>ThunarVfsInteractiveJobResponse</primary></indexterm><programlisting>typedef enum /*&lt; flags &gt;*/
{
  THUNAR_VFS_INTERACTIVE_JOB_RESPONSE_YES     = 1 &lt;&lt; 0,
  THUNAR_VFS_INTERACTIVE_JOB_RESPONSE_YES_ALL = 1 &lt;&lt; 1,
  THUNAR_VFS_INTERACTIVE_JOB_RESPONSE_NO      = 1 &lt;&lt; 2,
  THUNAR_VFS_INTERACTIVE_JOB_RESPONSE_CANCEL  = 1 &lt;&lt; 3,
} ThunarVfsInteractiveJobResponse;
</programlisting>
<para>
</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ThunarVfsInteractiveJob-struct"/>ThunarVfsInteractiveJob</title>
<indexterm><primary>ThunarVfsInteractiveJob</primary></indexterm><programlisting>typedef struct _ThunarVfsInteractiveJob ThunarVfsInteractiveJob;</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-interactive-job-info-message"/>thunar_vfs_interactive_job_info_message ()</title>
<indexterm><primary>thunar_vfs_interactive_job_info_message</primary></indexterm><programlisting><link linkend="void">void</link>        thunar_vfs_interactive_job_info_message
                                            (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *interactive_job,
                                             const <link linkend="gchar">gchar</link> *message);</programlisting>
<para>
Emits the ::info-message signal on <parameter>interactive_job</parameter> with <parameter>message</parameter>.
</para>
<para>
The text contained in <parameter>message</parameter> must be valid UTF-8.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>interactive_job</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsInteractiveJob"><type>ThunarVfsInteractiveJob</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>message</parameter>&nbsp;:</term>
<listitem><simpara> an informational message about <parameter>interactive_job</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-interactive-job-percent"/>thunar_vfs_interactive_job_percent ()</title>
<indexterm><primary>thunar_vfs_interactive_job_percent</primary></indexterm><programlisting><link linkend="void">void</link>        thunar_vfs_interactive_job_percent
                                            (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *interactive_job,
                                             <link linkend="gdouble">gdouble</link> percent);</programlisting>
<para>
Emits the ::percent signal on <parameter>interactive_job</parameter> with <parameter>percent</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>interactive_job</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsInteractiveJob"><type>ThunarVfsInteractiveJob</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>percent</parameter>&nbsp;:</term>
<listitem><simpara> the percentage of completeness (in the range of 0.0 to 100.0).
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-interactive-job-overwrite"/>thunar_vfs_interactive_job_overwrite ()</title>
<indexterm><primary>thunar_vfs_interactive_job_overwrite</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    thunar_vfs_interactive_job_overwrite
                                            (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *interactive_job,
                                             const <link linkend="gchar">gchar</link> *message);</programlisting>
<para>
Asks the user whether to overwrite a certain file as described by
<parameter>message</parameter>.
</para>
<para>
The return value may be <literal>TRUE</literal> to perform the overwrite, or <literal>FALSE</literal>,
which means to either skip the file or cancel the <parameter>interactive_job</parameter>.
The caller must check using <link linkend="thunar-vfs-job-cancelled"><function>thunar_vfs_job_cancelled()</function></link> if <literal>FALSE</literal>
is returned.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>interactive_job</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsInteractiveJob"><type>ThunarVfsInteractiveJob</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>message</parameter>&nbsp;:</term>
<listitem><simpara> the message to be displayed in valid UTF-8.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>TRUE</literal> to overwrite or <literal>FALSE</literal> to leave it or cancel
              the <parameter>interactive_job</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-interactive-job-skip"/>thunar_vfs_interactive_job_skip ()</title>
<indexterm><primary>thunar_vfs_interactive_job_skip</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    thunar_vfs_interactive_job_skip (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *interactive_job,
                                             const <link linkend="gchar">gchar</link> *message);</programlisting>
<para>
Asks the user whether to skip a certain file as described by
<parameter>message</parameter>.
</para>
<para>
The return value may be <literal>TRUE</literal> to perform the skip, or <literal>FALSE</literal>,
which means to cancel the <parameter>interactive_job</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>interactive_job</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsInteractiveJob"><type>ThunarVfsInteractiveJob</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>message</parameter>&nbsp;:</term>
<listitem><simpara> the message to be displayed as valid UTF-8.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>TRUE</literal> to overwrite or <literal>FALSE</literal> to cancel
              the <parameter>interactive_job</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>

<refsect1>
<title>Signals</title>
<refsect2><title><anchor id="ThunarVfsInteractiveJob-ask"/>The &quot;ask&quot; signal</title>
<programlisting><link linkend="ThunarVfsInteractiveJobResponse">ThunarVfsInteractiveJobResponse</link>user_function                  (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *job,
                                            <link linkend="gchar">gchar</link> *message,
                                            <link linkend="ThunarVfsInteractiveJobResponse">ThunarVfsInteractiveJobResponse</link> choices,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
The <parameter>message</parameter> is garantied to contain valid UTF-8.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>job</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsJob"><type>ThunarVfsJob</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>message</parameter>&nbsp;:</term>
<listitem><simpara> question to display to the user.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>choices</parameter>&nbsp;:</term>
<listitem><simpara> a combination of <link linkend="ThunarVfsInteractiveJobResponse"><type>ThunarVfsInteractiveJobResponse</type></link><!---->s.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the selected choice.
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="ThunarVfsInteractiveJob-info-message"/>The &quot;info-message&quot; signal</title>
<programlisting><link linkend="void">void</link>        user_function                  (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *job,
                                            <link linkend="gchar">gchar</link> *message,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
This signal is emitted to display information about the
<parameter>job</parameter>. Examples of messages are "Preparing..." or
"Cleaning up...".
</para>
<para>
The <parameter>message</parameter> is garantied to contain valid UTF-8, so
it can be displayed by <link linkend="GtkWidget"><type>GtkWidget</type></link><!---->s out of the
box.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>job</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsJob"><type>ThunarVfsJob</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>message</parameter>&nbsp;:</term>
<listitem><simpara> information to be displayed about <parameter>job</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="ThunarVfsInteractiveJob-percent"/>The &quot;percent&quot; signal</title>
<programlisting><link linkend="void">void</link>        user_function                  (<link linkend="ThunarVfsInteractiveJob">ThunarVfsInteractiveJob</link> *job,
                                            <link linkend="gdouble">gdouble</link> percent,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
This signal is emitted to present the state
of the overall progress.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>job</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsJob"><type>ThunarVfsJob</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>percent</parameter>&nbsp;:</term>
<listitem><simpara> the percentage of completeness.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>



</refentry>
