qdbus 多个接口在同一个对象路径中

Posted

技术标签:

【中文标题】qdbus 多个接口在同一个对象路径中【英文标题】:qdbus multiple interfaces in the same object path 【发布时间】:2013-07-01 09:41:49 【问题描述】:

我需要知道如何使用 dbus 服务器中的 QDbus 绑定在服务下的同一对象路径中公开多个接口。我使用 qdbusxml2cpp 来生成适配器类。 下面的结构可以清楚地说明问题。

MyService (Service Name)
/org/demo (Object path)
org.demo.interface1 (Adaptor classA)
methodA
signalA
org.demo.interface2 (Adaptor classB)
methodB
signalB

如果可能,请提供示例代码帮助我。

【问题讨论】:

一般来说应该是可以的:dbus.freedesktop.org/doc/dbus-faq.html#idp48032144 【参考方案1】:

我自己花了最后几个小时来解决这个问题。这是如何做到的:

    class MyService : public QObject, public QDBusContext 有私有成员 `m_interface1' 和 'm_interface2' interface1interface2派生QDBusAbstractAdaptor(派生)类 在实例化interface1interface2 时,将MyService 用作它们的父级指针 使用QDBusConnection::registerObject("/", myService)注册MyService指向D-Bus的指针

【讨论】:

以上是关于qdbus 多个接口在同一个对象路径中的主要内容,如果未能解决你的问题,请参考以下文章

服务器重新启动后重新连接到 QDBus 服务器 (Qt C++)

opensuse 安装 Anaconda3 之后出现Could not start d-bus. Can you call qdbus?

QDBus 接口监视 - g_bus_watch_name

在 Spring Data 中为同一 QueryDSL 路径创建多个别名

Java书签 #SpringCloud:接口请求路径添加统一的Prefix前缀

Java书签 #SpringCloud:接口请求路径添加统一的Prefix前缀