函数
Giodbus_gvalue_to_gvariant
自从:2.30
声明 [源]
GVariant*
g_dbus_gvalue_to_gvariant (
const GValue* gvalue,
const GVariantType* type
)
描述 [源]
将 GValue
转换为 type
参数指示类型的 GVariant
。
转换遵循以下规则
G_TYPE_STRING
:‘s’,‘o’,‘g’ 或 ‘ay’G_TYPE_STRV
:‘as’,‘ao’ 或 ‘aay’G_TYPE_BOOLEAN
:‘b’G_TYPE_UCHAR
:‘y’G_TYPE_INT
:‘i’,‘n’G_TYPE_UINT
:‘u’,‘q’G_TYPE_INT64
:‘x’G_TYPE_UINT64
:‘t’G_TYPE_DOUBLE
:‘d’G_TYPE_VARIANT
:任何GVariantType
如果例如 gvalue
是 G_TYPE_STRING
类型且 type
为 ‘i’,即 G_VARIANT_TYPE_INT32
,则这可能失败。对于表上未列出的任何 GType
(包括例如 G_TYPE_OBJECT
和 G_TYPE_BOXED
派生类型),也会失败。
注意,如果 gvalue
为 G_TYPE_VARIANT
类型且其值为 NULL
,则返回空 GVariant
实例(从未为 NULL
),对于 type
为空(例如标量类型为 0,字符串类型为空字符串,对象路径类型为‘/’,数组类型为空数组等)。
有关如何将 GVariant
转换为 GValue
的信息,请参阅 g_dbus_gvariant_to_gvalue()
函数。
从版本 2.30 可用
参数
gvalue
-
类型:
GValue
要转换为
GVariant
的GValue
。数据由函数的调用者拥有。 type
-
类型:
GVariantType
一个
GVariantType
。数据由函数的调用者拥有。
返回值
类型: GVariant
一个 GVariant
(永不浮动)的 GVariantType
type
,包含来自 gvalue
的数据或失败时的空 GVariant
。使用 g_variant_unref()
释放。
函数的调用者拥有数据,并负责释放它。 |