dbusGvalueToGvariant

fun dbusGvalueToGvariant(gvalue: <Error class: unknown class>, type: <Error class: unknown class>): <Error class: unknown class>

Converts a #GValue to a #GVariant 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 #GVariantType

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 #GType (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 #GVariant 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 g_dbus_gvariant_to_gvalue() function for how to convert a #GVariant to a #GValue.

Return

A #GVariant (never floating) of #GVariantType @type holding the data from @gvalue or an empty #GVariant in case of failure. Free with g_variant_unref().

Since

2.30

Parameters

gvalue

A #GValue to convert to a #GVariant

type

A #GVariantType