Computer Assited Medical Intervention Tool Kit  version 5.0
MMLMonitorDisplayFactory Class Reference

A Factory for creating MMLMonitorDiplay. More...

#include <MMLMonitorDisplayFactory.h>

+ Collaboration diagram for MMLMonitorDisplayFactory:

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)
 Register a class into the map for classes wich can display every types of monitors. 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...
 

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

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

◆ getInstance()

MMLMonitorDisplayFactory * MMLMonitorDisplayFactory::getInstance ( )
static

return the unique instance of the factory

References instance, and MMLMonitorDisplayFactory().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNumberOfDisplaysByType()

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

give the number of displays registered for a specified type

References displaysByType.

Referenced by MMLDisplay::updateMonitorsTable().

+ Here is the caller graph for this function:

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

◆ registerClass() [2/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

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: