mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Removed class JsonParserBase
This commit is contained in:
		| @@ -12,7 +12,9 @@ class JsonHashTable; | |||||||
|  |  | ||||||
| class JsonArray : public JsonObjectBase | class JsonArray : public JsonObjectBase | ||||||
| { | { | ||||||
| 	friend class JsonParserBase; | 	template <int N> | ||||||
|  | 	friend class JsonParser; | ||||||
|  |  | ||||||
| 	friend class JsonHashTable; | 	friend class JsonHashTable; | ||||||
|  |  | ||||||
| public: | public: | ||||||
|   | |||||||
| @@ -12,8 +12,10 @@ class JsonArray; | |||||||
|  |  | ||||||
| class JsonHashTable : public JsonObjectBase | class JsonHashTable : public JsonObjectBase | ||||||
| { | { | ||||||
|  | 	template <int N> | ||||||
|  | 	friend class JsonParser; | ||||||
|  |  | ||||||
| 	friend class JsonArray; | 	friend class JsonArray; | ||||||
| 	friend class JsonParserBase; |  | ||||||
|  |  | ||||||
| public: | public: | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,24 +0,0 @@ | |||||||
| /* |  | ||||||
| * malloc-free JSON parser for Arduino |  | ||||||
| * Benoit Blanchon 2014 - MIT License |  | ||||||
| */ |  | ||||||
|  |  | ||||||
| #include "JsonParser.h" |  | ||||||
|  |  | ||||||
| JsonParserBase::JsonParserBase(jsmntok_t* tokens, int maxTokenCount) |  | ||||||
| { |  | ||||||
| 	this->maxTokenCount = maxTokenCount; |  | ||||||
| 	this->tokens = tokens; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| jsmntok_t* JsonParserBase::parse(char* jsonString) |  | ||||||
| {	 |  | ||||||
| 	jsmn_parser parser; |  | ||||||
|  |  | ||||||
| 	jsmn_init(&parser); |  | ||||||
|  |  | ||||||
| 	if (JSMN_SUCCESS != jsmn_parse(&parser, jsonString, tokens, maxTokenCount)) |  | ||||||
| 		return 0; |  | ||||||
|  |  | ||||||
| 	return tokens; |  | ||||||
| } |  | ||||||
							
								
								
									
										30
									
								
								JsonParser.h
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								JsonParser.h
									
									
									
									
									
								
							| @@ -9,7 +9,8 @@ | |||||||
| #include "JsonHashTable.h" | #include "JsonHashTable.h" | ||||||
| #include "JsonArray.h" | #include "JsonArray.h" | ||||||
|  |  | ||||||
| class JsonParserBase | template <int N> | ||||||
|  | class JsonParser | ||||||
| { | { | ||||||
| public: | public: | ||||||
|  |  | ||||||
| @@ -22,31 +23,20 @@ public: | |||||||
| 	{ | 	{ | ||||||
| 		return JsonHashTable(json, parse(json)); | 		return JsonHashTable(json, parse(json)); | ||||||
| 	} | 	} | ||||||
| 	 |  | ||||||
| protected: |  | ||||||
|  |  | ||||||
| 	JsonParserBase(jsmntok_t* tokens, int maxTokenCount);	 |  | ||||||
| 	 |  | ||||||
| private: | private: | ||||||
|  |  | ||||||
| 	jsmntok_t* parse(char* json); | 	jsmntok_t* parse(char* jsonString) | ||||||
|  |  | ||||||
| 	int maxTokenCount; |  | ||||||
| 	jsmntok_t* tokens; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| template <int N> |  | ||||||
| class JsonParser : public JsonParserBase |  | ||||||
| { |  | ||||||
| public: |  | ||||||
|  |  | ||||||
| 	JsonParser() |  | ||||||
| 		: JsonParserBase(tokens, N) |  | ||||||
| 	{ | 	{ | ||||||
|  | 		jsmn_parser parser; | ||||||
|  | 		jsmn_init(&parser); | ||||||
|  |  | ||||||
|  | 		if (JSMN_SUCCESS != jsmn_parse(&parser, jsonString, tokens, N)) | ||||||
|  | 			return 0; | ||||||
|  |  | ||||||
|  | 		return tokens; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| private: |  | ||||||
| 	 |  | ||||||
| 	jsmntok_t tokens[N]; | 	jsmntok_t tokens[N]; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user