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

<refnamediv>
<refname>ThunarVfsVolumeManager</refname><refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>

<synopsis>

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


            <link linkend="ThunarVfsVolumeManagerIface">ThunarVfsVolumeManagerIface</link>;
            <link linkend="ThunarVfsVolumeManager-struct">ThunarVfsVolumeManager</link>;
<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link>* <link linkend="thunar-vfs-volume-manager-get-default">thunar_vfs_volume_manager_get_default</link>
                                            (void);
<link linkend="ThunarVfsVolume">ThunarVfsVolume</link>* <link linkend="thunar-vfs-volume-manager-get-volume-by-info">thunar_vfs_volume_manager_get_volume_by_info</link>
                                            (<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link> *manager,
                                             const <link linkend="ThunarVfsInfo">ThunarVfsInfo</link> *info);
<link linkend="GList">GList</link>*      <link linkend="thunar-vfs-volume-manager-get-volumes">thunar_vfs_volume_manager_get_volumes</link>
                                            (<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link> *manager);
<link linkend="void">void</link>        <link linkend="thunar-vfs-volume-manager-volumes-added">thunar_vfs_volume_manager_volumes_added</link>
                                            (<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link> *manager,
                                             <link linkend="GList">GList</link> *volumes);
<link linkend="void">void</link>        <link linkend="thunar-vfs-volume-manager-volumes-removed">thunar_vfs_volume_manager_volumes_removed</link>
                                            (<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link> *manager,
                                             <link linkend="GList">GList</link> *volumes);


</synopsis>
</refsynopsisdiv>

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

  <link linkend="GInterface">GInterface</link>
   +----ThunarVfsVolumeManager
</synopsis>

</refsect1>

<refsect1>
<title>Prerequisites</title>
<para>
ThunarVfsVolumeManager requires
 <link linkend="GObject">GObject</link>.</para>

</refsect1>







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

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="ThunarVfsVolumeManagerIface"/>ThunarVfsVolumeManagerIface</title>
<indexterm><primary>ThunarVfsVolumeManagerIface</primary></indexterm><programlisting>typedef struct {
  GTypeInterface __parent__;

  /* methods */
  ThunarVfsVolume *(*get_volume_by_info) (ThunarVfsVolumeManager *manager,
                                          const ThunarVfsInfo    *info);
  GList           *(*get_volumes)        (ThunarVfsVolumeManager *manager);

  /* signals */
  void (*volumes_added)   (ThunarVfsVolumeManager *manager,
                           GList                  *volumes);
  void (*volumes_removed) (ThunarVfsVolumeManager *manager,
                           GList                  *volumes);
} ThunarVfsVolumeManagerIface;
</programlisting>
<para>

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

</para></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-volume-manager-get-default"/>thunar_vfs_volume_manager_get_default ()</title>
<indexterm><primary>thunar_vfs_volume_manager_get_default</primary></indexterm><programlisting><link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link>* thunar_vfs_volume_manager_get_default
                                            (void);</programlisting>
<para>
Returns the default, shared <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> instance
for this system. This function automatically determines, which
implementation of <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> should be used for
the target system and returns an instance of that class, which
is shared among all modules using the volume manager facility.
</para>
<para>
Call <link linkend="g-object-unref"><function>g_object_unref()</function></link> on the returned object when you are
done with it.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the shared <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> instance.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-volume-manager-get-volume-by-info"/>thunar_vfs_volume_manager_get_volume_by_info ()</title>
<indexterm><primary>thunar_vfs_volume_manager_get_volume_by_info</primary></indexterm><programlisting><link linkend="ThunarVfsVolume">ThunarVfsVolume</link>* thunar_vfs_volume_manager_get_volume_by_info
                                            (<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link> *manager,
                                             const <link linkend="ThunarVfsInfo">ThunarVfsInfo</link> *info);</programlisting>
<para>
Tries to lookup the <link linkend="ThunarVfsVolume"><type>ThunarVfsVolume</type></link> on which <parameter>info</parameter> is
located. If <parameter>manager</parameter> doesn't know a <link linkend="ThunarVfsVolume"><type>ThunarVfsVolume</type></link>
for <parameter>info</parameter>, <literal>NULL</literal> will be returned.
</para>
<para>
The returned <link linkend="ThunarVfsVolume"><type>ThunarVfsVolume</type></link> (if any) is owned by
<parameter>manager</parameter> and must not be freed by the caller.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>manager</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> instance.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>info</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsInfo"><type>ThunarVfsInfo</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the <link linkend="ThunarVfsVolume"><type>ThunarVfsVolume</type></link>, on which <parameter>info</parameter> is
              located or <literal>NULL</literal>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-volume-manager-get-volumes"/>thunar_vfs_volume_manager_get_volumes ()</title>
<indexterm><primary>thunar_vfs_volume_manager_get_volumes</primary></indexterm><programlisting><link linkend="GList">GList</link>*      thunar_vfs_volume_manager_get_volumes
                                            (<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link> *manager);</programlisting>
<para>
Returns all <link linkend="ThunarVfsVolume"><type>ThunarVfsVolume</type></link><!---->s currently known for
<parameter>manager</parameter>. The returned list is owned by <parameter>manager</parameter> and should
therefore considered constant in the caller.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>manager</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> instance.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the list of volumes known for <parameter>manager</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-volume-manager-volumes-added"/>thunar_vfs_volume_manager_volumes_added ()</title>
<indexterm><primary>thunar_vfs_volume_manager_volumes_added</primary></indexterm><programlisting><link linkend="void">void</link>        thunar_vfs_volume_manager_volumes_added
                                            (<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link> *manager,
                                             <link linkend="GList">GList</link> *volumes);</programlisting>
<para>
Emits the "volumes-added" signal on <parameter>manager</parameter> using the
given <parameter>volumes</parameter>.
</para>
<para>
This method should only be used by classes implementing
the <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> interface.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>manager</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> instance.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>volumes</parameter>&nbsp;:</term>
<listitem><simpara> a list of <link linkend="ThunarVfsVolume"><type>ThunarVfsVolume</type></link><!---->s.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="thunar-vfs-volume-manager-volumes-removed"/>thunar_vfs_volume_manager_volumes_removed ()</title>
<indexterm><primary>thunar_vfs_volume_manager_volumes_removed</primary></indexterm><programlisting><link linkend="void">void</link>        thunar_vfs_volume_manager_volumes_removed
                                            (<link linkend="ThunarVfsVolumeManager">ThunarVfsVolumeManager</link> *manager,
                                             <link linkend="GList">GList</link> *volumes);</programlisting>
<para>
Emits the "volumes-removed" signal on <parameter>manager</parameter> using
the given <parameter>volumes</parameter>.
</para>
<para>
This method should only be used by classes implementing
the <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> interface.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>manager</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="ThunarVfsVolumeManager"><type>ThunarVfsVolumeManager</type></link> instance.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>volumes</parameter>&nbsp;:</term>
<listitem><simpara> a list of <link linkend="ThunarVfsVolume"><type>ThunarVfsVolume</type></link><!---->s.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
