AirInv Logo  1.00.0
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FacSupervisor.hpp
Go to the documentation of this file.
1 #ifndef __AIRINV_FAC_FACSUPERVISOR_HPP
2 #define __AIRINV_FAC_FACSUPERVISOR_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <vector>
9 
10 namespace AIRINV {
11 
12  // Forward declarations
13  class FacBomAbstract;
14  class FacServiceAbstract;
15 
17  class FacSupervisor {
18  public:
19 
21  typedef std::vector<FacBomAbstract*> BomFactoryPool_T;
22  typedef std::vector<FacServiceAbstract*> ServiceFactoryPool_T;
23 
27  static FacSupervisor& instance();
28 
34 
40 
44  void cleanBomLayer();
45 
49  void cleanServiceLayer();
50 
53  static void cleanFactory ();
54 
59 
60 
61  protected:
65  FacSupervisor ();
67 
68 
69  private:
71  static FacSupervisor* _instance;
72 
74  BomFactoryPool_T _bomPool;
75 
77  ServiceFactoryPool_T _svcPool;
78  };
79 }
80 #endif // __AIRINV_FAC_FACSUPERVISOR_HPP