XPCOM指南-7_结束编写WebLock

(完整文章参见:XPCOM指南-7_结束编写WebLock)

注: 本文部分翻译来自官网

现在您已创建组件的大多数基础结构。 该组件可以被XPCOM和类别管理器识别,那样在 XPCOM初始化时,它就可以开启动。 组件启动时,它会读取存储在本地文件系统里Url列表,填充到相应的二进制结构。

1. Using Frozen Interfaces

然而,现在阻止站点的核心功能仍然缺失。 这个接口仍然没有冻结,组件开发人员需要讨论那些功能应该完全公开,所以API没有准备好发布。 这让你处于和大多数使用Mozilla的开发者一样的境地—你想使用一些特定的功能,但是接口似乎天天都在变。

所有的Mozilla的源代码是公开的,并且接口使用也很容易。 抓一个合适的头文件,使用组件或者服务管理器访问你需要的接口和XPCOM对象,实现你将会在你的项目里实现的接口。 这带来了很大的灵活性,当然你会失去一些兼容性。 如果你使用没有冻结的“东西”,那个东西将来可能随着Gecko的版本变化而变化。

如果你想你的组件能够对来自Gecko的变化免疫,你必须只使用已经冻结的接口和APIs。 一般这会在接口申明上面的进行说明。 例如,下面的nsIServiceManager

?
/**
  * The nsIServiceManager manager interface provides a means to obtain
  * global services in an application. The service manager depends
  * on the repository to find and instantiate factories to obtain
  * services.
  *
  * Users of the service manager must first obtain a pointer to the
  * global service manager by calling NS_GetServiceManager. After that,
  * they can request specific services by calling GetService.
  * When they are finished they can NS_RELEASE() the service as usual.
  *
  * A user of a service may keep references to particular services
  * indefinitely and only must call Release when it shuts down.
  *
  * @status FROZEN
  */

冻结的接口和函数时GECKO SDK的一部分。 有一个经验,SDK外部的接口可当作是“实验性”的或者未冻结的。 参见侧边拦的信息,它描述了冻结或未冻结的接口怎么影响你的软件开发,它还包括了接口变化会导致严重破坏的一些技术细节。

使用未冻结接口的危险性

---------

更多内容参见:XPCOM指南-7_结束编写WebLock

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值