0
我创建一个DBus服务并向其中添加对象。如何将对象添加到来自另一个进程/程序的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
(正确吗?)工作。