<refentry id="gnome-vfs-20-gnome-vfs-module-callback-module-api">
<refmeta>
<refentrytitle id="top_of_page">gnome-vfs-module-callback-module-api</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GNOME-VFS-2.0 Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>gnome-vfs-module-callback-module-api</refname>
<refpurpose>invoking callbacks from a gnome-vfs module to ask the application for necessary information (authentication, ...)</refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="synopsis">
<title id="synopsis.title">Synopsis</title>

<synopsis>



<link linkend="gboolean">gboolean</link>    <link linkend="gnome-vfs-module-callback-invoke">gnome_vfs_module_callback_invoke</link>
                                            (const <link linkend="char">char</link> *callback_name,
                                             <link linkend="gconstpointer">gconstpointer</link> in,
                                             <link linkend="gsize">gsize</link> in_size,
                                             <link linkend="gpointer">gpointer</link> out,
                                             <link linkend="gsize">gsize</link> out_size);
</synopsis>
</refsynopsisdiv>









<refsect1 id="desc">
<title id="desc.title">Description</title>
<para>

</para>
</refsect1>

<refsect1 id="details">
<title id="details.title">Details</title>
<refsect2>
<title><anchor id="gnome-vfs-module-callback-invoke" role="function"/>gnome_vfs_module_callback_invoke ()</title>
<indexterm><primary>gnome_vfs_module_callback_invoke</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gnome_vfs_module_callback_invoke
                                            (const <link linkend="char">char</link> *callback_name,
                                             <link linkend="gconstpointer">gconstpointer</link> in,
                                             <link linkend="gsize">gsize</link> in_size,
                                             <link linkend="gpointer">gpointer</link> out,
                                             <link linkend="gsize">gsize</link> out_size);</programlisting>
<para>
Invoke a default callback for <parameter>callback_name</parameter>, with in arguments
specified by <parameter>in</parameter> and <parameter>in_size</parameter>, and out arguments specified by <parameter>out</parameter>
and <parameter>out_size</parameter>.
</para>
<para>
This function should only be called by gnome-vfs modules.
</para>
<para>
If this function is called from an async job thread, it will invoke
the current async handler for <parameter>callback_name</parameter>, if any. If no async
handler is set, or the function is not called from an async job
thread, the regular handler, if any, will be invoked instead. If no
handler at all is found for <parameter>callback_name</parameter>, the function returns
<literal>FALSE</literal>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>callback_name</parameter>&nbsp;:</term>
<listitem><simpara> name of the module callback to set.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> in argument for this callback; the exact type depends on the specific callback.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>in_size</parameter>&nbsp;:</term>
<listitem><simpara> size of the in argument; useful for sanity-checking.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> out argument for this callback; the exact type depends on the specific callback.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out_size</parameter>&nbsp;:</term>
<listitem><simpara> size of the out argument; useful for sanity-checking.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>TRUE</literal> if a callback was invoked, <literal>FALSE</literal> if none was set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
