SimCRS Logo  1.01.5
C++ Simulated Travel-Oriented Distribution System Library
FacSupervisor.hpp
Go to the documentation of this file.
1 #ifndef __SIMCRS_FAC_FACSUPERVISOR_HPP
2 #define __SIMCRS_FAC_FACSUPERVISOR_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <vector>
9 
10 namespace SIMCRS {
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 // __SIMCRS_FAC_FACSUPERVISOR_HPP
SIMCRS
Definition: BasConst.cpp:7
SIMCRS::FacSupervisor::FacSupervisor
FacSupervisor()
Definition: FacSupervisor.cpp:16
SIMCRS::FacSupervisor::registerBomFactory
void registerBomFactory(FacBomAbstract *)
Definition: FacSupervisor.cpp:30
SIMCRS::FacSupervisor::instance
static FacSupervisor & instance()
Definition: FacSupervisor.cpp:20
SIMCRS::FacSupervisor::cleanServiceLayer
void cleanServiceLayer()
Definition: FacSupervisor.cpp:61
SIMCRS::FacSupervisor::~FacSupervisor
~FacSupervisor()
Definition: FacSupervisor.cpp:41
SIMCRS::FacSupervisor::cleanFactory
static void cleanFactory()
Definition: FacSupervisor.cpp:75
SIMCRS::FacSupervisor::ServiceFactoryPool_T
std::vector< FacServiceAbstract * > ServiceFactoryPool_T
Definition: FacSupervisor.hpp:22
SIMCRS::FacSupervisor::cleanBomLayer
void cleanBomLayer()
Definition: FacSupervisor.cpp:47
SIMCRS::FacSupervisor::registerServiceFactory
void registerServiceFactory(FacServiceAbstract *)
Definition: FacSupervisor.cpp:36
SIMCRS::FacSupervisor
Definition: FacSupervisor.hpp:17
SIMCRS::FacSupervisor::BomFactoryPool_T
std::vector< FacBomAbstract * > BomFactoryPool_T
Definition: FacSupervisor.hpp:21
SIMCRS::FacServiceAbstract
Definition: FacServiceAbstract.hpp:16
SIMCRS::FacSupervisor::FacSupervisor
FacSupervisor(const FacSupervisor &)
Definition: FacSupervisor.hpp:66
SIMCRS::FacBomAbstract
Definition: FacBomAbstract.hpp:17