6#include <nlohmann/json.hpp>
19 auto it = j.find(property);
20 if (it != j.end())
return *it;
24inline json
get_untyped(
const json& j,
const std::string& property)
32 json j = json::parse(s);
35 const auto& inner = j.get_ref<
const std::string&>();
36 return json::parse(inner);
50 std::optional<double> pos = std::nullopt;
54 const std::string&
GetAction()
const {
return action; }
56 void SetAction(
const std::string& value) { action = value; }
58 const std::string&
GetName()
const {
return name; }
60 void SetName(
const std::string& value) { name = value; }
62 const double &
GetPos()
const {
return pos.value(); }
63 bool HasPos()
const {
return pos.has_value(); }
65 void SetPos(
const double & value) { this->pos = value; }
73 x.
SetName (j.value(
"name",
""));
74 if (j.count(
"pos") != 0)
76 x.
SetPos(j.value(
"pos", 0));
Definition mtsPayload.hpp:42
std::string & GetMutableName()
Definition mtsPayload.hpp:59
void SetAction(const std::string &value)
Definition mtsPayload.hpp:56
const double & GetPos() const
Definition mtsPayload.hpp:62
const std::string & GetAction() const
Definition mtsPayload.hpp:54
void SetName(const std::string &value)
Definition mtsPayload.hpp:60
bool HasPos() const
Definition mtsPayload.hpp:63
void SetPos(const double &value)
Definition mtsPayload.hpp:65
virtual ~MtsPayload()=default
std::string & GetMutableAction()
Definition mtsPayload.hpp:55
double & GetMutablePos()
Definition mtsPayload.hpp:64
const std::string & GetName() const
Definition mtsPayload.hpp:58
json get_untyped(const json &j, const char *property)
Definition mtsPayload.hpp:17
json parse_maybe_double_encoded(std::string_view s)
Definition mtsPayload.hpp:30
MtsPayload payload_from_parameters(std::string_view parameters)
Definition mtsPayload.hpp:95
void from_json(const json &j, MtsPayload &x)
Definition mtsPayload.hpp:69
void to_json(json &j, const MtsPayload &x)
Definition mtsPayload.hpp:81