一、前言
在针对鸿蒙模块二的源代码分析中,发现它业务逻辑的实现围绕着三大概念展开,分别是服务(Service)、功能(Feature)和功能接口API(Iunknown)。所以理解并掌握这三个概念对于我们深入学习鸿蒙底层代码的业务逻辑有极大的帮助。下面我将结合前期分析鸿蒙代码的经验,通过图文并茂的方式为读者讲解它们的基类和实例对象以及相应的作用。
二、基类分析
服务(Service)是鸿蒙操作系统中业务逻辑的核心,是一组功能或操作的集合。下面的结构体定义了服务基类的相关函数指针,所有服务都要继承这个基类。
struct Service {
const char *(*GetName)(Service *service); //获取服务名称
BOOL (*Initialize)(Service *service, Identity identity); //初始化服务
BOOL (*MessageHandle)(Service *service, Request *request); //处理服务的消息
TaskConfig (*GetTaskConfig)(Service *service); //获取服务的任务配置
};
一个服务可以拥有多个功能(Feature),功能是业务的执行单元。由各式各样的功能组合成一个完整的服务。下面的结构体定义了功能基类的相关函数指针,所有功能都要继承这个基类。
struct

最低0.47元/天 解锁文章
700

被折叠的 条评论
为什么被折叠?



