3

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

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

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

4

1 回答 1

0

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

  1. class MyService : public QObject, public QDBusContext有私有成员“m_interface1”和“m_interface2”
  2. interface1interface2是从(派生的QDBusAbstractAdaptor类派生的
  3. 实例化interface1interface2用作它们的父MyService指针时
  4. MyService使用 D-Bus注册指针QDBusConnection::registerObject("/", myService)
于 2017-07-21T15:44:39.707 回答