Make json_callbacks a static class member
This commit is contained in:
@@ -3,9 +3,8 @@
|
||||
#include <charconv>
|
||||
#include <cstring>
|
||||
|
||||
namespace {
|
||||
// Global callbacks for JSON parsing
|
||||
const WeaselJsonCallbacks json_callbacks = {
|
||||
const WeaselJsonCallbacks CommitRequest::json_callbacks = {
|
||||
.on_begin_object = CommitRequest::on_begin_object,
|
||||
.on_end_object = CommitRequest::on_end_object,
|
||||
.on_string_data = CommitRequest::on_string_data,
|
||||
@@ -17,6 +16,8 @@ const WeaselJsonCallbacks json_callbacks = {
|
||||
.on_false_literal = CommitRequest::on_false_literal,
|
||||
.on_null_literal = CommitRequest::on_null_literal,
|
||||
};
|
||||
|
||||
namespace {
|
||||
// Base64 decoding table
|
||||
constexpr std::array<int, 256> make_base64_decode_table() {
|
||||
std::array<int, 256> table{};
|
||||
@@ -387,8 +388,6 @@ bool CommitRequest::parse_json(std::string_view json_str) {
|
||||
|
||||
bool CommitRequest::begin_streaming_parse() {
|
||||
reset();
|
||||
|
||||
json_parser_ = WeaselJsonParser_create(64, &json_callbacks, this, 0);
|
||||
return json_parser_ != nullptr;
|
||||
}
|
||||
|
||||
|
||||
@@ -103,7 +103,9 @@ private:
|
||||
std::vector<Precondition, ArenaStlAllocator<Precondition>> preconditions_;
|
||||
std::vector<Operation, ArenaStlAllocator<Operation>> operations_;
|
||||
ParserContext parser_context_;
|
||||
WeaselJsonParser *json_parser_ = nullptr;
|
||||
WeaselJsonParser *json_parser_ =
|
||||
WeaselJsonParser_create(64, &json_callbacks, this, 0);
|
||||
static const WeaselJsonCallbacks json_callbacks;
|
||||
|
||||
public:
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user