【发布时间】:2017-06-21 18:10:58
【问题描述】:
当我们注册 DBusObjectPathVTable 时,谁会调用 message_function?即 dbus-daemon 将调用还是 dbus 主循环(_dbus_loop_run 函数)将调用?
【问题讨论】:
标签: dbus
当我们注册 DBusObjectPathVTable 时,谁会调用 message_function?即 dbus-daemon 将调用还是 dbus 主循环(_dbus_loop_run 函数)将调用?
【问题讨论】:
标签: dbus
libdbus 将从 libdbus 主循环调用DBusObjectPathVTable 的成员。您可以通过在 libdbus 源代码中查找成员来自行检查:cd dbus.git && git grep message_function 表明 dbus/dbus-object-tree.c 包含对它的所有调用。 dbus-object-tree.c 是 libdbus 的一部分。
强烈建议您使用除 libdbus 之外的 D-Bus 库其他,因为 libdbus 很难正确使用。如果可能,请改用GDBus 或QtDBus,因为它们是更高级的绑定,更易于使用。如果您需要较低级别的绑定,sd-bus 比 libdbus 更现代。
【讨论】: