Salome HOME
1. SALOME::GenericObj : Destroy() -> UnRegister()
[modules/kernel.git] / idl / SALOMEDS.idl
index 8e44c74389123f897ae6f1294953839e37bfbf94..3ad806384c3b622485d86264fa483965750b84c1 100644 (file)
@@ -1,4 +1,4 @@
-//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+//  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -19,9 +19,9 @@
 //
 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 //  File   : SALOMEDS.idl
 //  Author : Yves FRICAUD
-//  $Header$
 //
 /*!  \file SALOMEDS.idl  \brief This file contains a set of interfaces used for creation, management
   and modification of the %Study
@@ -93,6 +93,12 @@ during each working session.
   interface UseCaseIterator;
   interface UseCaseBuilder;
 
+  interface Observer
+  {
+    void notifyObserverID(in string theID, in long event);
+  };
+
+
 //! List of attributes of %SObjects
   typedef sequence<GenericAttribute> ListOfAttributes;
 
@@ -427,6 +433,18 @@ during each working session.
 */
     void SetBoolean( in string theVarName, in boolean theValue );
 
+/*! \brief  Create string variable with Name theVarName and value theValue 
+
+    (or set if variable value into theValue already exists)
+    \param theVarName is a name of the variable
+    \param theVarName is a value of the variable.
+*/
+    void SetString( in string theVarName, in string theValue );
+
+/*! \brief  Set current value as double for string variable
+*/
+    void SetStringAsDouble( in string theVarName, in double theValue );
+
 /*! \brief Get value of a real variable
 
     \param theVarName is a name of the variable.
@@ -444,6 +462,12 @@ during each working session.
     \param theVarName is a name of the variable.
 */
     boolean GetBoolean( in string theVarName );
+
+/*! \brief Get value of a string variable
+
+    \param theVarName is a name of the variable.
+*/
+    string GetString( in string theVarName );
     
 
 /*! \brief Indicate if a variable is real
@@ -467,6 +491,13 @@ during each working session.
 */
     boolean IsBoolean( in string theVarName );
 
+/*! \brief Indicate if a variable is string
+
+    Return true if variable is string otherwise return false.
+    \param theVarName is a name of the variable.
+*/
+    boolean IsString( in string theVarName );
+
 /*! \brief Indicate if a variable exists in the study
 
     Return true if variable exists in the study,
@@ -513,7 +544,13 @@ during each working session.
    \return Variables list.
 */
     ListOfListOfStrings ParseVariables( in string theVars );
-    
+
+/*!
+     Attach an observer to the Study
+
+    \param theObserver
+*/
+     void attach(in SALOMEDS::Observer theObserver, in boolean modify);   
   };
 
   //==========================================================================
@@ -967,6 +1004,11 @@ Gets the list of open studies
 /*! Name of the %SObject
 */
     attribute string Name; // equivalent to setName() & getName()
+
+/*! Returns true if the %SObject does not belong to any %Study
+*/
+    boolean IsNull();
+
 /*! Gets an object %ID
 
    \return ID of the %SObject.
@@ -1053,6 +1095,13 @@ Gets the list of open studies
 */
     string GetIOR();
 
+/*!
+    Set an attribute value (of type string)
+   \param name the name of the attribute
+   \param value the value of the attribute
+*/
+    void SetAttrString(in string name, in string value);
+
 /*!
     Private method, returns an implementation of this SObject.
    \param theHostname is a hostname of the caller