I just checked in the first cut at interface flattening for PyXPCOM.

This has been done as per the discussions on the Python XPCOM mailing
list a few weeks ago.  There is no differentiation between "flat"
objects and "non-flat" objects.  Thus, "QueryInterface()" is generally
not needed, but when used returns "self".

In a nutshell, it "just works".  You do not need to specifiy an IID when
using "createInstance()", and you should never need to call
QueryInterface() - you can just create (or be handed) an XPCOM object,
and use it to your heart's content.

The test suite passes, including new "flat" specific tests.
ActiveState's Komodo also appears to work fine (which is a good sign :) 
Interestingly, this version is slightly faster than the old non-flat 
version!

It looks like I just made the Mozilla 0.9.1 tree.  However, I still have
not integrated the Linux build process with Mozilla's.  This is my next 
step.

The source can be found in the Mozilla tree under
mozilla/extensions/python/xpcom, including documentation.  The Python 
XPCOM mailing list is at 
http://listserv.ActiveState.com/mailman/listinfo/pyxpcom

Enjoy!

Mark.


Reply via email to