函数

GioSettingsSchemaSourcenew_from_directory

自版本:2.32

声明 [src]

GSettingsSchemaSource*
g_settings_schema_source_new_from_directory (
  const gchar* directory,
  GSettingsSchemaSource* parent,
  gboolean trusted,
  GError** error
)

描述 [src]

尝试根据给定目录的内容创建一个新的schema源。

此函数对于正常使用GSettings并非必需,但对于插件管理系统作者可能很有用。

该目录应包含由[glib-compile-schemas][glib-compile-schemas]工具生成的名为gschemas.compiled的文件。

如果trustedTRUE,则信任gschemas.compiled不会被损坏。这种假设具有性能优势,但可能在文件损坏的情况下导致崩溃或不一致的行为。通常,您应该将系统安装的文件的trusted设置为TRUE,而对于家目录中的文件设置为FALSE

在任一情况下,空文件或文件的某些类型损坏将导致返回G_FILE_ERROR_INVAL

如果parent非空,则有两个影响:

首先,如果使用递归标志调用g_settings_schema_source_lookup()且源中没有找到schema,就会递归到父级。

其次,在此源内部指定的对其他schema的引用(即:childextends)可以从parent解析。

由于第二个原因,除非在非常不寻常的情况下,否则parent应可能是default schema source,如通过g_settings_schema_source_get_default()返回的那样。

自版本:2.32

参数

目录

类型: const gchar*

目录的文件名。

数据由函数的调用者拥有。
值是一个平台本地的字符串,在Unix上使用首选的OS编码,在Windows上使用UTF-8。
父级

类型: GSettingsSchemaSource

一个GSettingsSchemaSource,或者NULL

参数可以不传。
数据由函数的调用者拥有。
信任

类型: gboolean

TRUE,如果目录是受信任的。

错误

类型: GError **

一个可恢复错误的返回位置。

参数可以不传。
如果返回位置不是NULL,则必须将其初始化为NULL GError*
如果没有错误,函数将保留此参数初始化为NULL
在错误的情况下,参数将被设置为一个新的GError,调用者将负责它的数据,并负责释放它。

返回值

类型: GSettingsSchemaSource

没有描述。

函数的调用者将数据取为己有,并负责释放它。