Используя библиотеку Qt DBus, мне сложно регистрировать объект, реализующий несколько интерфейсов.Qt DBus: зарегистрировать объект, который реализует несколько интерфейсов
<node>
<interface name="x.I1"> <method name="foo"/> </interface>
<interface name="x.I2"> <method name="bar"/> </interface>
</node>
У меня есть реализация обоих интерфейсов с использованием множественного наследования C++.
class Impl : public x.I1, public x.I2 {
public:
void foo(){}
void bar(){}
};
qdbusxml2cpp
инструмент генерирует мне DBusAdaptor
для каждого из интерфейсов, но QDBusConnection
не имеет метод, чтобы добавить интерфейс Implementor к этому объекту.
И я хочу опубликовать этот объект в службе DBus.
QDBusConnection conn=QDBusConnection::sessionBus();
conn.registerObject("/obj",new DBusAdaptor????(&myObject));
У меня есть реализовать свой собственный адаптер для достижения этой цели?
спасибо. Кажется, что, например, проект dbus-cxx лучше поддерживает несколько интерфейсов на объект. – xtofl
Вы не можете наследовать, но нет необходимости использовать множественное наследование QDBusAbstractAdaptor для реализации двух интерфейсов DBus. –