> 文档中心 > OpenHarmony模块二interfaces下头文件解析(8)

OpenHarmony模块二interfaces下头文件解析(8)

distributedschedule_samgr_lite/interfaces/kits/registry/registry.h

该文件提供了用于远程服务注册和发现的基本API,提供的API包括客户端代码的工厂注册功能,当存在自定义客户端对象时,将使用此文件。

该宏定义指示自定义客户端代理的创建者,为远程服务API创建本地客户端代理。
当需要以调用本地API的方式调用远程API时,需实现此宏以将序列化数据封装到代理中。
创建代理对象时,系统会自动调用此宏。

typedef void *(*Creator)(const char *service, const char *feature, uint32 size);//service指示指向函数所属服务名称的指针//feature表示指向函数所属功能的名称的指针。//size指示创建客户端代理时要添加的头的大小。所需的内存容量是头部大小加上对象大小。//void*返回应用的内存容量并初始化客户端代理的内存。

该宏指示自定义客户端代理的销毁程序,将销毁远程服务API的本地客户端代理。当需要以调用本地API的方式调用远程API,需实现此宏以将序列化数据封装到代理中。
销毁代理对象时,系统会自动调用此宏。

typedef void (*Destroyer)(const char *service, const char *feature, void *iproxy);//service指示指向函数所属服务名称的指针//feature表示指向函数所属功能的名称的指针。//iproxy表示指向创建者应用的内存起始地址的指针。

该函数主要提供向Samgr注册客户端代理对象的方法。
在系统初始化期间,使用远程代理的模块会根据需要调用该函数。

int SAMGR_RegisterFactory(const char *service, const char *feature, Creator creator, Destroyer destroyer);//service指示指向客户端代理的服务名称的指针。//feature表示指向客户端代理的功能名称的指针。//creator表示客户端代理的creator功能。//destroyer表示客户端代理的destroyer功能

//如果注册成功,则返回EC_SUCCESS;如果注册失败,则返回其他错误代码。

K歌软件