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].

class Variant
string[] endptr
void** app


formatString string

a string that is prefixed with a format string

endptr string[]

location to store the end pointer, or NULL

app void**

a pointer to a va_list