ThunarVfsVolumeManager

## ThunarVfsVolumeManager ThunarVfsVolumeManager — |

## Synopsis

    #include <thunar-vfs/thunar-vfs.h>

                ThunarVfsVolumeManagerIface;
                ThunarVfsVolumeManager;
    ThunarVfsVolumeManager* thunar_vfs_volume_manager_get_default
                                                (void);
    ThunarVfsVolume* thunar_vfs_volume_manager_get_volume_by_info
                                                (ThunarVfsVolumeManager *manager,
                                                 const ThunarVfsInfo *info);
    GList*      thunar_vfs_volume_manager_get_volumes
                                                (ThunarVfsVolumeManager *manager);
    void        thunar_vfs_volume_manager_volumes_added
                                                (ThunarVfsVolumeManager *manager,
                                                 GList *volumes);
    void        thunar_vfs_volume_manager_volumes_removed
                                                (ThunarVfsVolumeManager *manager,
                                                 GList *volumes);

## Object Hierarchy

      GInterface
       +----ThunarVfsVolumeManager

## Prerequisites

ThunarVfsVolumeManager requires GObject.

## Description

## Details

### ThunarVfsVolumeManagerIface

    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;

### ThunarVfsVolumeManager

    typedef struct _ThunarVfsVolumeManager ThunarVfsVolumeManager;

### thunar_vfs_volume_manager_get_default ()

    ThunarVfsVolumeManager* thunar_vfs_volume_manager_get_default
                                                (void);

Returns the default, shared ThunarVfsVolumeManager instance for this system. This function automatically determines, which implementation of ThunarVfsVolumeManager 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.

Call `g_object_unref()` on the returned object when you are done with it.

Returns : | the shared ThunarVfsVolumeManager instance.

### thunar_vfs_volume_manager_get_volume_by_info ()

    ThunarVfsVolume* thunar_vfs_volume_manager_get_volume_by_info
                                                (ThunarVfsVolumeManager *manager,
                                                 const ThunarVfsInfo *info);

Tries to lookup the ThunarVfsVolume on which `info` is located. If `manager` doesn't know a ThunarVfsVolume for `info`, `NULL` will be returned.

The returned ThunarVfsVolume (if any) is owned by `manager` and must not be freed by the caller.

`manager` : | a ThunarVfsVolumeManager instance.
`info` : | a ThunarVfsInfo.
Returns : | the ThunarVfsVolume, on which `info` is located or `NULL`.

### thunar_vfs_volume_manager_get_volumes ()

    GList*      thunar_vfs_volume_manager_get_volumes
                                                (ThunarVfsVolumeManager *manager);

Returns all ThunarVfsVolumes currently known for `manager`. The returned list is owned by `manager` and should therefore considered constant in the caller.

`manager` : | a ThunarVfsVolumeManager instance.
Returns : | the list of volumes known for `manager`.

### thunar_vfs_volume_manager_volumes_added ()

    void        thunar_vfs_volume_manager_volumes_added
                                                (ThunarVfsVolumeManager *manager,
                                                 GList *volumes);

Emits the "volumes-added" signal on `manager` using the given `volumes`.

This method should only be used by classes implementing the ThunarVfsVolumeManager interface.

`manager` : | a ThunarVfsVolumeManager instance.
`volumes` : | a list of ThunarVfsVolumes.

### thunar_vfs_volume_manager_volumes_removed ()

    void        thunar_vfs_volume_manager_volumes_removed
                                                (ThunarVfsVolumeManager *manager,
                                                 GList *volumes);

Emits the "volumes-removed" signal on `manager` using the given `volumes`.

This method should only be used by classes implementing the ThunarVfsVolumeManager interface.

`manager` : | a ThunarVfsVolumeManager instance.
`volumes` : | a list of ThunarVfsVolumes.