|
|
@ -1,12 +1,6 @@ |
|
|
|
/* XMRig
|
|
|
|
* Copyright 2010 Jeff Garzik <jgarzik@pobox.com> |
|
|
|
* Copyright 2012-2014 pooler <pooler@litecoinpool.org> |
|
|
|
* Copyright 2014 Lucas Jones <https://github.com/lucasjones>
|
|
|
|
* Copyright 2014-2016 Wolf9466 <https://github.com/OhGodAPet>
|
|
|
|
* Copyright 2016 Jay D Dee <jayddee246@gmail.com> |
|
|
|
* Copyright 2017-2018 XMR-Stak <https://github.com/fireice-uk>, <https://github.com/psychocrypt>
|
|
|
|
* Copyright 2018-2020 SChernykh <https://github.com/SChernykh>
|
|
|
|
* Copyright 2016-2020 XMRig <https://github.com/xmrig>, <support@xmrig.com>
|
|
|
|
* Copyright (c) 2018-2020 SChernykh <https://github.com/SChernykh>
|
|
|
|
* Copyright (c) 2016-2020 XMRig <https://github.com/xmrig>, <support@xmrig.com>
|
|
|
|
* |
|
|
|
* This program is free software: you can redistribute it and/or modify |
|
|
|
* it under the terms of the GNU General Public License as published by |
|
|
@ -26,13 +20,10 @@ |
|
|
|
#define XMRIG_JSON_H |
|
|
|
|
|
|
|
|
|
|
|
#include "3rdparty/rapidjson/fwd.h" |
|
|
|
#include "base/kernel/interfaces/IJsonReader.h" |
|
|
|
|
|
|
|
|
|
|
|
#include <string> |
|
|
|
#include <vector> |
|
|
|
#include <fstream> |
|
|
|
|
|
|
|
|
|
|
|
namespace xmrig { |
|
|
@ -47,8 +38,10 @@ public: |
|
|
|
static const rapidjson::Value &getArray(const rapidjson::Value &obj, const char *key); |
|
|
|
static const rapidjson::Value &getObject(const rapidjson::Value &obj, const char *key); |
|
|
|
static const rapidjson::Value &getValue(const rapidjson::Value &obj, const char *key); |
|
|
|
static double getDouble(const rapidjson::Value &obj, const char *key, double defaultValue = 0); |
|
|
|
static int getInt(const rapidjson::Value &obj, const char *key, int defaultValue = 0); |
|
|
|
static int64_t getInt64(const rapidjson::Value &obj, const char *key, int64_t defaultValue = 0); |
|
|
|
static String getString(const rapidjson::Value &obj, const char *key, size_t maxSize); |
|
|
|
static uint64_t getUint64(const rapidjson::Value &obj, const char *key, uint64_t defaultValue = 0); |
|
|
|
static unsigned getUint(const rapidjson::Value &obj, const char *key, unsigned defaultValue = 0); |
|
|
|
|
|
|
@ -66,6 +59,7 @@ private: |
|
|
|
class JsonReader : public IJsonReader |
|
|
|
{ |
|
|
|
public: |
|
|
|
JsonReader(); |
|
|
|
inline JsonReader(const rapidjson::Value &obj) : m_obj(obj) {} |
|
|
|
|
|
|
|
inline bool getBool(const char *key, bool defaultValue = false) const override { return Json::getBool(m_obj, key, defaultValue); } |
|
|
@ -73,8 +67,11 @@ public: |
|
|
|
inline const rapidjson::Value &getArray(const char *key) const override { return Json::getArray(m_obj, key); } |
|
|
|
inline const rapidjson::Value &getObject(const char *key) const override { return Json::getObject(m_obj, key); } |
|
|
|
inline const rapidjson::Value &getValue(const char *key) const override { return Json::getValue(m_obj, key); } |
|
|
|
inline const rapidjson::Value &object() const override { return m_obj; } |
|
|
|
inline double getDouble(const char *key, double defaultValue = 0) const override { return Json::getDouble(m_obj, key, defaultValue); } |
|
|
|
inline int getInt(const char *key, int defaultValue = 0) const override { return Json::getInt(m_obj, key, defaultValue); } |
|
|
|
inline int64_t getInt64(const char *key, int64_t defaultValue = 0) const override { return Json::getInt64(m_obj, key, defaultValue); } |
|
|
|
inline String getString(const char *key, size_t maxSize) const override { return Json::getString(m_obj, key, maxSize); } |
|
|
|
inline uint64_t getUint64(const char *key, uint64_t defaultValue = 0) const override { return Json::getUint64(m_obj, key, defaultValue); } |
|
|
|
inline unsigned getUint(const char *key, unsigned defaultValue = 0) const override { return Json::getUint(m_obj, key, defaultValue); } |
|
|
|
|
|
|
|