StdAir Logo  1.00.0
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FacSupervisor.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_SVC_FACSUPERVISOR_HPP
2 #define __STDAIR_SVC_FACSUPERVISOR_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <list>
10 
11 namespace stdair {
12 
14  class FacAbstract;
15  class FacServiceAbstract;
16 
20  class FacSupervisor {
21  public:
25  typedef std::list<FacAbstract*> PersistentBomFactoryPool_T;
26  typedef std::list<FacAbstract*> CloneBomFactoryPool_T;
27  typedef std::list<FacServiceAbstract*> ServiceFactoryPool_T;
28 
35  static FacSupervisor& instance();
36 
45 
54 
63 
71 
78  void cleanCloneBomLayer();
79 
86  void cleanServiceLayer();
87 
91  static void cleanLoggerService();
92 
96  static void cleanDBSessionManager();
97 
103  static void cleanAll();
104 
111  ~FacSupervisor();
112 
113 
114  protected:
122 
123  private:
127  static FacSupervisor* _instance;
128 
132  PersistentBomFactoryPool_T _persistentBomPool;
133 
137  CloneBomFactoryPool_T _cloneBomPool;
138 
142  ServiceFactoryPool_T _svcPool;
143 
144  };
145 }
146 #endif // __STDAIR_SVC_FACSUPERVISOR_HPP