方法
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
。