gpt4 book ai didi

c++ - 在 dbus-cxx 中调用方法后接收多个参数

转载 作者:太空宇宙 更新时间:2023-11-04 13:12:49 28 4
gpt4 key购买 nike

我使用 dbus-cxx通过 dbus 进行方法调用。现在有返回多个参数的方法,我不知道如何接收第一个参数以外的任何参数。

我初始化代理方法:

DBus::MethodProxy<int>& info_proxy = *(object->create_method<int>(ServerName, "Info"));

当我获取返回值时,在这种情况下它只是三个可能输出的第一个值。

描述方法的 XML 如下所示:

<method name="Info">
<arg type="i" direction="out" name="rate"/>
<arg type="i" direction="out" name="freq"/>
<arg type="i" direction="out" name="nch"/>
</method>

从 QDBusViewer 中调用该方法会提供输出 Arguments: 1813099, 44100, 2 因此它提供了三个输出,但我不知道如何访问它们。

编辑: 我通过使用工具 dbus-cxx-xml2cpp 得到了它的工作 我得到了一个使用 DBus::CallMessage 而不是 DBus::MethodProxy。生成的回复包含该方法返回的所有参数。

最佳答案

我通过使用工具 dbus-cxx-xml2cpp 得到了它的工作 我得到了一个使用 DBus::CallMessage 而不是 DBus 的方法定义::方法代理。生成的回复包含该方法返回的所有参数。

关于c++ - 在 dbus-cxx 中调用方法后接收多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956346/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com