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表示指向<b>创建者应用的内存起始地址的指针。

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值