Uno/Todo/Clear Separation of C and Cpp and Core Components
From Apache OpenOffice Wiki
< Uno(Redirected from Uno/Todo/Clear Separation between C and Cpp and Core Components)
There are various obstacles in the way to cleanly separate C Uno (AKA Binary Uno) from C++ Uno. Some of these are
- the C Uno runtime is implemented in C++,
- a C++ Uno runtime would be stacked on top of C Uno,
- there is no living C language binding,
- the C++ Uno runtime offers various functions for bootstrapping Uno, which are not yet available for Binary Uno.
- Upper level modules headers may not be used, until they are delivered, even if they are self contained.
Some of the obvious tasks are:
- Move C++ stuff from udk/cppu to udk/cppuhelper.
- Move udk/cppuhelper bootstrap stuff to Binary Uno and let it provide a 'C' interface. Implement current udk/cppuhelper API as wrappers.
- Move udk/cppuhelper/source/shlib.cxx into the library loader (udk/stoc/source/loader). Let the library loader provide a C/C++ API. Note, this is not as easy as it may sound, because the module udk/stoc already depends on the module udk/cppuhelper, which than would depend on module udk/stoc stoc again.
- Move udk/cppuhelper/source/component_context.cxx into into its own core component in udk/stoc.