我正在尝试创建利用 D-Bus 的程序。我已经研究了 Qt 提供的示例。在其中一个名为“D-Bus 遥控车示例”的文件中,有一个名为“car.xml”的文件,其内容如下:
<!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>
如果我没记错的话,应该使用名为“qdbuscpp2xml”的工具生成此文件。当我使用此命令生成 xml 时:
$ qdbuscpp2xml -A car.h -o car2.xml
我在生成的 XML 文件中得到以下内容:
<!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>
这与 car.xml 的不同之处在于以下几行:
<node name="/com/trollech/examples/car">
<interface name="org.example.Examples.CarInterface">
为什么我得到一个不同的文件?包含的文件 (car.xml) 是手动创建的示例吗?