From 3170558d6d9c16cbbf5febdfae3d9c2e03381f50 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Wed, 27 Feb 2019 15:57:38 +0100 Subject: [PATCH] Added a clear error message for `StaticJsonBuffer` and `DynamicJsonBuffer` --- CHANGELOG.md | 5 +++++ src/ArduinoJson.hpp | 2 ++ src/ArduinoJson/compatibility.hpp | 23 +++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 src/ArduinoJson/compatibility.hpp diff --git a/CHANGELOG.md b/CHANGELOG.md index ab5d54b8..eb277b7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ ArduinoJson: change log ======================= +HEAD +---- + +* Added a clear error message for `StaticJsonBuffer` and `DynamicJsonBuffer` + v6.9.0 (2019-02-26) ------ diff --git a/src/ArduinoJson.hpp b/src/ArduinoJson.hpp index 0c373f09..ac9947bd 100644 --- a/src/ArduinoJson.hpp +++ b/src/ArduinoJson.hpp @@ -28,6 +28,8 @@ #include "ArduinoJson/MsgPack/MsgPackDeserializer.hpp" #include "ArduinoJson/MsgPack/MsgPackSerializer.hpp" +#include "ArduinoJson/compatibility.hpp" + namespace ArduinoJson { typedef ARDUINOJSON_NAMESPACE::ArrayConstRef JsonArrayConst; typedef ARDUINOJSON_NAMESPACE::ArrayRef JsonArray; diff --git a/src/ArduinoJson/compatibility.hpp b/src/ArduinoJson/compatibility.hpp new file mode 100644 index 00000000..04a690c6 --- /dev/null +++ b/src/ArduinoJson/compatibility.hpp @@ -0,0 +1,23 @@ +// ArduinoJson - arduinojson.org +// Copyright Benoit Blanchon 2014-2019 +// MIT License +// +// clang-format off + +#ifdef __GNUC__ + +#define ARDUINOJSON_PRAGMA(x) _Pragma(#x) + +#define ARDUINOJSON_COMPILE_ERROR(msg) ARDUINOJSON_PRAGMA(GCC error msg) + +#define ARDUINOJSON_STRINGIFY(S) #S + +#define ARDUINOJSON_DEPRECATION_ERROR(X, Y) \ + ARDUINOJSON_COMPILE_ERROR(ARDUINOJSON_STRINGIFY(X is a Y from ArduinoJson 5. Please see arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6)) + +#define StaticJsonBuffer ARDUINOJSON_DEPRECATION_ERROR(StaticJsonBuffer, class) +#define DynamicJsonBuffer ARDUINOJSON_DEPRECATION_ERROR(DynamicJsonBuffer, class) +#define JsonBuffer ARDUINOJSON_DEPRECATION_ERROR(JsonBuffer, class) +#define RawJson ARDUINOJSON_DEPRECATION_ERROR(RawJson, function) + +#endif