1

使用 gdbus codegen,结构/对象在 xml 中定义为完整类型,如下所示

<method name="GetInfo">
 <arg direction="out" type="(sib)" name="info"/>
</method>

但是,如果在多个地方使用相同的结构,重复类型定义会有点痛苦,尤其是当签名稍后更改时。

<method name="GetInfoList">
 <arg direction="out" type="a(sib)" name="info_list"/>
</method>

那么,有没有办法为结构定义别名或其他东西,我们不必在多个地方维护相同的东西?哦,不幸的是,在这种情况下使用 Qt 绑定不是一个选项。

问候,

4

1 回答 1

1

那么,有没有办法为结构定义别名或其他东西,我们不必在多个地方维护相同的东西?

不,那里没有。这是使用gdbus-codegen. 如果您想为 API 中的每种 D-Bus 类型定义一个结构,您需要手动实现您的服务/客户端,而无需gdbus-codegen使用g_dbus_connection_register_object().

于 2017-10-03T08:24:59.000 回答