Я пытаюсь написать C, который использует поддержку DBus в GLib GIO.
У меня есть GDBusObjectManager
, и я использовал g_signal_connect()
, чтобы добавить обработчик к сигналу interface-added
.Подпись обработчика в соответствии с документами:
void
user_function (GDBusObjectManager *manager,
GDBusObject *object,
GDBusInterface *interface,
gpointer user_data)
Я хочу проверить, соответствует ли добавленный интерфейс интерфейсу, который мне нужен (org.bluez.Adapter1
), а затем вызвать некоторые методы из этого интерфейса.на объекте, который реализует это.Я считаю, что первым шагом является проверка соответствия имени интерфейса.Я полагаю, что мог бы сделать это, сравнивая с возвращением из const gchar *g_dbus_proxy_get_name(GDBusProxy *proxy);
, но у меня нет GDBusProxy
, у меня есть GDBusInterface
.Итак, мой вопрос: как я могу получить GDBusProxy
от GDBusInterface
?