在 gdbus 自省中添加元组 xml
Add tuple in gdbus introspection xml
如何接收多个 int32 值,即当我接收一个值时,我需要将其指定为 type=i ,
<method name="foo3" >
<annotation name="org.dsource.dbus.d.Returns" value="bar"/>
<arg name="bar" type="i" direction="in"/>
</method>
但它不允许我指定为,当我这样做时我收到错误,因为期望值为 null
<method name="foo3" >
<annotation name="org.dsource.dbus.d.Returns" value="bar"/>
<arg name="bar" type="ii" direction="in"/>
</method>
那我试过了
<method name="foo3" >
<annotation name="org.dsource.dbus.d.Returns" value="bar"/>
<arg name="bar" type="(ii)" direction="in"/>
</method>
错误信息是:
Error org.freedesktop.DBus.Error.InvalidArgs: Type of message, '(ii)',
does not match expected type '((ii))'
它给出错误,因为预期值为 ((ii)),我需要得到的是我需要将预期值更改为 (ii).. 请给我答案
提前致谢
您可以将其用作 ,
<method name='YourMethod'>"
<arg type='i' name='name1' direction='in'/>"
<arg type='i' name='name2' direction='in'/>"
</method>"
你可以使用(ii)元组格式来调用方法
如何接收多个 int32 值,即当我接收一个值时,我需要将其指定为 type=i ,
<method name="foo3" >
<annotation name="org.dsource.dbus.d.Returns" value="bar"/>
<arg name="bar" type="i" direction="in"/>
</method>
但它不允许我指定为,当我这样做时我收到错误,因为期望值为 null
<method name="foo3" >
<annotation name="org.dsource.dbus.d.Returns" value="bar"/>
<arg name="bar" type="ii" direction="in"/>
</method>
那我试过了
<method name="foo3" >
<annotation name="org.dsource.dbus.d.Returns" value="bar"/>
<arg name="bar" type="(ii)" direction="in"/>
</method>
错误信息是:
Error org.freedesktop.DBus.Error.InvalidArgs: Type of message, '(ii)', does not match expected type '((ii))'
它给出错误,因为预期值为 ((ii)),我需要得到的是我需要将预期值更改为 (ii).. 请给我答案 提前致谢
您可以将其用作 ,
<method name='YourMethod'>"
<arg type='i' name='name1' direction='in'/>"
<arg type='i' name='name2' direction='in'/>"
</method>"
你可以使用(ii)元组格式来调用方法