24#ifndef JSON_WRITER_INCLUDED 
   25#define JSON_WRITER_INCLUDED 
   31#include <rapidjson/document.h> 
   32#include <rapidjson/stringbuffer.h> 
   33#include <rapidjson/writer.h> 
   46              const std::string version_key = 
"version",
 
   47              const std::string array_key = 
"elements");
 
   52  bool set_data(
const std::string data);
 
Sensitive data storage.
Definition: data.h:40
 
Definition: json_writer.h:43
 
const std::string version_key_
Version information.
Definition: json_writer.h:91
 
bool set_data(const std::string data)
Definition: json_writer.cc:66
 
bool valid() const
Validity of the document.
Definition: json_writer.h:85
 
virtual ~Json_writer()=default
Destructor.
 
const std::string array_key_
Elements array name.
Definition: json_writer.h:93
 
rapidjson::Document document_
Data in JSON DOM format.
Definition: json_writer.h:89
 
size_t num_elements() const
Number of elements stored.
Definition: json_writer.cc:151
 
Json_writer(const std::string data={}, const std::string version="1.0", const std::string version_key="version", const std::string array_key="elements")
Constructor.
Definition: json_writer.cc:40
 
const std::string to_string() const
Get string representation of the JSON document.
Definition: json_writer.cc:72
 
virtual bool add_element(const meta::Metadata &metadata, const data::Data &data, Json_data_extension &)
Add an element.
Definition: json_writer.cc:81
 
bool valid_
Document validity.
Definition: json_writer.h:95
 
virtual bool remove_element(const meta::Metadata &metadata, const Json_data_extension &)
Remove an element.
Definition: json_writer.cc:125
 
Define rapidjson::SizeType to be std::uint64_t.
 
Definition: keyring_encryption_service_definition.h:32
 
required uint64 version
Definition: replication_group_member_actions.proto:41