【问题标题】:who will call message_function in dbus.谁将在 dbus 中调用 message_function。
【发布时间】:2017-06-21 18:10:58
【问题描述】:

当我们注册 DBusObjectPathVTable 时,谁会调用 message_function?即 dbus-daemon 将调用还是 dbus 主循环(_dbus_loop_run 函数)将调用?

【问题讨论】:

    标签: dbus


    【解决方案1】:

    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 很难正确使用。如果可能,请改用GDBusQtDBus,因为它们是更高级的绑定,更易于使用。如果您需要较低级别的绑定,sd-bus 比 libdbus 更现代。

    【讨论】:

      猜你喜欢
      • 2011-08-18
      • 2016-07-10
      • 2012-07-17
      • 2011-09-16
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      相关资源
      最近更新 更多