Salome HOME
Merge V9_dev branch into master
[modules/hexablock.git] / src / HEXABLOCK / HexDumpStudy.hxx
index 6067dbbdcc6474cd5057f89c13e9f0c06ba5ef7b..ae7efba29fef6d6f4cb4c8a643bb24ab8a9eb73e 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Class : Ecriture d'un dump python
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2016  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
 // 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
 #include "hexa_base.hxx"
 #include <map>
 
-BEGIN_NAMESPACE_HEXA
+#if defined WIN32
+#pragma warning ( disable: 4251 )
+#endif
 
+BEGIN_NAMESPACE_HEXA
 
+#define DumpStart0(p) bool actif=el_root->glob->dump.start(this, p)
 #define DumpStart(p,args) bool actif=el_root->glob->dump.start(this, p); if (actif)  el_root->glob->dump << args
 #define DumpEnd       el_root->glob->dump.close (actif)
 #define DumpReturn(v) el_root->glob->dump.close (actif,v)
@@ -36,10 +40,12 @@ BEGIN_NAMESPACE_HEXA
 #define DumpLock    bool actif=el_root->glob->dump.lock ()
 #define DumpRestore            el_root->glob->dump.restore (actif)
 
-class DumpStudy
+class Witness;
+class HexaExport DumpStudy
 {
 public :
     DumpStudy ();
+    void setWitness (Witness* temoin)       { witness = temoin ; }
 
     DumpStudy& operator << (int      val);
     DumpStudy& operator << (double   val);
@@ -51,12 +57,15 @@ public :
     DumpStudy& operator << (RealVector& elt);
 
     bool start (EltBase* obj, cpchar method);
-    bool start (cpchar   obj, cpchar method);
+    bool start (cpchar   obj, cpchar method, bool razmess=true);
     void close (bool reactive);
     void close (bool reactive, EltBase* retour);
+    void close (bool reactive, int      retour);
+    void close (bool reactive, double   retour);
 
     bool lock ();
-    void restore (bool reactive);
+    void restore  (bool reactive);
+    void getBegin (string& begin);
 
 private :
    cpchar findName   (EltBase* elt);
@@ -76,12 +85,13 @@ private :
    string curr_vector;
    int    nbr_values;
 
-   FILE*  fic_dump;
-   string this_name;
-   string right_part;
-   bool   is_open;
-   int    nbr_nulls;
-   int    nbr_args;
+   FILE*    fic_dump;
+   string   this_name;
+   string   right_part;
+   bool     is_open;
+   int      nbr_nulls;
+   int      nbr_args;
+   Witness* witness;
 };
 END_NAMESPACE_HEXA
 #endif