Salome HOME
Fix for the issue Crash on export file if name of resulting file contain the name...
[modules/shaper.git] / src / Model / Model_Session.h
index 11655c8a3a73f4b79ddbdac8179fd4fa10e4ad94..b480a67e951c03cfd5eca6104bb3c9f7eb182f4b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 //
 // You should have received a copy of the GNU Lesser General Public
 // License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef Model_Session_H_
@@ -49,8 +48,9 @@ class Model_Session : public ModelAPI_Session, public Events_Listener
 
   /// if true, generates error if document is updated outside of transaction
   bool myCheckTransactions;
-  bool myOperationAttachedToNext; ///< the current operation must be committed twice, with nested
-  bool myIsAutoUpdateBlocked; ///< the current state of the auto-update flag in the application
+  /// if true, the current operation must be committed twice,
+  /// with nested (list for any nesting depth)
+  std::list<bool> myOperationAttachedToNext;
  public:
 
   //! Loads the OCAF document from the file.
@@ -133,6 +133,9 @@ class Model_Session : public ModelAPI_Session, public Events_Listener
   /// Returns the validators factory: the only one instance per application
   MODEL_EXPORT virtual ModelAPI_ValidatorsFactory* validators();
 
+  /// Returns the filters factory: the only one instance per application
+  MODEL_EXPORT virtual ModelAPI_FiltersFactory* filters();
+
   /// Sets the flag to check modifications outside the transaction or not
   void setCheckTransactions(const bool theCheck)
   {
@@ -147,9 +150,7 @@ class Model_Session : public ModelAPI_Session, public Events_Listener
 
 
   /// Returns true if auto-update in the application is blocked
-  MODEL_EXPORT virtual bool isAutoUpdateBlocked() const {
-    return myIsAutoUpdateBlocked;
-  }
+  MODEL_EXPORT virtual bool isAutoUpdateBlocked();
 
   /// Set state of the auto-update of features result in the application
   MODEL_EXPORT virtual void blockAutoUpdate(const bool theBlock);