函数
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() 释放。
| 函数的调用者拥有数据,并负责释放它。 |