Salome HOME
Merge from V6_main 01/04/2013
[modules/hexablock.git] / src / HEXABLOCK / Hex.hxx
index 2035a030431f654c31ab1919cb99746847922799..a800d3f0551156be21b5945e76a4c38a480bc3d2 100755 (executable)
@@ -1,7 +1,7 @@
 
 // class : La clase principale de Hexa
 
-// Copyright (C) 2009-2012  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2013  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
@@ -30,19 +30,34 @@ BEGIN_NAMESPACE_HEXA
 class Hex
 {
 public:
+   static Hex* getInstance ();
+
    int       countDocument ();
    Document* getDocument (int nro);
    void      removeDocument (Document* doc);
 
-   Document* addDocument  (const char* name="default");
-   Document* loadDocument (const char* name);
+   Document* addDocument  (cpchar name="default");
+   Document* loadDocument (cpchar name);
+   Document* findDocument (cpchar name);
+   Document* findDocument (const string& name) 
+             { return findDocument (name.c_str()) ; }
+
+   int loadAllDocs (cpchar flow);
+   int saveAllDocs (cpchar filename);
+   void makeName   (cpchar radical, string& name);
 
+   void lockDump();
+   void restoreDump();
+     
+// private:
              //  Constructeur + destructeur
     Hex ();
    ~Hex ();
 
 private:
+   static Hex* first_instance;
    vector <Document*> liste_documents;
+   Globale*    glob;
 };
 
 END_NAMESPACE_HEXA