diff options
Diffstat (limited to 'src/Detector')
-rw-r--r-- | src/Detector/Detector.cpp | 14 | ||||
-rw-r--r-- | src/Detector/Detector.h | 20 |
2 files changed, 34 insertions, 0 deletions
diff --git a/src/Detector/Detector.cpp b/src/Detector/Detector.cpp index bc6c0da..658f485 100644 --- a/src/Detector/Detector.cpp +++ b/src/Detector/Detector.cpp @@ -8,5 +8,19 @@ */ +#include "Detector.h" +Detector::Detector(const std::string& address, const std::string& configPath, const unsigned int timeIntervall) : + timeIntervall_{timeIntervall}, + numberOfDetectorModules_{27} { + modules_.reserve(numberOfDetectorModules_); + for(auto i = 1; i <= numberOfDetectorModules_; i++){ + modules_.emplace_back(i, address, configPath); + } +} + +auto Detector::run() -> void { + for(auto i = 0; i < numberOfDetectorModules_; i++) + modules_[i].sendPeriodically(timeIntervall_); +} diff --git a/src/Detector/Detector.h b/src/Detector/Detector.h index 17acb8d..1969dbd 100644 --- a/src/Detector/Detector.h +++ b/src/Detector/Detector.h @@ -10,6 +10,26 @@ #ifndef DETECTOR_H_ #define DETECTOR_H_ +#include "../DetectorModule/DetectorModule.h" +#include <vector> +#include <thread> + +class Detector { +public: + Detector(const std::string& address, const std::string& configPath, const unsigned int timeIntervall); + + auto run() -> void; +private: + std::vector<DetectorModule> modules_; + + std::vector<std::thread> moduleThreads_; + + unsigned int timeIntervall_; + int numberOfDetectorModules_; + + auto readConfig(const std::string& configFile) -> bool; + +}; #endif /* DETECTOR_H_ */ |