如何使用D-Bus low-level public API在会话总线上注册对象、接口和方法?
我读过很多关于DBus的东西,我能找到的最好的资源是Using the DBUS C API,它描述了如何在总线上请求一个名称(除其他外),我已经成功地做到了,但是我无法在它上调用一个方法,当我用D-Feet查看它时,在我创建的名称下没有列出任何对象。这使我认为注册一个对象、接口和方法还有一些额外的步骤,这些步骤不在上述指南中(除非我在读了十几遍之后还是漏掉了一些东西)。
我对使用低级公共API调用方法的能力很有信心,因为我已经成功地使用它来调用现成应用程序公开的DBus方法。
请注意,我对任何DBus Bindings都不感兴趣。谢谢

最佳答案

答案就在我想的问题上。我认为我不能调用我创建的方法的原因是,在方法call DBus消息的path参数中没有前导斜杠。如所示:
/com/example/whatever正确
com/example/whatever不正确
我在问题中引用的指南有最低要求。我认为我不能在D-feet中看到该方法的原因是它依赖于内省方法调用,而我没有实现内省方法调用。

关于c - 注册dbus对象并使用低级API进行接口(interface),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22800661/

10-13 07:34