## GVfs

GVfs — Virtual File System

## Synopsis

    #include <gio/gio.h>

                        GVfs;
    #define             G_VFS_EXTENSION_POINT_NAME
    GFile *             g_vfs_get_file_for_path             (GVfs *vfs,
                                                             const char *path);
    GFile *             g_vfs_get_file_for_uri              (GVfs *vfs,
                                                             const char *uri);
    GFile *             g_vfs_parse_name                    (GVfs *vfs,
                                                             const char *parse_name);
    GVfs *              g_vfs_get_default                   (void);
    GVfs *              g_vfs_get_local                     (void);
    gboolean            g_vfs_is_active                     (GVfs *vfs);
    const gchar* const * g_vfs_get_supported_uri_schemes    (GVfs *vfs);

## Object Hierarchy

      GObject
       +----GVfs

## Description

Entry point for using GIO functionality.

## Details

### GVfs

    typedef struct _GVfs GVfs;

Virtual File System object.

### G_VFS_EXTENSION_POINT_NAME

    #define G_VFS_EXTENSION_POINT_NAME "gio-vfs"

Extension point for GVfs functionality. See Extending GIO.

### g_vfs_get_file_for_path ()

    GFile *             g_vfs_get_file_for_path             (GVfs *vfs,
                                                             const char *path);

Gets a GFile for `path`.

`vfs` : | a GVfs.
`path` : | a string containing a VFS path.
Returns : | a GFile. Free the returned object with `g_object_unref()`.

### g_vfs_get_file_for_uri ()

    GFile *             g_vfs_get_file_for_uri              (GVfs *vfs,
                                                             const char *uri);

Gets a GFile for `uri`.

This operation never fails, but the returned object might not support any I/O operation if the URI is malformed or if the URI scheme is not supported.

`vfs` : | aGVfs.
`uri` : | a string containing a URI
Returns : | a GFile. Free the returned object with `g_object_unref()`.

### g_vfs_parse_name ()

    GFile *             g_vfs_parse_name                    (GVfs *vfs,
                                                             const char *parse_name);

This operation never fails, but the returned object might not support any I/O operations if the `parse_name` cannot be parsed by the GVfs module.

`vfs` : | a GVfs.
`parse_name` : | a string to be parsed by the VFS module.
Returns : | a GFile for the given `parse_name`. Free the returned object with `g_object_unref()`.

### g_vfs_get_default ()

    GVfs *              g_vfs_get_default                   (void);

Gets the default GVfs for the system.

Returns : | a GVfs.

### g_vfs_get_local ()

    GVfs *              g_vfs_get_local                     (void);

Gets the local GVfs for the system.

Returns : | a GVfs.

### g_vfs_is_active ()

    gboolean            g_vfs_is_active                     (GVfs *vfs);

Checks if the VFS is active.

`vfs` : | a GVfs.
Returns : | `TRUE` if construction of the `vfs` was successful and it is now active.

### g_vfs_get_supported_uri_schemes ()

    const gchar* const * g_vfs_get_supported_uri_schemes    (GVfs *vfs);

Gets a list of URI schemes supported by `vfs`.

`vfs` : | a GVfs.
Returns : | a `NULL`-terminated array of strings. The returned array belongs to GIO and must not be freed or modified.