#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.
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().
AIRINV::FacSupervisor::FacSupervisor | ( | ) | [protected] |
Default Constructor.
This constructor is protected to ensure the singleton pattern.
Definition at line 16 of file FacSupervisor.cpp.
Referenced by instance().
AIRINV::FacSupervisor::FacSupervisor | ( | const FacSupervisor & | ) | [inline, protected] |
Definition at line 66 of file FacSupervisor.hpp.
FacSupervisor & AIRINV::FacSupervisor::instance | ( | ) | [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().
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().
void AIRINV::FacSupervisor::cleanFactory | ( | ) | [static] |
Clean the static instance.
The singleton is deleted.
Definition at line 75 of file FacSupervisor.cpp.
References cleanBomLayer(), and cleanServiceLayer().