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

时间:2013-07-03 15:43:56

标签: dbus qdbus

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

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

请尽可能通过提供示例代码来帮助我。

1 个答案:

答案 0 :(得分:0)

我过去几个小时就和自己一起战斗了。这是如何做到的:

  1. class MyService : public QObject, public QDBusContext有私人成员`m_interface1'和'm_interface2'
  2. 来自interface1(派生)类的<{1}}和interface2派生
  3. 在实例化QDBusAbstractAdaptorinterface1时,将interface2指针用作父级MyService指针
  4. 使用MyService
  5. 向D-Bus注册QDBusConnection::registerObject("/", myService)指针