31 #include "rapidjson/document.h" 39 #define REQ_RESP_TYPES_MACRO( runtime_str, type, reqjson, resp_message_ptr, handler) \ 41 if (runtime_str == type::name) \ 43 type::Request reqvar; \ 44 type::Response *respvar = new type::Response(); \ 46 reqvar.fromJson(reqjson); \ 48 handler(reqvar, *respvar); \ 50 resp_message_ptr = respvar; \ 72 virtual rapidjson::Value
toJson(rapidjson::Document& doc)
const;
74 virtual void fromJson(rapidjson::Value& val);
88 FullMessage(
const std::string& json_string,
bool request=
false);
98 rapidjson::Value&
getID();
100 void setID(rapidjson::Value&
id);
123 std::string
BAD_REQUEST(
const std::string& request);
124 std::string
BAD_REQUEST(
const std::string& request, rapidjson::Value&
id);
126 std::string
BAD_JSON(
const std::string& error_details);
rapidjson::Document doc
Definition: message.h:118
static const char * STATUS_RETRY
Definition: message.h:63
static const char * STATUS_FAILED
Definition: message.h:64
std::string BAD_REQUEST(const std::string &request)
Definition: message.cpp:259
static const char * STATUS_BAD_REQUEST
Definition: message.h:65
virtual ~Message()
Definition: message.h:70
rapidjson::Value getMessageCopy()
Definition: message.cpp:175
~FullMessage()
Definition: message.h:84
std::string error_details
Definition: message.h:77
static const char * STATUS_BAD_JSON
Definition: message.h:66
Holds cryptonote related classes and helpers.
Definition: db_bdb.cpp:225
Message()
Definition: message.h:68
rapidjson::Value & getID()
Definition: message.cpp:182
std::string getJson()
Definition: message.cpp:135
uint32_t rpc_version
Definition: message.h:78
rapidjson::Value & getMessage()
Definition: message.cpp:158
std::string getRequestType() const
Definition: message.cpp:152
FullMessage(FullMessage &&rhs) noexcept
Definition: message.h:86
static FullMessage responseMessage(Message *message)
Definition: message.cpp:226
static FullMessage requestMessage(const std::string &request, Message *message)
Definition: message.cpp:214
static FullMessage * timeoutMessage()
Definition: message.cpp:238
static const char * STATUS_OK
Definition: message.h:62
virtual rapidjson::Value toJson(rapidjson::Document &doc) const
Definition: message.cpp:57
Definition: message_data_structs.h:142
virtual void fromJson(rapidjson::Value &val)
Definition: message.cpp:70
cryptonote::rpc::error getError()
Definition: message.cpp:201
std::string BAD_JSON(const std::string &error_details)
Definition: message.cpp:281
std::string status
Definition: message.h:76
void setID(rapidjson::Value &id)
Definition: message.cpp:188