1 #pragma once 2 3 #include "interfaces/json_storage.hpp" 4 #include "types/trigger_types.hpp" 5 6 namespace utils 7 { 8 9 class ToLabeledThresholdParamConversion 10 { 11 public: 12 LabeledTriggerThresholdParams operator()(const std::monostate& arg) const; 13 LabeledTriggerThresholdParams 14 operator()(const std::vector<numeric::ThresholdParam>& arg) const; 15 LabeledTriggerThresholdParams 16 operator()(const std::vector<discrete::ThresholdParam>& arg) const; 17 }; 18 19 class FromLabeledThresholdParamConversion 20 { 21 public: 22 TriggerThresholdParams operator()( 23 const std::vector<numeric::LabeledThresholdParam>& arg) const; 24 TriggerThresholdParams operator()( 25 const std::vector<discrete::LabeledThresholdParam>& arg) const; 26 }; 27 28 SensorsInfo fromLabeledSensorsInfo(const std::vector<LabeledSensorInfo>& infos); 29 30 nlohmann::json labeledThresholdParamsToJson( 31 const LabeledTriggerThresholdParams& labeledThresholdParams); 32 33 } // namespace utils 34