I played around with about:components and modified it a little to call
getInterfaces().

Number of Mozilla objects: 768
Number implementing getInterfaces: 5

They are:
aggregateprincipal
codebaseprincipal
systemprincipal
@mozilla.org/js/xpc/Exception;1
certificateprincipal

It looks to me like classInfo is automatically generated but getInterfaces
must be manually implemented via NSGetInterfacesProcPtr in
nsModuleComponentInfo.

Microsoft typelibs contain coclass definitions with the interface list:

coclass HTMLOListElement {
        [default] dispinterface DispHTMLOListElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLListElement;
        interface IHTMLListElement2;
        interface IHTMLOListElement;
    };

XPCOM appears to be missing the equivalent information.

---
Jon Smirl
[EMAIL PROTECTED]




Reply via email to