cheese / dde-qt-dbus-factory

Repo of auto-generated D-Bus source code which DDE used

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dde-qt-dbus-factory

dde-qt-dbus-factory 是用来统一存放 dde 使用到的自动生成的 Qt DBus 代码的仓库,这样 dde 开发者就不用在自己的项目中重复创建同样的 DBus 代码,或者从其它项目中拷贝文件到自己的项目里面。

生成代码的时候请使用 qdbusxml2cpp-fix 这个工具而不是 Qt 官方提供的 qdbusxml2cpp,这个工具的源码包含在本项目的 tools 目录下,之后也会提供相关包直接安装。

具体生成的规则如下:

  • 生成代码用的 xml 文件要存放到项目的 xml 目录下,这样以后需要更新接口的时候,代码审核可以清晰看到接口的变动;
  • 文件名统一为相应 DBus Interface 的全小写并用 _ 替换 .
  • 类名统一为 DBus Interface 的最后一个单词,使用过程中使用命名空间引用(或者自己起别名)。

举个简单的例子:

比如我需要生成 org.freedesktop.NotificationsDBus 代码,那么先要生成 org.freedesktop.Notifications.xml 文件,把接口相应的描述信息写入丢到 xml 目录下,然后使用命令:

qdbusxml2cpp -c Notifications -p org_freedesktop_notifications xml/org.freedesktop.Notifications.xml

生成相应的代码即可。

注: 生成过程中遇到的复杂类型需要自定义类型的,统一放在相应的生成文件内以自包容。

About

Repo of auto-generated D-Bus source code which DDE used

License:GNU General Public License v3.0


Languages

Language:C++ 92.1%Language:C 4.7%Language:QMake 2.3%Language:Python 0.9%