How is the "car.xml" file from dbus example called "D-Bus remote controlled car example" generated?
-
I am trying to create programs that take advantage of the D-Bus. I've studied the examples supplied with Qt about the same. In one of them called "D-Bus remote controlled car example" there is a file named "car.xml" with following content:
@<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/com/trollech/examples/car">
<interface name="org.example.Examples.CarInterface">
<method name="accelerate"/>
<method name="decelerate"/>
<method name="turnLeft"/>
<method name="turnRight"/>
<signal name="crashed"/>
</interface>
</node>@If I'm not mistaken, one is supposed to generate this file using a tool named "qdbuscpp2xml". when i generate an xml using this command:
@$ qdbuscpp2xml -A car.h -o car2.xml@
i get the following content in the generated XML file:
@<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="local.Car">
<signal name="crashed">
</signal>
<method name="accelerate">
</method>
<method name="decelerate">
</method>
<method name="turnLeft">
</method>
<method name="turnRight">
</method>
</interface>
</node>@which differs from the car.xml in following lines:
@<node name="/com/trollech/examples/car">
<interface name="org.example.Examples.CarInterface">@why am I getting a different file? was the included file (car.xml) with the example created manually?
-
so as i have come to conclude, the first line which is:
@<node name="/com/trollech/examples/car">@
is edited manually and the second line is automatically generated by including:
@Q_CLASSINFO("D-Bus Interface", "org.example.Examples.CarInterface")@
in the header of the class one would like to export before using the qdbuscpp2xml tool.