]> SALOME platform Git repositories - modules/hexablock.git/blobdiff - src/HEXABLOCK/HexDumpStudy.hxx
Salome HOME
Copyright update 2022
[modules/hexablock.git] / src / HEXABLOCK / HexDumpStudy.hxx
old mode 100755 (executable)
new mode 100644 (file)
index 6067dbb..95c1e1e
@@ -1,12 +1,12 @@
 
 // Class : Ecriture d'un dump python
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2022  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,18 +57,21 @@ 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 (std::string& begin);
 
 private :
    cpchar findName   (EltBase* elt);
    void addArgVector (EnumElt type, TabElts& table);
    void addArgument  (cpchar  arg);
-   void addArgument  (string& arg) { addArgument (arg.c_str()) ; }
+   void addArgument  (std::string& arg) { addArgument (arg.c_str()) ; }
    void declareVectors ();
    void addVector (cpchar name);
    void majVector (cpchar value);
@@ -73,15 +82,16 @@ private :
    std::vector <std::string>           tab_declar;
 
    int    tab_count [EL_MAXI];
-   string curr_vector;
+   std::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;
+   std::string   this_name;
+   std::string   right_part;
+   bool     is_open;
+   int      nbr_nulls;
+   int      nbr_args;
+   Witness* witness;
 };
 END_NAMESPACE_HEXA
 #endif