Method
GioVfsregister_uri_scheme
since: 2.50
Declaration
gboolean
g_vfs_register_uri_scheme (
GVfs* vfs,
const char* scheme,
GVfsFileLookupFunc uri_func,
gpointer uri_data,
GDestroyNotify uri_destroy,
GVfsFileLookupFunc parse_name_func,
gpointer parse_name_data,
GDestroyNotify parse_name_destroy
)
Description
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().
Available since: 2.50
Parameters
scheme-
Type:
const char*An URI scheme, e.g. “http”
The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. uri_func-
Type:
GVfsFileLookupFuncA
GVfsFileLookupFunc.The argument can be NULL. uri_data-
Type:
gpointerCustom data passed to be passed to
uri_func, orNULL.The argument can be NULL.The data is owned by the caller of the method. uri_destroy-
Type:
GDestroyNotifyFunction to be called when unregistering the URI scheme, or when
vfsis disposed, to free the resources used by the URI lookup function.The argument can be NULL. parse_name_func-
Type:
GVfsFileLookupFuncA
GVfsFileLookupFunc.The argument can be NULL. parse_name_data-
Type:
gpointerCustom data passed to be passed to
parse_name_func, orNULL.The argument can be NULL.The data is owned by the caller of the method. parse_name_destroy-
Type:
GDestroyNotifyFunction to be called when unregistering the URI scheme, or when
vfsis disposed, to free the resources used by the parse name lookup function.The argument can be NULL.