*/
module Engines
{
+/*!
+ General Key Value Structure to set or get properties, for component
+*/
+ struct KeyValuePair
+ {
+ string key;
+ any value;
+ };
+
+ typedef sequence<KeyValuePair> FieldsDict;
+
interface Component ;
/*! \brief Interface of the %Container
*/
interface Container
{
-/*!
- Initializes the %container with a definite name.
- \param ContainerName Name of the container
- \return an initialized container
-*/
- Container start_impl( in string ContainerName ) ;
/*!
Loads into the container a new component, registers it and starts it's CORBA servant.
*/
Component load_impl(in string nameToRegister, in string componentName);
+/*!
+ Loads into the container a new component, registers it and starts it's CORBA servant.
+ \param nameToRegister Name used to register in Naming Service, the component instance
+ \param componentName Name of the %component
+ \return a new instance of the component or the registered component if already registered or Nil if not possible
+*/
+ Component instance(in string nameToRegister, in string componentName);
+
/*!
Stops the component servant, and deletes all related objects
\param component_i Component to be removed
Returns True if the %container has been killed
*/
boolean Kill_impl() ;
+/*!
+ Shutdown the Container process.
+*/
+ oneway void Shutdown();
+/*!
+ Returns the hostname of the container
+*/
+ string getHostName();
+/*!
+ Returns the PID of the container
+*/
+ long getPID();
};
/*! \brief Interface of the %component
Returns the container that the %Component refers to.
*/
Container GetContainerRef() ;
+/*!
+ Gives a sequence of (key=string,value=any) to the component.
+ Base class component stores the sequence in a map.
+ The map is cleared before.
+ This map is for use by derived classes.
+*/
+ void setProperties(in FieldsDict dico);
+/*!
+ returns a previously stored map (key=string,value=any) as a sequence.
+ See setProperties(in FieldsDict dico).
+*/
+ FieldsDict getProperties();
/*!
This method is used by the %SUPERVISOR component. It sets the names of the graph and of the node.
\param aGraphName Name of graph