summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp')
-rw-r--r--graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp214
1 files changed, 0 insertions, 214 deletions
diff --git a/graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp b/graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
deleted file mode 100644
index 8c5beba83e..0000000000
--- a/graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-#include "LibLsp/JsonRpc/serializer.h"
-#include <stdexcept>
-#include <rapidjson/allocators.h>
-#include "LibLsp/JsonRpc/json.h"
-
-
-
-//// Elementary types
-
-void JsonNull::swap(JsonNull& arg) noexcept
-{
-}
-
-
-void Reflect(Reader& visitor, uint8_t& value) {
- if (!visitor.IsInt())
- throw std::invalid_argument("uint8_t");
- value = (uint8_t)visitor.GetInt();
-}
-void Reflect(Writer& visitor, uint8_t& value) {
- visitor.Int(value);
-}
-
-void Reflect(Reader& visitor, short& value) {
- if (!visitor.IsInt())
- throw std::invalid_argument("short");
- value = (short)visitor.GetInt();
-}
-void Reflect(Writer& visitor, short& value) {
- visitor.Int(value);
-}
-
-void Reflect(Reader& visitor, unsigned short& value) {
- if (!visitor.IsInt())
- throw std::invalid_argument("unsigned short");
- value = (unsigned short)visitor.GetInt();
-}
-void Reflect(Writer& visitor, unsigned short& value) {
- visitor.Int(value);
-}
-
-void Reflect(Reader& visitor, int& value) {
- if (!visitor.IsInt())
- throw std::invalid_argument("int");
- value = visitor.GetInt();
-}
-void Reflect(Writer& visitor, int& value) {
- visitor.Int(value);
-}
-
-void Reflect(Reader& visitor, unsigned& value) {
- if (!visitor.IsUint64())
- throw std::invalid_argument("unsigned");
- value = visitor.GetUint32();
-}
-void Reflect(Writer& visitor, unsigned& value) {
- visitor.Uint32(value);
-}
-
-void Reflect(Reader& visitor, long& value) {
- if (!visitor.IsInt64())
- throw std::invalid_argument("long");
- value = long(visitor.GetInt64());
-}
-void Reflect(Writer& visitor, long& value) {
- visitor.Int64(value);
-}
-
-void Reflect(Reader& visitor, unsigned long& value) {
- if (!visitor.IsUint64())
- throw std::invalid_argument("unsigned long");
- value = (unsigned long)visitor.GetUint64();
-}
-void Reflect(Writer& visitor, unsigned long& value) {
- visitor.Uint64(value);
-}
-
-void Reflect(Reader& visitor, long long& value) {
- if (!visitor.IsInt64())
- throw std::invalid_argument("long long");
- value = visitor.GetInt64();
-}
-void Reflect(Writer& visitor, long long& value) {
- visitor.Int64(value);
-}
-
-void Reflect(Reader& visitor, unsigned long long& value) {
- if (!visitor.IsUint64())
- throw std::invalid_argument("unsigned long long");
- value = visitor.GetUint64();
-}
-void Reflect(Writer& visitor, unsigned long long& value) {
- visitor.Uint64(value);
-}
-
-void Reflect(Reader& visitor, double& value) {
- if (!visitor.IsNumber())
- throw std::invalid_argument("double");
- value = visitor.GetDouble();
-}
-void Reflect(Writer& visitor, double& value) {
- visitor.Double(value);
-}
-
-void Reflect(Reader& visitor, bool& value) {
- if (!visitor.IsBool())
- throw std::invalid_argument("bool");
- value = visitor.GetBool();
-}
-void Reflect(Writer& visitor, bool& value) {
- visitor.Bool(value);
-}
-
-void Reflect(Reader& visitor, std::string& value) {
- if (!visitor.IsString())
- throw std::invalid_argument("std::string");
- value = visitor.GetString();
-}
-void Reflect(Writer& visitor, std::string& value) {
- visitor.String(value.c_str(), (rapidjson::SizeType)value.size());
-}
-
-void Reflect(Reader& visitor, JsonNull& value) {
- visitor.GetNull();
-}
-
-void Reflect(Writer& visitor, JsonNull& value) {
- visitor.Null();
-}
-
-
-void Reflect(Reader& visitor, SerializeFormat& value) {
- std::string fmt = visitor.GetString();
- value = fmt[0] == 'm' ? SerializeFormat::MessagePack : SerializeFormat::Json;
-}
-
-void Reflect(Writer& visitor, SerializeFormat& value) {
- switch (value) {
- case SerializeFormat::Json:
- visitor.String("json");
- break;
- case SerializeFormat::MessagePack:
- visitor.String("msgpack");
- break;
- }
-}
-
-
-std::string JsonReader::ToString() const
-{
- rapidjson::StringBuffer strBuf;
- strBuf.Clear();
- rapidjson::Writer<rapidjson::StringBuffer> writer(strBuf);
- m_->Accept(writer);
- std::string strJson = strBuf.GetString();
- return strJson;
-}
-
-void JsonReader::IterMap(std::function<void(const char*, Reader&)> fn)
-{
- path_.push_back("0");
- for (auto& entry : m_->GetObject())
- {
- auto saved = m_;
- m_ = &(entry.value);
-
- fn(entry.name.GetString(), *this);
- m_ = saved;
- }
- path_.pop_back();
-}
-
- void JsonReader::IterArray(std::function<void(Reader&)> fn)
-{
- if (!m_->IsArray())
- throw std::invalid_argument("array");
- // Use "0" to indicate any element for now.
- path_.push_back("0");
- for (auto& entry : m_->GetArray())
- {
- auto saved = m_;
- m_ = &entry;
- fn(*this);
- m_ = saved;
- }
- path_.pop_back();
-}
-
-void JsonReader::DoMember(const char* name, std::function<void(Reader&)> fn)
-{
- path_.push_back(name);
- auto it = m_->FindMember(name);
- if (it != m_->MemberEnd())
- {
- auto saved = m_;
- m_ = &it->value;
- fn(*this);
- m_ = saved;
- }
- path_.pop_back();
-}
-
-std::string JsonReader::GetPath() const
-{
- std::string ret;
- for (auto& t : path_)
- {
- ret += '/';
- ret += t;
- }
- ret.pop_back();
- return ret;
-}
-