We should also relocate many Deployment interface implementation out of the CIAO_Server library. It doesn't make a lot of sense to put them there.
This includes making sure all components' appropriate ccm_passivate and ccm_remove operations are called when the ComponentServer is closing down.
::Components::ConnectionDescriptions
*CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_connections
that is causing compilation errors on VC6 and I couldn't quite
figure out why. I commented out the offending line for now but
will need to fix it eventually.
generate_component_mpc.pl
script should
invoke the generate_export_file.pl
automatically
and created the necessary export files instead of only printing
out the hints on how to do that.
Container
's and CCMHome
's is not a big
deal because the values are used within a process.
Equally important are definitions of acceptable ConfigValues many of these interfaces require.
ComponentServer
interface?
$(CIAO_ROOT)/tools/Assembly_Deployer/Assembly_Manager
.
A separate tool called Assembly_Deployer
can be
used to interact with the Assembly_Manager
to start
up and tear down application assemblies.
ComponentInstallation is the interface assembly mechanism used to interact with the deployment mechanism. We are free to implement the deployment mechanism (i.e., shipping of code to various locations of application domains) the way we like but the assembly mechanism depends on this interface to determine where to fetch a specific implementation.
One thing that we really need is an installation tool set which can be used to manage remote installation, by parsing various XML descriptors and either push or pull the right implmentation for a certain host in the list of hosts the component need to be installed. According to the CCM spec., ComponentInstallation interface implementation can retrieve a implementation (DLL) on an on-demand basis. Therefore, there is probably no need to push the appropriate DLL over right away when we feed some descriptors into the installation tool. The tool, however, should accurately extract the correct OS/compiler information and inform the ComponentInstallation impl which and where to fetch the right implmentation for the host it is running on.
long
,
short
, or, Object
, or composite
types, such as struct
, sequence
,
or, valuetype
. By processing a CPF document,
an XML parser can build these data incrementally using
DynamicAny.
boolean
, long
, and string,
plus interface
for return types only. We
need to support all the IDL types.
CORBA::SystemException
is generated. This
item applies to the operations implied by attribute declarations
as well.
readonly
keyword is currently not reognized by the
CIDL compiler.
Components.idl
currently recognnized and regenerated.
We need to add support for explicit and implicit (passed in through
-I
command line options) include file paths.
typeprefix
,
typeid
, and the #pragma
directives.
composition
declaration, a partial
.ccd
file can be generated in XML. This file can
be further expanded and processed by a packaging tool, and
passed on to assembly and deployment tools.
ComponentInstallation
can be done
using a CORBAscript of some sort as this involve mostly
registering and unregistering of locations of component
implementations.