Function

Gio-2.0Giodbus_gvalue_to_gvariantSince 2.30

  • Converts a GObject.Value to a GLib.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 GLib.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 GObject.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 GLib.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 g_dbus_gvariant_to_gvalue() function for how to convert a GLib.Variant to a GObject.Value.

    Parameters

    Returns GLib.Variant

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

    2.30