// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #ifndef JUNGFRAUJOCH_ACQUISITIONDEVICEGROUP_H #define JUNGFRAUJOCH_ACQUISITIONDEVICEGROUP_H #include #include "AcquisitionDevice.h" #include "../common/JFJochException.h" class AcquisitionDeviceGroup { std::vector> aq_devices; public: AcquisitionDevice& operator[](int idx); size_t size(); void Add(std::unique_ptr &&device); void AddPCIeDevice(const std::string &device_name, std::optional ipv4_addr = {}); void AddHLSDevice(int64_t buffer_size_modules); std::vector GetNetworkConfig(); std::vector GetDeviceStatus() const; void EnableLogging(Logger *logger); }; #endif //JUNGFRAUJOCH_ACQUISITIONDEVICEGROUP_H