forked from bblanchon/ArduinoJson
Renamed *.ipp
to *Impl.hpp
because they were ignored by Arduino IDE (issue #396)
This commit is contained in:
@ -1,6 +1,11 @@
|
|||||||
ArduinoJson: change log
|
ArduinoJson: change log
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
HEAD
|
||||||
|
----
|
||||||
|
|
||||||
|
* Renamed `*.ipp` to `*Impl.hpp` because they were ignored by Arduino IDE (issue #396)
|
||||||
|
|
||||||
v5.7.2
|
v5.7.2
|
||||||
------
|
------
|
||||||
|
|
||||||
|
@ -12,11 +12,11 @@
|
|||||||
#include "ArduinoJson/JsonObject.hpp"
|
#include "ArduinoJson/JsonObject.hpp"
|
||||||
#include "ArduinoJson/StaticJsonBuffer.hpp"
|
#include "ArduinoJson/StaticJsonBuffer.hpp"
|
||||||
|
|
||||||
#include "ArduinoJson/Internals/JsonParser.ipp"
|
#include "ArduinoJson/Internals/JsonParserImpl.hpp"
|
||||||
#include "ArduinoJson/Internals/JsonSerializer.ipp"
|
#include "ArduinoJson/Internals/JsonSerializerImpl.hpp"
|
||||||
#include "ArduinoJson/JsonArray.ipp"
|
#include "ArduinoJson/JsonArrayImpl.hpp"
|
||||||
#include "ArduinoJson/JsonBuffer.ipp"
|
#include "ArduinoJson/JsonBufferImpl.hpp"
|
||||||
#include "ArduinoJson/JsonObject.ipp"
|
#include "ArduinoJson/JsonObjectImpl.hpp"
|
||||||
#include "ArduinoJson/JsonVariant.ipp"
|
#include "ArduinoJson/JsonVariantImpl.hpp"
|
||||||
|
|
||||||
using namespace ArduinoJson;
|
using namespace ArduinoJson;
|
||||||
|
@ -227,4 +227,13 @@ class JsonArray : public Internals::JsonPrintable<JsonArray>,
|
|||||||
value);
|
value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace Internals {
|
||||||
|
template <>
|
||||||
|
struct JsonVariantDefault<JsonArray> {
|
||||||
|
static JsonArray &get() {
|
||||||
|
return JsonArray::invalid();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
// Copyright Benoit Blanchon 2014-2016
|
|
||||||
// MIT License
|
|
||||||
//
|
|
||||||
// Arduino JSON library
|
|
||||||
// https://github.com/bblanchon/ArduinoJson
|
|
||||||
// If you like this project, please add a star!
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "JsonArray.hpp"
|
|
||||||
#include "JsonArraySubscript.hpp"
|
|
||||||
#include "JsonObject.hpp"
|
|
||||||
|
|
||||||
namespace ArduinoJson {
|
|
||||||
|
|
||||||
inline JsonVariant::JsonVariant(const JsonArray &array) {
|
|
||||||
if (array.success()) {
|
|
||||||
_type = Internals::JSON_ARRAY;
|
|
||||||
_content.asArray = const_cast<JsonArray *>(&array);
|
|
||||||
} else {
|
|
||||||
_type = Internals::JSON_UNDEFINED;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inline JsonVariant::JsonVariant(const JsonObject &object) {
|
|
||||||
if (object.success()) {
|
|
||||||
_type = Internals::JSON_OBJECT;
|
|
||||||
_content.asObject = const_cast<JsonObject *>(&object);
|
|
||||||
} else {
|
|
||||||
_type = Internals::JSON_UNDEFINED;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Internals {
|
|
||||||
template <>
|
|
||||||
struct JsonVariantDefault<JsonArray> {
|
|
||||||
static JsonArray &get() {
|
|
||||||
return JsonArray::invalid();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
inline JsonArray &JsonVariant::asArray() const {
|
|
||||||
if (_type == Internals::JSON_ARRAY) return *_content.asArray;
|
|
||||||
return JsonArray::invalid();
|
|
||||||
}
|
|
||||||
|
|
||||||
inline JsonArray &JsonArray::createNestedArray() {
|
|
||||||
if (!_buffer) return JsonArray::invalid();
|
|
||||||
JsonArray &array = _buffer->createArray();
|
|
||||||
add(array);
|
|
||||||
return array;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename TString>
|
|
||||||
inline JsonArray &JsonObject::createNestedArray(const TString &key) {
|
|
||||||
if (!_buffer) return JsonArray::invalid();
|
|
||||||
JsonArray &array = _buffer->createArray();
|
|
||||||
set(key, array);
|
|
||||||
return array;
|
|
||||||
}
|
|
||||||
}
|
|
29
include/ArduinoJson/JsonArrayImpl.hpp
Normal file
29
include/ArduinoJson/JsonArrayImpl.hpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Copyright Benoit Blanchon 2014-2016
|
||||||
|
// MIT License
|
||||||
|
//
|
||||||
|
// Arduino JSON library
|
||||||
|
// https://github.com/bblanchon/ArduinoJson
|
||||||
|
// If you like this project, please add a star!
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "JsonArray.hpp"
|
||||||
|
#include "JsonArraySubscript.hpp"
|
||||||
|
#include "JsonObject.hpp"
|
||||||
|
|
||||||
|
namespace ArduinoJson {
|
||||||
|
|
||||||
|
inline JsonArray &JsonArray::createNestedArray() {
|
||||||
|
if (!_buffer) return JsonArray::invalid();
|
||||||
|
JsonArray &array = _buffer->createArray();
|
||||||
|
add(array);
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline JsonObject &JsonArray::createNestedObject() {
|
||||||
|
if (!_buffer) return JsonObject::invalid();
|
||||||
|
JsonObject &object = _buffer->createObject();
|
||||||
|
add(object);
|
||||||
|
return object;
|
||||||
|
}
|
||||||
|
}
|
@ -165,4 +165,13 @@ class JsonObject : public Internals::JsonPrintable<JsonObject>,
|
|||||||
value);
|
value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace Internals {
|
||||||
|
template <>
|
||||||
|
struct JsonVariantDefault<JsonObject> {
|
||||||
|
static JsonObject& get() {
|
||||||
|
return JsonObject::invalid();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,20 +13,6 @@
|
|||||||
|
|
||||||
namespace ArduinoJson {
|
namespace ArduinoJson {
|
||||||
|
|
||||||
namespace Internals {
|
|
||||||
template <>
|
|
||||||
struct JsonVariantDefault<JsonObject> {
|
|
||||||
static JsonObject &get() {
|
|
||||||
return JsonObject::invalid();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
inline JsonObject &JsonVariant::asObject() const {
|
|
||||||
if (_type == Internals::JSON_OBJECT) return *_content.asObject;
|
|
||||||
return JsonObject::invalid();
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename TString>
|
template <typename TString>
|
||||||
inline JsonObject &JsonObject::createNestedObject(const TString &key) {
|
inline JsonObject &JsonObject::createNestedObject(const TString &key) {
|
||||||
if (!_buffer) return JsonObject::invalid();
|
if (!_buffer) return JsonObject::invalid();
|
||||||
@ -35,10 +21,11 @@ inline JsonObject &JsonObject::createNestedObject(const TString &key) {
|
|||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline JsonObject &JsonArray::createNestedObject() {
|
template <typename TString>
|
||||||
if (!_buffer) return JsonObject::invalid();
|
inline JsonArray &JsonObject::createNestedArray(const TString &key) {
|
||||||
JsonObject &object = _buffer->createObject();
|
if (!_buffer) return JsonArray::invalid();
|
||||||
add(object);
|
JsonArray &array = _buffer->createArray();
|
||||||
return object;
|
set(key, array);
|
||||||
|
return array;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -19,6 +19,34 @@
|
|||||||
|
|
||||||
namespace ArduinoJson {
|
namespace ArduinoJson {
|
||||||
|
|
||||||
|
inline JsonVariant::JsonVariant(const JsonArray &array) {
|
||||||
|
if (array.success()) {
|
||||||
|
_type = Internals::JSON_ARRAY;
|
||||||
|
_content.asArray = const_cast<JsonArray *>(&array);
|
||||||
|
} else {
|
||||||
|
_type = Internals::JSON_UNDEFINED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inline JsonVariant::JsonVariant(const JsonObject &object) {
|
||||||
|
if (object.success()) {
|
||||||
|
_type = Internals::JSON_OBJECT;
|
||||||
|
_content.asObject = const_cast<JsonObject *>(&object);
|
||||||
|
} else {
|
||||||
|
_type = Internals::JSON_UNDEFINED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inline JsonArray &JsonVariant::asArray() const {
|
||||||
|
if (_type == Internals::JSON_ARRAY) return *_content.asArray;
|
||||||
|
return JsonArray::invalid();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline JsonObject &JsonVariant::asObject() const {
|
||||||
|
if (_type == Internals::JSON_OBJECT) return *_content.asObject;
|
||||||
|
return JsonObject::invalid();
|
||||||
|
}
|
||||||
|
|
||||||
inline Internals::JsonInteger JsonVariant::asInteger() const {
|
inline Internals::JsonInteger JsonVariant::asInteger() const {
|
||||||
using namespace Internals;
|
using namespace Internals;
|
||||||
switch (_type) {
|
switch (_type) {
|
Reference in New Issue
Block a user