Salome HOME
Porting to Mandrake 10.1 and new products:
[modules/kernel.git] / idl / SALOME_Component.idl
index a18580fe7f4e2bd9b93d3f6d71c646058099d01f..f60922c42005cc289f2c19b486e948863700cfdc 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,12 +52,6 @@ module Engines
 */
   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.
@@ -56,6 +61,14 @@ module Engines
 */
     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
@@ -83,6 +96,10 @@ module Engines
    Returns True if the %container has been killed
 */
     boolean Kill_impl() ;
+/*!
+   Shutdown the Container process.
+*/
+    oneway void Shutdown();
 /*!
    Returns the hostname of the container
 */
@@ -119,6 +136,18 @@ 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