Android 4.1 Netd详细分析(二)源文件/模块/基础类统领
2014-06-23 18:07
357 查看
这篇粗略介绍-Netd文件夹下面的源文件/模块的基本功能,和主要类的组织关系。
一、文件构成
Netd文件下的源文件模块~组织以及基本实现功能:======================================================================
Android.mk \Android makefile
CleanSpec.mk
main.cpp \主函数入口
======================================================================
CommandListener.cpp
\监听 frameworek 层命令,通过 tcp
\向 framework 层注册处理函数命令的 cmd
\实现对应命令的处理函数
CommandListener.h
======================================================================
NetlinkManager.cpp \监听 kernel 的 event,通过无连接socket 可以
\理解为udp在 setsocketopt 中实现与 kernel
\的关联监听事件类型
NetlinkManager.h
======================================================================
NetdCommand.cpp \直接调用 frameworkcommand
NetdCommand.h
NetlinkHandler.cpp \继承自 NetlinkListener
\onEvent 函数的实现
\根据 onEvent 函数命令的解析调用不同的处理函数
\并调用 nm->sendBroadcast 广播 ResponseCode
NetlinkHandler.h
NetdConstants.cpp \全局路径 为操作 iptable 的函数提供
NetdConstants.h
======================================================================
List.h
logwrapper.c
ndc.c \NativeDaemonConnector
oem_iptables_hook.cpp \iptable 系统调用 hook
oem_iptables_hook.h
======================================================================
DnsProxyListener.cpp \DNS 解析相关独立部分
DnsProxyListener.h
MdnsSdListener.cpp \Multi-DNS 解析独立部分
MdnsSdListener.h
======================================================================
IdletimerController.cpp \具体的要注册给 Framework 的 cmd 的处理部分
IdletimerController.h
BandwidthController.cpp
BandwidthController.h
NatController.cpp
NatController.h
PanController.cpp
PanController.h
PppController.cpp
PppController.h
ResolverController.cpp
ResolverController.h
ResponseCode.h
SecondaryTableController.cpp
SecondaryTableController.h
SoftapController.cpp
SoftapController.h
TetherController.cpp
TetherController.h
ThrottleController.cpp
ThrottleController.h
======================================================================
二、文件中最主要的类是:
管理类:CommandListener、NetlinkManager、MdnsSdListener、DnsProxyListener
处理类:
ResponseCode、Netlinkhandler、 CommandListener::XXXCmd
相关类:
Socketlistener、SocketClient、NetlinkListener、NetlinkEvent、FrameworkListener、FrameworkCommand、FrameworkClient
下面是一些UML,也不规范,大概意思明白就可以~~ 在后面还会详细的介绍。
(1)CommandListener、NetlinkHandler
(2)命令的上传/下达
(3)各种cmd功能
相关文章推荐
- Android 4.1 Netd详细分析(二)源文件/模块/基础类统领
- Android 4.1 Netd详细分析(四)代码分析2
- Android 4.1 Netd详细分析(四)代码分析2
- Android 4.1 Netd详细分析(五)代码分析3
- Android 4.1 Netd详细分析(一)概述与应用实例
- Android 4.1 Netd详细分析(六)DnsProxyListener
- Android 4.1 Netd详细分析(三)代码分析1
- Android 4.1 Netd 详细分析系列
- Android 4.1 Netd详细分析(一)概述与应用实例
- Android 4.1 Netd详细分析(五)代码分析3
- Android 4.1 Netd详细分析(六)DnsProxyListener
- Android 4.1 Netd详细分析(三)代码分析1
- Android 4.1 Netd详细分析(一)概述与应用实例
- Android Netd详细分析(一)概述
- android phone 模块分析
- Android init 详细过程分析
- 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
- 分析android动画模块之Tween动画(转)
- 分析android动画模块
- android 动画模块 分析