没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
5页
Android源码中,hardware/ril目录中包含着Android的telephony底层源码。这个目录下包含着三个子目录,下面是对三个子目录的具体分析。 一、目录hardware/ril/include分析: 只有一个头文件ril.h包含在此目录下。ril.h中定义了76个如下类型的宏:RIL_REQUEST_XXX ,这些宏代表着客户进程可以向Android telephony发送的命令,包括SIM卡相关的功能,打电话,发短信,网络信号查询等。 二、目录hardware/ril/libril分析: 本目录下代码负责与客户进程进行交互。在接收客户进程命令后,调用相应函数进行处理,然后将命令响应结果传回客户进程。在收到来自网络端的事件后,也传给客户进程。 文件ril_commands.h:列出了telephony可以接收的命令;每个命令对应的处理函数;以及命令响应的处理函数。 文件ril_unsol_commands.h:列出了telephony可以接收的事件类型;对每个事件的处理函数; 文件ril_event.h/cpp:处理与事件源(端口,modem等)相关的功能。ril_event_loop监视所有注册的事件源,当某事件源有数据到来时,相应事件源的回调函数被触发(firePending -> ev->func())
资源推荐
资源详情
资源评论
C 代码
Android 源码中,hardware/ril 目录中包含着 Android 的 telephony 底层源码。这个
目录下包含着三个子目录,下面是对三个子目录的具体分析。
一、目录 hardware/ril/include 分析:
只有一个头文件 ril.h 包含在此目录下。ril.h 中定义了 76 个如下类型的宏:
RIL_REQUEST_XXX ,这些宏代表着客户进程可以向 Android telephony 发送的命令,
包括 SIM 卡相关的功能,打电话,发短信,网络信号查询等。
二、目录 hardware/ril/libril 分析:
本目录下代码负责与客户进程进行交互。在接收客户进程命令后,调用相应函数进行
处理,然后将命令响应结果传回客户进程。在收到来自网络端的事件后,也传给客户进程。
文件 ril_commands.h:列出了 telephony 可以接收的命令;每个命令对应的处理函数;
以及命令响应的处理函数。
文件 ril_unsol_commands.h:列出了 telephony 可以接收的事件类型;对每个事件的
处理函数;
文件 ril_event.h/cpp:处理与事件源(端口,modem 等)相关的功能。ril_event_loop
监视所有注册的事件源,当某事件源有数据到来时,相应事件源的回调函数被触发
(&rePending -> ev->func())
文件 ril.cpp:
1)RIL_register 函数:打开监听端口,接收来自客户进程的命令请求(s_fdListen =
android_get_control_socket(SOCKET_NAME_RIL);),当与某客户进程连接建立时,
调用 listenCallback 函数;创建一单独线程监视并处理所有事件源(通过
ril_event_loop)
2)listenCallback 函数:当与客户进程连接建立时,此函数被调用。此函数接着调用
processCommandsCallback 处理来自客户进程的命令请求
3)processCommandsCallback 函数:具体处理来自客户进程的命令请求。对每一个
命令,ril_commands.h 中都规定了对应的命令处理函数
(dispatchXXX),processCommandsCallback 会调用这个命令处理函数进行处理。
4)dispatch 系列函数:此函数接收来自客户进程的命令己相应参数,并调用
onRequest 进行处理。
资源评论
- zhuchenkun2014-03-08不错的资料,对于ril的介绍很详细。
zfenghui
- 粉丝: 1
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功