在 dbus-cxx 中调用方法后接收多个参数
Receive multiple arguments after method call in dbus-cxx
我使用 dbus-cxx 通过 dbus 进行方法调用。现在有 return 多个参数的方法,我不知道如何接收第一个参数以外的任何参数。
我初始化代理方法:
DBus::MethodProxy<int>& info_proxy = *(object->create_method<int>(ServerName, "Info"));
当我获取 return 值时,在这种情况下它只是三个可能输出的第一个值。
描述方法的 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
而不是 [=14 的方法定义=].结果回复包含方法 returns.
的所有参数
我通过使用工具 dbus-cxx-xml2cpp
得到了它的工作 我得到了一个使用 DBus::CallMessage
而不是 DBus::MethodProxy
的方法定义。结果回复包含方法 returns.
的所有参数
我使用 dbus-cxx 通过 dbus 进行方法调用。现在有 return 多个参数的方法,我不知道如何接收第一个参数以外的任何参数。
我初始化代理方法:
DBus::MethodProxy<int>& info_proxy = *(object->create_method<int>(ServerName, "Info"));
当我获取 return 值时,在这种情况下它只是三个可能输出的第一个值。
描述方法的 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
而不是 [=14 的方法定义=].结果回复包含方法 returns.
我通过使用工具 dbus-cxx-xml2cpp
得到了它的工作 我得到了一个使用 DBus::CallMessage
而不是 DBus::MethodProxy
的方法定义。结果回复包含方法 returns.