Difference between revisions of "Uno/Todo/Clear Separation of C and Cpp and Core Components"
From Apache OpenOffice Wiki
< Uno
m (Moved C vs. C++ task to separate page.) |
m (Uno/Todo/Clear Separation between C and Cpp and Core Components moved to Uno/Todo/Clear Separation of C and Cpp and Core Components: Wording improved.) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
* there is no living C language binding, | * 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. | * 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. | |
+ | <noinclude>[[Category:Uno]] [[Category:To-Do]] [[Category:Uno/To-Dos]]</noinclude> | ||
Some of the obvious tasks are: | Some of the obvious tasks are: | ||
* Move C++ stuff from {{Uno/UDKlink|cppu}} to {{Uno/UDKlink|cppuhelper}}. | * Move C++ stuff from {{Uno/UDKlink|cppu}} to {{Uno/UDKlink|cppuhelper}}. |
Latest revision as of 08:47, 18 June 2007
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.