QuISP
Loading...
Searching...
No Matches
quisp::utils::ComponentProvider Class Reference

ComponentProvider class provides a way to access other quisp other modules. More...

#include <ComponentProvider.h>

Public Member Functions

 ComponentProvider (omnetpp::cModule *_module)
 
cModule * getQNode ()
 
cModule * getNode ()
 
int getNodeAddr ()
 
cModule * getNeighborNode (cModule *qnic)
 
bool isQNodeType (const cModuleType *const type)
 
bool isBSANodeType (const cModuleType *const type)
 
bool isEPPSNodeType (const cModuleType *const type)
 
IStationaryQubitgetStationaryQubit (modules::qrsa::IQubitRecord *const qubit_record)
 
IStationaryQubitgetStationaryQubit (int qnic_index, int qubit_index, QNIC_type qnic_type)
 
cModule * getQNIC (int qnic_index, QNIC_type qnic_type)
 
int getNumQubits (int qnic_index, QNIC_type qnic_type)
 
IRoutingDaemongetRoutingDaemon ()
 
IHardwareMonitorgetHardwareMonitor ()
 
IRealTimeControllergetRealTimeController ()
 
IQuantumBackendgetQuantumBackend ()
 
ILoggergetLogger ()
 
cTopology * getTopologyForRoutingDaemon (const cModule *const rd_module)
 
cTopology * getTopologyForRouter ()
 
const std::unordered_map< int, int > getEndNodeWeightMapForApplication (std::string node_type)
 
void setStrategy (std::unique_ptr< IComponentProviderStrategy > _strategy)
 

Public Attributes

omnetpp::cModule * module
 

Private Member Functions

SharedResourcegetSharedResource ()
 
void ensureStrategy ()
 

Private Attributes

std::unique_ptr< IComponentProviderStrategystrategy = nullptr
 

Detailed Description

ComponentProvider class provides a way to access other quisp other modules.

This class itself doesn't know how to get other modules, All actual behaviors are delegated to strategy class.

See also
IComponentProviderStrategy
DefaultComponentProviderStrategy

Constructor & Destructor Documentation

◆ ComponentProvider()

quisp::utils::ComponentProvider::ComponentProvider ( omnetpp::cModule * _module)

Member Function Documentation

◆ ensureStrategy()

void quisp::utils::ComponentProvider::ensureStrategy ( )
private

◆ getEndNodeWeightMapForApplication()

const std::unordered_map< int, int > quisp::utils::ComponentProvider::getEndNodeWeightMapForApplication ( std::string node_type)

◆ getHardwareMonitor()

IHardwareMonitor * quisp::utils::ComponentProvider::getHardwareMonitor ( )

◆ getLogger()

ILogger * quisp::utils::ComponentProvider::getLogger ( )

◆ getNeighborNode()

cModule * quisp::utils::ComponentProvider::getNeighborNode ( cModule * qnic)

◆ getNode()

cModule * quisp::utils::ComponentProvider::getNode ( )

◆ getNodeAddr()

int quisp::utils::ComponentProvider::getNodeAddr ( )

◆ getNumQubits()

int quisp::utils::ComponentProvider::getNumQubits ( int qnic_index,
QNIC_type qnic_type )

◆ getQNIC()

cModule * quisp::utils::ComponentProvider::getQNIC ( int qnic_index,
QNIC_type qnic_type )

◆ getQNode()

cModule * quisp::utils::ComponentProvider::getQNode ( )

◆ getQuantumBackend()

IQuantumBackend * quisp::utils::ComponentProvider::getQuantumBackend ( )

◆ getRealTimeController()

IRealTimeController * quisp::utils::ComponentProvider::getRealTimeController ( )

◆ getRoutingDaemon()

IRoutingDaemon * quisp::utils::ComponentProvider::getRoutingDaemon ( )

◆ getSharedResource()

SharedResource * quisp::utils::ComponentProvider::getSharedResource ( )
private

◆ getStationaryQubit() [1/2]

IStationaryQubit * quisp::utils::ComponentProvider::getStationaryQubit ( int qnic_index,
int qubit_index,
QNIC_type qnic_type )

◆ getStationaryQubit() [2/2]

IStationaryQubit * quisp::utils::ComponentProvider::getStationaryQubit ( modules::qrsa::IQubitRecord *const qubit_record)

◆ getTopologyForRouter()

cTopology * quisp::utils::ComponentProvider::getTopologyForRouter ( )

◆ getTopologyForRoutingDaemon()

cTopology * quisp::utils::ComponentProvider::getTopologyForRoutingDaemon ( const cModule *const rd_module)

◆ isBSANodeType()

bool quisp::utils::ComponentProvider::isBSANodeType ( const cModuleType *const type)

◆ isEPPSNodeType()

bool quisp::utils::ComponentProvider::isEPPSNodeType ( const cModuleType *const type)

◆ isQNodeType()

bool quisp::utils::ComponentProvider::isQNodeType ( const cModuleType *const type)

◆ setStrategy()

void quisp::utils::ComponentProvider::setStrategy ( std::unique_ptr< IComponentProviderStrategy > _strategy)

Member Data Documentation

◆ module

omnetpp::cModule* quisp::utils::ComponentProvider::module

◆ strategy

std::unique_ptr<IComponentProviderStrategy> quisp::utils::ComponentProvider::strategy = nullptr
private

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