4#include "nlohmann/json.hpp"
13 inline json
get_untyped(
const json & j,
const char * property) {
14 if (j.find(property) != j.end()) {
15 return j.at(property).get<json>();
20 inline json
get_untyped(
const json & j, std::string property) {
31 std::optional<double> ch_vis = std::nullopt;
32 std::optional<double> ch_ir1 = std::nullopt;
33 std::optional<double> ch_ir2 = std::nullopt;
34 std::optional<int> on_duration = std::nullopt;
38 const std::string &
get_action()
const {
return action; }
40 void set_action(
const std::string & value) { this->action = value; }
42 const double &
get_ch_vis()
const {
return ch_vis.value(); }
45 void set_ch_vis(
const double & value) { this->ch_vis = value; }
47 const double &
get_ch_ir1()
const {
return ch_ir1.value(); }
50 void set_ch_ir1(
const double & value) { this->ch_ir1 = value; }
52 const double &
get_ch_ir2()
const {
return ch_ir2.value(); }
55 void set_ch_ir2(
const double & value) { this->ch_ir2 = value; }
70 x.
set_action(j.at(
"action").get<std::string>());
72 if (j.count(
"ch_vis") != 0) {
76 if (j.count(
"ch_ir1") != 0) {
80 if (j.count(
"ch_ir2") != 0) {
84 if (j.count(
"time") != 0) {
Definition lsmPayload.hpp:24
const double & get_ch_ir2() const
Definition lsmPayload.hpp:52
std::string & get_mutable_action()
Definition lsmPayload.hpp:39
void set_action(const std::string &value)
Definition lsmPayload.hpp:40
const int & get_on_duration() const
Definition lsmPayload.hpp:57
const double & get_ch_vis() const
Definition lsmPayload.hpp:42
void set_ch_ir2(const double &value)
Definition lsmPayload.hpp:55
double & get_mutable_ch_ir1()
Definition lsmPayload.hpp:49
double & get_mutable_ch_vis()
Definition lsmPayload.hpp:44
void set_on_duration(const int &value)
Definition lsmPayload.hpp:60
void set_ch_ir1(const double &value)
Definition lsmPayload.hpp:50
bool has_on_duration() const
Definition lsmPayload.hpp:58
const double & get_ch_ir1() const
Definition lsmPayload.hpp:47
bool has_ch_ir1() const
Definition lsmPayload.hpp:48
void set_ch_vis(const double &value)
Definition lsmPayload.hpp:45
bool has_ch_ir2() const
Definition lsmPayload.hpp:53
bool has_ch_vis() const
Definition lsmPayload.hpp:43
int & get_mutable_on_duration()
Definition lsmPayload.hpp:59
const std::string & get_action() const
Definition lsmPayload.hpp:38
virtual ~LsmPayload()=default
double & get_mutable_ch_ir2()
Definition lsmPayload.hpp:54
Definition lsmPayload.hpp:65
void to_json(json &j, const pds::maical::devices::LsmPayload &x)
Definition lsmPayload.hpp:90
void from_json(const json &j, pds::maical::devices::LsmPayload &x)
Definition lsmPayload.hpp:69
json get_untyped(const json &j, const char *property)
Definition lsmPayload.hpp:13