#pragma once #include "DataModel.h" #include "PublisherInterface.h" #include #include #include #include "ts_queue.h" #include "modbus_interface_lib.h" class DataAcquisition { private: std::unique_ptr& dataModel; //Modbus Connections for POC and Bender, can be serial or IP std::vector> publishers; //Modbus thread std::vector modbusThread; ts_queue modbusAccessQueue; public: DataAcquisition(); ~DataAcquisition(); void startModbusThread(); ts_queue& getModbusQueue() { return modbusAccessQueue; } //void registerPublisher(Publisher* publisher); void registerPublisher(std::unique_ptr publisher); std::vector>& getPublishers() { return publishers; } void enqueuePublisherRegister(); };