Trait gio::prelude::VfsExt [−][src]
pub trait VfsExt: 'static {
fn file_for_path(&self, path: &str) -> File;
fn file_for_uri(&self, uri: &str) -> File;
fn supported_uri_schemes(&self) -> Vec<GString>;
fn is_active(&self) -> bool;
fn parse_name(&self, parse_name: &str) -> File;
fn register_uri_scheme(
&self,
scheme: &str,
uri_func: Option<Box_<dyn Fn(&Vfs, &str) -> File + 'static>>,
parse_name_func: Option<Box_<dyn Fn(&Vfs, &str) -> File + 'static>>
) -> bool;
fn unregister_uri_scheme(&self, scheme: &str) -> bool;
}Expand description
Required methods
fn file_for_path(&self, path: &str) -> File
fn file_for_path(&self, path: &str) -> Filefn file_for_uri(&self, uri: &str) -> File
fn file_for_uri(&self, uri: &str) -> Filefn supported_uri_schemes(&self) -> Vec<GString>
fn supported_uri_schemes(&self) -> Vec<GString>fn parse_name(&self, parse_name: &str) -> File
fn parse_name(&self, parse_name: &str) -> FileThis operation never fails, but the returned object might
not support any I/O operations if the parse_name cannot
be parsed by the Vfs module.
parse_name
a string to be parsed by the VFS module.
Returns
a File for the given parse_name.
Free the returned object with g_object_unref().
v2_50 only.Registers uri_func and parse_name_func as the File 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 File is requested with an URI containing scheme (e.g. through
File::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 register_uri_scheme() or unregister_uri_scheme().
When File::for_parse_name() is called with a parse name obtained from such file,
parse_name_func will be called to allow the File to be created again. In
that case, it’s responsibility of parse_name_func to make sure the parse
name matches what the custom File implementation returned when
FileExt::parse_name() was previously called. The implementation of
parse_name_func should not be blocking, and must not call
register_uri_scheme() or unregister_uri_scheme().
It’s an error to call this function twice with the same scheme. To unregister
a custom URI scheme, use unregister_uri_scheme().
scheme
an URI scheme, e.g. “http”
uri_func
a GVfsFileLookupFunc
uri_data
custom data passed to be passed to uri_func, or None
uri_destroy
function to be called when unregistering the
URI scheme, or when self is disposed, to free the resources used
by the URI lookup function
parse_name_func
a GVfsFileLookupFunc
parse_name_data
custom data passed to be passed to
parse_name_func, or None
parse_name_destroy
function to be called when unregistering the
URI scheme, or when self is disposed, to free the resources used
by the parse name lookup function
Returns
true if scheme was successfully registered, or false if a handler
for scheme already exists.
fn unregister_uri_scheme(&self, scheme: &str) -> bool
fn unregister_uri_scheme(&self, scheme: &str) -> boolv2_50 only.Unregisters the URI handler for scheme previously registered with
register_uri_scheme().
scheme
an URI scheme, e.g. “http”
Returns
true if scheme was successfully unregistered, or false if a
handler for scheme does not exist.