Salome HOME
PR: mergefrom_BR_BATCH_22Oct04
[modules/kernel.git] / src / Batch / Batch_BatchManagerCatalog.hxx
1 /*
2  * BatchManagerCatalog.hxx : 
3  *
4  * Auteur : Ivan DUTKA-MALEN - EDF R&D
5  * Date   : Septembre 2004
6  * Projet : SALOME 2
7  *
8  */
9
10 #ifndef _CATALOG_H_
11 #define _CATALOG_H_
12
13 using namespace std;
14 #include <string>
15 #include <map>
16 #include <pthread.h>
17
18 namespace Batch {
19
20   class FactBatchManager;
21   
22   class BatchManagerCatalog
23   {
24   public:
25     // Constructeur
26     BatchManagerCatalog();
27     // Destructeur
28     virtual ~BatchManagerCatalog();
29
30     static FactBatchManager * getFactBatchManager(const char * type);
31     static void addFactBatchManager(const char * type, FactBatchManager * pFBM);
32     virtual FactBatchManager * operator() (const char * type) const;
33
34     virtual map<string, FactBatchManager *> * dict() const;
35     virtual string __repr__() const;
36
37   protected:
38     static map<string, FactBatchManager *> * _p_catalog;
39     static pthread_mutex_t _mutex;
40
41   private:
42
43   };
44
45 }
46
47 #endif