Web lists-archives.com

Re: D-Bus signal parameter and incorrect xml generation




El dimecres, 10 d’agost de 2016, a les 23:00:19 CEST, Aditya Sharma va 
escriure:
> Hey !
> 
> I'm trying to pass a QVariantMap as a D-Bus signal parameter so that the
> intended application gets the updated data every time that signal is
> emitted.

Do you have a branch/repository or sample code where this happens? Much easier 
to debug if the code is ready for tetsing than if we have to re-create the 
problem scenario you have from scratch.

Cheers,
  Albert

> 
> I have a class A, in which I have a Q_SIGNAL, as:
> 
> void update(QVariantMap map)
> 
> Inside CMakeLists.txt, I call qt5_generate_dbus_interface with OPTIONS -M -S
> The generated XML snippet is something like this :-
> 
>     <signal name="update">
>       <arg name="map" type="a{sv}" direction="out"/>
>       <annotation name="org.qtproject.QtDBus.QtTypeName.Out0"
> value="QVariantMap"/>
> 
> 
> Further in CMake, I do a qt5_add_dbus_adaptor on the generated xml file. On
> compilation, I get the following error although (and make fails):
> 
> " You should add <annotation name="org.qtproject.QtDBus.QtTypeName.In0"
> value="<type>"/> to the XML description "
> 
> 
> (Notice the In0 and Out0 in the two annotations)
> 
> 
> Now, I proceeded and did what the compilation error said, and changed the
> annotation accordingly in the signal. And everything worked.
> 
> Does anyone have an idea, what's happening ? And why it's happening ?
> Should I just use this xml file as such, instead of generating it during
> make ?
> 
> 
> Thanks
> Aditya