### Method

# Gio MenuAttributeIter get_next

since: 2.32

#### Declaration

    gboolean
    g_menu_attribute_iter_get_next (
      GMenuAttributeIter* iter,
      const gchar** out_name,
      GVariant** value
    )

#### Description

This function combines `g_menu_attribute_iter_next()` with `g_menu_attribute_iter_get_name()` and g_menu_attribute_iter_get_value().

First the iterator is advanced to the next (possibly first) attribute. If that fails, then `FALSE` is returned and there are no other effects.

If successful, `name` and `value` are set to the name and value of the attribute that has just been advanced to. At this point, `g_menu_attribute_iter_get_name()` and `g_menu_attribute_iter_get_value()` will return the same values again.

The value returned in `name` remains valid for as long as the iterator remains at the current position. The value returned in `value` must be unreffed using `g_variant_unref()` when it is no longer in use.

Available since: 2.32

#### Parameters

`out_name`

  Type: `const gchar**`

  The type of the attribute.

  The argument will be set by the function.
  The argument can be `NULL`.
  The data is owned by the instance.
  The value is a NUL terminated UTF-8 string.

`value`

  Type: `GVariant`

  The attribute value.

  The argument will be set by the function.
  The argument can be `NULL`.
  The caller of the method takes ownership of the data, and is responsible for freeing it.

#### Return value

Type: `gboolean`

`TRUE` on success, or `FALSE` if there is no additional attribute.