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 function. The value is a NUL terminated UTF-8 string. uri_func
-
Type:
GVfsFileLookupFunc
A
GVfsFileLookupFunc
.The argument can be NULL
. uri_data
-
Type:
gpointer
Custom data passed to be passed to
uri_func
, orNULL
.The argument can be NULL
.The data is owned by the caller of the function. uri_destroy
-
Type:
GDestroyNotify
Function to be called when unregistering the URI scheme, or when
vfs
is disposed, to free the resources used by the URI lookup function.The argument can be NULL
. parse_name_func
-
Type:
GVfsFileLookupFunc
A
GVfsFileLookupFunc
.The argument can be NULL
. parse_name_data
-
Type:
gpointer
Custom data passed to be passed to
parse_name_func
, orNULL
.The argument can be NULL
.The data is owned by the caller of the function. parse_name_destroy
-
Type:
GDestroyNotify
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.The argument can be NULL
.