私は次の設定をしています:
- 同じ論理グループに属する 2 つのアプリケーションがあります (論理グループ = 当社の製品)
- これらの 2 つのアプリケーションは、DBus に同じインターフェイスに接続し (さらに多くの製品があり、すべて独自の DBus インターフェイスを使用する必要があります)、いくつかの機能を公開する必要があります (すべて QtDBus を使用します)。
だから私はしようとしました(矢印はC++ポインター操作ではありません:)):
App1 -> get QDBusConnection::sessionBus();
App1 -> registerService("com.una-frog.ddm")
App1 -> registerObject ("/DDM-gui")
それから
App2 -> get QDBusConnection::sessionBus();
App2 -> registerService("com.una-frog.ddm")
App2 -> registerObject ("/DDM-cli")
App1 と App2 を起動します。
この時点で、App2 は、App1 が既にサービスを登録しているため、サービスを登録できないと文句を言います。そのとおりです。
App1 を "com.una-frog.ddm. gui " に、App2 を "com.una-frog.ddm. cli " に簡単に登録できますが、1 つの共通インターフェイスと 2 つのオブジェクトを用意して、必要なものをすべて取得するようにします。行動。
同じインターフェイスに接続する 2 つの QtDBus アプリケーションを実現する方法を知っている人はいますか?