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);
~FullMessage()
Definition: message.h:84
rapidjson::Value & getID()
Definition: message.cpp:182
static FullMessage * timeoutMessage()
Definition: message.cpp:238
std::string getJson()
Definition: message.cpp:135
FullMessage(FullMessage &&rhs) noexcept
Definition: message.h:86
rapidjson::Value & getMessage()
Definition: message.cpp:158
static FullMessage responseMessage(Message *message)
Definition: message.cpp:226
rapidjson::Document doc
Definition: message.h:118
rapidjson::Value getMessageCopy()
Definition: message.cpp:175
std::string getRequestType() const
Definition: message.cpp:152
static FullMessage requestMessage(const std::string &request, Message *message)
Definition: message.cpp:214
cryptonote::rpc::error getError()
Definition: message.cpp:201
void setID(rapidjson::Value &id)
Definition: message.cpp:188
static const char * STATUS_FAILED
Definition: message.h:64
std::string status
Definition: message.h:76
static const char * STATUS_OK
Definition: message.h:62
Message()
Definition: message.h:68
static const char * STATUS_BAD_JSON
Definition: message.h:66
static const char * STATUS_RETRY
Definition: message.h:63
virtual void fromJson(rapidjson::Value &val)
Definition: message.cpp:70
uint32_t rpc_version
Definition: message.h:78
std::string error_details
Definition: message.h:77
virtual rapidjson::Value toJson(rapidjson::Document &doc) const
Definition: message.cpp:57
static const char * STATUS_BAD_REQUEST
Definition: message.h:65
virtual ~Message()
Definition: message.h:70
std::string BAD_REQUEST(const std::string &request)
Definition: message.cpp:259
std::string BAD_JSON(const std::string &error_details)
Definition: message.cpp:281
Holds cryptonote related classes and helpers.
Definition: db_bdb.cpp:226
Definition: message_data_structs.h:143