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
해당 오브젝트 인터페이스 구현을 추가하는 방법이 없다.
그리고이 오브젝트를 DBus 서비스에 공개하려고합니다.
QDBusConnection conn=QDBusConnection::sessionBus();
conn.registerObject("/obj",new DBusAdaptor????(&myObject));
나는 이것을 달성하기 위해 내 자신의 어댑터를 구현하는이 있습니까?
감사합니다. 예를 들어 dbus-cxx 프로젝트는 객체 당 여러 인터페이스를 더 잘 지원합니다. – xtofl
상속받을 수는 없지만, QDBusAbstractAdaptor의 다중 상속을 사용하여 두 개의 DBus 인터페이스를 구현할 필요가 없습니다. –