函数
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
的文件。
如果trusted
为TRUE
,则信任gschemas.compiled
不会被损坏。这种假设具有性能优势,但可能在文件损坏的情况下导致崩溃或不一致的行为。通常,您应该将系统安装的文件的trusted
设置为TRUE
,而对于家目录中的文件设置为FALSE
。
在任一情况下,空文件或文件的某些类型损坏将导致返回G_FILE_ERROR_INVAL
。
如果parent
非空,则有两个影响:
首先,如果使用递归标志调用g_settings_schema_source_lookup()
且源中没有找到schema,就会递归到父级。
其次,在此源内部指定的对其他schema的引用(即:child
或extends
)可以从parent
解析。
由于第二个原因,除非在非常不寻常的情况下,否则parent
应可能是default schema source,如通过g_settings_schema_source_get_default()返回的那样。
自版本:2.32
参数
目录
-
类型:
const gchar*
目录的文件名。
数据由函数的调用者拥有。 值是一个平台本地的字符串,在Unix上使用首选的OS编码,在Windows上使用UTF-8。 父级
-
一个
GSettingsSchemaSource
,或者NULL
。参数可以不传。 数据由函数的调用者拥有。 信任
-
类型:
gboolean
TRUE
,如果目录是受信任的。 错误
-
类型:
GError **
一个可恢复错误的返回位置。
参数可以不传。 如果返回位置不是 NULL
,则必须将其初始化为NULL
GError*
。如果没有错误,函数将保留此参数初始化为 NULL
。在错误的情况下,参数将被设置为一个新的 GError
,调用者将负责它的数据,并负责释放它。