Gio.dbus_gvalue_to_gvariant
function dbus_gvalue_to_gvariant(gvalue: Any, type: GLib.VariantType): GLib.Variant { // Gjs wrapper for g_dbus_gvalue_to_gvariant() }
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'][G-VARIANT-TYPE-INT32:CAPS]. It will also fail for any GLib.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 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 Gio.dbus_gvariant_to_gvalue function for how to convert a GLib.Variant to a GObject.Value.
Since 2.30
- gvalue
A GObject.Value to convert to a GLib.Variant
- type
- Returns
A GLib.Variant (never floating) of GLib.VariantType type holding the data from gvalue or null in case of failure. Free with GLib.Variant.prototype.unref.