Salome HOME
Draft
[modules/kernel.git] / idl / SALOME_Component.idl
index 391112dfda558a481d47ac4c8b62f45b1b464bd9..8112eceddc49c97911991dfa81232ed542c4b7d4 100644 (file)
@@ -32,6 +32,17 @@ for management of %MED component in %SALOME application.
 */
 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
@@ -41,20 +52,18 @@ module Engines
 */
   interface Container
   {
-/*!
-    Initializes the %container with a definite name.
-*/
-    Container start_impl( in string ContainerName ) ;
 
 /*!
     Loads into the container a new component, registers it and starts it's CORBA servant.
     \param nameToRegister     Name of the component which will be registered in Registry (or Name Service)
     \param componentName     Name of the constructed library of the %component
+    \return a loaded component
 */
     Component load_impl(in string nameToRegister, in string componentName);
 
 /*!
-       Stops the component servant, and deletes all related objects
+    Stops the component servant, and deletes all related objects
+    \param component_i     Component to be removed
 */
     void remove_impl(in Component component_i);
 
@@ -79,6 +88,18 @@ module Engines
    Returns True if the %container has been killed
 */
     boolean Kill_impl() ;
+/*!
+   Shutdown the Container process.
+*/
+    void Shutdown();
+/*!
+   Returns the hostname of the container
+*/
+    string getHostName();
+/*!
+   Returns the PID of the container
+*/
+    long getPID();
   };
 /*! \brief Interface of the %component
 
@@ -107,8 +128,22 @@ module Engines
     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
+   \param aNodeName Name of node
 */
     void Names( in string aGraphName , in string aNodeName ) ;
 /*!