activate_action


Description:

[ Version ( since = "2.28" ) ]
public abstract void activate_action (string action_name, Variant? parameter)

Activate the named action within this.

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 [method@Gio.ActionGroup.get_action_parameter_type].

If the [type@Gio.ActionGroup] 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, [ method@Gio.DBusConnection.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 [method@Gio.DBusConnection.flush] is called before `exit()`. Without `g_dbus_connection_flush()`, the ‘quit’ action may fail to be activated on the primary instance.

```c // 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); ```

Parameters:

this

a [type@Gio.ActionGroup]

action_name

the name of the action to activate

parameter

parameters to the activation