使用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绑定不是一种选择。
此致
答案 0 :(得分:0)
那么,有没有办法为结构定义别名或结构,而我们不需要在多个地方保持相同的东西?
不,没有。这是使用urn:oasis:names:tc:SAML:2.0:status:Responder
的缺点之一。如果要为API中的每种D-Bus类型定义结构,则需要使用g_dbus_connection_register_object()
等函数手动实现服务/客户端,而不是gdbus-codegen
。