方法

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
数据由方法调用者拥有。