Мне нужно написать приложение на C для асинхронной отправки и чтения сообщений в очереди сообщений dbus. Я прочитал, что для этого я должен использовать объекты DBusWatch
и DBusTimeout
, которые предоставляет соединение, но я не могу найти пример того, как их использовать в любом месте...
На данный момент я использую dbus_connection_read_write_dispatch
для этого, но я читал, что это не рекомендуется для асинхронных операций, поэтому я буду иметь переключиться на создание моего собственного main loop
и использовать его...
Самый близкий ответ на мой вопрос был следующим:
http://lists.freedesktop.org/archives/dbus/2007-September/008555.html,
предлагая просмотреть файл dbus-gmain.c, который я сделал, но все, что я нашел, было вызвано dbus_connection_set_watch_functions
и dbus_connection_set_timeout_functions
, с другими функциями в качестве параметров - следует ли перезаписать эти функции? Должен ли я использовать их такими, какие они есть?
Я просто не могу понять, как их использовать, чтобы читать и записывать что-то в очередь сообщений dbus...
Любая идея была бы более чем приветствуется...