/* Devicematcher * * Author: Pascal Bauer * * SPDX-FileCopyrightText: 2023-2024 Pascal Bauer * SPDX-License-Identifier: Apache-2.0 */ #pragma once #include #include class DeviceIpMatcher { private: std::vector devices; std::list> ips; public: DeviceIpMatcher(std::vector devices, std::list> ips) : devices(devices), ips(ips) {} std::vector, villas::kernel::devices::IpDevice>> match() const { std::vector, villas::kernel::devices::IpDevice>> pairs; for (auto device : devices) { for (auto ip : ips) { if (ip->getBaseaddr() == device.addr()) { pairs.push_back(std::make_pair(ip, device)); } } } return pairs; } };