函数

g_longkeyfileg_longkeyfile_settings_backend_new

声明 [src]

GSettingsBackend*
g_keyfile_settings_backend_new (
  const gchar* filename,
  const gchar* root_path,
  const gchar* root_group
)

描述 [src]

创建一个基于键文件的 GSettingsBackend

要使用的键文件的名称由 filename 给出。

后端读取或写入的所有设置必须位于 root_path 给出的路径下(必须以斜杠开始和结束,并且不包含连续的两个斜杠)。root_path 可以是 “/”。

如果 root_group 不是 NULL,则它指定用于写入 root_path 下方直接键的键文件组名称。例如,如果 root_path 是 “/apps/example/” 且 root_group 是 “toplevel”,则将键“/apps/example/enabled”设置为 TRUE 会导致以下输出显示在键文件中

  [toplevel]
  enabled=true

如果 root_groupNULL,则不允许直接在 root_path 下方存储键。

对于不在 root_path 下方存储的键(例如:在子路径中),使用子路径名称(删除最后一个斜杠)作为键文件组的名称。继续上面的例子,如果“/apps/example/profiles/default/font-size”设置为 12,则键文件中会出现以下内容

  [profiles/default]
  font-size=12

后端将拒绝写入(并将可写性返回为 FALSE)对于不在 root_path 之外或如果 root_groupNULL,对于直接在 root_path 下的键。如果后端检测到无法重写键文件(例如:包含目录不可写入),也会拒绝写入。

未对你键命名空间与键文件格式的语法冲突进行验证。例如,如果你的路径名称中包含 ‘[’ 或 ‘]’ 或键名称中包含 ‘=’,则可能存在麻烦。

后端从由 GKeyfileSettingsBackend:defaults-dir 属性指定的目录中读取一个名为 defaults 的键文件的默认值,并从同一位置具有名为 locks 的文本文件中读取一个键列表。

参数

filename

类型: const gchar*

键文件的名称。

数据由函数的调用者拥有。
该值是一个以 NULL 结尾的 UTF-8 字符串。
root_path

类型: const gchar*

所有设置键出现的路径。

数据由函数的调用者拥有。
该值是一个以 NULL 结尾的 UTF-8 字符串。
root_group

类型: const gchar*

root_path 对应的组名称,或 NULL

参数可以是 NULL
数据由函数的调用者拥有。
该值是一个以 NULL 结尾的 UTF-8 字符串。

返回值

类型: GSettingsBackend

一个基于键文件的 GSettingsBackend

函数的调用者负责拥有数据,并负责释放它。