21#include "rxdock/Variant.h"
23#include <nlohmann/json.hpp>
25using json = nlohmann::json;
33const Bool REQ_CHECK =
false;
35const bool REQ_CHECK =
true;
46 _RBTOBJECTCOUNTER_CONSTR_(
"Request");
49 friend void to_json(json &j,
const Request &request) {
55 j = json{{
"request-id", request.m_id},
56 {
"variant-list", request.m_parameters}};
59 friend void from_json(
const json &j,
Request &request) {
60 j.at(
"request-id").get_to(request.m_id);
61 j.at(
"variant-list").get_to(request.m_parameters);
67 RequestID GetID()
const {
return m_id; }
68 unsigned int GetNumParameters()
const {
return m_parameters.size(); }
69 VariantList GetParameters()
const {
return m_parameters; }
75 Request(RequestID
id) : m_id(
id) {}
77 void AddParameter(
const Variant &v) { m_parameters.push_back(v); }
84 VariantList m_parameters;
89typedef std::vector<RequestPtr> RequestList;
90typedef RequestList::iterator RequestListIter;
91typedef RequestList::const_iterator RequestListConstIter;
Definition SmartPointer.h:48