1.xpcom的思想核心,将接口与实现分开,接口写在固定的idl文件。具体的实现则是相应的c++或js文件。
这样的目的是使得所定义的接口可在全范围内使用,只要引了.idl???是这样吗?
2.所以创建一个xpcom 组件的方法是什么呢???
idl file. js implement file.这是实现部分???如何使用呢??
通过xpcom.component.xxx来注册使用。所以以上文件只是实现用的。具体调用还得另一个文件来引用组件,通过语句来注册调用。
3.在idl 定义接口文件。
idl文件:接口定义文件。即你的这个xpcom有哪些接口。
.h文件:由xpidl工具对idl文件“编译”后生成。里面有.cpp的实现模版,专门供你来实现具体的功能。
.xpt文件:同.h文件,是xpidl工具通过.idl文件生成的xp type文件。里面包含了些什么?
.cpp文件:自己实现的xpcom 模块功能。那.js 方式的实现呢有吗?直接生成一个.xpt就完事?自己按照什么去写.js文件呢?应该是所有组件的实现是用C++,js ,c 来写,可以用C++或者js来调用,用的比较多的是js来调用,因为简单且与上层有关系。组件间也可以相互调用相关接口实现相关功能。
.manifest文件:定义了gecko 启动时去注册哪个xpcom组件。
.moz.build所以的这些编译都放在此文件中来“打包”进系统。
4.gecko与xpcom的关