Hi, > Is a bridge some sort of call wrapper?
A bridge is a piece of code that converts (bi-directionally) the calling conventions from one langauge/component model to another. OpenOffice.org uses the uno component model and as such needs a way to convert C++ calls to uno-component calls and back again. OOo has bridge code from C++ to uno, from Python to uno, Basic to uno, and Java to uno (and of course back!) with I think someone working on a Perl to Uno bridge. Therefore, you could implement a new OOo component in any of those languages and make cross calls from one to the other via the uno bridge. See the OOo 1.1 SDK for examples of component code using Basic and C++ and Java and the pyuno module for examples of using Python. The C++ to Uno bridge code itself is highly machine, compiler and ABI specific, since it must convert calling conventions from C++ method calls (including vtable style calls for virtual methods actually implemented in uno), handle exceptions thrown across the bridge, etc. Examples of the code required to make a C++ bridge for many linux platforms can be found in bridges/source/cpp_uno in the OOo CVS. The nice thing is that the linux-mips team *already* has a working bridge for gcc3! So all of the heavy machine specific pieces are already done!! Kevin