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

<refnamediv>
<refname>gnome-vfs-method</refname>
<refpurpose></refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

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

<synopsis>



<link linkend="GnomeVFSMethod">GnomeVFSMethod</link>* (<link linkend="GnomeVFSMethodInitFunc">*GnomeVFSMethodInitFunc</link>)   (const <link linkend="char">char</link> *method_name,
                                             const <link linkend="char">char</link> *config_args);
<link linkend="void">void</link>        (<link linkend="GnomeVFSMethodShutdownFunc">*GnomeVFSMethodShutdownFunc</link>)   (<link linkend="GnomeVFSMethod">GnomeVFSMethod</link> *method);
<link linkend="GnomeVFSResult">GnomeVFSResult</link> (<link linkend="GnomeVFSMethodTruncateFunc">*GnomeVFSMethodTruncateFunc</link>)
                                            (<link linkend="GnomeVFSMethod">GnomeVFSMethod</link> *method,
                                             <link linkend="GnomeVFSURI">GnomeVFSURI</link> *uri,
                                             <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> length,
                                             <link linkend="GnomeVFSContext">GnomeVFSContext</link> *context);
<link linkend="GnomeVFSResult">GnomeVFSResult</link> (<link linkend="GnomeVFSMethodTruncateHandleFunc">*GnomeVFSMethodTruncateHandleFunc</link>)
                                            (<link linkend="GnomeVFSMethod">GnomeVFSMethod</link> *method,
                                             <link linkend="GnomeVFSMethodHandle">GnomeVFSMethodHandle</link> *handle,
                                             <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> length,
                                             <link linkend="GnomeVFSContext">GnomeVFSContext</link> *context);
#define     <link linkend="VFS-METHOD-HAS-FUNC:CAPS">VFS_METHOD_HAS_FUNC</link>             (method,func)
<link linkend="gboolean">gboolean</link>    <link linkend="gnome-vfs-method-init">gnome_vfs_method_init</link>           (void);
<link linkend="GnomeVFSMethod">GnomeVFSMethod</link>* <link linkend="gnome-vfs-method-get">gnome_vfs_method_get</link>        (const <link linkend="gchar">gchar</link> *name);
<link linkend="GnomeVFSTransform">GnomeVFSTransform</link>* <link linkend="gnome-vfs-transform-get">gnome_vfs_transform_get</link>  (const <link linkend="gchar">gchar</link> *name);
</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="GnomeVFSMethodInitFunc" role="function"/>GnomeVFSMethodInitFunc ()</title>
<indexterm><primary>GnomeVFSMethodInitFunc</primary></indexterm><programlisting><link linkend="GnomeVFSMethod">GnomeVFSMethod</link>* (*GnomeVFSMethodInitFunc)   (const <link linkend="char">char</link> *method_name,
                                             const <link linkend="char">char</link> *config_args);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>method_name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>config_args</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="GnomeVFSMethodShutdownFunc" role="function"/>GnomeVFSMethodShutdownFunc ()</title>
<indexterm><primary>GnomeVFSMethodShutdownFunc</primary></indexterm><programlisting><link linkend="void">void</link>        (*GnomeVFSMethodShutdownFunc)   (<link linkend="GnomeVFSMethod">GnomeVFSMethod</link> *method);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>method</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="GnomeVFSMethodTruncateFunc" role="function"/>GnomeVFSMethodTruncateFunc ()</title>
<indexterm><primary>GnomeVFSMethodTruncateFunc</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> (*GnomeVFSMethodTruncateFunc)
                                            (<link linkend="GnomeVFSMethod">GnomeVFSMethod</link> *method,
                                             <link linkend="GnomeVFSURI">GnomeVFSURI</link> *uri,
                                             <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> length,
                                             <link linkend="GnomeVFSContext">GnomeVFSContext</link> *context);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>method</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uri</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>length</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="GnomeVFSMethodTruncateHandleFunc" role="function"/>GnomeVFSMethodTruncateHandleFunc ()</title>
<indexterm><primary>GnomeVFSMethodTruncateHandleFunc</primary></indexterm><programlisting><link linkend="GnomeVFSResult">GnomeVFSResult</link> (*GnomeVFSMethodTruncateHandleFunc)
                                            (<link linkend="GnomeVFSMethod">GnomeVFSMethod</link> *method,
                                             <link linkend="GnomeVFSMethodHandle">GnomeVFSMethodHandle</link> *handle,
                                             <link linkend="GnomeVFSFileSize">GnomeVFSFileSize</link> length,
                                             <link linkend="GnomeVFSContext">GnomeVFSContext</link> *context);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>method</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>handle</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>length</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="VFS-METHOD-HAS-FUNC:CAPS" role="macro"/>VFS_METHOD_HAS_FUNC()</title>
<indexterm><primary>VFS_METHOD_HAS_FUNC</primary></indexterm><programlisting>#define VFS_METHOD_HAS_FUNC(method,func) ((((char *)&amp;((method)-&gt;func)) - ((char *)(method)) &lt; (method)-&gt;method_table_size) &amp;&amp; method-&gt;func != NULL)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>method</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-vfs-method-init" role="function"/>gnome_vfs_method_init ()</title>
<indexterm><primary>gnome_vfs_method_init</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gnome_vfs_method_init           (void);</programlisting>
<para>
Initializes the gnome-vfs methods. If already initialized then will simply return
<literal>TRUE</literal>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> Returns <literal>TRUE</literal>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-vfs-method-get" role="function"/>gnome_vfs_method_get ()</title>
<indexterm><primary>gnome_vfs_method_get</primary></indexterm><programlisting><link linkend="GnomeVFSMethod">GnomeVFSMethod</link>* gnome_vfs_method_get        (const <link linkend="gchar">gchar</link> *name);</programlisting>
<para>
</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara> name of the protocol.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the method handle for the given protocol <parameter>name</parameter>. <parameter>name</parameter> could be any protocol
which gnome-vfs implements. Like ftp, http, smb etc..
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-vfs-transform-get" role="function"/>gnome_vfs_transform_get ()</title>
<indexterm><primary>gnome_vfs_transform_get</primary></indexterm><programlisting><link linkend="GnomeVFSTransform">GnomeVFSTransform</link>* gnome_vfs_transform_get  (const <link linkend="gchar">gchar</link> *name);</programlisting>
<para>
Get the transform for the method <parameter>name</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara> name of the method to get the transform of.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a <link linkend="GnomeVFSTransform"><type>GnomeVFSTransform</type></link> handle for <parameter>name</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
