OpenTREP Logo  0.6.0
C++ Open Travel Request Parsing Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 Logger;
16 
18  class FacSupervisor {
19  public:
20 
22  typedef std::vector<FacBomAbstract*> BomFactoryPool_T;
23  typedef std::vector<FacServiceAbstract*> ServiceFactoryPool_T;
24 
28  static FacSupervisor& instance();
29 
35 
41 
51 
55  void cleanBomLayer();
56 
60  void cleanServiceLayer();
61 
63  void cleanLoggerService();
64 
67  static void cleanFactory ();
68 
73 
74 
75  protected:
79  FacSupervisor ();
81 
82 
83  private:
85  static FacSupervisor* _instance;
86 
88  Logger* _logger;
89 
91  BomFactoryPool_T _bomPool;
92 
94  ServiceFactoryPool_T _svcPool;
95  };
96 }
97 #endif // __OPENTREP_FAC_FACSUPERVISOR_HPP
static FacSupervisor & instance()
void registerServiceFactory(FacServiceAbstract *)
FacSupervisor(const FacSupervisor &)
std::vector< FacServiceAbstract * > ServiceFactoryPool_T
void registerBomFactory(FacBomAbstract *)
static void cleanFactory()
std::vector< FacBomAbstract * > BomFactoryPool_T
void registerLoggerService(Logger *)