Class: Gio::Vfs

Inherits:
Object
  • Object
show all
Defined in:
(unknown)

Instance Method Summary collapse

Instance Method Details

#get_file_for_path(path) ⇒ Gio::File

Gets a #GFile for path.

Parameters:

  • path (String)

    a string containing a VFS path.

Returns:

  • (Gio::File)

    a #GFile. Free the returned object with g_object_unref().

#get_file_for_uri(uri) ⇒ Gio::File

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.

Parameters:

  • uri (String)

    a string containing a URI

Returns:

  • (Gio::File)

    a #GFile. Free the returned object with g_object_unref().

#is_activeTrueClass

Checks if the VFS is active.

Returns:

  • (TrueClass)

    true if construction of the vfs was successful and it is now active.

#parse_name(parse_name) ⇒ Gio::File

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.

Parameters:

  • parse_name (String)

    a string to be parsed by the VFS module.

Returns:

  • (Gio::File)

    a #GFile for the given parse_name. Free the returned object with g_object_unref().

#register_uri_scheme(scheme, uri_func, uri_data, uri_destroy, parse_name_func, parse_name_data, parse_name_destroy) ⇒ TrueClass

Registers uri_func and parse_name_func as the #GFile URI and parse name lookup functions for URIs with a scheme matching scheme. Note that scheme is registered only within the running application, as opposed to desktop-wide as it happens with GVfs backends.

When a #GFile is requested with an URI containing scheme (e.g. through g_file_new_for_uri()), uri_func will be called to allow a custom constructor. The implementation of uri_func should not be blocking, and must not call g_vfs_register_uri_scheme() or g_vfs_unregister_uri_scheme().

When g_file_parse_name() is called with a parse name obtained from such file, parse_name_func will be called to allow the #GFile to be created again. In that case, it’s responsibility of parse_name_func to make sure the parse name matches what the custom #GFile implementation returned when g_file_get_parse_name() was previously called. The implementation of parse_name_func should not be blocking, and must not call g_vfs_register_uri_scheme() or g_vfs_unregister_uri_scheme().

It’s an error to call this function twice with the same scheme. To unregister a custom URI scheme, use g_vfs_unregister_uri_scheme().

Parameters:

  • scheme (String)

    an URI scheme, e.g. “http”

  • uri_func (Gio::VfsFileLookupFunc)

    a GVfs::FileLookupFunc

  • uri_data (GObject)

    custom data passed to be passed to uri_func, or nil

  • uri_destroy (GLib::DestroyNotify)

    function to be called when unregistering the URI scheme, or when vfs is disposed, to free the resources used by the URI lookup function

  • parse_name_func (Gio::VfsFileLookupFunc)

    a GVfs::FileLookupFunc

  • parse_name_data (GObject)

    custom data passed to be passed to parse_name_func, or nil

  • parse_name_destroy (GLib::DestroyNotify)

    function to be called when unregistering the URI scheme, or when vfs is disposed, to free the resources used by the parse name lookup function

Returns:

  • (TrueClass)

    true if scheme was successfully registered, or false if a handler for scheme already exists.

#supported_uri_schemesArray<String>

Gets a list of URI schemes supported by vfs.

Returns:

  • (Array<String>)

    an array of strings. The returned array belongs to GIO and must not be freed or modified.

#unregister_uri_scheme(scheme) ⇒ TrueClass

Unregisters the URI handler for scheme previously registered with g_vfs_register_uri_scheme().

Parameters:

  • scheme (String)

    an URI scheme, e.g. “http”

Returns:

  • (TrueClass)

    true if scheme was successfully unregistered, or false if a handler for scheme does not exist.