Files
ArduinoJson/srcs/Internals/JsonWriter.h

50 lines
856 B
C
Raw Normal View History

2014-10-05 16:25:49 +02:00
#pragma once
#include "../Arduino/Print.h"
class JsonWriter
{
public:
explicit JsonWriter(Print* sink)
2014-10-07 11:22:10 +02:00
: _sink(sink), _length(0)
2014-10-05 16:25:49 +02:00
{
}
size_t bytesWritten()
{
return _length;
}
2014-10-07 11:22:10 +02:00
virtual void beginArray() = 0;
2014-10-05 16:25:49 +02:00
2014-10-07 11:22:10 +02:00
virtual void endArray() = 0;
2014-10-05 16:25:49 +02:00
2014-10-07 11:22:10 +02:00
virtual void beginObject() = 0;
2014-10-05 16:25:49 +02:00
2014-10-07 11:22:10 +02:00
virtual void endObject() = 0;
2014-10-05 16:25:49 +02:00
2014-10-07 11:22:10 +02:00
void writeString(const char* value);
void writeInteger(long value);
void writeBoolean(bool value);
void writeDouble(double value, int decimals);
virtual void writeColon() = 0;
virtual void writeComma() = 0;
void writeEmptyArray()
{
_length += _sink->print("[]");
2014-10-07 11:22:10 +02:00
}
2014-10-05 16:25:49 +02:00
2014-10-07 11:22:10 +02:00
void writeEmptyObject()
2014-10-05 16:25:49 +02:00
{
_length += _sink->print("{}");
2014-10-05 16:25:49 +02:00
}
2014-10-07 11:22:10 +02:00
protected:
Print* _sink;
2014-10-07 11:22:10 +02:00
size_t _length;
2014-10-05 16:25:49 +02:00
};