VariantG.getChildValue

Reads a child item out of a container #GVariant instance. This includes variants, maybes, arrays, tuples and dictionary entries. It is an error to call this function on any other type of #GVariant.

It is an error if index_ is greater than the number of child items in the container. See glib.variant.VariantG.nChildren.

The returned value is never floating. You should free it with glib.variant.VariantG.unref when you're done with it.

Note that values borrowed from the returned child are not guaranteed to still be valid after the child is freed even if you still hold a reference to value, if value has not been serialized at the time this function is called. To avoid this, you can serialize value by calling glib.variant.VariantG.getData and optionally ignoring the return value.

There may be implementation specific restrictions on deeply nested values, which would result in the unit tuple being returned as the child value, instead of further nested children. #GVariant is guaranteed to handle nesting up to at least 64 levels.

This function is O(1).

class VariantG
getChildValue
(
size_t index
)

Parameters

index size_t

the index of the child to fetch

Return Value

Type: glib.variant.VariantG

the child at the specified index