JsonBuffer.h 585 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "JsonArray.h"
  3. #include "JsonObject.h"
  4. class JsonBuffer
  5. {
  6. friend class JsonContainer;
  7. public:
  8. virtual ~JsonBuffer() {};
  9. JsonArray createArray()
  10. {
  11. return JsonArray(createContainerNode(JSON_ARRAY));
  12. }
  13. JsonObject createObject()
  14. {
  15. return JsonObject(createContainerNode(JSON_OBJECT));
  16. }
  17. JsonValue createValue();
  18. protected:
  19. virtual JsonNode* allocateNode() = 0;
  20. private:
  21. JsonNode* createNode(JsonNodeType type);
  22. JsonNode* createContainerNode(JsonNodeType type);
  23. };