This function is intended to be used by libraries based on glib.Variant
that want to provide Variant.get-like functionality to their
users.
The API is more general than Variant.get to allow a wider range
of possible uses.
format_string must still point to a valid format string, but it only
need to be nul-terminated if endptr is NULL. If endptr is
non-NULL then it is updated to point to the first character past the
end of the format string.
app is a pointer to a va_list The arguments, according to
format_string, are collected from this va_list and the list is left
pointing to the argument following the last.
These two generalisations allow mixing of multiple calls to
Variant.newVa and Variant.getVa within a single actual
varargs call by the user.
format_string determines the C types that are used for unpacking
the values and also determines if the values are copied or borrowed,
see the section on
[GVariant format strings][gvariant-format-strings-pointers].
This function is intended to be used by libraries based on glib.Variant that want to provide Variant.get-like functionality to their users.
The API is more general than Variant.get to allow a wider range of possible uses.
format_string must still point to a valid format string, but it only need to be nul-terminated if endptr is NULL. If endptr is non-NULL then it is updated to point to the first character past the end of the format string.
app is a pointer to a va_list The arguments, according to format_string, are collected from this va_list and the list is left pointing to the argument following the last.
These two generalisations allow mixing of multiple calls to Variant.newVa and Variant.getVa within a single actual varargs call by the user.
format_string determines the C types that are used for unpacking the values and also determines if the values are copied or borrowed, see the section on [GVariant format strings][gvariant-format-strings-pointers].