mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Renamed JsonSink into Print
This commit is contained in:
		| @@ -37,23 +37,23 @@ private: | ||||
|     JsonValue items[N]; | ||||
|     int itemCount; | ||||
|  | ||||
|     virtual size_t writeTo(JsonSink& sb) | ||||
|     virtual size_t writeTo(Print& p) | ||||
|     { | ||||
|         size_t n = 0; | ||||
|          | ||||
|         n += sb.write("["); | ||||
|         n += p.write("["); | ||||
|  | ||||
|         for (int i = 0; i < itemCount; i++) | ||||
|         { | ||||
|             if (i > 0) | ||||
|             { | ||||
|                 n += sb.write(","); | ||||
|                 n += p.write(","); | ||||
|             } | ||||
|  | ||||
|             n += items[i].writeTo(sb); | ||||
|             n += items[i].writeTo(p); | ||||
|         } | ||||
|  | ||||
|         n += sb.write("]"); | ||||
|         n += p.write("]"); | ||||
|  | ||||
|         return n; | ||||
|     } | ||||
|   | ||||
| @@ -92,7 +92,7 @@ | ||||
|     <ClInclude Include="JsonArray.h" /> | ||||
|     <ClInclude Include="JsonHashTable.h" /> | ||||
|     <ClInclude Include="JsonObjectBase.h" /> | ||||
|     <ClInclude Include="JsonSink.h" /> | ||||
|     <ClInclude Include="Print.h" /> | ||||
|     <ClInclude Include="JsonValue.h" /> | ||||
|     <ClInclude Include="StringBuilder.h" /> | ||||
|   </ItemGroup> | ||||
|   | ||||
| @@ -47,7 +47,7 @@ | ||||
|     <ClInclude Include="JsonArray.h"> | ||||
|       <Filter>Header Files</Filter> | ||||
|     </ClInclude> | ||||
|     <ClInclude Include="JsonSink.h"> | ||||
|     <ClInclude Include="Print.h"> | ||||
|       <Filter>Header Files</Filter> | ||||
|     </ClInclude> | ||||
|   </ItemGroup> | ||||
|   | ||||
| @@ -45,11 +45,11 @@ private: | ||||
|     KeyValuePair items[N]; | ||||
|     int itemCount; | ||||
|  | ||||
|     virtual size_t writeTo(JsonSink& sink) | ||||
|     virtual size_t writeTo(Print& p) | ||||
|     { | ||||
|         size_t n = 0; | ||||
|  | ||||
|         n += sink.write('{'); | ||||
|         n += p.write('{'); | ||||
|  | ||||
|         for (int i = 0; i < itemCount; i++) | ||||
|         { | ||||
| @@ -57,15 +57,15 @@ private: | ||||
|  | ||||
|             if (i > 0) | ||||
|             { | ||||
|                 n += sink.write(','); | ||||
|                 n += p.write(','); | ||||
|             } | ||||
|  | ||||
|             n += key.writeTo(sink); | ||||
|             n += sink.write(':'); | ||||
|             n += items[i].value.writeTo(sink); | ||||
|             n += key.writeTo(p); | ||||
|             n += p.write(':'); | ||||
|             n += items[i].value.writeTo(p); | ||||
|         } | ||||
|  | ||||
|         n += sink.write('}'); | ||||
|         n += p.write('}'); | ||||
|  | ||||
|         return n; | ||||
|     } | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include "JsonValue.h" | ||||
| #include "JsonSink.h" | ||||
| #include "Print.h" | ||||
|  | ||||
| class JsonObjectBase | ||||
| { | ||||
| @@ -18,6 +18,6 @@ public: | ||||
|         return writeTo(sb); | ||||
|     } | ||||
|  | ||||
|     virtual size_t writeTo(JsonSink& sb) = 0; | ||||
|     virtual size_t writeTo(Print& p) = 0; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -8,82 +8,82 @@ | ||||
| #include <cstdio> | ||||
| #include <cstring> | ||||
|  | ||||
| size_t JsonValue::writeBooleanTo(JsonSink& sb) | ||||
| size_t JsonValue::writeBooleanTo(Print& p) | ||||
| { | ||||
|     return sb.write(content.boolean ? "true" : "false"); | ||||
|     return p.write(content.boolean ? "true" : "false"); | ||||
| } | ||||
|  | ||||
| size_t JsonValue::writeNumberTo(JsonSink& sb) | ||||
| size_t JsonValue::writeNumberTo(Print& p) | ||||
| { | ||||
|     char tmp[16]; | ||||
|  | ||||
|     _snprintf(tmp, sizeof(tmp), "%lg", content.number); | ||||
|  | ||||
|     return sb.write(tmp); | ||||
|     return p.write(tmp); | ||||
| } | ||||
|  | ||||
| size_t JsonValue::writeObjectTo(JsonSink& sink) | ||||
| size_t JsonValue::writeObjectTo(Print& p) | ||||
| { | ||||
|     if (content.object) | ||||
|         return ((JsonObjectBase*)content.object)->writeTo(sink); | ||||
|         return ((JsonObjectBase*)content.object)->writeTo(p); | ||||
|     else | ||||
|         return sink.write("null"); | ||||
|         return p.write("null"); | ||||
| } | ||||
|  | ||||
| size_t JsonValue::writeStringTo(JsonSink& sink) | ||||
| size_t JsonValue::writeStringTo(Print& p) | ||||
| { | ||||
|     auto s = content.string; | ||||
|  | ||||
|     if (!s) | ||||
|     { | ||||
|         return sink.write("null"); | ||||
|         return p.write("null"); | ||||
|     } | ||||
|  | ||||
|     size_t n = 0; | ||||
|  | ||||
|     n += sink.write('\"'); | ||||
|     n += p.write('\"'); | ||||
|  | ||||
|     while (*s) | ||||
|     { | ||||
|         switch (*s) | ||||
|         { | ||||
|         case '"': | ||||
|             n += sink.write("\\\""); | ||||
|             n += p.write("\\\""); | ||||
|             break; | ||||
|  | ||||
|         case '\\': | ||||
|             n += sink.write("\\\\"); | ||||
|             n += p.write("\\\\"); | ||||
|             break; | ||||
|  | ||||
|         case '\b': | ||||
|             n += sink.write("\\b"); | ||||
|             n += p.write("\\b"); | ||||
|             break; | ||||
|  | ||||
|         case '\f': | ||||
|             n += sink.write("\\f"); | ||||
|             n += p.write("\\f"); | ||||
|             break; | ||||
|  | ||||
|         case '\n': | ||||
|             n += sink.write("\\n"); | ||||
|             n += p.write("\\n"); | ||||
|             break; | ||||
|  | ||||
|         case '\r': | ||||
|             n += sink.write("\\r"); | ||||
|             n += p.write("\\r"); | ||||
|             break; | ||||
|  | ||||
|         case '\t': | ||||
|             n += sink.write("\\t"); | ||||
|             n += p.write("\\t"); | ||||
|             break; | ||||
|  | ||||
|         default: | ||||
|             n += sink.write(*s); | ||||
|             n += p.write(*s); | ||||
|             break; | ||||
|         } | ||||
|  | ||||
|         s++; | ||||
|     } | ||||
|  | ||||
|     n += sink.write('\"'); | ||||
|     n += p.write('\"'); | ||||
|  | ||||
|     return n; | ||||
| } | ||||
| @@ -41,10 +41,10 @@ public: | ||||
|         content.object = &value; | ||||
|     } | ||||
|  | ||||
|     size_t writeTo(JsonSink& sink) | ||||
|     size_t writeTo(Print& p) | ||||
|     { | ||||
|         // handmade polymorphism | ||||
|         return (this->*implementation)(sink); | ||||
|         return (this->*implementation)(p); | ||||
|     } | ||||
|      | ||||
| private: | ||||
| @@ -59,10 +59,10 @@ private: | ||||
|  | ||||
|     Content content; | ||||
|  | ||||
|     size_t (JsonValue::*implementation)(JsonSink& sb); | ||||
|     size_t(JsonValue::*implementation)(Print& p); | ||||
|  | ||||
|     size_t writeBooleanTo(JsonSink& sb); | ||||
|     size_t writeNumberTo(JsonSink& sb); | ||||
|     size_t writeObjectTo(JsonSink& sb); | ||||
|     size_t writeStringTo(JsonSink& sb); | ||||
|     size_t writeBooleanTo(Print& p); | ||||
|     size_t writeNumberTo(Print& p); | ||||
|     size_t writeObjectTo(Print& p); | ||||
|     size_t writeStringTo(Print& p); | ||||
| }; | ||||
| @@ -5,7 +5,7 @@ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| class JsonSink | ||||
| class Print | ||||
| { | ||||
| public: | ||||
| 
 | ||||
| @@ -5,9 +5,9 @@ | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #include "JsonSink.h" | ||||
| #include "Print.h" | ||||
|  | ||||
| class StringBuilder : public JsonSink | ||||
| class StringBuilder : public Print | ||||
| { | ||||
| public: | ||||
|     StringBuilder(char* buf, int size) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user