Computer Assited Medical Intervention Tool Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
MMLMonitorDisplayFactory Class Reference

A Factory for creating MMLMonitorDiplay. More...

#include <MMLMonitorDisplayFactory.h>

Public Member Functions

MMLMonitorDisplaycreateMonitorDisplay (std::string id, Monitor *monitor, MMLComponent *manager)
 Creates an MMLMonitorDisplay based on its string id or return null if there is no id in the map.
std::string getDisplayByType (Monitor::type type, const unsigned int i)
 get a display name by its type and index
unsigned int getNumberOfDisplaysByType (Monitor::type type)
 give the number of displays registered for a specified type
bool isRegistered (std::string id)
 Returns true if id is in the map.
template<typename C >
bool registerClass (std::string id, Monitor::type type)
 Register a class into the map A registered class can be created using createMonitorDisplay()
template<typename C >
bool registerClass (std::string id)
 Register a class into the map for classes wich can display every types of monitors.

Static Public Member Functions

static MMLMonitorDisplayFactorygetInstance ()
 return the unique instance of the factory

Private Types

typedef MMLMonitorDisplay *(* CreateMonitorDisplayFunctionPointer )(Monitor *monitor, MMLComponent *manager)

Private Member Functions

 MMLMonitorDisplayFactory ()

Static Private Member Functions

template<typename C >
static MMLMonitorDisplaycreateTheMonitorDisplay (Monitor *monitor, MMLComponent *manager)
 function whose pointers are inserted into the map

Private Attributes

std::vector< std::string > displaysByType [Monitor::typeCount]
 list of displays by type
std::map< std::string,
CreateMonitorDisplayFunctionPointer
mapObjectCreator
 A map between MonitorDisplay name as string to functions (CreateMonitorDisplayFunctionPointer)

Static Private Attributes

static MMLMonitorDisplayFactoryinstance = NULL
 unique instance of the factory

Detailed Description

A Factory for creating MMLMonitorDiplay.

Member Typedef Documentation

typedef MMLMonitorDisplay*(* MMLMonitorDisplayFactory::CreateMonitorDisplayFunctionPointer)(Monitor *monitor, MMLComponent *manager)
private

Constructor & Destructor Documentation

MMLMonitorDisplayFactory::MMLMonitorDisplayFactory ( )
private

Referenced by getInstance().

Member Function Documentation

MMLMonitorDisplay * MMLMonitorDisplayFactory::createMonitorDisplay ( std::string  id,
Monitor *  monitor,
MMLComponent manager 
)

Creates an MMLMonitorDisplay based on its string id or return null if there is no id in the map.

References mapObjectCreator.

Referenced by MMLDisplay::connectMonitor().

template<typename C >
static MMLMonitorDisplay* MMLMonitorDisplayFactory::createTheMonitorDisplay ( Monitor *  monitor,
MMLComponent manager 
)
inlinestaticprivate

function whose pointers are inserted into the map

Parameters
Ctype of MMLMonitorDisplay
Returns
an MonitorDisplay which type is C
std::string MMLMonitorDisplayFactory::getDisplayByType ( Monitor::type  type,
const unsigned int  i 
)

get a display name by its type and index

References displaysByType.

Referenced by MMLDisplay::updateMonitorsTable().

MMLMonitorDisplayFactory * MMLMonitorDisplayFactory::getInstance ( )
static

return the unique instance of the factory

References instance, and MMLMonitorDisplayFactory().

Referenced by MMLDisplay::connectMonitor(), and MMLDisplay::updateMonitorsTable().

unsigned int MMLMonitorDisplayFactory::getNumberOfDisplaysByType ( Monitor::type  type)

give the number of displays registered for a specified type

References displaysByType.

Referenced by MMLDisplay::updateMonitorsTable().

bool MMLMonitorDisplayFactory::isRegistered ( std::string  id)

Returns true if id is in the map.

References mapObjectCreator.

template<typename C >
bool MMLMonitorDisplayFactory::registerClass ( std::string  id,
Monitor::type  type 
)
inline

Register a class into the map A registered class can be created using createMonitorDisplay()

Parameters
Ca subclass of MMLMonitorDisplay
idunique id to associate with the Class C
typethe type of monitor the class can display

References displaysByType, and mapObjectCreator.

template<typename C >
bool MMLMonitorDisplayFactory::registerClass ( std::string  id)
inline

Register a class into the map for classes wich can display every types of monitors.

Parameters
Ca subclass of MMLMonitorDisplay
idunique id to associate with the Class C

References displaysByType, and mapObjectCreator.

Member Data Documentation

std::vector<std::string> MMLMonitorDisplayFactory::displaysByType[Monitor::typeCount]
private

list of displays by type

Referenced by getDisplayByType(), getNumberOfDisplaysByType(), and registerClass().

MMLMonitorDisplayFactory * MMLMonitorDisplayFactory::instance = NULL
staticprivate

unique instance of the factory

Referenced by getInstance().

std::map<std::string, CreateMonitorDisplayFunctionPointer> MMLMonitorDisplayFactory::mapObjectCreator
private

A map between MonitorDisplay name as string to functions (CreateMonitorDisplayFunctionPointer)

Referenced by createMonitorDisplay(), isRegistered(), and registerClass().


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