qdbusxml2cpp的最大参数个数

时间:2012-09-21 10:10:07

标签: c++ linux qt

我正在使用Qt在Linux构建机器上扩展DBus接口。现有的界面工作正常,我需要添加另一个参数

生成XML的方法是:

<method name="get_card_info">
  <arg type="b" name="success" direction="out" />      
  <arg type="s" name="version" direction="out" />
  <arg type="s" name="serial" direction="out" />
  <arg type="s" name="BeginDate" direction="out" />
  <arg type="s" name="ExpirationDate" direction="out" />
  <arg type="s" name="RenewalDate" direction="out" />
  <arg type="s" name="ZipCode" direction="out" />
  <arg type="s" name="ZipCodeExtension" direction="out" />
  <!--  <arg type="u" name="cardStatus" direction="out" />  -->
</method>

代码工作正常,直到我取消注释注释掉的行,此时qdbusxml2cpp报告:

interface_dbus_p.h:39:103: error: wrong number of template arguments (9, should be 8)

即使我注释掉所有对此功能的调用,也是如此;确实这是在链接代码甚至被编译之前;这完全来自 qdbusxml2cpp 调用。

如果我将其更改为六个,七个或八个项目,XML将编译,但如果我将其增加到九,则会崩溃。

除了XML代码之外,我没有更改任何其他配置文件。

怎么了?是否有八个参数的限制?

1 个答案:

答案 0 :(得分:0)

找到它;是的,有一个限制,感谢QDBusPendingReply

“QDBusPendingReply是一个模板类,最多包含8个模板参数。这些参数是用于提取回复数据内容的类型。”

所以我的参数不超过8个:(