2

我在 Qt 中使用 qbusxml2cpp 工具将 xml 转换为 cpp 类。我使用下面的命令来转换一个名为 nm-device.xml 的 xml 文件(我从网络管理器包 v0.9.8.8 获取这个 xml 文件)

qdbusxml2cpp -v -c Devices -p Devices.h:Devices.cpp nm-device.xml 

但我收到错误,这是输出:

Got unknown type `(uu)' 你应该在 XML 描述中添加 name="org.qtproject.QtDBus.QtTypeName" value="<type>"/>

我也在谷歌上搜索过,我知道 (uu) 是一个结构,我需要将下面的行添加到 xml 文件中

name="org.qtproject.QtDBus.QtTypeName" value="<type>"/>

问题是我应该在我的情况下使用什么类型?

4

2 回答 2

2

我刚刚找到了我的解决方案。这是

<annotation name="org.qtproject.QtDBus.QtTypeName" value="DeviceDBusStateReason"/>
于 2016-10-04T01:40:04.937 回答
2

我认为没有专门封装两个 uint32 字段的 Qt 类型,因此您可能必须创建自定义类型并注册它。

您可以在此处查看教程的该部分https://techbase.kde.org/Development/Tutorials/D-Bus/CustomTypes#Edit_the_XML它正在注册一个名为“消息”的自定义类型并相应地修改 XML 文件。

于 2016-09-27T09:10:26.420 回答