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
継承はできませんが、2つのDBusインターフェースを実装するためにQDBusAbstractAdaptorの多重継承を使用する必要はありません。 –