在 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)元组格式来调用方法