mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-17 20:42:24 +02:00
Made JsonNodeType private
This commit is contained in:
@ -1,6 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
class JsonBuffer;
|
||||
class JsonWriter;
|
||||
class JsonNodeIterator;
|
||||
|
||||
class JsonNode
|
||||
{
|
||||
friend class JsonNodeIterator;
|
||||
|
||||
enum JsonNodeType
|
||||
{
|
||||
@ -18,12 +24,31 @@ enum JsonNodeType
|
||||
// etc.
|
||||
};
|
||||
|
||||
class JsonWriter;
|
||||
class JsonNodeIterator;
|
||||
|
||||
class JsonNode
|
||||
union JsonNodeContent
|
||||
{
|
||||
friend class JsonNodeIterator;
|
||||
bool asBoolean;
|
||||
double asDouble;
|
||||
long asInteger;
|
||||
const char* asString;
|
||||
|
||||
struct
|
||||
{
|
||||
const char* key;
|
||||
JsonNode* value;
|
||||
} asKey;
|
||||
|
||||
struct
|
||||
{
|
||||
JsonNode* child;
|
||||
JsonBuffer* buffer;
|
||||
} asContainer;
|
||||
|
||||
struct
|
||||
{
|
||||
JsonNode* target;
|
||||
} asProxy;
|
||||
|
||||
};
|
||||
|
||||
public:
|
||||
JsonNode()
|
||||
@ -124,35 +149,10 @@ public:
|
||||
void removeChildFromContainer(JsonNode* childToRemove);
|
||||
|
||||
private:
|
||||
JsonNodeType type; // <- TODO: hide
|
||||
JsonNode* next;
|
||||
JsonNodeContent content;
|
||||
JsonNodeType type;
|
||||
|
||||
inline void writeArrayTo(JsonWriter&);// TODO: <- move in JsonNodeSerializer
|
||||
inline void writeObjectTo(JsonWriter&);// TODO: <- move in JsonNodeSerializer
|
||||
|
||||
union
|
||||
{
|
||||
bool asBoolean;
|
||||
double asDouble;
|
||||
long asInteger;
|
||||
const char* asString;
|
||||
|
||||
struct
|
||||
{
|
||||
const char* key;
|
||||
JsonNode* value;
|
||||
} asKey;
|
||||
|
||||
struct
|
||||
{
|
||||
JsonNode* child;
|
||||
JsonBuffer* buffer;
|
||||
} asContainer;
|
||||
|
||||
struct
|
||||
{
|
||||
JsonNode* target;
|
||||
} asProxy;
|
||||
|
||||
} content;
|
||||
};
|
@ -71,13 +71,3 @@ JsonNode* JsonObject::getOrCreateNodeAt(const char* key)
|
||||
|
||||
return newValueNode;
|
||||
}
|
||||
|
||||
JsonNode* JsonObject::createContainerNodeAt(char const* key, JsonNodeType type)
|
||||
{
|
||||
JsonNode* node = getOrCreateNodeAt(key);
|
||||
if (!node) return 0;
|
||||
|
||||
node->setAsArray(_node->getContainerBuffer());
|
||||
|
||||
return node;
|
||||
}
|
@ -23,5 +23,4 @@ public:
|
||||
|
||||
private:
|
||||
JsonNode* getOrCreateNodeAt(const char* key);
|
||||
JsonNode* createContainerNodeAt(const char* key, JsonNodeType type);
|
||||
};
|
Reference in New Issue
Block a user