【技术实现步骤摘要】
一种组件调用的实现方法、组件调用方法及电子设备
[0001]本申请实施例涉及分布式应用
,尤其涉及一种组件调用的实现方法、组件调用方法及电子设备。
技术介绍
[0002]随着物联网的发展,物联网设备越来越多样化。基于多个物联网设备之间的协作实现的功能越来越丰富。例如,一个设备将该设备上播放的视频投屏到另一设备上进行播放。而基于多个设备之间的协作的分布式应用需要将该应用中不同的组件分布在多个设备上。在这种情况下,一个设备上的组件需要调用另一个设备上的组件,以实现该应用要实现的功能。
[0003]通常,一个设备上的组件需要通过一些接口实现对另一个设备上的组件的调用。为了定义这些接口,开发人员在开发阶段预先编写IDL(Interactive Data Language)文件;然后,通过IDL编译器对IDL文件进行编译生成对应的C++/Java接口。该接口可以实现一个设备上的组件对另一个设备上的组件的调用。然而,这种开发方式需要预先定义IDL文件模板,开发人员根据IDL文件模板编写IDL文件,导致存在组件调用的应用的开
【技术保护点】
【技术特征摘要】
1.一种组件调用的实现方法,其特征在于,包括:获取第一组件的源程序,所述源程序中包括接口声明标记,所述接口声明标记用于声明标记接口函数允许被第二组件调用,所述标记接口函数为所述第一组件的源程序中被所述接口声明标记标记过的接口函数;编译所述第一组件的源程序,以生成所述第一组件的标记接口函数的代理和存根,所述第一组件的标记接口函数的代理和存根用于实现所述第二组件对所述第一组件的调用。2.如权利要求1所述的实现方法,其特征在于,所述编译所述第一组件的源程序,以生成所述第一组件的标记接口函数的代理和存根,包括:编译所述第一组件的源程序,以生成所述第一组件的标记接口函数的IDL文件;编译所述第一组件的标记接口函数的IDL文件,以生成所述第一组件的标记接口函数的代理和存根。3.如权利要求1或2所述的实现方法,其特征在于,所述编译所述第一组件的源程序,以生成所述第一组件的标记接口函数的代理和存根,还包括:检查所述第一组件的标记接口函数的参数合法性;在所述第一组件的标记接口函数的参数合法的情况下,编译所述第一组件的源程序,以生成所述第一组件的标记接口函数的代理和存根。4.如权利要求3所述的实现方法,其特征在于,所述检查所述第一组件的标记接口函数的参数合法性包括:根据所述第一组件的源程序,生成所述第一组件的抽象语法树;基于所述抽象语法树进行所述标记接口函数的参数检查,获得检查结果,其中,所述检查结果包括所述标记接口函数的参数返回值的类型;在所述参数返回值的类型满足预设条件时,所述第一组件的标记接口函数的参数合法;在所述参数返回值的类型不满足预设条件时,所述第一组件的标记接口函数的参数不合法。5.如权利要求4所述的实现方法,其特征在于,所述参数返回值的类型满足预设条件包括:所述参数返回值的类型属于基本类型,或所述参数返回值的类型继承了串行父类的类型。6.如权利要求1至5任一项所述的实现方法,其特征在于,在获取第一组件的源程序之后,还包括:编译所述第一组件的源程序,生成所述第一组件的标记接口函数的元数据,所述元数据用于注册到全局衔接函数表,所述全局衔接函数表用于供所述第二组件查找所述第一组件的接口,以及供所述第二组件通过查找到的接口调用所述第一组件的代理。7.如权利要求6所述的实现方法,其特征在于,所述第一组件的标记接口函数的元数据包括:所述第一组件的组件名、所述标记接口函数的接口名、所述标记接口函数的参数个数、所述标记接口函数的参数类型、所述标记接口函数的参数返回值。8.如权利要求6或7所述的实现方法,其特征在于,在生成所述第一组件的标记接口函数的元数据之后,还包括:
在所述第一组件安装在设备上的情况下,所述第一组件的标记接口函数的元数据注册到全局衔接函数表。9.如权利要求1至8任一项所述的实现方法,其特征在于,还包括:在所述第二组件安装在设备上后,所述第二组件向组件运行管理服务申请对所述第一组件的调用权限,所述组件运行管理服务用于管理组件之间的调用关系;在所述第一组件和所述第二组件的签名相同的情况下,所述组件运行管理服务记录所述第二组件与所述第一组件的调用关系,所述第二组件和所述第一组件的调用关系包括:所述第二组件具有调用所述第一组件的权限。10.如权利要求1至9任一项所述的实现方法,其特征在于,所述接口...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。