dbus 数据类型

版权声明:本文系作者原创。未经许可,不得转载。

参考文档:
在XML文件中,定义dbus的信号和槽函数,然后用qdbusxml2cpp工具生成代码。
用命令查看版本号,必须大于等于0.8,否则不支持新特性。
$ qdbusxml2cpp  -V
qdbusxml2cpp version 0.8
D-Bus binding tool for Qt

XML解释如下:
name:参数名
direction: in为传入;out为传出
method: 槽函数
signal:信号函数
type:
s: string  对应于QT中的QString
b:bool   对应于QT中的bool
i:int32   对应于QT中的int
a:array   对应于QT中的QList
():struct   对应于QT中的QVariant        注:在信号函数中,不能用r表示struct。槽函数中可以。 
as: 类型为string的array,对应于QT中的QStringList 或者  QList < QString >
ai: 类型为int32的array,对应于QT中的QList < int >
(ii): 类型为含有两个int32的struct。对应于QT中的QVariant
a(sss):   类型为struct的array, struct中包含三个string字段.对应于QT中的QVariantList
{sv}: 键值对 其中 key为string,value为Variant, 对应于QT中的QMap
a{sv}: 类型为键值对的数组,键值对中 key为string,value为VariantQVariantMap

复合类型必须使用annotation来指定dbus数据类型与QT数据类型的对应值



  
    
      
    
    
      
      
    
    
      
      
    
    
      
      
    
    
      
      
    
    
      
      
      
      
    
    
      
      
    
    
      
      
    
    
      
      
      
      
    
    
      
      
      
    
    
      
      
      
    
    
      
      
      
      
      
    
  







  
    
       
       
       
    
    
      
      
      
    
    
       
       
       
       
        
      
        
      
    
  

你可能感兴趣的:(dbus)