方法
Gio操作组activate_action
自:2.28
声明 [源]
void
g_action_group_activate_action (
GActionGroup* action_group,
const gchar* action_name,
GVariant* parameter
)
描述 [源]
激活在action_group
中命名的动作。
如果动作期望一个参数,那么应该将正确类型的参数作为parameter
给出。如果动作不期望参数,则parameter
必须为NULL
。请参阅g_action_group_get_action_parameter_type()
。
如果GActionGroup
实现支持通过D-Bus的异步远程激活,则此调用可能会在相关的D-Bus流量被发送或收到任何回复之前返回。为了在异步激活调用上阻塞,应在依赖于动作激活结果的代码之前调用g_dbus_connection_flush()
。如果不刷新D-Bus连接,不能保证动作会得到激活。
以下在远程应用程序实例中运行的代码示例表明,在主应用程序实例上通过D-Bus激活了一个‘退出’动作。在这里,g_dbus_connection_flush()
在调用exit()
之前被调用。如果没有调用g_dbus_connection_flush()
,则‘退出’动作可能在主实例上未能成功激活。
// 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);
自:2.28
参数
action_name
-
类型:
const gchar*
要激活的动作名称。
数据由方法调用者拥有。 值是一个以空字符终止的UTF-8字符串。 parameter
-
类型:
GVariant
激活的参数。
参数可以 NULL
。数据由方法调用者拥有。