Несколько интерфейсов qdbus в одном пути объекта

Мне нужно знать, как представить несколько интерфейсов в одном и том же пути к объектам в рамках службы, используя привязки QDbus на сервере dbus. Я использую qdbusxml2cpp для генерации классов адаптера. Структура ниже может прояснить вопрос.

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

Пожалуйста, помогите мне, приведя пример кода, если это возможно.

1 ответ

Я просто провел последние несколько часов, борясь с этим сам. Вот как это сделать:

  1. class MyService : public QObject, public QDBusContext имеет закрытые члены "m_interface1" и "m_interface2"
  2. interface1 а также interface2 классы являются производными от QDBusAbstractAdaptor (производный) класс
  3. при создании экземпляра interface1 а также interface2 использовать в качестве родителя MyService указатель для них
  4. регистр MyService указатель на D-Bus с помощью QDBusConnection::registerObject("/", myService)
Другие вопросы по тегам