#include <airinv/factory/FacSupervisor.hpp>
Public Types | |
typedef std::vector < FacBomAbstract * > | BomFactoryPool_T |
typedef std::vector < FacServiceAbstract * > | ServiceFactoryPool_T |
Public Member Functions | |
void | registerBomFactory (FacBomAbstract *) |
void | registerServiceFactory (FacServiceAbstract *) |
void | cleanBomLayer () |
void | cleanServiceLayer () |
~FacSupervisor () |
Static Public Member Functions | |
static FacSupervisor & | instance () |
static void | cleanFactory () |
Protected Member Functions | |
FacSupervisor () | |
FacSupervisor (const FacSupervisor &) |
Singleton class to register and clean all Factories.
Definition at line 17 of file FacSupervisor.hpp.
typedef std::vector<FacBomAbstract*> AIRINV::FacSupervisor::BomFactoryPool_T |
Define the pool (list) of factories.
Definition at line 21 of file FacSupervisor.hpp.
typedef std::vector<FacServiceAbstract*> AIRINV::FacSupervisor::ServiceFactoryPool_T |
Definition at line 22 of file FacSupervisor.hpp.
AIRINV::FacSupervisor::~FacSupervisor | ( | ) |
Destructor
The static instance is deleted (and reset to NULL) by the static cleanFactory() method.
Definition at line 41 of file FacSupervisor.cpp.
References cleanBomLayer(), and cleanServiceLayer().
|
protected |
Default Constructor.
This constructor is protected to ensure the singleton pattern.
Definition at line 16 of file FacSupervisor.cpp.
Referenced by instance().
|
inlineprotected |
Definition at line 66 of file FacSupervisor.hpp.
|
static |
Provides the unique instance.
The singleton is instantiated when first used.
Definition at line 20 of file FacSupervisor.cpp.
References FacSupervisor().
void AIRINV::FacSupervisor::registerBomFactory | ( | FacBomAbstract * | ioFacBomAbstract_ptr | ) |
Register a newly instantiated concrete factory for the Bom layer.
When a concrete Factory is firstly instantiated this factory have to register itself to the FacSupervisor
FacAbstract& | the concrete Factory to register. |
Definition at line 30 of file FacSupervisor.cpp.
void AIRINV::FacSupervisor::registerServiceFactory | ( | FacServiceAbstract * | ioFacServiceAbstract_ptr | ) |
Register a newly instantiated concrete factory for the Service layer.
When a concrete Factory is firstly instantiated this factory have to register itself to the FacSupervisor.
FacServiceAbstract& | the concrete Factory to register. |
Definition at line 36 of file FacSupervisor.cpp.
void AIRINV::FacSupervisor::cleanBomLayer | ( | ) |
Clean all created object.
Call the clean method of all the instantiated factories for the Bom layer.
Definition at line 47 of file FacSupervisor.cpp.
Referenced by cleanFactory(), and ~FacSupervisor().
void AIRINV::FacSupervisor::cleanServiceLayer | ( | ) |
Clean all Service created object.
Call the clean method of all the instantiated factories for the Service layer.
Definition at line 61 of file FacSupervisor.cpp.
Referenced by cleanFactory(), and ~FacSupervisor().
|
static |
Clean the static instance.
The singleton is deleted.
Definition at line 75 of file FacSupervisor.cpp.
References cleanBomLayer(), and cleanServiceLayer().