### Virtual Method

# Gio ActionGroup activate_action

since: 2.28

#### Declaration

    void
    activate_action (
      GActionGroup* action_group,
      const gchar* action_name,
      GVariant* parameter
    )

#### Description

Activate the named action within `action_group`.

If the action is expecting a parameter, then the correct type of parameter must be given as `parameter`. If the action is expecting no parameters then `parameter` must be `NULL`. See g_action_group_get_action_parameter_type().

If the `GActionGroup` implementation supports asynchronous remote activation over D-Bus, this call may return before the relevant D-Bus traffic has been sent, or any replies have been received. In order to block on such asynchronous activation calls, `g_dbus_connection_flush()` should be called prior to the code, which depends on the result of the action activation. Without flushing the D-Bus connection, there is no guarantee that the action would have been activated.

The following code which runs in a remote app instance, shows an example of a “quit” action being activated on the primary app instance over D-Bus. Here `g_dbus_connection_flush()` is called before `exit()`. Without g_dbus_connection_flush(), the “quit” action may fail to be activated on the primary instance.

    // call "quit" action on primary instance
    g_action_group_activate_action (G_ACTION_GROUP (app), "quit", NULL);

    // make sure the action is activated now
    g_dbus_connection_flush (...);

    g_debug ("application has been terminated. exiting.");

    exit (0);

Available since: 2.28

#### Parameters

`action_name`

  Type: `const gchar*`

  The name of the action to activate.

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

`parameter`

  Type: `GVariant`

  Parameters to the activation.

  The argument can be `NULL`.
  The data is owned by the caller of the function.