Добавяне на кортеж в 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>

но не ми позволява да уточня, тъй като, когато го правя, получавам грешката, тъй като очакваната стойност е нула

<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).. моля, дайте ми отговор Благодаря предварително


person Community    schedule 17.02.2015    source източник


Отговори (1)


Можете да го използвате като,

 <method name='YourMethod'>"
    <arg type='i' name='name1' direction='in'/>"
     <arg type='i' name='name2' direction='in'/>"
 </method>"

и можете да използвате (ii) кортежен формат за извикване на метода

person Akhil V Suku    schedule 23.02.2015