Variant.getVa

This function is intended to be used by libraries based on #GVariant that want to provide g_variant_get()-like functionality to their users.

The API is more general than g_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 g_variant_new_va() and g_variant_get_va() 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
void
getVa
(,
string[] endptr
,
void** app
)

Parameters

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

Meta

Since

2.24