摘要: 摘要oFono支持动态的检测modem设备的插拔。本文主要讲解oFono如何实现对modem的插拔进行检测的。这篇文章也解释了plugin是如何扩展oFono功能而不是仅仅作为modem/atom驱动的容器。1.modem设备检测分析1.1初始化当设备检测plugin被oFono载入到系统后,系统会对plugin进行初始化。 1 static int detect_init(void) 2 { 3 udev_ctx = udev_new(); 4 if (udev_ctx == NULL) { 5 ofono_error("Failed to create ud... 阅读全文
posted @ 2013-07-05 19:06 ZHX_1Q89 阅读(1273) 评论(0) 推荐(0) 编辑
摘要: 摘要在之前的文章中提到,对于oFono来说所有的操作都是异步的。这也就是说,oFono必须要提供一套机制来通知对象它所关心的事件发生了。依赖这套机制,也使得atom发现及atom间交流成为可能。本文主要试图讲述我所理解的oFono的事件机制。1. oFono事件机制为了不让我们在代码中迷失,我们应该对oFono的事件机制有一个大体的概念,这一节主要给出了一个oFono事件机制的overview。oFono的内部采用的是异步事件机制,具体上来说使用的是Publish/Subcribe模型来实现的。采用异步事件机制可以降低模块间的耦合度(Loose Coupling),提高系统的扩展性。图1.1给 阅读全文
posted @ 2013-07-05 11:19 ZHX_1Q89 阅读(1314) 评论(0) 推荐(0) 编辑