I have checked in a first pass at loading extensions in the cpp runtime. Basic logic is that any library in the <deploy_dir>/extensions will be loaded and an intialize method (well known name) is called. This initialize method can register extensions with the runtime. Currently I checked in a change to have the loading of <implementation.cpp> and <interface.cpp> handled by a new extension library tuscany_sdo_cpp.
What I would like to do is to move all the cpp specific logic into the extension and leave the core library handling anything in the Assembly spec and message passing between services. I believe all the osoa/sca tree should be in cpp extension library and not the core as these are interfaces defined by the C++ C&I spec. This needs a bit of thought though as the proxy/wrapper mechanisms in the core are all very cpp specific and will need to be refactored to a generic proxy/wrapper mechanism (if that is the right thing to do) that lives in the core and a cpp specific mechanism (loading the cpp libraries and instantiating proxies/wrappers for cpp components) which lives in the cpp extension. Anyho... it's a start! Cheers, -- Pete
