【问题标题】:How to return error to dbus using qt-dbus?如何使用 qt-dbus 将错误返回到 dbus?
【发布时间】:2012-11-29 03:42:20
【问题描述】:

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

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

所以,它起作用了:当我通过 dbus-send 向我的应用发送消息时,调用了 Foo 方法。

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

【问题讨论】:

    标签: qtdbus


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-10-09
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 2016-04-20
      相关资源
      最近更新 更多