Salome HOME
22806: EDF SMESH: Regression: Prism_3D error
[modules/smesh.git] / src / SMESH / SMESH_subMeshEventListener.hxx
index ae911cfefbde029507c776f3b7a214bdcf4c444d..bccc5d073b129c7971cf15ad56db8683aad72a24 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2014  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
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -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)