AirInv Logo  0.1.2
C++ Simulated Airline Inventory Management System library
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.


Member Typedef Documentation

Define the pool (list) of factories.

Definition at line 21 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 ) [inline, protected]

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 ~FacSupervisor(), and cleanFactory().

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 ~FacSupervisor(), and cleanFactory().

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: