谁将在dbus中调用message_function。

时间:2017-06-21 05:01:37

标签: dbus

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

1 个答案:

答案 0 :(得分:1)

libdbus将从libdbus主循环中调用DBusObjectPathVTable的成员。您可以通过gred libdbus源代码中的成员来自己检查:cd dbus.git && git grep message_function显示dbus/dbus-object-tree.c包含对它的所有调用。 dbus-object-tree.c是libdbus的一部分。

强烈建议您使用D-Bus库其他而不是libdbus,因为libdbus很难正确使用。如果可能,请使用GDBusQtDBus,因为它们是更高级别的绑定,更易于使用。如果您需要较低级别的绑定,sd-bus比libdbus更现代。