DBus サービスを作成し、それにオブジェクトを追加します。
QDBusConnection connection = QDBusConnection::sessionBus();
connection.registerService(serviceName); // name, e.g. "foo"
QDBusConnection::sessionBus().registerObject(path, object, myoptions);
DBus モニターの「サービス」の下にオブジェクトが表示されます。ここで、オブジェクトをさらに追加したいと思いますが、別のプログラム (関連しているが独立している) からのものです。
connection.registerService(serviceName);
サービスが既に存在するため、失敗します。同じサービス名でより多くのオブジェクトを登録するにはどうすればよいですか?
背景: サービスを利用しているクライアントがいます。誰がサービスを提供しているかはわかりませんが、サービス名だけはわかります。したがって、それらは常に同じサービス名を参照します。ただし、複数のプロバイダーがサービスを提供する必要があります。
サービス名を使用しないようにしました (空の文字列、オブジェクト パスに依存するだけです)。しかし、に基づくプロキシ
QDBusAbstractInterface(serviceName, path, interfaceName.toUtf8().constData(), connection, parent)
空の ("") では動作しないようですserviceName
(正しいですか?)。