2015-02-07 16:05:48 +01:00
|
|
|
// Copyright Benoit Blanchon 2014-2015
|
2014-10-23 23:39:22 +02:00
|
|
|
// MIT License
|
|
|
|
//
|
|
|
|
// Arduino JSON library
|
|
|
|
// https://github.com/bblanchon/ArduinoJson
|
|
|
|
|
2014-11-03 18:35:22 +01:00
|
|
|
#include "../include/ArduinoJson/JsonBuffer.hpp"
|
2014-10-16 16:25:42 +02:00
|
|
|
|
2014-11-04 10:01:21 +01:00
|
|
|
#include "../include/ArduinoJson/Internals/JsonParser.hpp"
|
2014-11-03 18:35:22 +01:00
|
|
|
#include "../include/ArduinoJson/JsonArray.hpp"
|
|
|
|
#include "../include/ArduinoJson/JsonObject.hpp"
|
2014-10-16 16:25:42 +02:00
|
|
|
|
2014-10-18 23:05:54 +02:00
|
|
|
using namespace ArduinoJson;
|
|
|
|
using namespace ArduinoJson::Internals;
|
|
|
|
|
2014-10-29 14:24:34 +01:00
|
|
|
JsonArray &JsonBuffer::createArray() {
|
2015-02-01 20:59:31 +01:00
|
|
|
JsonArray *ptr = new (this) JsonArray(this);
|
|
|
|
return ptr ? *ptr : JsonArray::invalid();
|
2014-10-27 22:50:50 +01:00
|
|
|
}
|
|
|
|
|
2014-10-29 14:24:34 +01:00
|
|
|
JsonObject &JsonBuffer::createObject() {
|
2015-02-01 20:59:31 +01:00
|
|
|
JsonObject *ptr = new (this) JsonObject(this);
|
|
|
|
return ptr ? *ptr : JsonObject::invalid();
|
2014-10-27 22:50:50 +01:00
|
|
|
}
|
|
|
|
|
2014-11-06 10:24:37 +01:00
|
|
|
JsonArray &JsonBuffer::parseArray(char *json, uint8_t nestingLimit) {
|
|
|
|
JsonParser parser(this, json, nestingLimit);
|
2014-10-29 14:24:34 +01:00
|
|
|
return parser.parseArray();
|
2014-10-27 22:50:50 +01:00
|
|
|
}
|
|
|
|
|
2014-11-06 10:24:37 +01:00
|
|
|
JsonObject &JsonBuffer::parseObject(char *json, uint8_t nestingLimit) {
|
|
|
|
JsonParser parser(this, json, nestingLimit);
|
2014-10-29 14:24:34 +01:00
|
|
|
return parser.parseObject();
|
2014-10-27 22:50:50 +01:00
|
|
|
}
|
2015-07-25 15:38:12 +02:00
|
|
|
|
|
|
|
char *JsonBuffer::strdup(const char *source, size_t length) {
|
|
|
|
size_t size = length + 1;
|
|
|
|
char *dest = static_cast<char *>(alloc(size));
|
|
|
|
if (dest != NULL) memcpy(dest, source, size);
|
|
|
|
return dest;
|
|
|
|
}
|