get_va


Description:

public void get_va (string format, char** end_ptr, va_list* app)

This function is intended to be used by libraries based on Variant that want to provide @get-like functionality to their users.

The API is more general than @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.va and 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.html#pointers).

Parameters:

this

a Variant

app

a pointer to a va_list

endptr

location to store the end pointer, or null

format_string

a string that is prefixed with a format string