Как я могу получить несколько значений int32, т.е. когда я получаю одно значение, мне нужно указать его как type = i,
<method name="foo3" >
<annotation name="org.dsource.dbus.d.Returns" value="bar"/>
<arg name="bar" type="i" direction="in"/>
</method>
но это не позволяет мне указать как, когда я делаю это, я получаю ошибку, так как ожидаемое значение равно нулю
<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>
Сообщение об ошибке:
Ошибка org.freedesktop.DBus.Error.InvalidArgs: тип сообщения, ‘(ii)’,
не соответствует ожидаемому типу ‘((ii))’
Это дает ошибку, так как ожидаемое значение ((II)), что мне нужно получить, мне нужно изменить ожидаемое значение как (II) .. пожалуйста, дайте мне ответ
заранее спасибо
Вы можете использовать его как,
<method name='YourMethod'>"<arg type='i' name='name1' direction='in'/>"<arg type='i' name='name2' direction='in'/>"</method>"
и вы можете использовать (II) формат кортежа для вызова метода