如何使用qt-dbus将错误返回给dbus?

时间:2012-12-11 15:16:34

标签: qtdbus

我正在使用qt-dbus从我的软件中公开一些API。

我将带有接口声明的foo.xml转换为foo_adaptor.cpp,并通过qdbusxml2cpp将fooAdaptor类转换为foo_adaptor.h,然后通过在Foo的构造函数中调用新的FooAdaptor(this)将真实的Foo类绑定到FooAdaptor。

所以,它有效:当我通过dbus-send发送消息到我的应用程序时,会调用Foo metods。

对于我的软件的特定版本,我想禁用某些方法。 我需要以某种方式告知调用者,某些方法调用实际上是不允许的,并且没有任何意义/没有任何意义。 是否有任何函数可以调用/异常来执行此操作?

1 个答案:

答案 0 :(得分:1)

可以通过使D-Bus对象(使用QDBusConnection::registerObject()注册的对象而不是适配器)继承自QDBusContext然后使用sendErrorReply()方法来发送错误响应:

http://qt-project.org/doc/qt-5.1/qtdbus/qdbuscontext.html