方法
GioVfsregister_uri_scheme
自:2.50
声明 [源代码]
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
)
描述 [源代码]
将 uri_func 和 parse_name_func 注册为匹配方案 scheme 的 URI 和解析名字查找函数。请注意,与 GVfs 后端不同,方案仅在运行中的应用程序中注册,而不是在桌面范围内。
当请求包含 scheme 的 GFile (例如通过 g_file_new_for_uri())时,将调用 uri_func 以允许自定义构造函数。《uri_func》 的实现不应阻塞,并且不得调用 g_vfs_register_uri_scheme() 或 g_vfs_unregister_uri_scheme()。
当使用从此类文件获取的解析名字调用 g_file_parse_name() 时,将调用 parse_name_func 以允许再次创建 GFile。在这种情况下,parse_name_func 负责确保解析名字与之前调用 g_file_get_parse_name() 时自定义 GFile 实现返回的名称相匹配。《parse_name_func》 的实现不应阻塞,并且不得调用 g_vfs_register_uri_scheme() 或 g_vfs_unregister_uri_scheme()。
以相同的方案调用此函数两次是错误的。要注销自定义 URI 方案,请使用 g_vfs_unregister_uri_scheme()。
自:2.50
参数
scheme-
类型:
const char*一个 URI 方案,例如 “http”。
数据由方法调用者所有。 该值是一个以 NUL 结尾的 UTF-8 字符串。 uri_func-
一个
GVfsFileLookupFunc。参数可以是 NULL。 uri_data-
类型:
gpointer传递给
uri_func的自定义数据,或者NULL。参数可以是 NULL。数据由方法调用者所有。 uri_destroy-
类型:
GDestroyNotify注销 URI 方案或在
vfs处置时调用的函数,以释放由 URI 查找函数使用的资源。参数可以是 NULL。 parse_name_func-
一个
GVfsFileLookupFunc。参数可以是 NULL。 parse_name_data-
类型:
gpointer传递给
parse_name_func的自定义数据,或者NULL。参数可以是 NULL。数据由方法调用者所有。 parse_name_destroy-
类型:
GDestroyNotify注销 URI 方案或在
vfs处置时调用的函数,以释放由解析名字查找函数使用的资源。参数可以是 NULL。