因为以后工作用的到D-bus,这两天抽空看了下c++下得d-bus的使用方法。因为网上对c++下得d-bus使用说明几乎没有,所以,在这里记录下以供同仁使用。同时感谢shengpeng得demo。
这篇文章主要还是对libdbus-c++.so得api调用,其实如果之前有过android下得开发经验,使用过binder得话,对d-bus得工作原理和上手速度会有很大帮助。
不多废话,下面进入正题:
d-bus得整个架构可以在官方说明文档中看到,如果之前有了解过binder的话,理解起来就会比较轻松。如下:
如同binder一样,linux下得IPC需要通过kernel空间得d-bus驱动来进行通信,所以,在进行d-bus通信之前,需要先对安装d-bus得库支持,这里不再详细说明。可以使用系统自带的工具进行安装,例如apt-get install dbus种种。
d-bus分为adaptor端和proxy端(和binder是不是很像?),需要在adaptor端和proxy端都创建了各自的实例后,才能进行通信。
例如,我在proxy端得进程中创建了