Virtual Method
GioActionGroupactivate_action
since: 2.28
Declaration [src]
void
activate_action (
GActionGroup* action_group,
const gchar* action_name,
GVariant* parameter
)
Description [src]
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 method. 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 method.