[发明专利]Widget引擎中使用第三方引擎解析脚本文件的方法和装置有效
申请号: | 201010140481.8 | 申请日: | 2010-03-26 |
公开(公告)号: | CN101799766A | 公开(公告)日: | 2010-08-11 |
发明(设计)人: | 段宝山 | 申请(专利权)人: | 青岛海信电器股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | widget 引擎 使用 第三 解析 脚本 文件 方法 装置 | ||
1.在Widget引擎中使用第三方引擎解析脚本文件的方法,其特征在于,包括:
将所述第三方引擎的源代码编译成相应的库文件;
调用所述第三方引擎的库文件的函数创建JavaScript脚本文件的编译环境;
所述Widget引擎获得Widget程序中的JavaScript脚本文件;
使用所述第三方引擎的库文件的函数解析所述JavaScript脚本文件,
其中,所述第三方引擎为蜘蛛猴SpiderMonkey引擎,创建JavaScript脚本文件的编译环 境之后,所述方法还包括:在所述SpiderMonkey引擎中,按照用户的功能需求定义类和/或 函数,
其中,在C语言中通过SpiderMonkey引擎声明类的方法包括:声明一个属性数组,所述 属性数组中每个元素对应所要创建的新类的每个属性;声明一个方法数组,所述方法数组中 每个元素对应所述新类的每个方法;定义一个获取属性值的函数,所述获取属性值的函数用 来获取所述新类的各个属性的值;定义一个设置属性值的函数,所述设置属性值的函数用来 设置所述新类的各个属性的值;定义一个变量,所述变量类型为JSClass,同时使所述变量的 getProperty等于所述获取属性值的函数,使所述变量的setProperty值为所述设置属性值的函 数;用SpiderMonkey引擎的JS_InitClass函数初始化所述变量,其中,调用所述JS_InitClass 函数时用所述变量的地址做为其第四个参数,所述属性数组做为其第七个参数,所述方法数 组做为其第8个参数。
2.根据权利要求1所述的方法,其特征在于,调用所述第三方引擎的库文件的函数创建 JavaScript脚本文件的编译环境的过程包括以下步骤:
创建JavaScript脚本文件运行时环境;
在创建的所述运行时环境中创建脚本运行上下文;
配置已经创建的所述脚本运行上下文;
在所述脚本运行上下文中,创建并初始化所述第三方引擎内置的类。
3.根据权利要求1所述的方法,其特征在于,解析所述JavaScript脚本文件之后,所述 方法还包括:
运行解析后的所述JavaScript脚本文件。
4.根据权利要求3所述的方法,其特征在于,在所述运行解析后的JavaScript脚本文件 过程中,还包括:
所述JavaScript脚本文件使用所述按照用户的功能需求定义的类和/或函数、或用来调用 SpiderMonkey内置的类。
5.根据权利要求3所述的方法,其特征在于,所述运行解析后的JavaScript脚本文件的 过程包括:
在缓冲区中存储所述解析后的JavaScript脚本文件,将存储的地址和所述缓冲区长度作为 运行函数的参数,执行所述运行函数;
或,使用运行函数调用所述解析后的JavaScript脚本文件,在执行所述运行函数之后返回 再次调用的指针变量。
6.根据权利要求1所述的方法,其特征在于,所述Widget引擎为电视机中的TVWidget 引擎、手机中的Widget引擎、或计算机中的Widget引擎。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信电器股份有限公司,未经青岛海信电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010140481.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种悬索拉索成圈用120T成圈机
- 下一篇:带卸料小车的胶带输送机