Android电话系统rild-response analysis
来源:互联网 发布:centos安装桌面环境 编辑:程序博客网 时间:2024/05/07 11:10
本文将详细分析rild处理response的流程,包括一般的resonse和unsolicited response。
一、与request对应的response
1、Atchannel.c
启动readerloop,调用readline(),循环读取modem发来的消息
2、如果读到数据,调用processline()进行处理,首先判断是否是unsolicited消息,如果不是,则调用handlerFinalResponse()进行处理
3、handlerFinalResponse()调用pthread_cond_signal(),唤醒正在等待response的主线程
4、主线程开始继续运行,at_send_commandxx()函数返回,最终调用RIL_onRequestComplete()函数,处理response
5、通过pRI->pCI->responseFunction(p, response, responselen);调用每条request命令对应的response函数,对response数据打包,如:
6、最后调用sendResponse()将打包好的数据写入socket,发送给上层ril-java
[edit]二、unsolicited response流程
1、与一般的response不同之处在于processline()的处理,如果是unsolicited消息,调用handleUnsolicited(line)进行处理;
2、再调用Reference-ril.c的onUnsolicited()方法对unsolicited消息进行解析,如下所示:
3、RIL_onUnsolicitedResponse(int unsolResponse, void *data,size_t datalen),处理response所有的unsolicited response 命令也都在ril.h中有定义,RIL_UNSOL_RESPONSE_xxx,从1000开始:
#define RIL_UNSOL_RESPONSE_BASE 1000 #define RIL_UNSOL_RESPONSE_NEW_SMS 1003 #define RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT 1004
4、所有的unsolResponse对应的处理函数都按顺序定义在hardware\ril\libril\ ril_unsol_commands.h
5、如顺序图所示:RIL_onUnsolicitedSendResponse()函数将根据RIL_UNSOL_RESPONSE_xxx命令,调用其相应的responsexx()方法,对response处理,对数据进行打包
6、与一般response处理流程一样,调用sendResponse()将打包好的数据写入socket,发送给上层ril-java
- Android电话系统rild-response analysis
- Android电话系统rild-response analysis
- Android电话系统rild-request analysis
- Android电话系统rild-request analysis
- Android电话系统rild
- Android电话系统之-rild
- Android电话系统之-rild
- Android电话系统之-rild
- Android电话系统之-rild
- Android 电话系统rild分析
- Android电话系统之-rild
- Android电话系统之-rild
- Android电话系统之-rild
- Android电话系统之-rild
- Android核心分析------电话系统之rilD
- Android电话系统rild-概述篇
- Android电话系统rild-启动流程
- Android电话系统rild-概述篇
- Android电话系统rild-request analysis
- 用javadoc工具自制java文档的注意点
- VC MFC 发送模仿键盘消息!
- 【HADOOP】hadoop错误码分析
- hdu 4451 Dressing
- Android电话系统rild-response analysis
- 日语单词记忆技巧
- 由静态导入想到的
- C++获取磁盘的信息
- JavaScript自定义方法集合
- oracle 视图使用详解
- 二叉树的遍历(前 中 后序 )递归 非递归算法
- [AndEngine学习教程] 第5节 可触摸移动的Sprite
- 转载:给明年依然年轻的我们