diff --git a/lib/ArduinoJson/ArduinoJson.h b/lib/ArduinoJson/ArduinoJson.h
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/CHANGELOG.md b/lib/ArduinoJson/CHANGELOG.md
old mode 100644
new mode 100755
index e82281e20..fa4cfe6f0
--- a/lib/ArduinoJson/CHANGELOG.md
+++ b/lib/ArduinoJson/CHANGELOG.md
@@ -1,6 +1,13 @@
ArduinoJson: change log
=======================
+v7.0.3 (2024-02-05)
+------
+
+* Improve error messages when using `char` or `char*` (issue #2043)
+* Reduce stack consumption (issue #2046)
+* Fix compatibility with GCC 4.8 (issue #2045)
+
v7.0.2 (2024-01-19)
------
diff --git a/lib/ArduinoJson/CMakeLists.txt b/lib/ArduinoJson/CMakeLists.txt
deleted file mode 100644
index 6efa04b3b..000000000
--- a/lib/ArduinoJson/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-# ArduinoJson - https://arduinojson.org
-# Copyright © 2014-2024, Benoit BLANCHON
-# MIT License
-
-cmake_minimum_required(VERSION 3.15)
-
-if(ESP_PLATFORM)
- # Build ArduinoJson as an ESP-IDF component
- idf_component_register(INCLUDE_DIRS src)
- return()
-endif()
-
-project(ArduinoJson VERSION 7.0.2)
-
-if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
- include(CTest)
-endif()
-
-add_subdirectory(src)
-
-if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_TESTING)
- include(extras/CompileOptions.cmake)
- add_subdirectory(extras/tests)
- add_subdirectory(extras/fuzzing)
-endif()
diff --git a/lib/ArduinoJson/LICENSE.txt b/lib/ArduinoJson/LICENSE.txt
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/README.md b/lib/ArduinoJson/README.md
new file mode 100755
index 000000000..2900240e5
--- /dev/null
+++ b/lib/ArduinoJson/README.md
@@ -0,0 +1,155 @@
+
+
+
+
+---
+
+[](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22+branch%3A7.x)
+[](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/7.x)
+[](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson)
+[](https://coveralls.io/github/bblanchon/ArduinoJson?branch=7.x)
+[](https://github.com/bblanchon/ArduinoJson/stargazers)
+[](https://github.com/sponsors/bblanchon)
+
+ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things).
+
+## Features
+
+* [JSON deserialization](https://arduinojson.org/v7/api/json/deserializejson/)
+ * [Optionally decodes UTF-16 escape sequences to UTF-8](https://arduinojson.org/v7/api/config/decode_unicode/)
+ * [Optionally supports comments in the input](https://arduinojson.org/v7/api/config/enable_comments/)
+ * [Optionally filters the input to keep only desired values](https://arduinojson.org/v7/api/json/deserializejson/#filtering)
+ * Supports single quotes as a string delimiter
+ * Compatible with [NDJSON](http://ndjson.org/) and [JSON Lines](https://jsonlines.org/)
+* [JSON serialization](https://arduinojson.org/v7/api/json/serializejson/)
+ * [Can write to a buffer or a stream](https://arduinojson.org/v7/api/json/serializejson/)
+ * [Optionally indents the document (prettified JSON)](https://arduinojson.org/v7/api/json/serializejsonpretty/)
+* [MessagePack serialization](https://arduinojson.org/v7/api/msgpack/serializemsgpack/)
+* [MessagePack deserialization](https://arduinojson.org/v7/api/msgpack/deserializemsgpack/)
+* Efficient
+ * [Twice smaller than the "official" Arduino_JSON library](https://arduinojson.org/2019/11/19/arduinojson-vs-arduino_json/)
+ * [Almost 10% faster than the "official" Arduino_JSON library](https://arduinojson.org/2019/11/19/arduinojson-vs-arduino_json/)
+ * [Consumes roughly 10% less RAM than the "official" Arduino_JSON library](https://arduinojson.org/2019/11/19/arduinojson-vs-arduino_json/)
+ * [Deduplicates strings](https://arduinojson.org/news/2020/08/01/version-6-16-0/)
+* Versatile
+ * Supports [custom allocators (to use external RAM chip, for example)](https://arduinojson.org/v7/how-to/use-external-ram-on-esp32/)
+ * Supports [`String`](https://arduinojson.org/v7/api/config/enable_arduino_string/), [`std::string`](https://arduinojson.org/v7/api/config/enable_std_string/), and [`std::string_view`](https://arduinojson.org/v7/api/config/enable_string_view/)
+ * Supports [`Stream`](https://arduinojson.org/v7/api/config/enable_arduino_stream/) and [`std::istream`/`std::ostream`](https://arduinojson.org/v7/api/config/enable_std_stream/)
+ * Supports [Flash strings](https://arduinojson.org/v7/api/config/enable_progmem/)
+ * Supports [custom readers](https://arduinojson.org/v7/api/json/deserializejson/#custom-reader) and [custom writers](https://arduinojson.org/v7/api/json/serializejson/#custom-writer)
+ * Supports [custom converters](https://arduinojson.org/news/2021/05/04/version-6-18-0/)
+* Portable
+ * Usable on any C++ project (not limited to Arduino)
+ * Compatible with C++11, C++14 and C++17
+ * Support for C++98/C++03 available on [ArduinoJson 6.20.x](https://github.com/bblanchon/ArduinoJson/tree/6.20.x)
+ * Zero warnings with `-Wall -Wextra -pedantic` and `/W4`
+ * [Header-only library](https://en.wikipedia.org/wiki/Header-only)
+ * Works with virtually any board
+ * Arduino boards: [Uno](https://amzn.to/38aL2ik), [Due](https://amzn.to/36YkWi2), [Micro](https://amzn.to/35WkdwG), [Nano](https://amzn.to/2QTvwRX), [Mega](https://amzn.to/36XWhuf), [Yun](https://amzn.to/30odURc), [Leonardo](https://amzn.to/36XWjlR)...
+ * Espressif chips: [ESP8266](https://amzn.to/36YluV8), [ESP32](https://amzn.to/2G4pRCB)
+ * Lolin (WeMos) boards: [D1 mini](https://amzn.to/2QUpz7q), [D1 Mini Pro](https://amzn.to/36UsGSs)...
+ * Teensy boards: [4.0](https://amzn.to/30ljXGq), [3.2](https://amzn.to/2FT0EuC), [2.0](https://amzn.to/2QXUMXj)
+ * Particle boards: [Argon](https://amzn.to/2FQHa9X), [Boron](https://amzn.to/36WgLUd), [Electron](https://amzn.to/30vEc4k), [Photon](https://amzn.to/387F9Cd)...
+ * Texas Instruments boards: [MSP430](https://amzn.to/30nJWgg)...
+ * Soft cores: [Nios II](https://en.wikipedia.org/wiki/Nios_II)...
+ * Tested on all major development environments
+ * [Arduino IDE](https://www.arduino.cc/en/Main/Software)
+ * [Atmel Studio](http://www.atmel.com/microsite/atmel-studio/)
+ * [Atollic TrueSTUDIO](https://atollic.com/truestudio/)
+ * [Energia](http://energia.nu/)
+ * [IAR Embedded Workbench](https://www.iar.com/iar-embedded-workbench/)
+ * [Keil uVision](http://www.keil.com/)
+ * [MPLAB X IDE](http://www.microchip.com/mplab/mplab-x-ide)
+ * [Particle](https://www.particle.io/)
+ * [PlatformIO](http://platformio.org/)
+ * [Sloeber plugin for Eclipse](https://eclipse.baeyens.it/)
+ * [Visual Micro](http://www.visualmicro.com/)
+ * [Visual Studio](https://www.visualstudio.com/)
+ * [Even works with online compilers like wandbox.org](https://wandbox.org/permlink/RlZSKy17DjJ6HcdN)
+ * [CMake friendly](https://arduinojson.org/v7/how-to/use-arduinojson-with-cmake/)
+* Well designed
+ * [Elegant API](http://arduinojson.org/v7/example/)
+ * [Thread-safe](https://en.wikipedia.org/wiki/Thread_safety)
+ * Self-contained (no external dependency)
+ * `const` friendly
+ * [`for` friendly](https://arduinojson.org/v7/api/jsonobject/begin_end/)
+ * [TMP friendly](https://en.wikipedia.org/wiki/Template_metaprogramming)
+ * Handles [integer overflows](https://arduinojson.org/v7/api/jsonvariant/as/#integer-overflows)
+* Well tested
+ * [Unit test coverage close to 100%](https://coveralls.io/github/bblanchon/ArduinoJson?branch=7.x)
+ * Continuously tested on
+ * [Visual Studio 2017, 2019, 2022](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/7.x)
+ * [GCC 4.8, 5, 6, 7, 8, 9, 10, 11, 12](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22)
+ * [Clang 3.9, 4.0, 5.0, 6.0, 7, 8, 9, 10, 11, 12, 13, 14, 15](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22)
+ * [Continuously fuzzed with Google OSS Fuzz](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson)
+ * Passes all default checks of [clang-tidy](https://releases.llvm.org/10.0.0/tools/clang/tools/extra/docs/clang-tidy/)
+* Well documented
+ * [Tutorials](https://arduinojson.org/v7/doc/deserialization/)
+ * [Examples](https://arduinojson.org/v7/example/)
+ * [How-tos](https://arduinojson.org/v7/example/)
+ * [FAQ](https://arduinojson.org/v7/faq/)
+ * [Troubleshooter](https://arduinojson.org/v7/troubleshooter/)
+ * [Book](https://arduinojson.org/book/)
+ * [Changelog](CHANGELOG.md)
+* Vibrant user community
+ * Most popular of all Arduino libraries on [GitHub](https://github.com/search?o=desc&q=arduino+library&s=stars&type=Repositories)
+ * [Used in hundreds of projects](https://www.hackster.io/search?i=projects&q=arduinojson)
+ * [Responsive support](https://github.com/bblanchon/ArduinoJson/issues?q=is%3Aissue+is%3Aclosed)
+
+## Quickstart
+
+### Deserialization
+
+Here is a program that parses a JSON document with ArduinoJson.
+
+```c++
+const char* json = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
+
+JsonDocument doc;
+deserializeJson(doc, json);
+
+const char* sensor = doc["sensor"];
+long time = doc["time"];
+double latitude = doc["data"][0];
+double longitude = doc["data"][1];
+```
+
+See the [tutorial on arduinojson.org](https://arduinojson.org/v7/doc/deserialization/)
+
+### Serialization
+
+Here is a program that generates a JSON document with ArduinoJson:
+
+```c++
+JsonDocument doc;
+
+doc["sensor"] = "gps";
+doc["time"] = 1351824120;
+doc["data"][0] = 48.756080;
+doc["data"][1] = 2.302038;
+
+serializeJson(doc, Serial);
+// This prints:
+// {"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}
+```
+
+See the [tutorial on arduinojson.org](https://arduinojson.org/v7/doc/serialization/)
+
+## Sponsors
+
+ArduinoJson is thankful to its sponsors. Please give them a visit; they deserve it!
+
+
+
+
+
+
+
+
+
+
+
+
+If you run a commercial project that embeds ArduinoJson, think about [sponsoring the library's development](https://github.com/sponsors/bblanchon): it ensures the code that your products rely on stays actively maintained. It can also give your project some exposure to the makers' community.
+
+If you are an individual user and want to support the development (or give a sign of appreciation), consider purchasing the book [Mastering ArduinoJson](https://arduinojson.org/book/) ❤, or simply [cast a star](https://github.com/bblanchon/ArduinoJson/stargazers) ⭐.
diff --git a/lib/ArduinoJson/SUPPORT.md b/lib/ArduinoJson/SUPPORT.md
new file mode 100755
index 000000000..c47e1b1ba
--- /dev/null
+++ b/lib/ArduinoJson/SUPPORT.md
@@ -0,0 +1,27 @@
+# ArduinoJson Support
+
+First off, thank you very much for using ArduinoJson.
+
+We'll be very happy to help you, but first please read the following.
+
+## Before asking for help
+
+1. Read the [FAQ](https://arduinojson.org/faq/?utm_source=github&utm_medium=support)
+2. Search in the [API Reference](https://arduinojson.org/api/?utm_source=github&utm_medium=support)
+
+If you did not find the answer, please create a [new issue on GitHub](https://github.com/bblanchon/ArduinoJson/issues/new).
+
+It is OK to add a comment to a currently opened issue, but please avoid adding comments to a closed issue.
+
+## Before hitting the Submit button
+
+Please provide all the relevant information:
+
+* Good title
+* Short description of the problem
+* Target platform
+* Compiler model and version
+* [MVCE](https://stackoverflow.com/help/mcve)
+* Compiler output
+
+Good questions get fast answers!
diff --git a/lib/ArduinoJson/idf_component.yml b/lib/ArduinoJson/idf_component.yml
deleted file mode 100644
index 429d37339..000000000
--- a/lib/ArduinoJson/idf_component.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-version: "7.0.2"
-description: >-
- A simple and efficient JSON library for embedded C++.
- ⭐ 6444 stars on GitHub!
- Supports serialization, deserialization, MessagePack, streams, filtering, and more.
- Fully tested and documented.
-url: https://arduinojson.org/
-files:
- exclude:
- - "**/.vs/**/*"
- - ".devcontainer/**/*"
- - "examples/**/*"
- - "extras/**/*"
diff --git a/lib/ArduinoJson/library.json b/lib/ArduinoJson/library.json
deleted file mode 100644
index 46f156ac4..000000000
--- a/lib/ArduinoJson/library.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "ArduinoJson",
- "keywords": "json, rest, http, web",
- "description": "A simple and efficient JSON library for embedded C++. ⭐ 6444 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented.",
- "homepage": "https://arduinojson.org/?utm_source=meta&utm_medium=library.json",
- "repository": {
- "type": "git",
- "url": "https://github.com/bblanchon/ArduinoJson.git"
- },
- "version": "7.0.2",
- "authors": {
- "name": "Benoit Blanchon",
- "url": "https://blog.benoitblanchon.fr"
- },
- "export": {
- "include": ["src", "examples", "LICENSE.txt", "ArduinoJson.h"]
- },
- "frameworks": "*",
- "platforms": "*",
- "build": {
- "libArchive": false
- }
-}
diff --git a/lib/ArduinoJson/library.properties b/lib/ArduinoJson/library.properties
deleted file mode 100644
index e9d9c2c7d..000000000
--- a/lib/ArduinoJson/library.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-name=ArduinoJson
-version=7.0.2
-author=Benoit Blanchon
-maintainer=Benoit Blanchon
-sentence=A simple and efficient JSON library for embedded C++.
-paragraph=⭐ 6444 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented.
-category=Data Processing
-url=https://arduinojson.org/?utm_source=meta&utm_medium=library.properties
-architectures=*
-repository=https://github.com/bblanchon/ArduinoJson.git
-license=MIT
diff --git a/lib/ArduinoJson/src/ArduinoJson.h b/lib/ArduinoJson/src/ArduinoJson.h
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson.hpp b/lib/ArduinoJson/src/ArduinoJson.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp
old mode 100644
new mode 100755
index 2ae26624a..f36b68ea3
--- a/lib/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp
@@ -22,25 +22,25 @@ class ElementProxy : public VariantRefBase>,
ElementProxy(const ElementProxy& src)
: upstream_(src.upstream_), index_(src.index_) {}
- FORCE_INLINE ElementProxy& operator=(const ElementProxy& src) {
+ ElementProxy& operator=(const ElementProxy& src) {
this->set(src);
return *this;
}
template
- FORCE_INLINE ElementProxy& operator=(const T& src) {
+ ElementProxy& operator=(const T& src) {
this->set(src);
return *this;
}
template
- FORCE_INLINE ElementProxy& operator=(T* src) {
+ ElementProxy& operator=(T* src) {
this->set(src);
return *this;
}
private:
- FORCE_INLINE ResourceManager* getResourceManager() const {
+ ResourceManager* getResourceManager() const {
return VariantAttorney::getResourceManager(upstream_);
}
@@ -50,7 +50,7 @@ class ElementProxy : public VariantRefBase>,
VariantAttorney::getResourceManager(upstream_));
}
- FORCE_INLINE VariantData* getOrCreateData() const {
+ VariantData* getOrCreateData() const {
auto data = VariantAttorney::getOrCreateData(upstream_);
if (!data)
return nullptr;
diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp
old mode 100644
new mode 100755
index 069c353de..292336308
--- a/lib/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp
@@ -20,11 +20,10 @@ class JsonArray : public detail::VariantOperators {
typedef JsonArrayIterator iterator;
// Constructs an unbound reference.
- FORCE_INLINE JsonArray() : data_(0), resources_(0) {}
+ JsonArray() : data_(0), resources_(0) {}
// INTERNAL USE ONLY
- FORCE_INLINE JsonArray(detail::ArrayData* data,
- detail::ResourceManager* resources)
+ JsonArray(detail::ArrayData* data, detail::ResourceManager* resources)
: data_(data), resources_(resources) {}
// Returns a JsonVariant pointing to the array.
@@ -63,20 +62,20 @@ class JsonArray : public detail::VariantOperators {
// Appends a value to the array.
// https://arduinojson.org/v7/api/jsonarray/add/
template
- FORCE_INLINE bool add(const T& value) const {
+ bool add(const T& value) const {
return add().set(value);
}
// Appends a value to the array.
// https://arduinojson.org/v7/api/jsonarray/add/
template
- FORCE_INLINE bool add(T* value) const {
+ bool add(T* value) const {
return add().set(value);
}
// Returns an iterator to the first element of the array.
// https://arduinojson.org/v7/api/jsonarray/begin/
- FORCE_INLINE iterator begin() const {
+ iterator begin() const {
if (!data_)
return iterator();
return iterator(data_->createIterator(resources_), resources_);
@@ -84,13 +83,13 @@ class JsonArray : public detail::VariantOperators {
// Returns an iterator following the last element of the array.
// https://arduinojson.org/v7/api/jsonarray/end/
- FORCE_INLINE iterator end() const {
+ iterator end() const {
return iterator();
}
// Copies an array.
// https://arduinojson.org/v7/api/jsonarray/set/
- FORCE_INLINE bool set(JsonArrayConst src) const {
+ bool set(JsonArrayConst src) const {
if (!data_)
return false;
@@ -105,13 +104,13 @@ class JsonArray : public detail::VariantOperators {
// Removes the element at the specified iterator.
// https://arduinojson.org/v7/api/jsonarray/remove/
- FORCE_INLINE void remove(iterator it) const {
+ void remove(iterator it) const {
detail::ArrayData::remove(data_, it.iterator_, resources_);
}
// Removes the element at the specified index.
// https://arduinojson.org/v7/api/jsonarray/remove/
- FORCE_INLINE void remove(size_t index) const {
+ void remove(size_t index) const {
detail::ArrayData::removeElement(data_, index, resources_);
}
@@ -123,7 +122,7 @@ class JsonArray : public detail::VariantOperators {
// Gets or sets the element at the specified index.
// https://arduinojson.org/v7/api/jsonarray/subscript/
- FORCE_INLINE detail::ElementProxy operator[](size_t index) const {
+ detail::ElementProxy operator[](size_t index) const {
return {*this, index};
}
@@ -133,25 +132,25 @@ class JsonArray : public detail::VariantOperators {
// Returns true if the reference is unbound.
// https://arduinojson.org/v7/api/jsonarray/isnull/
- FORCE_INLINE bool isNull() const {
+ bool isNull() const {
return data_ == 0;
}
// Returns true if the reference is bound.
// https://arduinojson.org/v7/api/jsonarray/isnull/
- FORCE_INLINE operator bool() const {
+ operator bool() const {
return data_ != 0;
}
// Returns the depth (nesting level) of the array.
// https://arduinojson.org/v7/api/jsonarray/nesting/
- FORCE_INLINE size_t nesting() const {
+ size_t nesting() const {
return detail::VariantData::nesting(collectionToVariant(data_), resources_);
}
// Returns the number of elements in the array.
// https://arduinojson.org/v7/api/jsonarray/size/
- FORCE_INLINE size_t size() const {
+ size_t size() const {
return data_ ? data_->size(resources_) : 0;
}
diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp
old mode 100644
new mode 100755
index 526975a24..6c0d7db2f
--- a/lib/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp
@@ -23,7 +23,7 @@ class JsonArrayConst : public detail::VariantOperators {
// Returns an iterator to the first element of the array.
// https://arduinojson.org/v7/api/jsonarrayconst/begin/
- FORCE_INLINE iterator begin() const {
+ iterator begin() const {
if (!data_)
return iterator();
return iterator(data_->createIterator(resources_), resources_);
@@ -31,21 +31,21 @@ class JsonArrayConst : public detail::VariantOperators {
// Returns an iterator to the element following the last element of the array.
// https://arduinojson.org/v7/api/jsonarrayconst/end/
- FORCE_INLINE iterator end() const {
+ iterator end() const {
return iterator();
}
// Creates an unbound reference.
- FORCE_INLINE JsonArrayConst() : data_(0) {}
+ JsonArrayConst() : data_(0) {}
// INTERNAL USE ONLY
- FORCE_INLINE JsonArrayConst(const detail::ArrayData* data,
- const detail::ResourceManager* resources)
+ JsonArrayConst(const detail::ArrayData* data,
+ const detail::ResourceManager* resources)
: data_(data), resources_(resources) {}
// Returns the element at the specified index.
// https://arduinojson.org/v7/api/jsonarrayconst/subscript/
- FORCE_INLINE JsonVariantConst operator[](size_t index) const {
+ JsonVariantConst operator[](size_t index) const {
return JsonVariantConst(
detail::ArrayData::getElement(data_, index, resources_), resources_);
}
@@ -56,25 +56,25 @@ class JsonArrayConst : public detail::VariantOperators {
// Returns true if the reference is unbound.
// https://arduinojson.org/v7/api/jsonarrayconst/isnull/
- FORCE_INLINE bool isNull() const {
+ bool isNull() const {
return data_ == 0;
}
// Returns true if the reference is bound.
// https://arduinojson.org/v7/api/jsonarrayconst/isnull/
- FORCE_INLINE operator bool() const {
+ operator bool() const {
return data_ != 0;
}
// Returns the depth (nesting level) of the array.
// https://arduinojson.org/v7/api/jsonarrayconst/nesting/
- FORCE_INLINE size_t nesting() const {
+ size_t nesting() const {
return detail::VariantData::nesting(getData(), resources_);
}
// Returns the number of elements in the array.
// https://arduinojson.org/v7/api/jsonarrayconst/size/
- FORCE_INLINE size_t size() const {
+ size_t size() const {
return data_ ? data_->size(resources_) : 0;
}
diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp b/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp
old mode 100644
new mode 100755
index 1010795ce..07fe7e043
--- a/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp
@@ -107,6 +107,10 @@ class CollectionData {
return collection->remove(it, resources);
}
+ SlotId head() const {
+ return head_;
+ }
+
protected:
iterator addSlot(ResourceManager*);
diff --git a/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Configuration.hpp b/lib/ArduinoJson/src/ArduinoJson/Configuration.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp b/lib/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp
old mode 100644
new mode 100755
index d2daf97ad..0f336f1a2
--- a/lib/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp
@@ -30,7 +30,8 @@ class JsonDocument : public detail::VariantOperators {
}
// Move-constructor
- JsonDocument(JsonDocument&& src) : JsonDocument() {
+ JsonDocument(JsonDocument&& src)
+ : JsonDocument(detail::DefaultAllocator::instance()) {
swap(*this, src);
}
@@ -169,9 +170,8 @@ class JsonDocument : public detail::VariantOperators {
// Gets or sets a root object's member.
// https://arduinojson.org/v7/api/jsondocument/subscript/
template
- FORCE_INLINE typename detail::enable_if<
- detail::IsString::value,
- detail::MemberProxy>::type
+ typename detail::enable_if::value,
+ detail::MemberProxy>::type
operator[](const TString& key) {
return {*this, key};
}
@@ -179,9 +179,8 @@ class JsonDocument : public detail::VariantOperators {
// Gets or sets a root object's member.
// https://arduinojson.org/v7/api/jsondocument/subscript/
template
- FORCE_INLINE typename detail::enable_if<
- detail::IsString::value,
- detail::MemberProxy>::type
+ typename detail::enable_if::value,
+ detail::MemberProxy>::type
operator[](TChar* key) {
return {*this, key};
}
@@ -189,8 +188,8 @@ class JsonDocument : public detail::VariantOperators {
// Gets a root object's member.
// https://arduinojson.org/v7/api/jsondocument/subscript/
template
- FORCE_INLINE typename detail::enable_if::value,
- JsonVariantConst>::type
+ typename detail::enable_if::value,
+ JsonVariantConst>::type
operator[](const TString& key) const {
return JsonVariantConst(
data_.getMember(detail::adaptString(key), &resources_), &resources_);
@@ -199,8 +198,8 @@ class JsonDocument : public detail::VariantOperators {
// Gets a root object's member.
// https://arduinojson.org/v7/api/jsondocument/subscript/
template
- FORCE_INLINE typename detail::enable_if::value,
- JsonVariantConst>::type
+ typename detail::enable_if::value,
+ JsonVariantConst>::type
operator[](TChar* key) const {
return JsonVariantConst(
data_.getMember(detail::adaptString(key), &resources_), &resources_);
@@ -208,13 +207,13 @@ class JsonDocument : public detail::VariantOperators {
// Gets or sets a root array's element.
// https://arduinojson.org/v7/api/jsondocument/subscript/
- FORCE_INLINE detail::ElementProxy operator[](size_t index) {
+ detail::ElementProxy operator[](size_t index) {
return {*this, index};
}
// Gets a root array's member.
// https://arduinojson.org/v7/api/jsondocument/subscript/
- FORCE_INLINE JsonVariantConst operator[](size_t index) const {
+ JsonVariantConst operator[](size_t index) const {
return JsonVariantConst(data_.getElement(index, &resources_), &resources_);
}
@@ -239,28 +238,28 @@ class JsonDocument : public detail::VariantOperators {
// Appends a value to the root array.
// https://arduinojson.org/v7/api/jsondocument/add/
template
- FORCE_INLINE bool add(const TValue& value) {
+ bool add(const TValue& value) {
return add().set(value);
}
// Appends a value to the root array.
// https://arduinojson.org/v7/api/jsondocument/add/
template
- FORCE_INLINE bool add(TChar* value) {
+ bool add(TChar* value) {
return add().set(value);
}
// Removes an element of the root array.
// https://arduinojson.org/v7/api/jsondocument/remove/
- FORCE_INLINE void remove(size_t index) {
+ void remove(size_t index) {
detail::VariantData::removeElement(getData(), index, getResourceManager());
}
// Removes a member of the root object.
// https://arduinojson.org/v7/api/jsondocument/remove/
template
- FORCE_INLINE typename detail::enable_if::value>::type
- remove(TChar* key) {
+ typename detail::enable_if::value>::type remove(
+ TChar* key) {
detail::VariantData::removeMember(getData(), detail::adaptString(key),
getResourceManager());
}
@@ -268,18 +267,18 @@ class JsonDocument : public detail::VariantOperators {
// Removes a member of the root object.
// https://arduinojson.org/v7/api/jsondocument/remove/
template
- FORCE_INLINE
- typename detail::enable_if::value>::type
- remove(const TString& key) {
+
+ typename detail::enable_if::value>::type remove(
+ const TString& key) {
detail::VariantData::removeMember(getData(), detail::adaptString(key),
getResourceManager());
}
- FORCE_INLINE operator JsonVariant() {
+ operator JsonVariant() {
return getVariant();
}
- FORCE_INLINE operator JsonVariantConst() const {
+ operator JsonVariantConst() const {
return getVariant();
}
diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp
old mode 100644
new mode 100755
index f4751f0c2..6b02cc593
--- a/lib/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp
@@ -19,19 +19,20 @@ class JsonSerializer : public VariantDataVisitor {
JsonSerializer(TWriter writer, const ResourceManager* resources)
: formatter_(writer), resources_(resources) {}
- FORCE_INLINE size_t visit(const ArrayData& array) {
+ size_t visit(const ArrayData& array) {
write('[');
- auto it = array.createIterator(resources_);
+ auto slotId = array.head();
- while (!it.done()) {
- it->accept(*this);
+ while (slotId != NULL_SLOT) {
+ auto slot = resources_->getSlot(slotId);
- it.next(resources_);
- if (it.done())
- break;
+ slot->data()->accept(*this);
- write(',');
+ slotId = slot->next();
+
+ if (slotId != NULL_SLOT)
+ write(',');
}
write(']');
@@ -41,18 +42,19 @@ class JsonSerializer : public VariantDataVisitor {
size_t visit(const ObjectData& object) {
write('{');
- auto it = object.createIterator(resources_);
+ auto slotId = object.head();
- while (!it.done()) {
- formatter_.writeString(it.key());
+ while (slotId != NULL_SLOT) {
+ auto slot = resources_->getSlot(slotId);
+
+ formatter_.writeString(slot->key());
write(':');
- it->accept(*this);
+ slot->data()->accept(*this);
- it.next(resources_);
- if (it.done())
- break;
+ slotId = slot->next();
- write(',');
+ if (slotId != NULL_SLOT)
+ write(',');
}
write('}');
diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/Latch.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/Latch.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/VariantPool.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/VariantPool.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/VariantPoolImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/VariantPoolImpl.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/VariantPoolList.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/VariantPoolList.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp b/lib/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp b/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp b/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp
old mode 100644
new mode 100755
index 5c3fc24ea..15c5a0e32
--- a/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp
@@ -59,10 +59,14 @@ class MsgPackSerializer : public VariantDataVisitor {
writeByte(0xDD);
writeInteger(uint32_t(n));
}
- for (auto it = array.createIterator(resources_); !it.done();
- it.next(resources_)) {
- it->accept(*this);
+
+ auto slotId = array.head();
+ while (slotId != NULL_SLOT) {
+ auto slot = resources_->getSlot(slotId);
+ slot->data()->accept(*this);
+ slotId = slot->next();
}
+
return bytesWritten();
}
@@ -77,11 +81,15 @@ class MsgPackSerializer : public VariantDataVisitor {
writeByte(0xDF);
writeInteger(uint32_t(n));
}
- for (auto it = object.createIterator(resources_); !it.done();
- it.next(resources_)) {
- visit(it.key());
- it->accept(*this);
+
+ auto slotId = object.head();
+ while (slotId != NULL_SLOT) {
+ auto slot = resources_->getSlot(slotId);
+ visit(slot->key());
+ slot->data()->accept(*this);
+ slotId = slot->next();
}
+
return bytesWritten();
}
diff --git a/lib/ArduinoJson/src/ArduinoJson/MsgPack/endianess.hpp b/lib/ArduinoJson/src/ArduinoJson/MsgPack/endianess.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp b/lib/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Namespace.hpp b/lib/ArduinoJson/src/ArduinoJson/Namespace.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp
old mode 100644
new mode 100755
index 096afa87b..e4e7dee4a
--- a/lib/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp
@@ -20,11 +20,10 @@ class JsonObject : public detail::VariantOperators {
typedef JsonObjectIterator iterator;
// Creates an unbound reference.
- FORCE_INLINE JsonObject() : data_(0), resources_(0) {}
+ JsonObject() : data_(0), resources_(0) {}
// INTERNAL USE ONLY
- FORCE_INLINE JsonObject(detail::ObjectData* data,
- detail::ResourceManager* resource)
+ JsonObject(detail::ObjectData* data, detail::ResourceManager* resource)
: data_(data), resources_(resource) {}
operator JsonVariant() const {
@@ -43,31 +42,31 @@ class JsonObject : public detail::VariantOperators {
// Returns true if the reference is unbound.
// https://arduinojson.org/v7/api/jsonobject/isnull/
- FORCE_INLINE bool isNull() const {
+ bool isNull() const {
return data_ == 0;
}
// Returns true if the reference is bound.
// https://arduinojson.org/v7/api/jsonobject/isnull/
- FORCE_INLINE operator bool() const {
+ operator bool() const {
return data_ != 0;
}
// Returns the depth (nesting level) of the object.
// https://arduinojson.org/v7/api/jsonobject/nesting/
- FORCE_INLINE size_t nesting() const {
+ size_t nesting() const {
return detail::VariantData::nesting(collectionToVariant(data_), resources_);
}
// Returns the number of members in the object.
// https://arduinojson.org/v7/api/jsonobject/size/
- FORCE_INLINE size_t size() const {
+ size_t size() const {
return data_ ? data_->size(resources_) : 0;
}
// Returns an iterator to the first key-value pair of the object.
// https://arduinojson.org/v7/api/jsonobject/begin/
- FORCE_INLINE iterator begin() const {
+ iterator begin() const {
if (!data_)
return iterator();
return iterator(data_->createIterator(resources_), resources_);
@@ -75,7 +74,7 @@ class JsonObject : public detail::VariantOperators {
// Returns an iterator following the last key-value pair of the object.
// https://arduinojson.org/v7/api/jsonobject/end/
- FORCE_INLINE iterator end() const {
+ iterator end() const {
return iterator();
}
@@ -87,7 +86,7 @@ class JsonObject : public detail::VariantOperators {
// Copies an object.
// https://arduinojson.org/v7/api/jsonobject/set/
- FORCE_INLINE bool set(JsonObjectConst src) {
+ bool set(JsonObjectConst src) {
if (!data_ || !src.data_)
return false;
@@ -103,20 +102,20 @@ class JsonObject : public detail::VariantOperators {
// Gets or sets the member with specified key.
// https://arduinojson.org/v7/api/jsonobject/subscript/
template
- FORCE_INLINE
- typename detail::enable_if::value,
- detail::MemberProxy>::type
- operator[](const TString& key) const {
+
+ typename detail::enable_if::value,
+ detail::MemberProxy>::type
+ operator[](const TString& key) const {
return {*this, key};
}
// Gets or sets the member with specified key.
// https://arduinojson.org/v7/api/jsonobject/subscript/
template
- FORCE_INLINE
- typename detail::enable_if::value,
- detail::MemberProxy>::type
- operator[](TChar* key) const {
+
+ typename detail::enable_if::value,
+ detail::MemberProxy>::type
+ operator[](TChar* key) const {
return {*this, key};
}
@@ -145,9 +144,9 @@ class JsonObject : public detail::VariantOperators {
// Returns true if the object contains the specified key.
// https://arduinojson.org/v7/api/jsonobject/containskey/
template
- FORCE_INLINE
- typename detail::enable_if::value, bool>::type
- containsKey(const TString& key) const {
+
+ typename detail::enable_if::value, bool>::type
+ containsKey(const TString& key) const {
return detail::ObjectData::getMember(data_, detail::adaptString(key),
resources_) != 0;
}
@@ -155,9 +154,9 @@ class JsonObject : public detail::VariantOperators {
// Returns true if the object contains the specified key.
// https://arduinojson.org/v7/api/jsonobject/containskey/
template
- FORCE_INLINE
- typename detail::enable_if::value, bool>::type
- containsKey(TChar* key) const {
+
+ typename detail::enable_if::value, bool>::type
+ containsKey(TChar* key) const {
return detail::ObjectData::getMember(data_, detail::adaptString(key),
resources_) != 0;
}
diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp
old mode 100644
new mode 100755
index 8f2c8bb10..908fa275d
--- a/lib/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp
@@ -32,31 +32,31 @@ class JsonObjectConst : public detail::VariantOperators {
// Returns true if the reference is unbound.
// https://arduinojson.org/v7/api/jsonobjectconst/isnull/
- FORCE_INLINE bool isNull() const {
+ bool isNull() const {
return data_ == 0;
}
// Returns true if the reference is bound.
// https://arduinojson.org/v7/api/jsonobjectconst/isnull/
- FORCE_INLINE operator bool() const {
+ operator bool() const {
return data_ != 0;
}
// Returns the depth (nesting level) of the object.
// https://arduinojson.org/v7/api/jsonobjectconst/nesting/
- FORCE_INLINE size_t nesting() const {
+ size_t nesting() const {
return detail::VariantData::nesting(getData(), resources_);
}
// Returns the number of members in the object.
// https://arduinojson.org/v7/api/jsonobjectconst/size/
- FORCE_INLINE size_t size() const {
+ size_t size() const {
return data_ ? data_->size(resources_) : 0;
}
// Returns an iterator to the first key-value pair of the object.
// https://arduinojson.org/v7/api/jsonobjectconst/begin/
- FORCE_INLINE iterator begin() const {
+ iterator begin() const {
if (!data_)
return iterator();
return iterator(data_->createIterator(resources_), resources_);
@@ -64,14 +64,14 @@ class JsonObjectConst : public detail::VariantOperators {
// Returns an iterator following the last key-value pair of the object.
// https://arduinojson.org/v7/api/jsonobjectconst/end/
- FORCE_INLINE iterator end() const {
+ iterator end() const {
return iterator();
}
// Returns true if the object contains the specified key.
// https://arduinojson.org/v7/api/jsonobjectconst/containskey/
template
- FORCE_INLINE bool containsKey(const TString& key) const {
+ bool containsKey(const TString& key) const {
return detail::ObjectData::getMember(data_, detail::adaptString(key),
resources_) != 0;
}
@@ -79,7 +79,7 @@ class JsonObjectConst : public detail::VariantOperators {
// Returns true if the object contains the specified key.
// https://arduinojson.org/v7/api/jsonobjectconst/containskey/
template
- FORCE_INLINE bool containsKey(TChar* key) const {
+ bool containsKey(TChar* key) const {
return detail::ObjectData::getMember(data_, detail::adaptString(key),
resources_) != 0;
}
@@ -87,8 +87,8 @@ class JsonObjectConst : public detail::VariantOperators {
// Gets the member with specified key.
// https://arduinojson.org/v7/api/jsonobjectconst/subscript/
template
- FORCE_INLINE typename detail::enable_if::value,
- JsonVariantConst>::type
+ typename detail::enable_if::value,
+ JsonVariantConst>::type
operator[](const TString& key) const {
return JsonVariantConst(detail::ObjectData::getMember(
data_, detail::adaptString(key), resources_),
@@ -98,8 +98,8 @@ class JsonObjectConst : public detail::VariantOperators {
// Gets the member with specified key.
// https://arduinojson.org/v7/api/jsonobjectconst/subscript/
template
- FORCE_INLINE typename detail::enable_if::value,
- JsonVariantConst>::type
+ typename detail::enable_if::value,
+ JsonVariantConst>::type
operator[](TChar* key) const {
return JsonVariantConst(detail::ObjectData::getMember(
data_, detail::adaptString(key), resources_),
diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp
old mode 100644
new mode 100755
index 2a56f6dae..eb9feedeb
--- a/lib/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp
@@ -17,41 +17,41 @@ class MemberProxy
friend class VariantAttorney;
public:
- FORCE_INLINE MemberProxy(TUpstream upstream, TStringRef key)
+ MemberProxy(TUpstream upstream, TStringRef key)
: upstream_(upstream), key_(key) {}
MemberProxy(const MemberProxy& src)
: upstream_(src.upstream_), key_(src.key_) {}
- FORCE_INLINE MemberProxy& operator=(const MemberProxy& src) {
+ MemberProxy& operator=(const MemberProxy& src) {
this->set(src);
return *this;
}
template
- FORCE_INLINE MemberProxy& operator=(const T& src) {
+ MemberProxy& operator=(const T& src) {
this->set(src);
return *this;
}
template
- FORCE_INLINE MemberProxy& operator=(T* src) {
+ MemberProxy& operator=(T* src) {
this->set(src);
return *this;
}
private:
- FORCE_INLINE ResourceManager* getResourceManager() const {
+ ResourceManager* getResourceManager() const {
return VariantAttorney::getResourceManager(upstream_);
}
- FORCE_INLINE VariantData* getData() const {
+ VariantData* getData() const {
return VariantData::getMember(
VariantAttorney::getData(upstream_), adaptString(key_),
VariantAttorney::getResourceManager(upstream_));
}
- FORCE_INLINE VariantData* getOrCreateData() const {
+ VariantData* getOrCreateData() const {
auto data = VariantAttorney::getOrCreateData(upstream_);
if (!data)
return nullptr;
diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp
old mode 100644
new mode 100755
index 2eaaa57cf..268026f21
--- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp
@@ -7,7 +7,6 @@
#ifdef _MSC_VER // Visual Studio
# define FORCE_INLINE // __forceinline causes C4714 when returning std::string
-# define NO_INLINE __declspec(noinline)
# ifndef ARDUINOJSON_DEPRECATED
# define ARDUINOJSON_DEPRECATED(msg) __declspec(deprecated(msg))
@@ -16,7 +15,6 @@
#elif defined(__GNUC__) // GCC or Clang
# define FORCE_INLINE __attribute__((always_inline))
-# define NO_INLINE __attribute__((noinline))
# ifndef ARDUINOJSON_DEPRECATED
# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
@@ -29,7 +27,6 @@
#else // Other compilers
# define FORCE_INLINE
-# define NO_INLINE
# ifndef ARDUINOJSON_DEPRECATED
# define ARDUINOJSON_DEPRECATED(msg)
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_void.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_void.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp
old mode 100644
new mode 100755
index 46dc8ba55..6ac4d9738
--- a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp
@@ -9,15 +9,13 @@
ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
-template
-using void_t = void;
-
template
struct is_std_string : false_type {};
template
struct is_std_string<
- T, void_t>
+ T, typename enable_if::value &&
+ is_same::value>::type>
: true_type {};
template
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/JsonString.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/JsonString.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp
old mode 100644
new mode 100755
index cc89687ee..8e35f72b5
--- a/lib/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp
@@ -21,6 +21,10 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
template
struct Converter {
+ static_assert(!detail::is_same::value,
+ "type 'char' is not supported, use 'signed char', 'unsigned "
+ "char' or another integer type instead");
+
static void toJson(const T& src, JsonVariant dst) {
// clang-format off
convertToJson(src, dst); // Error here? See https://arduinojson.org/v7/unsupported-set/
@@ -28,6 +32,9 @@ struct Converter {
}
static T fromJson(JsonVariantConst src) {
+ static_assert(!detail::is_same::value,
+ "type 'char*' is not supported, use 'const char*' instead");
+
// clang-format off
T result; // Error here? See https://arduinojson.org/v7/non-default-constructible/
convertFromJson(src, result); // Error here? See https://arduinojson.org/v7/unsupported-as/
@@ -36,6 +43,9 @@ struct Converter {
}
static bool checkJson(JsonVariantConst src) {
+ static_assert(!detail::is_same::value,
+ "type 'char*' is not supported, use 'const char*' instead");
+
T dummy = T();
// clang-format off
return canConvertFromJson(src, dummy); // Error here? See https://arduinojson.org/v7/unsupported-is/
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp
old mode 100644
new mode 100755
index f38963c1b..5039c38ae
--- a/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp
@@ -23,15 +23,15 @@ class JsonVariant : public detail::VariantRefBase,
: data_(data), resources_(resources) {}
private:
- FORCE_INLINE detail::ResourceManager* getResourceManager() const {
+ detail::ResourceManager* getResourceManager() const {
return resources_;
}
- FORCE_INLINE detail::VariantData* getData() const {
+ detail::VariantData* getData() const {
return data_;
}
- FORCE_INLINE detail::VariantData* getOrCreateData() const {
+ detail::VariantData* getOrCreateData() const {
return data_;
}
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp
old mode 100644
new mode 100755
index 8ff741110..7e7b8c0d8
--- a/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp
@@ -38,18 +38,18 @@ class JsonVariantConst : public detail::VariantTag,
// Returns true if the value is null or the reference is unbound.
// https://arduinojson.org/v7/api/jsonvariantconst/isnull/
- FORCE_INLINE bool isNull() const {
+ bool isNull() const {
return detail::VariantData::isNull(data_);
}
// Returns true if the reference is unbound.
- FORCE_INLINE bool isUnbound() const {
+ bool isUnbound() const {
return !data_;
}
// Returns the depth (nesting level) of the value.
// https://arduinojson.org/v7/api/jsonvariantconst/nesting/
- FORCE_INLINE size_t nesting() const {
+ size_t nesting() const {
return detail::VariantData::nesting(data_, resources_);
}
@@ -62,9 +62,9 @@ class JsonVariantConst : public detail::VariantTag,
// Casts the value to the specified type.
// https://arduinojson.org/v7/api/jsonvariantconst/as/
template
- FORCE_INLINE typename detail::enable_if::value &&
- !detail::is_same::value,
- T>::type
+ typename detail::enable_if::value &&
+ !detail::is_same::value,
+ T>::type
as() const {
return Converter::fromJson(*this);
}
@@ -72,21 +72,21 @@ class JsonVariantConst : public detail::VariantTag,
// Returns true if the value is of the specified type.
// https://arduinojson.org/v7/api/jsonvariantconst/is/
template
- FORCE_INLINE typename detail::enable_if::value &&
- !detail::is_same::value,
- bool>::type
+ typename detail::enable_if::value &&
+ !detail::is_same::value,
+ bool>::type
is() const {
return Converter::checkJson(*this);
}
template
- FORCE_INLINE operator T() const {
+ operator T() const {
return as();
}
// Gets array's element at specified index.
// https://arduinojson.org/v7/api/jsonvariantconst/subscript/
- FORCE_INLINE JsonVariantConst operator[](size_t index) const {
+ JsonVariantConst operator[](size_t index) const {
return JsonVariantConst(
detail::VariantData::getElement(data_, index, resources_), resources_);
}
@@ -94,8 +94,8 @@ class JsonVariantConst : public detail::VariantTag,
// Gets object's member with specified key.
// https://arduinojson.org/v7/api/jsonvariantconst/subscript/
template
- FORCE_INLINE typename detail::enable_if::value,
- JsonVariantConst>::type
+ typename detail::enable_if::value,
+ JsonVariantConst>::type
operator[](const TString& key) const {
return JsonVariantConst(detail::VariantData::getMember(
data_, detail::adaptString(key), resources_),
@@ -105,8 +105,8 @@ class JsonVariantConst : public detail::VariantTag,
// Gets object's member with specified key.
// https://arduinojson.org/v7/api/jsonvariantconst/subscript/
template
- FORCE_INLINE typename detail::enable_if::value,
- JsonVariantConst>::type
+ typename detail::enable_if::value,
+ JsonVariantConst>::type
operator[](TChar* key) const {
return JsonVariantConst(detail::VariantData::getMember(
data_, detail::adaptString(key), resources_),
@@ -116,9 +116,9 @@ class JsonVariantConst : public detail::VariantTag,
// Returns true if tge object contains the specified key.
// https://arduinojson.org/v7/api/jsonvariantconst/containskey/
template
- FORCE_INLINE
- typename detail::enable_if::value, bool>::type
- containsKey(const TString& key) const {
+
+ typename detail::enable_if::value, bool>::type
+ containsKey(const TString& key) const {
return detail::VariantData::getMember(getData(), detail::adaptString(key),
resources_) != 0;
}
@@ -126,9 +126,9 @@ class JsonVariantConst : public detail::VariantTag,
// Returns true if tge object contains the specified key.
// https://arduinojson.org/v7/api/jsonvariantconst/containskey/
template
- FORCE_INLINE
- typename detail::enable_if::value, bool>::type
- containsKey(TChar* key) const {
+
+ typename detail::enable_if::value, bool>::type
+ containsKey(TChar* key) const {
return detail::VariantData::getMember(getData(), detail::adaptString(key),
resources_) != 0;
}
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp
old mode 100644
new mode 100755
index 24f22dda5..b75eb3806
--- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp
@@ -16,19 +16,18 @@ ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
class VariantAttorney {
public:
template
- FORCE_INLINE static auto getResourceManager(TClient& client)
+ static auto getResourceManager(TClient& client)
-> decltype(client.getResourceManager()) {
return client.getResourceManager();
}
template
- FORCE_INLINE static auto getData(TClient& client)
- -> decltype(client.getData()) {
+ static auto getData(TClient& client) -> decltype(client.getData()) {
return client.getData();
}
template
- FORCE_INLINE static VariantData* getOrCreateData(TClient& client) {
+ static VariantData* getOrCreateData(TClient& client) {
return client.getOrCreateData();
}
};
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp
old mode 100644
new mode 100755
index c81334af2..318915e8d
--- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp
@@ -28,39 +28,38 @@ class VariantRefBase : public VariantTag {
public:
// Sets the value to null.
// https://arduinojson.org/v7/api/jsonvariant/clear/
- FORCE_INLINE void clear() const {
+ void clear() const {
VariantData::setNull(getOrCreateData(), getResourceManager());
}
// Returns true if the value is null or the reference is unbound.
// https://arduinojson.org/v7/api/jsonvariant/isnull/
- FORCE_INLINE bool isNull() const {
+ bool isNull() const {
return VariantData::isNull(getData());
}
// Returns true if the reference is unbound.
- FORCE_INLINE bool isUnbound() const {
+ bool isUnbound() const {
return !getData();
}
// Casts the value to the specified type.
// https://arduinojson.org/v7/api/jsonvariant/as/
template
- FORCE_INLINE
- typename enable_if::value, T>::type
- as() const {
+
+ typename enable_if::value, T>::type as()
+ const {
return Converter::fromJson(getVariantConst());
}
// Casts the value to the specified type.
// https://arduinojson.org/v7/api/jsonvariant/as/
template
- FORCE_INLINE typename enable_if::value, T>::type
- as() const;
+ typename enable_if::value, T>::type as() const;
template ::value>::type>
- FORCE_INLINE operator T() const {
+ operator T() const {
return as();
}
@@ -91,33 +90,31 @@ class VariantRefBase : public VariantTag {
// Returns true if the value is of the specified type.
// https://arduinojson.org/v7/api/jsonvariant/is/
template
- FORCE_INLINE typename enable_if::value &&
- !is_same::value &&
- !is_same::value,
- bool>::type
- is() const {
+ FORCE_INLINE
+ typename enable_if::value, bool>::type
+ is() const {
return Converter::checkJson(getVariantConst());
}
// Copies the specified value.
// https://arduinojson.org/v7/api/jsonvariant/set/
template
- FORCE_INLINE bool set(const T& value) const;
+ bool set(const T& value) const;
// Copies the specified value.
// https://arduinojson.org/v7/api/jsonvariant/set/
template
- FORCE_INLINE bool set(T* value) const;
+ bool set(T* value) const;
// Returns the size of the array or object.
// https://arduinojson.org/v7/api/jsonvariant/size/
- FORCE_INLINE size_t size() const {
+ size_t size() const {
return VariantData::size(getData(), getResourceManager());
}
// Returns the depth (nesting level) of the value.
// https://arduinojson.org/v7/api/jsonvariant/nesting/
- FORCE_INLINE size_t nesting() const {
+ size_t nesting() const {
return VariantData::nesting(getData(), getResourceManager());
}
@@ -138,28 +135,27 @@ class VariantRefBase : public VariantTag {
// Appends a value to the array.
// https://arduinojson.org/v7/api/jsonvariant/add/
template
- FORCE_INLINE bool add(const T& value) const {
+ bool add(const T& value) const {
return add().set(value);
}
// Appends a value to the array.
// https://arduinojson.org/v7/api/jsonvariant/add/
template
- FORCE_INLINE bool add(T* value) const {
+ bool add(T* value) const {
return add().set(value);
}
// Removes an element of the array.
// https://arduinojson.org/v7/api/jsonvariant/remove/
- FORCE_INLINE void remove(size_t index) const {
+ void remove(size_t index) const {
VariantData::removeElement(getData(), index, getResourceManager());
}
// Removes a member of the object.
// https://arduinojson.org/v7/api/jsonvariant/remove/
template
- FORCE_INLINE typename enable_if::value>::type remove(
- TChar* key) const {
+ typename enable_if::value>::type remove(TChar* key) const {
VariantData::removeMember(getData(), adaptString(key),
getResourceManager());
}
@@ -167,7 +163,7 @@ class VariantRefBase : public VariantTag {
// Removes a member of the object.
// https://arduinojson.org/v7/api/jsonvariant/remove/
template
- FORCE_INLINE typename enable_if::value>::type remove(
+ typename enable_if::value>::type remove(
const TString& key) const {
VariantData::removeMember(getData(), adaptString(key),
getResourceManager());
@@ -175,19 +171,19 @@ class VariantRefBase : public VariantTag {
// Gets or sets an array element.
// https://arduinojson.org/v7/api/jsonvariant/subscript/
- FORCE_INLINE ElementProxy operator[](size_t index) const;
+ ElementProxy operator[](size_t index) const;
// Returns true if the object contains the specified key.
// https://arduinojson.org/v7/api/jsonvariant/containskey/
template
- FORCE_INLINE typename enable_if::value, bool>::type
- containsKey(const TString& key) const;
+ typename enable_if::value, bool>::type containsKey(
+ const TString& key) const;
// Returns true if the object contains the specified key.
// https://arduinojson.org/v7/api/jsonvariant/containskey/
template
- FORCE_INLINE typename enable_if::value, bool>::type
- containsKey(TChar* key) const;
+ typename enable_if::value, bool>::type containsKey(
+ TChar* key) const;
// Gets or sets an object member.
// https://arduinojson.org/v7/api/jsonvariant/subscript/
@@ -256,15 +252,15 @@ class VariantRefBase : public VariantTag {
return static_cast(*this);
}
- FORCE_INLINE ResourceManager* getResourceManager() const {
+ ResourceManager* getResourceManager() const {
return VariantAttorney::getResourceManager(derived());
}
- FORCE_INLINE VariantData* getData() const {
+ VariantData* getData() const {
return VariantAttorney::getData(derived());
}
- FORCE_INLINE VariantData* getOrCreateData() const {
+ VariantData* getOrCreateData() const {
return VariantAttorney::getOrCreateData(derived());
}
@@ -274,7 +270,7 @@ class VariantRefBase : public VariantTag {
return ArduinoJson::JsonVariantConst(getData(), getResourceManager());
}
- FORCE_INLINE ArduinoJson::JsonVariant getOrCreateVariant() const;
+ ArduinoJson::JsonVariant getOrCreateVariant() const;
};
ARDUINOJSON_END_PRIVATE_NAMESPACE
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantSlot.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantSlot.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/compatibility.hpp b/lib/ArduinoJson/src/ArduinoJson/compatibility.hpp
old mode 100644
new mode 100755
diff --git a/lib/ArduinoJson/src/ArduinoJson/version.hpp b/lib/ArduinoJson/src/ArduinoJson/version.hpp
old mode 100644
new mode 100755
index e41890e9f..dc1215a6d
--- a/lib/ArduinoJson/src/ArduinoJson/version.hpp
+++ b/lib/ArduinoJson/src/ArduinoJson/version.hpp
@@ -4,8 +4,8 @@
#pragma once
-#define ARDUINOJSON_VERSION "7.0.2"
+#define ARDUINOJSON_VERSION "7.0.3"
#define ARDUINOJSON_VERSION_MAJOR 7
#define ARDUINOJSON_VERSION_MINOR 0
-#define ARDUINOJSON_VERSION_REVISION 2
-#define ARDUINOJSON_VERSION_MACRO V702
+#define ARDUINOJSON_VERSION_REVISION 3
+#define ARDUINOJSON_VERSION_MACRO V703
diff --git a/lib/ArduinoJson/src/CMakeLists.txt b/lib/ArduinoJson/src/CMakeLists.txt
deleted file mode 100644
index cc782e702..000000000
--- a/lib/ArduinoJson/src/CMakeLists.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-# ArduinoJson - https://arduinojson.org
-# Copyright © 2014-2024, Benoit BLANCHON
-# MIT License
-
-# I have no idea what this is about, I simply followed the instructions from:
-# https://dominikberner.ch/cmake-interface-lib/
-
-add_library(ArduinoJson INTERFACE)
-
-include(GNUInstallDirs)
-
-# Adding the install interface generator expression makes sure that the include
-# files are installed to the proper location (provided by GNUInstallDirs)
-target_include_directories(ArduinoJson
- INTERFACE
- $
- $
-)
-
-target_compile_definitions(ArduinoJson
- INTERFACE
- ARDUINOJSON_DEBUG=$
-)
-
-# locations are provided by GNUInstallDirs
-install(
- TARGETS
- ArduinoJson
- EXPORT
- ArduinoJson_Targets
- ARCHIVE DESTINATION
- ${CMAKE_INSTALL_LIBDIR}
- LIBRARY DESTINATION
- ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION
- ${CMAKE_INSTALL_BINDIR}
-)
-
-include(CMakePackageConfigHelpers)
-
-if(${CMAKE_VERSION} VERSION_GREATER "3.14.0")
- set(ARCH_INDEPENDENT "ARCH_INDEPENDENT")
-endif()
-
-write_basic_package_version_file(
- "${PROJECT_BINARY_DIR}/ArduinoJsonConfigVersion.cmake"
- VERSION
- ${PROJECT_VERSION}
- COMPATIBILITY
- SameMajorVersion
- ${ARCH_INDEPENDENT}
-)
-
-configure_package_config_file(
- "${PROJECT_SOURCE_DIR}/extras/ArduinoJsonConfig.cmake.in"
- "${PROJECT_BINARY_DIR}/ArduinoJsonConfig.cmake"
- INSTALL_DESTINATION
- ${CMAKE_INSTALL_DATAROOTDIR}/ArduinoJson/cmake
-)
-
-install(
- EXPORT
- ArduinoJson_Targets
- FILE
- ArduinoJsonTargets.cmake
- DESTINATION
- ${CMAKE_INSTALL_DATAROOTDIR}/ArduinoJson/cmake
-)
-
-install(
- FILES
- "${PROJECT_BINARY_DIR}/ArduinoJsonConfig.cmake"
- "${PROJECT_BINARY_DIR}/ArduinoJsonConfigVersion.cmake"
- DESTINATION
- "${CMAKE_INSTALL_DATAROOTDIR}/ArduinoJson/cmake"
-)
-
-install(
- FILES
- ArduinoJson.h
- ArduinoJson.hpp
- DESTINATION
- include
-)
-
-install(
- DIRECTORY
- "${CMAKE_CURRENT_SOURCE_DIR}/ArduinoJson"
- DESTINATION
- include
-)