Salome HOME
1. SALOME::GenericObj : Destroy() -> UnRegister()
[modules/kernel.git] / idl / SALOMEDS.idl
index 4325a38753b2c29a03fb1b9f732a184984250a1c..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;
 
@@ -538,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);   
   };
 
   //==========================================================================
@@ -992,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.
@@ -1078,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