I've started playing around with loading extension libraries to support
"other language" extensions and so a wee bit of re-architecture has "cpp"
being an extension language. In other words I'm trying to make a core that
is not tied to cpp implementation. This core will roughly be a model loader
in line with the assembly model spec with extensions for stuff like <
implementation.cpp.. > and a runtime for resolving wiring and locating
services. This is nearly what we have now but without the cpp C&I spec api
implmentation code (anything under runtime/core/src/osoa...).

This will involve a bit of refactoring to remove the unnecessary
dependencies from the "core" to the cpp specific code.

What I expect to end up with is libraries for:
tuscany_sca - the core assembly model and internal message structure
tuscany_sca_cpp - the cpp language extension (extension functions for
loading cpp model etc.)
tuscany_sca_cpp_osoa - the "client" side functions defined by the C++ C&I
spec (ComponentContext etc.)

I'm not yet sure if the latter 2 should be the same library, that will
depend on their interdependencies.

This is not a trivial change and it's tricky to break it down into sensible
small chunks so I may start a branch/sandbox to play in for the moment...or
if it suddenly all works I'll get it checked in to the trunk asap ;-)

It's nearly there but will probably take another day or maybe 2 and it would
probably be good for anyone else interested in the cpp code to review it. It
won't be near perfect but it will provide a good base for a more modular and
extensible runtime.

Cheers,

Reply via email to