Method

GLibVariantget_va

since: 2.24

Declaration

void
g_variant_get_va (
  GVariant* value,
  const gchar* format_string,
  const gchar** endptr,
  va_list* app
)

Description

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.

Available since: 2.24

This method is not directly available to language bindings.

Parameters

format_string

Type: const gchar*

A string that is prefixed with a format string.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
endptr

Type: const gchar**

Location to store the end pointer, or NULL.

The argument can be NULL.
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
app

Type: va_list*

A pointer to a #va_list.

The data is owned by the caller of the function.