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'
interface1
和 interface2
类派生自QDBusAbstractAdaptor
(派生)类
在实例化interface1
和interface2
时,将MyService
用作它们的父级指针
使用QDBusConnection::registerObject("/", myService)
注册MyService
指向D-Bus的指针
【讨论】:
以上是关于qdbus 多个接口在同一个对象路径中的主要内容,如果未能解决你的问题,请参考以下文章
服务器重新启动后重新连接到 QDBus 服务器 (Qt C++)
opensuse 安装 Anaconda3 之后出现Could not start d-bus. Can you call qdbus?
在 Spring Data 中为同一 QueryDSL 路径创建多个别名