使用GDBus发射D-Bus信号而无需拥有众所周知的名称

时间:2019-03-17 17:40:03

标签: glib dbus gdbus

我想用dbus来通知同一系列应用程序的其他实例。 似乎要发出信号,我必须执行g_bus_own_name,在获取名称时发出信号,然后发出g_bus_unown_name。 似乎只是为了发出信号而已。 获取名称后,该应用程序的另一个实例将挂起,等待该实例“取消”名称。

不推荐使用dbus_message_new_signal / dbus_connection_send的方式。

有没有一种更简单的发送信号的方法(没有拥有名称)。

1 个答案:

答案 0 :(得分:0)

是的,正如Michael K所说,请使用g_dbus_connection_emit_signal()。您只需要拥有well-known name,就可以使总线的其他用户能够使用该众所周知的名称而不是每次连接到总线时都会更改的唯一名称来寻址您的应用程序。