gvalue_to_gvariant
Description:
Converts a Value to a Variant
of the type indicated by the type
parameter.
The conversion is using the following rules:
- `G_TYPE_STRING`: 's', 'o', 'g' or 'ay'
- `G_TYPE_STRV`: 'as', 'ao' or '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`: Any VariantType
This can fail if e.g. gvalue
is of type g_type_string and type
is 'i', i.e.
g_variant_type_int32. It will also fail for any Type
(including e.g. g_type_object and g_type_boxed derived-types) not in the
table above.
Note that if gvalue
is of type g_type_variant and its value is null
, the empty Variant instance (never null) for
type
is returned (e.g. 0 for scalar types, the empty string for string types, '/' for object path types, the empty array for any
array type and so on).
See the gvariant_to_gvalue function for how to convert a Variant to a Value.
Parameters:
gvalue | |
type |
Returns:
A Variant (never floating) of
VariantType |