方法

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_funcparse_name_func 注册为匹配方案 scheme 的 URI 和解析名字查找函数。请注意,与 GVfs 后端不同,方案仅在运行中的应用程序中注册,而不是在桌面范围内。

当请求包含 schemeGFile (例如通过 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

一个 GVfsFileLookupFunc

参数可以是 NULL
uri_data

类型: gpointer

传递给 uri_func 的自定义数据,或者 NULL

参数可以是 NULL
数据由方法调用者所有。
uri_destroy

类型: GDestroyNotify

注销 URI 方案或在 vfs 处置时调用的函数,以释放由 URI 查找函数使用的资源。

参数可以是 NULL
parse_name_func

类型: GVfsFileLookupFunc

一个 GVfsFileLookupFunc

参数可以是 NULL
parse_name_data

类型: gpointer

传递给 parse_name_func 的自定义数据,或者 NULL

参数可以是 NULL
数据由方法调用者所有。
parse_name_destroy

类型: GDestroyNotify

注销 URI 方案或在 vfs 处置时调用的函数,以释放由解析名字查找函数使用的资源。

参数可以是 NULL

返回值

类型: gboolean

TRUE 如果 scheme 成功注册,或者 FALSE 如果存在 的处理器。