QuISP
Loading...
Searching...
No Matches
IComponentProviderStrategy.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
5#include "utils.h"
6
7namespace quisp::utils {
8
10 public:
13 virtual cModule *getQNode() = 0;
14 virtual cModule *getNode() = 0;
15 virtual cModule *getNeighborNode(cModule *qnic) = 0;
16 virtual int getNodeAddr() = 0;
17 virtual bool isQNodeType(const cModuleType *const module) = 0;
18 virtual bool isBSANodeType(const cModuleType *const module) = 0;
19 virtual bool isEPPSNodeType(const cModuleType *const module) = 0;
20 virtual IStationaryQubit *getStationaryQubit(int qnic_index, int qubit_index, QNIC_type qnic_type) = 0;
21 virtual cModule *getQNIC(int qnic_index, QNIC_type qnic_type) = 0;
22 virtual int getNumQubits(int qnic_index, QNIC_type qnic_type) = 0;
27 virtual ILogger *getLogger() = 0;
29};
30
31} // 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 IComponentProviderStrategy.h:9
virtual IStationaryQubit * getStationaryQubit(int qnic_index, int qubit_index, QNIC_type qnic_type)=0
virtual IQuantumBackend * getQuantumBackend()=0
virtual ~IComponentProviderStrategy()
Definition IComponentProviderStrategy.h:12
virtual IRoutingDaemon * getRoutingDaemon()=0
virtual IHardwareMonitor * getHardwareMonitor()=0
IComponentProviderStrategy()
Definition IComponentProviderStrategy.h:11
virtual IRealTimeController * getRealTimeController()=0
virtual bool isBSANodeType(const cModuleType *const module)=0
virtual bool isEPPSNodeType(const cModuleType *const module)=0
virtual cModule * getQNIC(int qnic_index, QNIC_type qnic_type)=0
virtual int getNumQubits(int qnic_index, QNIC_type qnic_type)=0
virtual cModule * getNeighborNode(cModule *qnic)=0
virtual bool isQNodeType(const cModuleType *const module)=0
virtual SharedResource * getSharedResource()=0
QNIC_type
Definition QNIC.h:18
Definition ComponentProvider.cc:3