## GnomeVFSVolume GnomeVFSVolume — Abstraction for a mounted file system or a network location. |

## Synopsis

    #define     GNOME_IS_VFS_VOLUME             (o)
    #define     GNOME_IS_VFS_VOLUME_CLASS       (k)
    #define     GNOME_VFS_TYPE_VOLUME
    #define     GNOME_VFS_VOLUME                (o)
    #define     GNOME_VFS_VOLUME_CLASS          (k)
                GnomeVFSVolume;
                GnomeVFSVolumeClass;
    void        (*GnomeVFSVolumeOpCallback)     (gboolean succeeded,
                                                 char *error,
                                                 char *detailed_error,
                                                 gpointer data);
    enum        GnomeVFSVolumeType;
    gint        gnome_vfs_volume_compare        (GnomeVFSVolume *a,
                                                 GnomeVFSVolume *b);
    void        gnome_vfs_volume_eject          (GnomeVFSVolume *volume,
                                                 GnomeVFSVolumeOpCallback callback,
                                                 gpointer user_data);
    char*       gnome_vfs_volume_get_activation_uri
                                                (GnomeVFSVolume *volume);
    char*       gnome_vfs_volume_get_device_path
                                                (GnomeVFSVolume *volume);
    GnomeVFSDeviceType gnome_vfs_volume_get_device_type
                                                (GnomeVFSVolume *volume);
    char*       gnome_vfs_volume_get_display_name
                                                (GnomeVFSVolume *volume);
    GnomeVFSDrive* gnome_vfs_volume_get_drive   (GnomeVFSVolume *volume);
    char*       gnome_vfs_volume_get_filesystem_type
                                                (GnomeVFSVolume *volume);
    char*       gnome_vfs_volume_get_hal_udi    (GnomeVFSVolume *volume);
    char*       gnome_vfs_volume_get_icon       (GnomeVFSVolume *volume);
    gulong      gnome_vfs_volume_get_id         (GnomeVFSVolume *volume);
    GType       gnome_vfs_volume_get_type       (void);
    GnomeVFSVolumeType gnome_vfs_volume_get_volume_type
                                                (GnomeVFSVolume *volume);
    gboolean    gnome_vfs_volume_handles_trash  (GnomeVFSVolume *volume);
    gboolean    gnome_vfs_volume_is_mounted     (GnomeVFSVolume *volume);
    gboolean    gnome_vfs_volume_is_read_only   (GnomeVFSVolume *volume);
    gboolean    gnome_vfs_volume_is_user_visible
                                                (GnomeVFSVolume *volume);
    GnomeVFSVolume* gnome_vfs_volume_ref        (GnomeVFSVolume *volume);
    GType       gnome_vfs_volume_type_get_type  (void);
    void        gnome_vfs_volume_unmount        (GnomeVFSVolume *volume,
                                                 GnomeVFSVolumeOpCallback callback,
                                                 gpointer user_data);
    void        gnome_vfs_volume_unref          (GnomeVFSVolume *volume);
    void        gnome_vfs_connect_to_server     (char *uri,
                                                 char *display_name,
                                                 char *icon);

## Object Hierarchy

      GObject
       +----GnomeVFSVolume

## Description

## Details

### GNOME_IS_VFS_VOLUME()

    #define GNOME_IS_VFS_VOLUME(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNOME_VFS_TYPE_VOLUME))

`o` : |

### GNOME_IS_VFS_VOLUME_CLASS()

    #define GNOME_IS_VFS_VOLUME_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNOME_VFS_TYPE_VOLUME))

`k` : |

### GNOME_VFS_TYPE_VOLUME

    #define GNOME_VFS_TYPE_VOLUME        (gnome_vfs_volume_get_type ())

### GNOME_VFS_VOLUME()

    #define GNOME_VFS_VOLUME(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), GNOME_VFS_TYPE_VOLUME, GnomeVFSVolume))

`o` : |

### GNOME_VFS_VOLUME_CLASS()

    #define GNOME_VFS_VOLUME_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), GNOME_VFS_TYPE_VOLUME, GnomeVFSVolumeClass))

`k` : |

### GnomeVFSVolume

    typedef struct _GnomeVFSVolume GnomeVFSVolume;

### GnomeVFSVolumeClass

    typedef struct {
    	GObjectClass parent_class;
    } GnomeVFSVolumeClass;

### GnomeVFSVolumeOpCallback ()

    void        (*GnomeVFSVolumeOpCallback)     (gboolean succeeded,
                                                 char *error,
                                                 char *detailed_error,
                                                 gpointer data);

Note that if succeeded is FALSE and error, detailed_error are both empty strings the client is not supposed to display a dialog as an external mount/umount/eject helper will have done so.

`succeeded` : |
`error` : |
`detailed_error` : |
`data` : |

Since 2.6

### enum GnomeVFSVolumeType

    typedef enum {
    	GNOME_VFS_VOLUME_TYPE_MOUNTPOINT,
    	GNOME_VFS_VOLUME_TYPE_VFS_MOUNT,
    	GNOME_VFS_VOLUME_TYPE_CONNECTED_SERVER
    } GnomeVFSVolumeType;

### gnome_vfs_volume_compare ()

    gint        gnome_vfs_volume_compare        (GnomeVFSVolume *a,
                                                 GnomeVFSVolume *b);

`a` : | a GnomeVFSVolume.
`b` : | a GnomeVFSVolume.
Returns : | 0 if volumes `a` and `b` are same.

Since 2.6

### gnome_vfs_volume_eject ()

    void        gnome_vfs_volume_eject          (GnomeVFSVolume *volume,
                                                 GnomeVFSVolumeOpCallback callback,
                                                 gpointer user_data);

`volume` : |
`callback` : |
`user_data` : |

Since 2.6

### gnome_vfs_volume_get_activation_uri ()

    char*       gnome_vfs_volume_get_activation_uri
                                                (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | a newly allocated string for activation uri of `volume`.

Since 2.6

### gnome_vfs_volume_get_device_path ()

    char*       gnome_vfs_volume_get_device_path
                                                (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | a newly allocated string for device path of `volume`.

Since 2.6

### gnome_vfs_volume_get_device_type ()

    GnomeVFSDeviceType gnome_vfs_volume_get_device_type
                                                (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | the device type for `volume`.

Since 2.6

### gnome_vfs_volume_get_display_name ()

    char*       gnome_vfs_volume_get_display_name
                                                (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | a newly allocated string for display name of `volume`.

Since 2.6

### gnome_vfs_volume_get_drive ()

    GnomeVFSDrive* gnome_vfs_volume_get_drive   (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | the drive for the `volume`.

Since 2.6

### gnome_vfs_volume_get_filesystem_type ()

    char*       gnome_vfs_volume_get_filesystem_type
                                                (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | a newly allocated string for filesystem type of `volume`.

Since 2.6

### gnome_vfs_volume_get_hal_udi ()

    char*       gnome_vfs_volume_get_hal_udi    (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | a newly allocated string for unique device id of `volume`.

Since 2.6

### gnome_vfs_volume_get_icon ()

    char*       gnome_vfs_volume_get_icon       (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | a newly allocated string for the icon filename of `volume`.

Since 2.6

### gnome_vfs_volume_get_id ()

    gulong      gnome_vfs_volume_get_id         (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | the id for the `volume`.

Since 2.6

### gnome_vfs_volume_get_type ()

    GType       gnome_vfs_volume_get_type       (void);

Returns : |

### gnome_vfs_volume_get_volume_type ()

    GnomeVFSVolumeType gnome_vfs_volume_get_volume_type
                                                (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | the volume type for `volume`.

Since 2.6

### gnome_vfs_volume_handles_trash ()

    gboolean    gnome_vfs_volume_handles_trash  (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | `TRUE` if `volume` handles trash, `FALSE` otherwise.

Since 2.6

### gnome_vfs_volume_is_mounted ()

    gboolean    gnome_vfs_volume_is_mounted     (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | `TRUE` if the `volume` is mounted, `FALSE` otherwise.

Since 2.6

### gnome_vfs_volume_is_read_only ()

    gboolean    gnome_vfs_volume_is_read_only   (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | `TRUE` if the `volume` is read-only to the user, `FALSE` otherwise.

Since 2.6

### gnome_vfs_volume_is_user_visible ()

    gboolean    gnome_vfs_volume_is_user_visible
                                                (GnomeVFSVolume *volume);

`volume` : | a GnomeVFSVolume.
Returns : | `TRUE` if `volume` is visible to the user, `FALSE` otherwise.

Since 2.6

### gnome_vfs_volume_ref ()

    GnomeVFSVolume* gnome_vfs_volume_ref        (GnomeVFSVolume *volume);

Increases the refcount of the `volume` by 1.

`volume` : | a GnomeVFSVolume.
Returns : | the `volume`.

Since 2.6

### gnome_vfs_volume_type_get_type ()

    GType       gnome_vfs_volume_type_get_type  (void);

Returns : |

### gnome_vfs_volume_unmount ()

    void        gnome_vfs_volume_unmount        (GnomeVFSVolume *volume,
                                                 GnomeVFSVolumeOpCallback callback,
                                                 gpointer user_data);

`volume` : |
`callback` : |
`user_data` : |

Since 2.6

### gnome_vfs_volume_unref ()

    void        gnome_vfs_volume_unref          (GnomeVFSVolume *volume);

Decreases the refcount of the `volume` by 1.

`volume` : | a GnomeVFSVolume.

Since 2.6

### gnome_vfs_connect_to_server ()

    void        gnome_vfs_connect_to_server     (char *uri,
                                                 char *display_name,
                                                 char *icon);

`uri` : |
`display_name` : |
`icon` : |

Since 2.6