16 #define RAPIDJSON_HAS_STDSTRING 1 17 #include "InterfaceFieldType.h" 19 #include <rapidjson/fwd.h> 59 virtual std::string
to_json(
bool pretty =
false)
const;
64 virtual void to_json_value(rapidjson::Document &d, rapidjson::Value &v)
const;
70 virtual void from_json(
const std::string &json);
86 virtual void validate(
bool subcall =
false)
const;
93 std::optional<std::string>
110 std::vector<std::shared_ptr<InterfaceFieldType>>
130 fields_.push_back(std::move(
fields));
140 fields_.push_back(
fields);
148 fields_.push_back(std::make_shared<InterfaceFieldType>(std::move(
fields)));
152 std::optional<std::string> name_;
153 std::vector<std::shared_ptr<InterfaceFieldType>> fields_;
virtual void from_json(const std::string &json)
Retrieve data from JSON string.
virtual void validate(bool subcall=false) const
Validate if all required fields have been set.
std::vector< std::shared_ptr< InterfaceFieldType > > fields() const
Get fields value.
std::optional< std::string > name() const
Get name value.
virtual ~InterfaceMessageType()
Destructor.
void set_name(const std::string &name)
Set name value.
InterfaceMessageType representation for JSON transfer.
static std::string api_version()
Get version of implemented API.
void set_fields(const std::vector< std::shared_ptr< InterfaceFieldType >> &fields)
Set fields value.
virtual void from_json_value(const rapidjson::Value &v)
Retrieve data from JSON string.
virtual void to_json_value(rapidjson::Document &d, rapidjson::Value &v) const
Render object to JSON.
virtual std::string to_json(bool pretty=false) const
Render object to JSON.
void addto_fields(const std::shared_ptr< InterfaceFieldType > &fields)
Add element to fields array.
void addto_fields(const InterfaceFieldType &&fields)
Add element to fields array.
void addto_fields(const std::shared_ptr< InterfaceFieldType > &&fields)
Add element to fields array.
InterfaceMessageType()
Constructor.
InterfaceFieldType representation for JSON transfer.