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 get_action_parameter_type.

If the 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, 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 flush is called before `exit()`. Without 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);

Parameters:

this

a ActionGroup

action_name

the name of the action to activate

parameter

parameters to the activation