D-BUS的基本概念:
1、消息
底层应用在D-BUS上的通信通过发消息进行。消息常被用于接力远程过程调用、应答及其所伴随的错误。使用总线时,消息有一个目的地址,它将被传递到感兴趣的部分,从而避免因“蜂群移动”或广播造成的拥塞。
2、服务名
通过总线通信时,应用需要有一服务名,用于在同一总线上被其他应用获取。服务名由D-BUS的守护进程代码,用于将消息从一个应用路由到另一个应用。
3、对象路径
类似网络主机,一个应用通过暴露对象为其他应用提供特定服务。这些对象是层次组织的,非常像父子关系,类均从QObject派生。D-BUS中对象路径的组织类似文件系统中的路径名,它是用“斜杠”分割的标签,每组标签包含字母、数字、下划线,它必须以“斜杠”开始但不必“斜杠”结束。
4、接口
它在调用者和被调用者间建立契约。也就是说,它们确定方法的名字、信号和可用属性以及通信建立后双方期望的行为。
接口与适配器
基于D-BUS的应用程序通常也包含客户端和服务端两部分。提供服务的对象实现通过适配器在D-BUS上输出一个访问接口,客户端则使用这个标准接口找到该对象,然后使用服务对象的相关功能。