Излучайте сигнал D-Bus, используя GDBus, не имея известного имени - PullRequest
0 голосов
/ 17 марта 2019

Я хотел бы использовать dbus для сигнализации о других экземплярах того же семейства приложений. Кажется, что для выдачи сигнала я должен выполнить g_bus_own_name, подать сигнал при получении имени, затем g_bus_unown_name. Это похоже на немного палавы, просто чтобы послать сигнал. Когда имя будет получено, другой экземпляр приложения будет зависать, ожидая, пока этот экземпляр "не откроет" имя.

Устаревший способ dbus_message_new_signal / dbus_connection_send был намного более прямым.

Существует ли более простой способ отправки сигнала (без владения именем).

1 Ответ

0 голосов
/ 18 марта 2019

Да, как говорит Майкл К., используйте g_dbus_connection_emit_signal(). Вам нужно иметь общеизвестное имя , только если вы хотите, чтобы другие пользователи шины могли обращаться к вашему приложению по этому общеизвестному имени, а не к уникальному имени, которое меняется при каждом подключении к автобус.

...