Method

GLibVariantIternext_value

Declaration

GVariant*
g_variant_iter_next_value (
  GVariantIter* iter
)

Description

Gets the next item in the container. If no more items remain then NULL is returned.

Use g_variant_unref() to drop your reference on the return value when you no longer need it.

Here is an example for iterating with g_variant_iter_next_value():

  // recursively iterate a container
  void
  iterate_container_recursive (GVariant *container)
  {
    GVariantIter iter;
    GVariant *child;

    g_variant_iter_init (&iter, container);
    while ((child = g_variant_iter_next_value (&iter)))
      {
        g_print ("type '%s'\n", g_variant_get_type_string (child));

        if (g_variant_is_container (child))
          iterate_container_recursive (child);

        g_variant_unref (child);
      }
  }
Available since:2.24

Return value

Type: GVariant

A GVariant, or NULL.

The caller of the method takes ownership of the data, and is responsible for freeing it.
The return value can be NULL.