diff --git a/lib/ArduinoJson/ArduinoJson.h b/lib/ArduinoJson/ArduinoJson.h index 1606a3d6a..b5d887ab9 100644 --- a/lib/ArduinoJson/ArduinoJson.h +++ b/lib/ArduinoJson/ArduinoJson.h @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #include "src/ArduinoJson.h" diff --git a/lib/ArduinoJson/CHANGELOG.md b/lib/ArduinoJson/CHANGELOG.md index c819bb791..53c8f010e 100644 --- a/lib/ArduinoJson/CHANGELOG.md +++ b/lib/ArduinoJson/CHANGELOG.md @@ -1,6 +1,65 @@ ArduinoJson: change log ======================= +HEAD +---- + +* Removed support for `char` values, see below (issue #1498) +* `deserializeJson()` leaves `\uXXXX` unchanged instead of returning `NotSupported` +* `deserializeMsgPack()` inserts `null` instead of returning `NotSupported` +* Removed `DeserializationError::NotSupported` +* Added `JsonVariant::is()` (issue #1412) +* Added `JsonVariant::is()` (issue #1412) +* Changed `JsonVariantConst::is()` to return `false` (issue #1412) + +> ### BREAKING CHANGES +> +> We cannot cast a `JsonVariant` to a `char` anymore, so the following will break: +> ```c++ +> char age = doc["age"]; // error: no matching function for call to 'variantAs(VariantData*&)' +> ``` +> Instead, you must use another integral type, such as `int8_t`: +> ```c++ +> int8_t age = doc["age"]; // OK +> ``` +> +> Similarly, we cannot assign from a `char` anymore, so the following will break: +> ```c++ +> char age; +> doc["age"] = age; // error: no matching function for call to 'VariantRef::set(const char&)' +> ``` +> Instead, you must use another integral type, such as `int8_t`: +> ```c++ +> int8_t age; +> doc["age"] = age; // OK +> ``` +> +> On a different topic, `DeserializationError::NotSupported` has been removed. +> Instead of returning this error: +> +> * `deserializeJson()` leaves `\uXXXX` unchanged (only when `ARDUINOJSON_DECODE_UNICODE` is `0`) +> * `deserializeMsgPack()` replaces unsupported values with `null`s +> +> Lastly, a very minor change conserns `JsonVariantConst::is()`. +> It used to return `true` for `JsonArray` and `JsonOject`, but now it returns `false`. +> Instead, you must use `JsonArrayConst` and `JsonObjectConst`. + +v6.17.3 (2021-02-15) +------- + +* Made `JsonDocument`'s destructor protected (issue #1480) +* Added missing calls to `client.stop()` in `JsonHttpClient.ino` (issue #1485) +* Fixed error `expected ')' before 'char'` when `isdigit()` is a macro (issue #1487) +* Fixed error `definition of implicit copy constructor is deprecated` on Clang 10 +* PlatformIO: set framework compatibility to `*` (PR #1490 by @maxgerhardt) + +v6.17.2 (2020-11-14) +------- + +* Fixed invalid conversion error in `operator|(JsonVariant, char*)` (issue #1432) +* Changed the default value of `ARDUINOJSON_ENABLE_PROGMEM` (issue #1433). + It now checks that the `pgm_read_XXX` macros are defined before enabling `PROGMEM`. + v6.17.1 (2020-11-07) ------- diff --git a/lib/ArduinoJson/CONTRIBUTING.md b/lib/ArduinoJson/CONTRIBUTING.md deleted file mode 100644 index 5d4b96cf9..000000000 --- a/lib/ArduinoJson/CONTRIBUTING.md +++ /dev/null @@ -1,11 +0,0 @@ -# Contribution to ArduinoJson - -First, thank you for taking the time to contribute to this project. - -You can submit changes via GitHub Pull Requests. - -Please: - -1. Unit test every change in behavior -2. Use clang-format in "file" mode to format the code -3. Consider using the Continuous Integration (Travis and AppVeyor) diff --git a/lib/ArduinoJson/LICENSE.md b/lib/ArduinoJson/LICENSE.md index 90cb7e66e..901bbb1b7 100644 --- a/lib/ArduinoJson/LICENSE.md +++ b/lib/ArduinoJson/LICENSE.md @@ -1,7 +1,7 @@ The MIT License (MIT) --------------------- -Copyright © 2014-2020 Benoit BLANCHON +Copyright © 2014-2021 Benoit BLANCHON Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/lib/ArduinoJson/README.md b/lib/ArduinoJson/README.md index bbb852728..5b5206c7c 100644 --- a/lib/ArduinoJson/README.md +++ b/lib/ArduinoJson/README.md @@ -2,9 +2,9 @@ --- -[![arduino-library-badge](https://www.ardu-badge.com/badge/ArduinoJson.svg?version=6.17.1)](https://www.ardu-badge.com/ArduinoJson/6.17.1) -[![Build Status](https://ci.appveyor.com/api/projects/status/m7s53wav1l0abssg/branch/6.x?svg=true)](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/6.x) -[![Build Status](https://travis-ci.org/bblanchon/ArduinoJson.svg?branch=6.x)](https://travis-ci.org/bblanchon/ArduinoJson) +[![arduino-library-badge](https://www.ardu-badge.com/badge/ArduinoJson.svg?version=6.17.3)](https://www.ardu-badge.com/ArduinoJson/6.17.3) +[![Continuous Integration](https://github.com/bblanchon/ArduinoJson/workflows/Continuous%20Integration/badge.svg?branch=6.x)](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22+branch%3A6.x) +[![Continuous Integration](https://ci.appveyor.com/api/projects/status/m7s53wav1l0abssg/branch/6.x?svg=true)](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/6.x) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/arduinojson.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson) [![Coverage Status](https://coveralls.io/repos/github/bblanchon/ArduinoJson/badge.svg?branch=6.x)](https://coveralls.io/github/bblanchon/ArduinoJson?branch=6.x) [![GitHub stars](https://img.shields.io/github/stars/bblanchon/ArduinoJson?style=flat)](https://github.com/bblanchon/ArduinoJson/stargazers) @@ -19,7 +19,7 @@ ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). * [Optionally supports comments in the input](https://arduinojson.org/v6/api/config/enable_comments/?utm_source=github&utm_medium=readme) * [Optionally filters the input to keep only desired values](https://arduinojson.org/v6/api/json/deserializejson/?utm_source=github&utm_medium=readme#filtering) * Supports single quotes as a string delimiter - * Compatible with NDJSON and JSON Lines + * Compatible with [NDJSON](http://ndjson.org/) and [JSON Lines](https://jsonlines.org/) * [JSON serialization](https://arduinojson.org/v6/api/json/serializejson/?utm_source=github&utm_medium=readme) * [Can write to a buffer or a stream](https://arduinojson.org/v6/api/json/serializejson/?utm_source=github&utm_medium=readme) * [Optionally indents the document (prettified JSON)](https://arduinojson.org/v6/api/json/serializejsonpretty/?utm_source=github&utm_medium=readme) @@ -58,11 +58,12 @@ ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). * [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/t7KP7I6dVuLhqzDl) + * [Even works with online compilers like wandbox.org](https://wandbox.org/permlink/RlZSKy17DjJ6HcdN) * [CMake friendly](https://arduinojson.org/v6/how-to/use-arduinojson-with-cmake/?utm_source=github&utm_medium=readme) * Well designed * [Elegant API](http://arduinojson.org/v6/example/?utm_source=github&utm_medium=readme) @@ -76,8 +77,8 @@ ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). * [Unit test coverage close to 100%](https://coveralls.io/github/bblanchon/ArduinoJson?branch=6.x) * Continuously tested on * [Visual Studio 2010, 2012, 2013, 2015, 2017, 2019](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/6.x) - * [GCC 4.4, 4.6, 4.7, 4.8, 4.9, 5, 6, 7, 8](https://travis-ci.org/bblanchon/ArduinoJson) - * [Clang 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 6.0, 7, 8](https://travis-ci.org/bblanchon/ArduinoJson) + * [GCC 4.4, 4.6, 4.7, 4.8, 4.9, 5, 6, 7, 8, 9, 10](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22) + * [Clang 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 6.0, 7, 8, 9, 10](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) * Well documented * [Tutorials](https://arduinojson.org/v6/doc/deserialization/?utm_source=github&utm_medium=readme) @@ -85,6 +86,7 @@ ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). * [How-tos](https://arduinojson.org/v6/example/?utm_source=github&utm_medium=readme) * [FAQ](https://arduinojson.org/v6/faq/?utm_source=github&utm_medium=readme) * [Book](https://arduinojson.org/book/?utm_source=github&utm_medium=readme) + * [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) and [PlatformIO](https://platformio.org/lib/search) * [Used in hundreds of projects](https://www.hackster.io/search?i=projects&q=arduinojson) diff --git a/lib/ArduinoJson/src/ArduinoJson.h b/lib/ArduinoJson/src/ArduinoJson.h index e5aac0fed..e6e2b2425 100644 --- a/lib/ArduinoJson/src/ArduinoJson.h +++ b/lib/ArduinoJson/src/ArduinoJson.h @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson.hpp b/lib/ArduinoJson/src/ArduinoJson.hpp index a5da7a2e1..52b4f3be9 100644 --- a/lib/ArduinoJson/src/ArduinoJson.hpp +++ b/lib/ArduinoJson/src/ArduinoJson.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayFunctions.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayFunctions.hpp index 517d0b89e..219be6a74 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayFunctions.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayFunctions.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp index 21fe43bca..e4e41978c 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayIterator.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayIterator.hpp index cb158d2b0..b465aa489 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayIterator.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayIterator.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayRef.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayRef.hpp index 2e8e7bfda..b92107c18 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayRef.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayRef.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayShortcuts.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayShortcuts.hpp index 6f1021cd2..e39043aa1 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Array/ArrayShortcuts.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Array/ArrayShortcuts.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp index 41166b6ae..6e19d01c2 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp b/lib/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp index cd84eb808..6deba8fe3 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp @@ -1,11 +1,12 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once #include #include +#include namespace ARDUINOJSON_NAMESPACE { @@ -81,38 +82,6 @@ class ArrayCopier1D : public Visitor { return size; } - size_t visitObject(const CollectionData&) { - return 0; - } - - size_t visitFloat(Float) { - return 0; - } - - size_t visitString(const char*) { - return 0; - } - - size_t visitRawJson(const char*, size_t) { - return 0; - } - - size_t visitNegativeInteger(UInt) { - return 0; - } - - size_t visitPositiveInteger(UInt) { - return 0; - } - - size_t visitBoolean(bool) { - return 0; - } - - size_t visitNull() { - return 0; - } - private: T* _destination; size_t _capacity; @@ -132,14 +101,6 @@ class ArrayCopier2D : public Visitor { slot = slot->next(); } } - void visitObject(const CollectionData&) {} - void visitFloat(Float) {} - void visitString(const char*) {} - void visitRawJson(const char*, size_t) {} - void visitNegativeInteger(UInt) {} - void visitPositiveInteger(UInt) {} - void visitBoolean(bool) {} - void visitNull() {} private: T (*_destination)[N1][N2]; diff --git a/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp b/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp index 13fb78b24..630c2d48e 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp index 349754422..51d167790 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Configuration.hpp b/lib/ArduinoJson/src/ArduinoJson/Configuration.hpp index 32a6f339b..3c517369b 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Configuration.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Configuration.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -172,7 +172,8 @@ #endif // ARDUINO #ifndef ARDUINOJSON_ENABLE_PROGMEM -#ifdef PROGMEM +#if defined(PROGMEM) && defined(pgm_read_byte) && defined(pgm_read_dword) && \ + defined(pgm_read_ptr) && defined(pgm_read_float) #define ARDUINOJSON_ENABLE_PROGMEM 1 #else #define ARDUINOJSON_ENABLE_PROGMEM 0 diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp index e8902f09c..de6b7dedf 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -26,7 +26,6 @@ class DeserializationError { IncompleteInput, InvalidInput, NoMemory, - NotSupported, TooDeep }; @@ -81,8 +80,8 @@ class DeserializationError { const char* c_str() const { static const char* messages[] = { - "Ok", "EmptyInput", "IncompleteInput", "InvalidInput", - "NoMemory", "NotSupported", "TooDeep"}; + "Ok", "EmptyInput", "IncompleteInput", + "InvalidInput", "NoMemory", "TooDeep"}; ARDUINOJSON_ASSERT(static_cast(_code) < sizeof(messages) / sizeof(messages[0])); return messages[_code]; @@ -95,11 +94,9 @@ class DeserializationError { ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s2, "IncompleteInput"); ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s3, "InvalidInput"); ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s4, "NoMemory"); - ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s5, "NotSupported"); - ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s6, "TooDeep"); + ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s5, "TooDeep"); ARDUINOJSON_DEFINE_STATIC_ARRAY( - const char*, messages, - ARDUINOJSON_EXPAND7({s0, s1, s2, s3, s4, s5, s6})); + const char*, messages, ARDUINOJSON_EXPAND6({s0, s1, s2, s3, s4, s5})); return ARDUINOJSON_READ_STATIC_ARRAY(const __FlashStringHelper*, messages, _code); } diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp index 63e06a563..9f50f6e12 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -17,11 +17,11 @@ class Filter { } bool allowArray() const { - return _variant == true || _variant.is(); + return _variant == true || _variant.is(); } bool allowObject() const { - return _variant == true || _variant.is(); + return _variant == true || _variant.is(); } bool allowValue() const { diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp index 8f33b6c7d..88223efdd 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp index da9a9f24b..77ca27430 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp index 6c46d5d85..f72ad5fa2 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp index 5b6bcd2eb..b76ce8c71 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp index 36b7fde6d..0d41f7dd0 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp index 2f07c3442..47cfb9250 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp index 5f238a1df..8f577a000 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp index 1e7f83fd4..44ccdddc8 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp index b06bd4a0a..f9c8fb19b 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp b/lib/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp index 7b15e2dac..045fbcbd8 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Document/BasicJsonDocument.hpp b/lib/ArduinoJson/src/ArduinoJson/Document/BasicJsonDocument.hpp index ebebf47c6..4ab738973 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Document/BasicJsonDocument.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Document/BasicJsonDocument.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Document/DynamicJsonDocument.hpp b/lib/ArduinoJson/src/ArduinoJson/Document/DynamicJsonDocument.hpp index 1e94e1db5..d6c328fd3 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Document/DynamicJsonDocument.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Document/DynamicJsonDocument.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp b/lib/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp index 13cb49110..6ac1ea2d3 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -35,6 +35,11 @@ class JsonDocument : public Visitable { _data.setNull(); } + template + bool is() { + return getVariant().template is(); + } + template bool is() const { return getVariant().template is(); @@ -310,6 +315,8 @@ class JsonDocument : public Visitable { _data.setNull(); } + ~JsonDocument() {} + void replacePool(MemoryPool pool) { _pool = pool; } diff --git a/lib/ArduinoJson/src/ArduinoJson/Document/StaticJsonDocument.hpp b/lib/ArduinoJson/src/ArduinoJson/Document/StaticJsonDocument.hpp index 02e6e1191..be204b550 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Document/StaticJsonDocument.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Document/StaticJsonDocument.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp index d3925e705..7e35bd11b 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp index a4de0f8ea..c20cf4ca8 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -42,8 +42,6 @@ class JsonDeserializer { } private: - JsonDeserializer &operator=(const JsonDeserializer &); // non-copiable - char current() { return _latch.current(); } @@ -386,11 +384,10 @@ class JsonDeserializer { return false; if (codepoint.append(codeunit)) Utf8::encodeCodepoint(codepoint.value(), _stringStorage); - continue; #else - _error = DeserializationError::NotSupported; - return false; + _stringStorage.append('\\'); #endif + continue; } // replace char diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp index 0baf3c528..a3fe4e24e 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/Latch.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/Latch.hpp index 030e93f2b..a5d042766 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Json/Latch.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp index b53b920c0..3b1b919dc 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp index eceef9e06..114e45563 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp index 67fb5baec..ae10d4d23 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp b/lib/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp index d9e269a32..4f4bc63e6 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp index f6868d157..9d91e83e9 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp b/lib/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp index 135d8ee53..60459eb48 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp b/lib/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp index aa9121bc1..97408ee0a 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Misc/Visitable.hpp b/lib/ArduinoJson/src/ArduinoJson/Misc/Visitable.hpp index 65e2d8e6f..8dba09a66 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Misc/Visitable.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Misc/Visitable.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -8,11 +8,6 @@ namespace ARDUINOJSON_NAMESPACE { -template -struct Visitor { - typedef TResult result_type; -}; - struct Visitable { // template // void accept(Visitor&) const; @@ -22,5 +17,5 @@ template struct IsVisitable : is_base_of {}; template -struct IsVisitable : IsVisitable {}; +struct IsVisitable : IsVisitable {}; } // namespace ARDUINOJSON_NAMESPACE diff --git a/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp b/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp index 8d9d63d35..34ce91b1c 100644 --- a/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -40,15 +40,10 @@ class MsgPackDeserializer { return false; } - bool notSupported() { - _error = DeserializationError::NotSupported; - return false; - } - template bool parseVariant(VariantData &variant, TFilter filter, NestingLimit nestingLimit) { - uint8_t code = 0; + uint8_t code = 0; // TODO: why do we need to initialize this variable? if (!readByte(code)) return false; @@ -74,41 +69,23 @@ class MsgPackDeserializer { variant.setBoolean(true); return true; - case 0xc4: // bin 8 - if (allowValue) - return notSupported(); - else - return skipString(); + case 0xc4: // bin 8 (not supported) + return skipString(); - case 0xc5: // bin 16 - if (allowValue) - return notSupported(); - else - return skipString(); + case 0xc5: // bin 16 (not supported) + return skipString(); - case 0xc6: // bin 32 - if (allowValue) - return notSupported(); - else - return skipString(); + case 0xc6: // bin 32 (not supported) + return skipString(); - case 0xc7: // ext 8 - if (allowValue) - return notSupported(); - else - return skipExt(); + case 0xc7: // ext 8 (not supported) + return skipExt(); - case 0xc8: // ext 16 - if (allowValue) - return notSupported(); - else - return skipExt(); + case 0xc8: // ext 16 (not supported) + return skipExt(); - case 0xc9: // ext 32 - if (allowValue) - return notSupported(); - else - return skipExt(); + case 0xc9: // ext 32 (not supported) + return skipExt(); case 0xca: if (allowValue) @@ -141,14 +118,14 @@ class MsgPackDeserializer { return skipBytes(4); case 0xcf: - if (allowValue) #if ARDUINOJSON_USE_LONG_LONG + if (allowValue) return readInteger(variant); -#else - return notSupported(); -#endif else return skipBytes(8); +#else + return skipBytes(8); // not supported +#endif case 0xd0: if (allowValue) @@ -169,44 +146,29 @@ class MsgPackDeserializer { return skipBytes(4); case 0xd3: - if (allowValue) #if ARDUINOJSON_USE_LONG_LONG + if (allowValue) return readInteger(variant); + else + return skipBytes(8); // not supported #else - return notSupported(); + return skipBytes(8); #endif - else - return skipBytes(8); - case 0xd4: // fixext 1 - if (allowValue) - return notSupported(); - else - return skipBytes(2); + case 0xd4: // fixext 1 (not supported) + return skipBytes(2); - case 0xd5: // fixext 2 - if (allowValue) - return notSupported(); - else - return skipBytes(3); + case 0xd5: // fixext 2 (not supported) + return skipBytes(3); - case 0xd6: // fixext 4 - if (allowValue) - return notSupported(); - else - return skipBytes(5); + case 0xd6: // fixext 4 (not supported) + return skipBytes(5); - case 0xd7: // fixext 8 - if (allowValue) - return notSupported(); - else - return skipBytes(9); + case 0xd7: // fixext 8 (not supported) + return skipBytes(9); - case 0xd8: // fixext 16 - if (allowValue) - return notSupported(); - else - return skipBytes(17); + case 0xd8: // fixext 16 (not supported) + return skipBytes(17); case 0xd9: if (allowValue) @@ -508,7 +470,7 @@ class MsgPackDeserializer { return readString(); default: - return notSupported(); + return invalidInput(); } } diff --git a/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp b/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp index e1086367a..bb9d05bb2 100644 --- a/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/MsgPack/endianess.hpp b/lib/ArduinoJson/src/ArduinoJson/MsgPack/endianess.hpp index 06c72355d..ff1bf8ed9 100644 --- a/lib/ArduinoJson/src/ArduinoJson/MsgPack/endianess.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/MsgPack/endianess.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp b/lib/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp index 0a590f1a4..19ead87e4 100644 --- a/lib/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Namespace.hpp b/lib/ArduinoJson/src/ArduinoJson/Namespace.hpp index 085ac2739..88b67dd42 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Namespace.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Namespace.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/Float.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/Float.hpp index b4b709d40..de5884ef3 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Numbers/Float.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Numbers/Float.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp index 1d97f7c63..7bdfe9f37 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp index 78bf617ca..4286af016 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/Integer.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/Integer.hpp index bca137cfa..d5e3a15f4 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Numbers/Integer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Numbers/Integer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp index df30d1723..caf6e3361 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp index d38f109c0..fad7c6d71 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp b/lib/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp index 2bd18227f..eb3ce579c 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp index 1963deaea..c3cd9d514 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -46,6 +46,20 @@ class MemberProxy : public VariantOperators >, template FORCE_INLINE typename enable_if::value, this_type &>::type operator=(const TValue &src) { + /******************************************************************** + ** THIS IS NOT A BUG IN THE LIBRARY ** + ** -------------------------------- ** + ** Get a compilation error pointing here? ** + ** It doesn't mean the error *is* here. ** + ** Often, it's because you try to assign the wrong value type. ** + ** ** + ** For example: ** + ** char age = 42 ** + ** doc["age"] = age; ** + ** Instead, use: ** + ** int8_t age = 42; ** + ** doc["age"] = age; ** + ********************************************************************/ getOrAddUpstreamMember().set(src); return *this; } diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectFunctions.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectFunctions.hpp index 1c7d5f3e6..b784c86e6 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectFunctions.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectFunctions.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp index 9d3972f54..97c6e8ce0 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -54,7 +54,7 @@ template template inline typename enable_if::value, MemberProxy >::type - ObjectShortcuts::operator[](TString* key) const { +ObjectShortcuts::operator[](TString* key) const { return MemberProxy(*impl(), key); } @@ -62,7 +62,7 @@ template template inline typename enable_if::value, MemberProxy >::type - ObjectShortcuts::operator[](const TString& key) const { +ObjectShortcuts::operator[](const TString& key) const { return MemberProxy(*impl(), key); } diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectIterator.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectIterator.hpp index ca5519c9a..6f70c5d9f 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectIterator.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectIterator.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectRef.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectRef.hpp index e57e088e1..618f1ecdb 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectRef.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectRef.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectShortcuts.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectShortcuts.hpp index d400cb746..579adc746 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Object/ObjectShortcuts.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Object/ObjectShortcuts.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Object/Pair.hpp b/lib/ArduinoJson/src/ArduinoJson/Object/Pair.hpp index 6b28ca314..213426c6a 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Object/Pair.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Object/Pair.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp index a8c890c44..b7a040ee1 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp index 33e73cf91..5fa2b4598 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp index f872efa26..66fd688f2 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp index f35ecbfc3..fd3683d6a 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -8,9 +8,11 @@ namespace ARDUINOJSON_NAMESPACE { +#ifndef isdigit inline bool isdigit(char c) { return '0' <= c && c <= '9'; } +#endif inline bool issign(char c) { return '-' == c || c == '+'; diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp index 8dfebb092..2d9985ded 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp index 53b449f47..65cd79ffc 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp index 7addb1475..635200c32 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp index 4d7583e86..21484cd51 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp index 0cdc5cb72..d0333aaa0 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp index c6c1847e6..39c3755c0 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp index 4df13d8bc..a3370c14c 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp @@ -1,11 +1,10 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once #define ARDUINOJSON_EXPAND6(a, b, c, d, e, f) a, b, c, d, e, f -#define ARDUINOJSON_EXPAND7(a, b, c, d, e, f, g) a, b, c, d, e, f, g #define ARDUINOJSON_EXPAND9(a, b, c, d, e, f, g, h, i) a, b, c, d, e, f, g, h, i #define ARDUINOJSON_EXPAND18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, \ q, r) \ diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/safe_strcmp.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/safe_strcmp.hpp index 1ae8f5523..dcb175ba6 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/safe_strcmp.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/safe_strcmp.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/static_array.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/static_array.hpp index c642b2705..eac4d9472 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/static_array.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/static_array.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp index 43dc4e01c..6d6ffb675 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp index 06ccec91b..3ae1d2838 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp index 2e2e034f6..541cae46e 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp index 5320a29ff..4e1f0a7c4 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp index e2da58b39..98a8a44b3 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp index 001654112..eb6148a80 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once 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 index 4e12b0fdf..2af9a6282 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp index d2f2e85e6..05bceeebd 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp index 1196ba8ad..a49b0b61a 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp index 61cd7caac..7f2724320 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -12,10 +12,12 @@ #pragma warning(disable : 4244) #endif +// clang-format off #ifdef __ICCARM__ // Suppress IAR Compiler Warning[Pa093]: implicit conversion from floating point to integer #pragma diag_suppress=Pa093 #endif +// clang-format on namespace ARDUINOJSON_NAMESPACE { @@ -38,6 +40,8 @@ struct is_convertible { #pragma warning(pop) #endif +// clang-format off #ifdef __ICCARM__ #pragma diag_default=Pa093 #endif +// clang-format on diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp index ed33a6cd8..973d937b2 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once 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 index acc848cbc..d2a26c8ad 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp index 9c6f0976e..61ef33120 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp index 92ba098aa..39d286978 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp index d36bd23fa..374f9e56c 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp index dec435c77..08b27e654 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp index 7efbe75b7..8a24e592b 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp index 36af629b1..97c7bcc5f 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp index 4159ae614..9adae4a3f 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp index 371f04d1a..7098d322d 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp index a82ed91f4..d1b6052c1 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp b/lib/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp index be7363500..363e1ae45 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp index 140ada713..bd4432c18 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp index a32af97a3..cbbc5ca73 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp index 801cb86cc..ba0adfb5d 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp index cfe13706b..d8561de96 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp index b25cbaca8..d702bd894 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp index 3440be658..e36779335 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp index a77552807..d0d534289 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp index 03026a5ad..eb56b2b32 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp index 00f790776..7b656f650 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp b/lib/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp index f4d0ecc9c..73a720e2e 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringCopier.hpp b/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringCopier.hpp index 3c5f8e317..984003086 100644 --- a/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringCopier.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringCopier.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringMover.hpp b/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringMover.hpp index e2b24fb51..2c3e6be0c 100644 --- a/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringMover.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringMover.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringStorage.hpp b/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringStorage.hpp index ad71d1253..5e884cb49 100644 --- a/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringStorage.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/StringStorage/StringStorage.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/ArduinoStringAdapter.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/ArduinoStringAdapter.hpp index aac88726a..81dd59b5d 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/ArduinoStringAdapter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/ArduinoStringAdapter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/ConstRamStringAdapter.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/ConstRamStringAdapter.hpp index 2d27e8646..dab8f792a 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/ConstRamStringAdapter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/ConstRamStringAdapter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/FlashStringAdapter.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/FlashStringAdapter.hpp index 2d6f95fc8..767984203 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/FlashStringAdapter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/FlashStringAdapter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/FlashStringIterator.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/FlashStringIterator.hpp index 299405fbf..b7f020ae7 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/FlashStringIterator.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/FlashStringIterator.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp index 18cbea851..09ac5a749 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/IsWriteableString.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/IsWriteableString.hpp index fc52c5230..be043f292 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/IsWriteableString.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/IsWriteableString.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/RamStringAdapter.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/RamStringAdapter.hpp index 572095e10..1e93ce457 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/RamStringAdapter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/RamStringAdapter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/SizedFlashStringAdapter.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/SizedFlashStringAdapter.hpp index da3cc7260..468c9844a 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/SizedFlashStringAdapter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/SizedFlashStringAdapter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/SizedRamStringAdapter.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/SizedRamStringAdapter.hpp index 54eda2326..7930dabfb 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/SizedRamStringAdapter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/SizedRamStringAdapter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/StdStringAdapter.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/StdStringAdapter.hpp index 21862ed7d..f00aab256 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/StdStringAdapter.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/StdStringAdapter.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/StoragePolicy.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/StoragePolicy.hpp index 92dee5f78..b35b4f3d8 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/StoragePolicy.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/StoragePolicy.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/String.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/String.hpp index 641e6ca3d..ee0d5a191 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/String.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/String.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp b/lib/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp index 986f30523..aa6e059f7 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/SlotFunctions.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/SlotFunctions.hpp index 1213e5861..3d8c77465 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/SlotFunctions.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/SlotFunctions.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAs.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAs.hpp index 9e046befa..f011cbd1e 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAs.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAs.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -53,7 +53,8 @@ struct VariantConstAs { // --- template -inline typename enable_if::value && !is_same::value, +inline typename enable_if::value && !is_same::value && + !is_same::value, T>::type variantAs(const VariantData* data) { ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T); diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAsImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAsImpl.hpp index 2cc5780ed..702d6cd76 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAsImpl.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantAsImpl.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp index eef0e8dd0..2d5f6b9b0 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -9,40 +9,13 @@ #include #include #include +#include namespace ARDUINOJSON_NAMESPACE { class CollectionData; -struct ComparerBase : Visitor { - CompareResult visitArray(const CollectionData &) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitBoolean(bool) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitFloat(Float) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitNegativeInteger(UInt) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitNull() { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitObject(const CollectionData &) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitPositiveInteger(UInt) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitRawJson(const char *, size_t) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitString(const char *) { - return COMPARE_RESULT_DIFFER; - } -}; +struct ComparerBase : Visitor {}; template struct Comparer; diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp index 385386723..0fa77545d 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp index 86486a7e3..5ffd2d13d 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantFunctions.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantFunctions.hpp index 55a829a54..eba84ade0 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantFunctions.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantFunctions.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -43,35 +43,6 @@ inline bool variantCopyFrom(VariantData *dst, const VariantData *src, inline int variantCompare(const VariantData *a, const VariantData *b); -inline bool variantIsArray(const VariantData *var) { - return var && var->isArray(); -} - -inline bool variantIsBoolean(const VariantData *var) { - return var && var->isBoolean(); -} - -template -inline bool variantIsInteger(const VariantData *var) { - return var && var->isInteger(); -} - -inline bool variantIsFloat(const VariantData *var) { - return var && var->isFloat(); -} - -inline bool variantIsString(const VariantData *var) { - return var && var->isString(); -} - -inline bool variantIsObject(const VariantData *var) { - return var && var->isObject(); -} - -inline bool variantIsNull(const VariantData *var) { - return var == 0 || var->isNull(); -} - inline bool variantSetBoolean(VariantData *var, bool value) { if (!var) return false; diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp index f773c244f..2d02bc4b3 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantIs.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantIs.hpp new file mode 100644 index 000000000..09736fc79 --- /dev/null +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantIs.hpp @@ -0,0 +1,146 @@ +// ArduinoJson - arduinojson.org +// Copyright Benoit Blanchon 2014-2021 +// MIT License + +#pragma once + +#include +#include + +namespace ARDUINOJSON_NAMESPACE { + +inline bool variantIsNull(const VariantData *var) { + return var == 0 || var->isNull(); +} + +// bool is() const; +// bool is() const; +// bool is() const; +// bool is() const; +// bool is() const; +// bool is() const; +// bool is() const; +// bool is() const; +// bool is() const; +template +NO_INLINE typename enable_if::value && !is_same::value, + bool>::type +variantIs(const VariantData *var) { + return var && var->isInteger(); +} + +// bool is() const; +// bool is() const; +template +NO_INLINE typename enable_if::value, bool>::type variantIs( + const VariantData *var) { + return var && var->isFloat(); +} + +// bool is() const +template +NO_INLINE typename enable_if::value, bool>::type variantIs( + const VariantData *var) { + return var && var->isBoolean(); +} + +// bool is() const; +// bool is() const; +// bool is() const; +// bool is() const; +template +NO_INLINE typename enable_if::value || + is_same::value || + IsWriteableString::value, + bool>::type +variantIs(const VariantData *var) { + return var && var->isString(); +} + +// bool is const; +// bool is const; +template +NO_INLINE typename enable_if< + is_same::type, ArrayConstRef>::value, bool>::type +variantIs(const VariantData *var) { + return var && var->isArray(); +} + +// bool is const; +// bool is const; +template +NO_INLINE typename enable_if< + is_same::type, ObjectConstRef>::value, bool>::type +variantIs(const VariantData *var) { + return var && var->isObject(); +} + +// bool is const; +// bool is const; +template +NO_INLINE typename enable_if< + is_same::type, VariantConstRef>::value, bool>::type +variantIs(const VariantData *var) { + return !!var; +} +#if ARDUINOJSON_HAS_NULLPTR + +// bool is const; +template +NO_INLINE typename enable_if::value, bool>::type +variantIs(const VariantData *var) { + return variantIsNull(var); +} +#endif +// bool is() const; +template +typename enable_if::value, bool>::type variantIs( + const VariantData *var) { + return variantIs(var); +} + +// bool is const; +// bool is const; +template +NO_INLINE + typename enable_if::type, ArrayRef>::value, + bool>::type + variantIs(VariantData *var) { + return var && var->isArray(); +} + +// bool is const; +// bool is const; +template +NO_INLINE typename enable_if< + is_same::type, ObjectRef>::value, bool>::type +variantIs(VariantData *var) { + return var && var->isObject(); +} + +// bool is const; +// bool is const; +template +NO_INLINE typename enable_if< + is_same::type, VariantRef>::value, bool>::type +variantIs(VariantData *var) { + return !!var; +} + +// bool is const; +// bool is const; +// bool is const; +// bool is const; +// bool is const; +// bool is const; +template +typename enable_if< + is_same::type, ArrayRef>::value || + is_same::type, ObjectRef>::value || + is_same::type, VariantRef>::value, + bool>::type +variantIs(const VariantData *) { + return false; +} + +} // namespace ARDUINOJSON_NAMESPACE diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp index df4e9df28..87ede5856 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -19,15 +19,23 @@ CompareResult compare(const T1 &lhs, const T2 &rhs); // VariantCompare.cpp template struct VariantOperators { // Returns the default value if the VariantRef is undefined or incompatible + // + // int operator|(JsonVariant, int) + // float operator|(JsonVariant, float) + // bool operator|(JsonVariant, bool) + // const char* operator|(JsonVariant, const char*) + // char* operator|(JsonVariant, const char*) template - friend typename enable_if::value, T>::type operator|( - const TVariant &variant, T defaultValue) { + friend typename enable_if::value, + typename VariantAs::type>::type + operator|(const TVariant &variant, T defaultValue) { if (variant.template is()) return variant.template as(); else return defaultValue; } - // Returns the default value if the VariantRef is undefined or incompatible + // + // JsonVariant operator|(JsonVariant, JsonVariant) template friend typename enable_if::value, typename T::variant_type>::type operator|(const TVariant &variant, T defaultValue) { diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRef.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRef.hpp index a8b9067a6..14ed4d10b 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRef.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantRef.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -28,85 +29,9 @@ class ObjectRef; template class VariantRefBase : public VariantTag { public: - // Tells wether the variant has the specified type. - // Returns true if the variant has type type T, false otherwise. - // - // bool is() const; - // bool is() const; - // bool is() const; - // bool is() const; - // bool is() const; - // bool is() const; - // bool is() const; - // bool is() const; - // bool is() const; template - FORCE_INLINE - typename enable_if::value && !is_same::value, - bool>::type - is() const { - return variantIsInteger(_data); - } - // - // bool is() const; - // bool is() const; - template - FORCE_INLINE typename enable_if::value, bool>::type is() - const { - return variantIsFloat(_data); - } - // - // bool is() const - template - FORCE_INLINE typename enable_if::value, bool>::type is() - const { - return variantIsBoolean(_data); - } - // - // bool is() const; - // bool is() const; - // bool is() const; - // bool is() const; - template - FORCE_INLINE typename enable_if::value || - is_same::value || - IsWriteableString::value, - bool>::type - is() const { - return variantIsString(_data); - } - // - // bool is const; - // bool is const; - template - FORCE_INLINE typename enable_if< - is_same::type, ArrayRef>::value, bool>::type - is() const { - return variantIsArray(_data); - } - // - // bool is const; - // bool is const; - template - FORCE_INLINE typename enable_if< - is_same::type, ObjectRef>::value, bool>::type - is() const { - return variantIsObject(_data); - } -#if ARDUINOJSON_HAS_NULLPTR - // - // bool is const; - template - FORCE_INLINE - typename enable_if::value, bool>::type - is() const { - return variantIsNull(_data); - } -#endif - // bool is() const; - template - FORCE_INLINE typename enable_if::value, bool>::type is() const { - return variantIsInteger(_data); + FORCE_INLINE bool is() const { + return variantIs(_data); } FORCE_INLINE bool isNull() const { @@ -186,8 +111,9 @@ class VariantRef : public VariantRefBase, // set(unsigned long) template FORCE_INLINE bool set( - T value, typename enable_if::value && - !is_same::value>::type * = 0) const { + T value, + typename enable_if::value && !is_same::value && + !is_same::value>::type * = 0) const { return variantSetInteger(_data, value); } @@ -251,6 +177,20 @@ class VariantRef : public VariantRefBase, template FORCE_INLINE typename VariantAs::type as() const { + /******************************************************************** + ** THIS IS NOT A BUG IN THE LIBRARY ** + ** -------------------------------- ** + ** Get a compilation error pointing here? ** + ** It doesn't mean the error *is* here. ** + ** Often, it's because you try to extract the wrong value type. ** + ** ** + ** For example: ** + ** char* name = doc["name"]; ** + ** char age = doc["age"]; ** + ** Instead, use: ** + ** const char* name = doc["name"]; ** + ** int8_t age = doc["age"]; ** + ********************************************************************/ return variantAs::type>(_data, _pool); } diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantShortcuts.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantShortcuts.hpp index 70eec167f..f407e15bf 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantShortcuts.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantShortcuts.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantSlot.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantSlot.hpp index 38494f3b0..c30a5a3c7 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantSlot.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantSlot.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp index e9a08aecd..8ac01262a 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp index ce54b5093..c48118d61 100644 --- a/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once diff --git a/lib/ArduinoJson/src/ArduinoJson/Variant/Visitor.hpp b/lib/ArduinoJson/src/ArduinoJson/Variant/Visitor.hpp new file mode 100644 index 000000000..aca53e0cb --- /dev/null +++ b/lib/ArduinoJson/src/ArduinoJson/Variant/Visitor.hpp @@ -0,0 +1,54 @@ +// ArduinoJson - arduinojson.org +// Copyright Benoit Blanchon 2014-2021 +// MIT License + +#pragma once + +#include +#include +#include + +namespace ARDUINOJSON_NAMESPACE { + +template +struct Visitor { + typedef TResult result_type; + + TResult visitArray(const CollectionData &) { + return TResult(); + } + + TResult visitBoolean(bool) { + return TResult(); + } + + TResult visitFloat(Float) { + return TResult(); + } + + TResult visitNegativeInteger(UInt) { + return TResult(); + } + + TResult visitNull() { + return TResult(); + } + + TResult visitObject(const CollectionData &) { + return TResult(); + } + + TResult visitPositiveInteger(UInt) { + return TResult(); + } + + TResult visitRawJson(const char *, size_t) { + return TResult(); + } + + TResult visitString(const char *) { + return TResult(); + } +}; + +} // namespace ARDUINOJSON_NAMESPACE diff --git a/lib/ArduinoJson/src/ArduinoJson/compatibility.hpp b/lib/ArduinoJson/src/ArduinoJson/compatibility.hpp index eadaca901..e29799d2d 100644 --- a/lib/ArduinoJson/src/ArduinoJson/compatibility.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/compatibility.hpp @@ -1,5 +1,5 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License // // clang-format off diff --git a/lib/ArduinoJson/src/ArduinoJson/version.hpp b/lib/ArduinoJson/src/ArduinoJson/version.hpp index cd57a4dae..f82b7f815 100644 --- a/lib/ArduinoJson/src/ArduinoJson/version.hpp +++ b/lib/ArduinoJson/src/ArduinoJson/version.hpp @@ -1,10 +1,10 @@ // ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2020 +// Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once -#define ARDUINOJSON_VERSION "6.17.1" +#define ARDUINOJSON_VERSION "6.17.3" #define ARDUINOJSON_VERSION_MAJOR 6 #define ARDUINOJSON_VERSION_MINOR 17 -#define ARDUINOJSON_VERSION_REVISION 1 +#define ARDUINOJSON_VERSION_REVISION 3 diff --git a/lib/ArduinoJson/src/CMakeLists.txt b/lib/ArduinoJson/src/CMakeLists.txt new file mode 100644 index 000000000..6cc184170 --- /dev/null +++ b/lib/ArduinoJson/src/CMakeLists.txt @@ -0,0 +1,90 @@ +# ArduinoJson - arduinojson.org +# Copyright Benoit Blanchon 2014-2021 +# 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 +)