AirInv Logo  1.00.3
C++ Simulated Airline Inventory Management System library
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
AIRINV::FacSupervisor::BomFactoryPool_T
std::vector< FacBomAbstract * > BomFactoryPool_T
Definition: FacSupervisor.hpp:21
AIRINV::FacSupervisor::FacSupervisor
FacSupervisor(const FacSupervisor &)
Definition: FacSupervisor.hpp:66
AIRINV::FacSupervisor::instance
static FacSupervisor & instance()
Definition: FacSupervisor.cpp:20
AIRINV::FacBomAbstract
Definition: FacBomAbstract.hpp:17
AIRINV::FacSupervisor::registerBomFactory
void registerBomFactory(FacBomAbstract *)
Definition: FacSupervisor.cpp:30
AIRINV::FacSupervisor::cleanFactory
static void cleanFactory()
Definition: FacSupervisor.cpp:75
AIRINV::FacSupervisor::cleanServiceLayer
void cleanServiceLayer()
Definition: FacSupervisor.cpp:61
AIRINV::FacSupervisor::FacSupervisor
FacSupervisor()
Definition: FacSupervisor.cpp:16
AIRINV::FacSupervisor
Definition: FacSupervisor.hpp:17
AIRINV::FacSupervisor::~FacSupervisor
~FacSupervisor()
Definition: FacSupervisor.cpp:41
AIRINV::FacSupervisor::registerServiceFactory
void registerServiceFactory(FacServiceAbstract *)
Definition: FacSupervisor.cpp:36
AIRINV
Definition: AIRINV_Master_Service.hpp:38
AIRINV::FacSupervisor::cleanBomLayer
void cleanBomLayer()
Definition: FacSupervisor.cpp:47
AIRINV::FacServiceAbstract
Definition: FacServiceAbstract.hpp:16
AIRINV::FacSupervisor::ServiceFactoryPool_T
std::vector< FacServiceAbstract * > ServiceFactoryPool_T
Definition: FacSupervisor.hpp:22