使用Qt D-Bus 适配器

       适配器(adaptors)是继承自QObject派生类的一个特殊的类,向外部提供了使用D-Bus的接口。适配器是一个轻量级的类,旨在于间接调用实际对象,可以规范化或转换外部输入,因此,可以保护实际对象。

       与多重继承不同,适配器可以随时加入到任何对象(移除则不行),在导出现有的类的时候具有更大的灵活性。适配器的另一个优点是可以在不同接口的同名方法中提供相似但不同的功能,当添加一个新版标准接口到对象中时,这种情形相当普遍。

       为了使用适配器,必须创建一个继承QDBusAbstractAdaptor的类。既然是标准的QObject派生类,那么Q_OBJECT宏必然出现在定义中,源文件必定经moc工具处理。该类必须包含一个带有“D-Bus Interface”字样和 D-Bus接口名称的Q_CLASSINFO入口,来声明它导入了哪个接口。每个类只支持一个入口。

       类中的任何公有槽可以通过承载MethodCall类型消息的总线访问(详见在 D-Bus 适配器中定义槽)。类中的信号自动在D-Bus总线上传递。但并不是所有类型都能写入信号和槽的参数列表:详见Qt D-Bus 类型系统

       当然,任何使用Q_PROPERTY正确声明的属性都会出现在D-Bus的属性接口中。因为QObject属性系统不允许声明不合理的属性,所以不可能使用适配器定义只写属性。

        英文原文地址:http://doc.qt.io/qt-5/usingadaptors.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值