Salome HOME
[EDF28562] : Possibility of exclusion output port of squeezeMemory mecanism in Python...
[modules/yacs.git] / src / runtime / PythonNode.hxx
index 49b6a2e7c136a4e7df630a4316a13048829cd2dd..2e1482dd94dd39e04d2d45ad2c55afd36c284d1f 100644 (file)
@@ -28,6 +28,8 @@
 
 #include <Python.h>
 
+#include <set>
+
 namespace YACS
 {
   namespace ENGINE
@@ -105,6 +107,7 @@ namespace YACS
       PythonNode* cloneNode(const std::string& name);
       virtual std::string typeName() { return "YACS__ENGINE__PythonNode"; }
       void applyDPLScope(ComposedNode *gfn);
+      void setSqueezeStatusWithExceptions(bool sqStatus, const std::vector<std::string>& squeezeExceptions);
       void setSqueezeStatus(bool sqStatus) { _autoSqueeze=sqStatus; }
       bool getSqueezeStatus() const { return _autoSqueeze; }
       void squeezeMemorySafe();
@@ -123,6 +126,8 @@ namespace YACS
       static const char DPL_INFO_NAME[];
     protected:
       bool _autoSqueeze = false;
+      //! list on output port name excluded from the squeeze mecanism
+      std::set<std::string> _nonSqueezableOutputNodes;
       Engines::PyScriptNode_var _pynode;
     };