• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sfc-aqua / quisp / 4329255112

pending completion
4329255112

Pull #504

github

GitHub
Merge 948c96a03 into 3166d7e57
Pull Request #504: Integrate Message Exchange (Purification/Entanglement Swapping) into RuleSet and Runtime

957 of 957 new or added lines in 22 files covered. (100.0%)

2287 of 5806 relevant lines covered (39.39%)

46937.47 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

63.77
/quisp/utils/ComponentProvider.cc
1
#include "ComponentProvider.h"
2
#include "modules/QRSA/HardwareMonitor/HardwareMonitor.h"
3
#include "modules/QRSA/RoutingDaemon/RoutingDaemon.h"
4
#include "omnetpp/cmodule.h"
5
#include "utils/utils.h"
6

7
namespace quisp::utils {
8

9
ComponentProvider::ComponentProvider(cModule *_module) : module(_module) {}
53✔
10

11
cModule *ComponentProvider::getQNode() {
38✔
12
  ensureStrategy();
38✔
13
  return strategy->getQNode();
38✔
14
}
38✔
15

16
cModule *ComponentProvider::getNode() {
15✔
17
  ensureStrategy();
15✔
18
  return strategy->getNode();
15✔
19
}
15✔
20

21
cModule *ComponentProvider::getNeighborNode(cModule *qnic) {
×
22
  ensureStrategy();
×
23
  return strategy->getNeighborNode(qnic);
×
24
}
×
25

26
bool ComponentProvider::isBSANodeType(const cModuleType *const type) {
×
27
  ensureStrategy();
×
28
  return strategy->isBSANodeType(type);
×
29
}
×
30

31
bool ComponentProvider::isSPDCNodeType(const cModuleType *const type) {
×
32
  ensureStrategy();
×
33
  return strategy->isSPDCNodeType(type);
×
34
}
×
35

36
bool ComponentProvider::isQNodeType(const cModuleType *const type) {
×
37
  ensureStrategy();
×
38
  return strategy->isQNodeType(type);
×
39
}
×
40

41
IStationaryQubit *ComponentProvider::getStationaryQubit(int qnic_index, int qubit_index, QNIC_type qnic_type) {
2✔
42
  ensureStrategy();
2✔
43
  return strategy->getStationaryQubit(qnic_index, qubit_index, qnic_type);
2✔
44
}
2✔
45

46
IStationaryQubit *ComponentProvider::getStationaryQubit(modules::qrsa::IQubitRecord *const qubit_record) {
×
47
  ensureStrategy();
×
48
  if (qubit_record->qubit_ptr == nullptr) {
×
49
    qubit_record->qubit_ptr = strategy->getStationaryQubit(qubit_record->getQNicIndex(), qubit_record->getQubitIndex(), qubit_record->getQNicType());
×
50
  }
×
51
  return qubit_record->qubit_ptr;
×
52
}
×
53

54
cModule *ComponentProvider::getQNIC(int qnic_index, QNIC_type qnic_type) {
36✔
55
  ensureStrategy();
36✔
56
  return strategy->getQNIC(qnic_index, qnic_type);
36✔
57
}
36✔
58

59
int ComponentProvider::getNumQubits(int qnic_index, QNIC_type qnic_type) {
41✔
60
  ensureStrategy();
41✔
61
  return strategy->getNumQubits(qnic_index, qnic_type);
41✔
62
}
41✔
63

64
IHardwareMonitor *ComponentProvider::getHardwareMonitor() {
7✔
65
  ensureStrategy();
7✔
66
  return strategy->getHardwareMonitor();
7✔
67
}
7✔
68

69
IRoutingDaemon *ComponentProvider::getRoutingDaemon() {
8✔
70
  ensureStrategy();
8✔
71
  return strategy->getRoutingDaemon();
8✔
72
}
8✔
73
IRealTimeController *ComponentProvider::getRealTimeController() {
6✔
74
  ensureStrategy();
6✔
75
  return strategy->getRealTimeController();
6✔
76
}
6✔
77

78
IQuantumBackend *ComponentProvider::getQuantumBackend() {
1✔
79
  ensureStrategy();
1✔
80
  return strategy->getQuantumBackend();
1✔
81
}
1✔
82

83
ILogger *ComponentProvider::getLogger() {
15✔
84
  ensureStrategy();
15✔
85
  return strategy->getLogger();
15✔
86
}
15✔
87

88
void ComponentProvider::setStrategy(std::unique_ptr<IComponentProviderStrategy> _strategy) { strategy = std::move(_strategy); }
53✔
89

90
void ComponentProvider::ensureStrategy() {
169✔
91
  if (strategy != nullptr) return;
169✔
92
  strategy = std::make_unique<DefaultComponentProviderStrategy>(module);
×
93
}
×
94
}  // namespace quisp::utils
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc