下载此文档

指南-4 创建组件的代码.doc


文档分类:中学教育 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
指南-4_创建组件的代码创建组件的代码
本章会讲述一些基本代码,之间的关系。如何发现和注册组件是本指南的第一节的目标。在后续的章节里,我们就可以专注WebLock本生的功能开发了。
,你需要编写大量的代码。必须的3个接口,而且往往还要其它的接口。这一章你将会看到更多的代码,然而这些并不是整个WebLock组件代码。“Using Utilities to Make Things Easier”展示了更加简单,组件(使用泛型和宏),这一章的目的是为了学****基础知识,是很有帮助的。
1. WebLock组件用途
WebLock组件让你浏览器当前Book控件(类似于浏览器里面的一个Tab)处于一种特别模式,防止用户离开当前的域或者一个安全域集合。一旦开启此功能,此“weblock”模式受密码保护,将一直持续到密码持有人关闭此功能。他可以用于实现家长对儿童访问域名的控制,这样儿童访问的内容就被限制到了特定的域名上。 Web Lock User Interface 显示图标,用来激活web lock 模式(在左下角的状态栏),一旦你安装了weblock组件,图标就在那儿了,不离不弃。
Web Lock User Interface
WebLock组件的大多数实际工作是有组件本身代码实现的,例如,接口,和把功能挂接到Gecko浏览器。
2. Component Registration
组件,无论存储在哪儿(共享库,Javascript文件,或者其它样式),在使用他们提供的功能之前,都需要注册。注册是一个过程,发生在 的所有应用程序,无论他们是嵌入式的Gecko客户端、 Mozilla、 Netscape 7、 Compuserve 或使用 的任何其他软件。注册为应用程序提供了所需组件的正确使用信息。
WebLock组件为了注册,需要做大量的事情。本章已经包含了组件库的组件相关接口实现:nsIModule和nsIFactory接口,这是你实现的代码的入口点。一旦你的组件实现了这些接口,剩下的注册过程本身就很简单了。注册,这会在下一节描述。
程序
程序显示的注册组件。时,程序默认在注册表中注册该组件。我们建议当您在 Mozilla scape 客户端来测试您的组件时,您应该把你的组件复制到客户端的安装文件夹中的组件目录。当它复制时那里时,,就会注册在该目录中的所有组件。
,你可以通过-h参数查看详细信息。

基于Gecko的嵌入式应用程序,组件。 XPInstall,这是Mozilla用于安装浏览器和其它组件的跨平台安装技术,这是另外的一种注册方式。这个会在以后的“Packaging WebLock”章节进行描述。对于你想扩展的应用,你也可以问问他的作者是否还支持其它方式。
3. WebLock Module 源代码概述
正如我们在前面章节所提及的,组件是分层的。组件主要由三层组成。从内到外,对象。这个对象包含了业务逻辑,实现业务功能,例如,启动一个网络下载,实现下载进程的监听,或者提供一个新类型的处理功能。在WebLock,这一层与多个Gecko服务协同工作,防止用户访问可接受域名清单里的域名。系统。
对象层之上的是nsIFactory对象。对象的基本抽象。正如你在文章“Onion Peel View of ponent Creation,”你所看到的那样,对象进行交互,这个函数将会根据你提供的CID和IID返回相应的对象。
再往外一层就是nsIModule层。这个接口又提供了nsIFactory对象的进一步抽象,并可能允许多个nsIFactory对象。本接口的关键在于getClassObject的返回类型不必非是nsIFactory。 nsIModule 对象实现细节。这非常有用,如果调用方需要知道像其线程模型,是不是单例,实现语言,等等。在这种情况下,使用的接口是 nsIClassInfo。从外向内开始,“Onion Peel View of ponent Creation ”表示构造一个 对象的序列。
Onion Peel View of ponent Creation
在我们看组件的这几个部分的具体实现代码之前,我们先看看 ,看看我们要去哪儿。这个文件在本章后面详细列出()。
“”文件包含了WebLock组件的三个类。为了让WebLock能够在Mozilla里工作,你需要为WebLock组件实现一个新的接口:iWebLock,它实现了web locking功能。为了实现必须的nsIModule接口,你需要创建类WebLockModule,你还需要创建类WebLockFactory来

指南-4 创建组件的代码 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小177 KB
  • 时间2018-03-14