1#ifndef MONO_DEVICES_DISCOVERY_H
2#define MONO_DEVICES_DISCOVERY_H
9#include <nlohmann/json.hpp>
23 std::shared_ptr<horiba::communication::Communicator> communicator);
32 void execute(
bool error_on_no_devices)
noexcept(
false)
override;
40 [[nodiscard]] std::vector<std::shared_ptr<single_devices::Monochromator>>
44 std::shared_ptr<horiba::communication::Communicator> communicator;
45 std::vector<std::shared_ptr<single_devices::Monochromator>> monos;
47 std::vector<std::shared_ptr<single_devices::Monochromator>> parse_monos(
48 const nlohmann::json& raw_monos_list);
Interface for device discoveries on the ICL.
Definition device_discovery.h:9
MonochromatorsDiscovery(std::shared_ptr< horiba::communication::Communicator > communicator)
Builds a Monochromator discovery.
void execute(bool error_on_no_devices) noexcept(false) override
Executes the Monochromator discovery.
std::vector< std::shared_ptr< single_devices::Monochromator > > monochromators() const
Monochromators that have been discovered after calling the execute() function.
~MonochromatorsDiscovery() override=default
Definition ccds_discovery.h:11