OpenTREP Logo  0.07.11
C++ Open Travel Request Parsing Library
FacSupervisor.hpp
Go to the documentation of this file.
1 #ifndef __OPENTREP_FAC_FACSUPERVISOR_HPP
2 #define __OPENTREP_FAC_FACSUPERVISOR_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <vector>
9 
10 namespace OPENTREP {
11 
12  // Forward declarations
13  class FacBomAbstract;
14  class FacServiceAbstract;
15  class FacXapianDB;
16  class Logger;
17 
21  class FacSupervisor {
22  public:
23 
27  typedef std::vector<FacBomAbstract*> BomFactoryPool_T;
28  typedef std::vector<FacServiceAbstract*> ServiceFactoryPool_T;
29 
35  static FacSupervisor& instance();
36 
45 
53 
64 
75 
81  void cleanBomLayer();
82 
88  void cleanServiceLayer();
89 
93  void cleanFacXapianDB();
94 
98  void cleanLoggerService();
99 
104  static void cleanFactory ();
105 
111  ~FacSupervisor();
112 
113  protected:
119  FacSupervisor ();
121 
122 
123  private:
127  static FacSupervisor* _instance;
128 
132  FacXapianDB* _facXapianDB;
133 
137  Logger* _logger;
138 
142  BomFactoryPool_T _bomPool;
143 
147  ServiceFactoryPool_T _svcPool;
148  };
149 }
150 #endif // __OPENTREP_FAC_FACSUPERVISOR_HPP
std::vector< FacServiceAbstract * > ServiceFactoryPool_T
static FacSupervisor & instance()
std::vector< FacBomAbstract * > BomFactoryPool_T
void registerXapianDBFactory(FacXapianDB *)
void registerBomFactory(FacBomAbstract *)
void registerServiceFactory(FacServiceAbstract *)
FacSupervisor(const FacSupervisor &)
void registerLoggerService(Logger *)
Factory for a Xapian WritableDatabase object.
Definition: FacXapianDB.hpp:22