OpenTREP Logo  0.07.4
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
OPENTREP::FacSupervisor::FacSupervisor
FacSupervisor(const FacSupervisor &)
Definition: FacSupervisor.hpp:120
OPENTREP::FacSupervisor::cleanServiceLayer
void cleanServiceLayer()
Definition: FacSupervisor.cpp:78
OPENTREP::FacSupervisor::cleanLoggerService
void cleanLoggerService()
Definition: FacSupervisor.cpp:97
OPENTREP::FacSupervisor::registerXapianDBFactory
void registerXapianDBFactory(FacXapianDB *)
Definition: FacSupervisor.cpp:42
OPENTREP::FacSupervisor::ServiceFactoryPool_T
std::vector< FacServiceAbstract * > ServiceFactoryPool_T
Definition: FacSupervisor.hpp:28
OPENTREP::FacSupervisor::registerLoggerService
void registerLoggerService(Logger *)
Definition: FacSupervisor.cpp:47
OPENTREP::FacSupervisor
Definition: FacSupervisor.hpp:21
OPENTREP::FacSupervisor::cleanFactory
static void cleanFactory()
Definition: FacSupervisor.cpp:102
OPENTREP::FacSupervisor::FacSupervisor
FacSupervisor()
Definition: FacSupervisor.cpp:16
OPENTREP
Definition: BasChronometer.cpp:10
OPENTREP::FacSupervisor::~FacSupervisor
~FacSupervisor()
Definition: FacSupervisor.cpp:52
OPENTREP::Logger
Definition: Logger.hpp:49
OPENTREP::FacXapianDB
Factory for a Xapian WritableDatabase object.
Definition: FacXapianDB.hpp:22
OPENTREP::FacBomAbstract
Definition: FacBomAbstract.hpp:17
OPENTREP::FacSupervisor::cleanFacXapianDB
void cleanFacXapianDB()
Definition: FacSupervisor.cpp:92
OPENTREP::FacSupervisor::instance
static FacSupervisor & instance()
Definition: FacSupervisor.cpp:21
OPENTREP::FacServiceAbstract
Definition: FacServiceAbstract.hpp:16
OPENTREP::FacSupervisor::BomFactoryPool_T
std::vector< FacBomAbstract * > BomFactoryPool_T
Definition: FacSupervisor.hpp:27
OPENTREP::FacSupervisor::registerServiceFactory
void registerServiceFactory(FacServiceAbstract *)
Definition: FacSupervisor.cpp:37
OPENTREP::FacSupervisor::cleanBomLayer
void cleanBomLayer()
Definition: FacSupervisor.cpp:64
OPENTREP::FacSupervisor::registerBomFactory
void registerBomFactory(FacBomAbstract *)
Definition: FacSupervisor.cpp:31