方法

GioSettingsget_mapped

声明 [src]

gpointer
g_settings_get_mapped (
  GSettings* settings,
  const gchar* key,
  GSettingsGetMapping mapping,
  gpointer user_data
)

描述 [src]

获取在settings中存储在key中的值,受应用级别的验证/映射。

当应用程序需要在键的值上执行某些处理(例如解析)时,应使用此函数。映射函数执行该处理。如果函数表明处理失败(例如解析错误),则再次尝试映射其他值。

这允许实现一种健壮的“自动回退到默认值”行为。

首先尝试的是用户为该键的设置值。如果映射函数无法映射此值,可能会尝试其他值,顺序未指定(系统或站点默认值,翻译后的架构默认值,未翻译的架构默认值等)。

如果映射函数对所有可能的值都失败,则尝试一个额外的尝试:传递NULL值调用映射函数。如果在此点上映射函数仍然表明失败,则应用程序将被终止。

映射函数的结果参数指向一个

gpointer,最初设置为NULL。相同的指针被给出

向每个 mapping 调用。该 #gpointer 的最终值才是由这个函数返回的。NULL 是有效的;它就像任何其他值一样被返回。

参数

key

类型: const gchar*

获取值的密钥。

数据由方法调用者拥有。
值是一个以 NUL 结尾的 UTF-8 字符串。
mapping

类型: GSettingsGetMapping

将设置数据库中的值映射到应用程序使用的值的函数。

user_data

类型: gpointer

mapping 的用户数据。

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

返回值

类型: gpointer

结果,可能为 NULL

方法的调用者负责接收返回的数据,并负责释放它。
返回值可以为 NULL