dbus简明理解【ZT】

应用程序A和消息总线连接,这个连接获取了一个众所周知的公共名(记作连接A)。应用程序A中有对象A1提供了接口I1,接口I1有方法M1。 应用程序B和消息总线连接,要求调用连接A上对象A1的接口I1的方法M1。

在上一讲的加法例子中,上面这段话可以实例化为:应用程序example-service和会话总线连接。这个连接获取了一个众所周知的公共名“org.fmddlmyy.Test”。 应用程序example-servic中有对象“/TestObj”提供了接口“org.fmddlmyy.Test.Basic”,接口“org.fmddlmyy.Test.Basic”有方法“Add”。 应用程序d-feet和会话总线连接,要求调用连接“org.fmddlmyy.Test”上对象“/TestObj”的接口“org.fmddlmyy.Test.Basic”的方法“Add”。

应用程序B调用应用程序A的方法,其实就是应用程序B向应用程序A发送了一个类型为“method_call”的消息。 应用程序A通过一个类型为“method_retutn”的消息将返回值发给应用程序B。

其实对dbus的了解一直来都只知道这是个消息总线用来在不通进程之间传递消息的,但由于深度桌面开机挂载系统其他分区的机制,比较好奇我看了一下,对技术支持或者运维人员来说,dbus本身就上面这一段话就足够了,毕竟不需要搞开发,只需要懂个原理就行。
至于深度桌面里如何实现开机登陆后挂载除fstab文件表里面其他分区的,大概看了下应该是
dde(封装了部分gio接口函数) -> gio接口(通过dbus调用)–>udisks2(实际挂载的程序) 这样一个顺序。
至于dbus ,可以安装一个d-feet的程序,可以浏览系统或者用户总线下的接口名和下面的对象以及对象的方法,双击还可以打开传递参数过去,并得到返回结果。
下面这个连接,还提供了一个demo程序供演示,通过dbus调用服务程序的一个加法method.
https://blog.csdn.net/gangyanliang/article/details/44064267

上一篇:如何选择低代码/无代码?先听听Gartner怎么说 ZT


下一篇:ZT:毛姆《月亮与六便士》:人到中年,理想和现实究竟该如何抉择? 作者:时光了了