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