AirInv Logo  1.00.0
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AIRINV::FacSupervisor Class Reference

#include <airinv/factory/FacSupervisor.hpp>

List of all members.

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 FacSupervisorinstance ()
static void cleanFactory ()

Protected Member Functions

 FacSupervisor ()
 FacSupervisor (const FacSupervisor &)

Detailed Description

Singleton class to register and clean all Factories.

Definition at line 17 of file FacSupervisor.hpp.


Member Typedef Documentation

Define the pool (list) of factories.

Definition at line 21 of file FacSupervisor.hpp.

Definition at line 22 of file FacSupervisor.hpp.


Constructor & Destructor Documentation

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().

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 )
inlineprotected

Definition at line 66 of file FacSupervisor.hpp.


Member Function Documentation

FacSupervisor & AIRINV::FacSupervisor::instance ( )
static

Provides the unique instance.
The singleton is instantiated when first used.

Returns:
FacSupervisor&

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

Parameters:
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.

Parameters:
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().

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().


The documentation for this class was generated from the following files: