QuISP
Loading...
Searching...
No Matches
DefaultComponentProviderStrategy.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace quisp::utils {
6
8 public:
10 cModule *getQNode() override;
11 cModule *getNode() override;
12 cModule *getNeighborNode(cModule *qnic) override;
13 int getNodeAddr() override;
14 bool isQNodeType(const cModuleType *const type) override;
15 bool isBSANodeType(const cModuleType *const type) override;
16 bool isEPPSNodeType(const cModuleType *const type) override;
17 IStationaryQubit *getStationaryQubit(int qnic_index, int qubit_index, QNIC_type qnic_type) override;
18 cModule *getQNIC(int qnic_index, QNIC_type qnic_type) override;
19 int getNumQubits(int qnic_index, QNIC_type qnic_type) override;
24 ILogger *getLogger() override;
26
27 private:
28 const cModuleType *const QNodeType = cModuleType::get("modules.QNode");
29 const cModuleType *const EPPSType = cModuleType::get("modules.EPPSNode");
30 const cModuleType *const BSAType = cModuleType::get("modules.BSANode");
31 cModule *self;
32 cModule *getQRSA();
33};
34
35} // namespace quisp::utils
The abstract interface for a quantum backend.
Definition IQuantumBackend.h:19
Definition IHardwareMonitor.h:74
Definition IRealTimeController.h:10
Definition IRoutingDaemon.h:9
Definition IStationaryQubit.h:20
Interface of Logger class. Logger class that inherits ILogger is responsible for logging simulation r...
Definition ILogger.h:22
Definition DefaultComponentProviderStrategy.h:7
DefaultComponentProviderStrategy(cModule *_self)
Definition DefaultComponentProviderStrategy.cc:7
bool isEPPSNodeType(const cModuleType *const type) override
Definition DefaultComponentProviderStrategy.cc:122
cModule * getNode() override
Definition DefaultComponentProviderStrategy.cc:20
cModule * getNeighborNode(cModule *qnic) override
Definition DefaultComponentProviderStrategy.cc:35
cModule * getQNIC(int qnic_index, QNIC_type qnic_type) override
Definition DefaultComponentProviderStrategy.cc:55
SharedResource * getSharedResource() override
Definition DefaultComponentProviderStrategy.cc:102
cModule * getQRSA()
Definition DefaultComponentProviderStrategy.cc:111
IRealTimeController * getRealTimeController() override
Definition DefaultComponentProviderStrategy.cc:78
cModule * getQNode() override
Definition DefaultComponentProviderStrategy.cc:9
cModule * self
Definition DefaultComponentProviderStrategy.h:31
IHardwareMonitor * getHardwareMonitor() override
Definition DefaultComponentProviderStrategy.cc:74
int getNumQubits(int qnic_index, QNIC_type qnic_type) override
Definition DefaultComponentProviderStrategy.cc:62
const cModuleType *const QNodeType
Definition DefaultComponentProviderStrategy.h:28
IStationaryQubit * getStationaryQubit(int qnic_index, int qubit_index, QNIC_type qnic_type) override
Definition DefaultComponentProviderStrategy.cc:42
ILogger * getLogger() override
Definition DefaultComponentProviderStrategy.cc:92
IRoutingDaemon * getRoutingDaemon() override
Definition DefaultComponentProviderStrategy.cc:70
const cModuleType *const EPPSType
Definition DefaultComponentProviderStrategy.h:29
bool isBSANodeType(const cModuleType *const type) override
Definition DefaultComponentProviderStrategy.cc:120
IQuantumBackend * getQuantumBackend() override
Definition DefaultComponentProviderStrategy.cc:82
int getNodeAddr() override
Definition DefaultComponentProviderStrategy.cc:33
bool isQNodeType(const cModuleType *const type) override
Definition DefaultComponentProviderStrategy.cc:121
const cModuleType *const BSAType
Definition DefaultComponentProviderStrategy.h:30
Definition IComponentProviderStrategy.h:9
QNIC_type
Definition QNIC.h:18
Definition ComponentProvider.cc:3