函数
Gio动作parse_detailed_name
自从:2.38
声明 [src]
gboolean
g_action_parse_detailed_name (
const gchar* detailed_name,
gchar** action_name,
GVariant** target_value,
GError** error
)
描述 [src]
解析一个详细的动作名到其单独的名字和目标组件。
详细动作名可以有三种格式。
第一种格式用于表示无目标值的动作名,仅由动作名组成,不包含空白,以及字符 :
,(
或 )
。例如:app.action
。
第二种格式用于表示目标值为非空字符串(仅由字母数字、-
和 .
组成)的动作。在这种情况下,动作名和目标值通过双冒号(::
)分隔。例如:app.action::target
。
第三种格式用于表示目标值为任何类型,包括字符串的动作。目标值跟在动作名后面,用括号括起来。例如:app.action(42)
。目标值使用 g_variant_parse()
解析。如果需要元组类型的值,必须以相同的方式指定,从而形成两对括号,例如:app.action((1,2,3))
。也可以用这种方式指定字符串目标值:app.action('target')
。对于字符串,如果目标值是空的或包含除字母数字、-
和 .
之外的字符,必须使用此第三种格式。
如果这个函数返回 TRUE
,则在 action_name
(如果传递了指针)中保证返回非 NULL
的值。在 target_value
中仍然可能返回 NULL
,因为 detailed_name
可能不包含目标。
如果返回值,则存储在 target_value
中的 GVariant
保证不会是浮动的。
自从:2.38
参数
detailed_name
-
类型:
const gchar*
详细的动作名。
数据由函数调用者拥有。 值是空终止的 UTF-8 字符串。 action_name
-
类型:
gchar**
动作名。
该参数将由函数设置。 该参数可以是 NULL
。函数的调用者将接收返回的数据的所有权,并负责释放它。 值是空终止的 UTF-8 字符串。 target_value
-
类型:
GVariant
目标值,如果没有目标则用
NULL
表示。该参数将由函数设置。 函数可以将该参数设置为 NULL
。该参数可以是 NULL
。函数的调用者将接收返回的数据的所有权,并负责释放它。 error
-
类型:
GError **
一个可恢复错误的返回位置。
该参数可以是 NULL
。如果返回位置不是 NULL
,那么你必须将其初始化为一个空的GError*
。如果没有错误,函数会将该参数初始化为 NULL
。在发生错误的情况下,该参数将设置为一个新的 GError
;调用者将接管数据,并负责释放它。