18#include <radio_tool/radio/radio_factory.hpp>
19#include <radio_tool/radio/usb_radio_factory.hpp>
20#include <radio_tool/radio/serial_radio_factory.hpp>
26auto RadioFactory::OpenDevice(
const uint16_t &index)
const ->
RadioOperations *
28 auto devices = ListDevices();
30 auto info = devices.at(index);
33 throw std::runtime_error(
"Invalid device index");
36 return info->OpenDevice();
39auto RadioFactory::ListDevices() const -> const std::vector<
RadioInfo *>
41 uint16_t idx_offset = 0;
42 auto ret = std::vector<RadioInfo *>();
45 auto usbDevices = usb.ListDevices(idx_offset);
46 ret.insert(ret.end(), usbDevices.begin(), usbDevices.end());
47 idx_offset += (uint16_t)usbDevices.size();
50 auto serialDevices = serial.ListDevices(idx_offset);
51 ret.insert(ret.end(), serialDevices.begin(), serialDevices.end());