Method

GLibVariantget_va

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][gvariant-format-strings-pointers].

Available since:2.24

Parameters

format_string const gchar*
 

A string that is prefixed with a format string.

 The data is owned by the caller of the function.
 The string is a NUL terminated UTF-8 string.
endptr 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 string is a NUL terminated UTF-8 string.
app va_list*
 

A pointer to a #va_list.

 The data is owned by the caller of the function.