Salome HOME
Merge from V6_main 01/04/2013
[modules/smesh.git] / src / SMESH / SMESH_subMeshEventListener.hxx
index ae911cfefbde029507c776f3b7a214bdcf4c444d..66e324f8059572e840939f693e380b00afd9de2e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2013  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
@@ -46,18 +46,18 @@ class SMESH_EXPORT SMESH_subMeshEventListener
 {
   bool myIsDeletable; //!< if true, it will be deleted by SMESH_subMesh
   mutable std::set<SMESH_subMesh*> myBusySM; //!< to avoid infinite recursion via events
+  const char*                      myName;   //!< identifier
   friend class SMESH_subMesh;
-#ifdef _DEBUG_
-  const char* myName; //!< identifier used for debug
-#endif
 
  public:
-  SMESH_subMeshEventListener(bool isDeletable, const char* name) :myIsDeletable(isDeletable)
-#ifdef _DEBUG_
-    ,myName(name)
-#endif
+  SMESH_subMeshEventListener(bool isDeletable, const char* name)
+    :myIsDeletable(isDeletable), myName(name) {}
+  virtual      ~SMESH_subMeshEventListener() {}
+  bool         IsDeletable() const { return myIsDeletable; }
+  const char*  GetName()     const { return myName; }
+  virtual void BeforeDelete(SMESH_subMesh*                  subMesh,
+                            SMESH_subMeshEventListenerData* data)
   {}
-  bool IsDeletable() const { return myIsDeletable; }
   /*!
    * \brief Do something on a certain event
    * \param event - algo_event or compute_event itself (of SMESH_subMesh)