Computer Assited Medical Intervention Tool Kit  version 4.1
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. More...
 
std::string getDisplayByType (Monitor::type type, const unsigned int i)
 get a display name by its type and index More...
 
unsigned int getNumberOfDisplaysByType (Monitor::type type)
 give the number of displays registered for a specified type More...
 
bool isRegistered (std::string id)
 Returns true if id is in the map. More...
 
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(). More...
 
template<typename C >
bool registerClass (std::string id)
 Register a class into the map for classes wich can display every types of monitors. More...
 

Static Public Member Functions

static MMLMonitorDisplayFactorygetInstance ()
 return the unique instance of the factory More...
 

Private Types

using CreateMonitorDisplayFunctionPointer = MMLMonitorDisplay *(*)(Monitor *monitor, MMLComponent *manager)
 

Private Member Functions

 MMLMonitorDisplayFactory ()=default
 

Static Private Member Functions

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

Private Attributes

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

Static Private Attributes

static MMLMonitorDisplayFactoryinstance = nullptr
 unique instance of the factory More...
 

Detailed Description

A Factory for creating MMLMonitorDiplay.

Member Typedef Documentation

◆ CreateMonitorDisplayFunctionPointer

Constructor & Destructor Documentation

◆ MMLMonitorDisplayFactory()

MMLMonitorDisplayFactory::MMLMonitorDisplayFactory ( )
privatedefault

Referenced by getInstance().

Member Function Documentation

◆ createMonitorDisplay()

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

◆ createTheMonitorDisplay()

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

function whose pointers are inserted into the map.

C is the type of MMLMonitorDisplay

Returns
an MonitorDisplay which type is C

◆ getDisplayByType()

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

◆ getInstance()

MMLMonitorDisplayFactory * MMLMonitorDisplayFactory::getInstance ( )
static

return the unique instance of the factory

References instance, and MMLMonitorDisplayFactory().

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

◆ getNumberOfDisplaysByType()

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

give the number of displays registered for a specified type

References displaysByType.

Referenced by MMLDisplay::updateMonitorsTable().

◆ isRegistered()

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

Returns true if id is in the map.

References mapObjectCreator.

◆ registerClass() [1/2]

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

C is a subclass of MMLMonitorDisplay.

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

◆ registerClass() [2/2]

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.

C is a subclass of MMLMonitorDisplay.

Parameters
idunique id to associate with the Class C

References Monitor::typeCount.

Member Data Documentation

◆ displaysByType

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

list of displays by type

Referenced by getDisplayByType(), and getNumberOfDisplaysByType().

◆ instance

MMLMonitorDisplayFactory * MMLMonitorDisplayFactory::instance = nullptr
staticprivate

unique instance of the factory

Referenced by getInstance().

◆ mapObjectCreator

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

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

Referenced by createMonitorDisplay(), and isRegistered().


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