native层利用底层节点变化,再针对变化进行相应的函数调用,实现某些功能。

架构如下:

底层提供节点更新,以及healthd读取节点的实现,都比较简单。而其余部分比较关键。

特别注意init监控prop,并触发接口,调用具体函数的这个路径。

具体关键实现点如下:

Running Service:修改prop的方法

property_set("batt.consist", "");

init进程:do work的函数实现

void write_batt_data(void) {...}

init进程:监控property的实现(建立监控,触发do work,并传参)

on property:batt.consist=*
write_consist_data ${batt.consist}      #这块还不理解配置的格式和具体意义,write_consist_data为触发的接口

builtins.cpp:

BuiltinFunctionMap::Map& BuiltinFunctionMap::map() const {
constexpr std::size_t kMax = std::numeric_limits<std::size_t>::max();
static const Map builtin_functions = {
。。。
{"write_consist_data", {, , do_write_consist_data}},  //触发的接口链接到具体函数:do_write_consist_data
。。。
}
static int do_write_consist_data(const std::vector<std::string>& args) {
write_batt_consist_data();
return ;
}

对应文件中具体函数实现:

void write_batt_consist_data(void) {...}

最新文章

  1. iOS无限循环滚动scrollview
  2. sql server 锁
  3. October 24th Week 44th Monday 2016
  4. Sublime配置与各种插件
  5. happypack 原理解析
  6. CSS3 background-size 属性值:cover
  7. ural 1218. Episode N-th: The Jedi Tournament
  8. hdu 2665 Kth number
  9. ApplePay扩大全球发卡行合作,“苹果税”撑不住了?
  10. delta
  11. maven,spring,mybatis集成错误
  12. SVN Checkout 不包括源文件夹根目录(转)
  13. 简单的js反选,全选,全不选
  14. Hdu3072-Intelligence System(强连通求最小值)
  15. 为了找到自己的路——leo锦书62
  16. 每日冲刺报告-Day4
  17. Elastic Stack-Elasticsearch使用介绍(三)
  18. Windows安装docker (带安装包)
  19. Linux 系统故障排查和修复技巧
  20. TeXstudio+TexLive交叉引用

热门文章

  1. 就没有我遇不到的报错!java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/filter/Filter
  2. 一、Spring的控制反转(IOC)学习
  3. GAN的前身——VAE模型原理
  4. [hdu3068 最长回文]Manacher算法,O(N)求最长回文子串
  5. yum安装mysql 之后问题
  6. SpringMVC 设置全局DateTime json返回格式
  7. Codeforces 909E(Coprocessor,双队列维护)
  8. java实例化对象的几种方式
  9. Spring Boot集成H2数据库
  10. 机器学习必会工具gensim