我正在使用qt-dbus从我的软件中公开一些API。
我将带有接口声明的foo.xml转换为foo_adaptor.cpp,并通过qdbusxml2cpp将fooAdaptor类转换为foo_adaptor.h,然后通过在Foo的构造函数中调用新的FooAdaptor(this)将真实的Foo类绑定到FooAdaptor。
所以,它有效:当我通过dbus-send发送消息到我的应用程序时,会调用Foo metods。
对于我的软件的特定版本,我想禁用某些方法。 我需要以某种方式告知调用者,某些方法调用实际上是不允许的,并且没有任何意义/没有任何意义。 是否有任何函数可以调用/异常来执行此操作?
答案 0 :(得分:1)
可以通过使D-Bus对象(使用QDBusConnection::registerObject()
注册的对象而不是适配器)继承自QDBusContext
然后使用sendErrorReply()
方法来发送错误响应: