问题标签 [qdbusxml2cpp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
354 浏览

qt - 如何通过 qdbusxml2cpp 在自动生成的绑定代码中添加标头?

$qdbusxml2cpp -v -c CustomIf -p customif.h:customif.cpp org.item.custom.xml

org.item.custom.xml

如何在生成的适配器customif.h中添加标头-message.h?我不想手动将其添加为#include "message.h",但实际上希望 qdbusxml2cpp 添加包含。

0 投票
1 回答
4710 浏览

c++ - qdbusxml2cpp unknown type

While using the qdbusxml2cpp program to convert the following xml to a Qt Class, I am getting this error:

D-Feet description:

enter image description here

XML:

From this website ( http://techbase.kde.org/Development/Tutorials/D-Bus/CustomTypes ) I understand that I need to add an annotation to the XML for the tool to work properly.

Here is what I have so far:

However, I'm not sure what the annotation should be for a{oa{sa{sv}}}, can someone please help me understand? Thanks!

0 投票
1 回答
81 浏览

bash - 屏幕保护程序禁止脚本

在 KDE4 中使用 Firefox 的“插件容器”用于 Flash 播放器时,我想自动禁用屏幕保护程序。我自己没有编写原始脚本,但我对其进行了一些修改。

现在,当我运行脚本时,出现此错误:

我试图让 top 输出整数,但我做不到。

我能做些什么来解决?

问候乔治

0 投票
1 回答
2116 浏览

dbus - 尽管存在方法,但在对象路径中找不到 D-Bus 方法

我用这个 com.example.appname.desktop 文件实现了一个应用程序,如下所示:

自省 XML 如下所示:

但是当我尝试启动该方法时,它给了我一个错误:

“annotation name=..” XML 标签(见 introspection XML)是找不到这个方法的原因吗?通过浏览itmm://192.168.1.1/query?version=1.0器浏览使用命令行参数启动应用程序,但它不是通过 D-Bus 服务启动的,这就是我的要求。有没有办法通过 firefox 或 google chrome 浏览器进行调试?

0 投票
2 回答
334 浏览

qt - 使用 qdbusxml2cpp 将 xml 转换为 cpp 得到错误未知类型 (uu)

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

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

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

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

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

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

0 投票
1 回答
1731 浏览

c++ - 如何使用 qdbusxml2cpp 生成同步接口类?

问题总结: qdbusxml2cpp生成一个QDBusAbstractInterface子类,其方法异步获取 D-Bus 回复,但我希望它是同步的(即它应该阻塞,直到收到回复)。

XML 输入:

使用此命令会生成一个标头和 .cpp 文件(未显示):

生成的标头:

如您所见,生成的方法asyncCallWithArgumentList()是异步的:它期望被connect()编辑到 D-Bus 回复到达时触发的插槽。

相反,我希望能够做到:

0 投票
1 回答
572 浏览

qt - 我们可以生成抽象的 Qt D-Bus 适配器类吗?

我正在使用该工具为我的 D-Bus 服务器qdbusxml2cpp生成D-Bus 适配器类。但是,它有以下缺点:

  • 代码生成一次,然后你不应该修改它。但是如果我们必须进行更改(见下文)然后 XML 更改(当然以向后兼容的方式)怎么办?

  • 假设“适配者”具有与 D-Bus 接口完全相同的功能和签名。就我而言,这并不完全正确,例如,某些方法的名称不同。因为生成的代码使用QMetaObject::invokeMethod,这仅在运行时被检测到。如果将来可能需要重新生成生成的代码,我们也不能明智地修改它。

qdbusxml2cpp在我看来,如果能生成一个抽象类,只是一个标题,其中所有方法都是纯虚拟的,那就更好了。然后我可以编写该类的实现,它只调用适配者上的正确方法,而无需通过 Qt 元类型系统。这解决了两个问题:

  • 如果 XML 发生变化,我们只需重新生成标头。现在编译器会抱怨,直到我们正确实现新接口。

  • 我们可以自由地在“adaptee”类上调用我们喜欢的任何函数,而不是维护与公共 D-Bus 接口中完全相同的签名。

我找不到qdbusxml2cpp执行上述操作的任何工具或叉子。在我自己编写之前,上述方法是否存在我可能忽略的设计或技术问题?也许与抽象类或纯虚函数相关的元类型系统的限制?

请注意,我不仅需要使用方法,还需要使用属性和信号。

我还考虑编写一个“中间”适配器来包装“适配器”并提供 D-Bus 适配器所期望的确切接口,但 D-Bus 适配器仍将使用元类型系统和运行时检查。我们当然可以做得更好。