gvalue_to_gvariant


Description:


[ Version ( since = "2.30" ) ]
public Variant gvalue_to_gvariant (Value gvalue, VariantType type)

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

A Value to convert to a Variant

type

A VariantType

Returns:

A Variant (never floating) of VariantType type holding the data from gvalue or an empty Variant in case of failure. Free with g_variant_unref.


Namespace: GLib.DBus
Package: gio-2.0