2014-10-23 23:39:22 +02:00
|
|
|
// Copyright Benoit Blanchon 2014
|
|
|
|
// MIT License
|
|
|
|
//
|
|
|
|
// Arduino JSON library
|
|
|
|
// https://github.com/bblanchon/ArduinoJson
|
|
|
|
|
2014-10-16 00:11:23 +02:00
|
|
|
#pragma once
|
|
|
|
|
2014-10-19 15:46:36 +02:00
|
|
|
#include "Arduino/Printable.hpp"
|
2014-10-16 00:11:23 +02:00
|
|
|
|
2014-10-23 19:54:00 +02:00
|
|
|
namespace ArduinoJson {
|
2014-10-16 00:11:23 +02:00
|
|
|
|
2014-10-31 12:27:33 +01:00
|
|
|
namespace Internals {
|
|
|
|
class IndentedPrint;
|
|
|
|
class JsonWriter;
|
|
|
|
}
|
|
|
|
|
2014-10-27 22:50:50 +01:00
|
|
|
class JsonPrintable : public Printable {
|
2014-10-23 23:13:13 +02:00
|
|
|
public:
|
2014-10-23 19:54:00 +02:00
|
|
|
size_t printTo(char *buffer, size_t bufferSize) const;
|
|
|
|
virtual size_t printTo(Print &print) const;
|
2014-10-16 00:11:23 +02:00
|
|
|
|
2014-10-23 19:54:00 +02:00
|
|
|
size_t prettyPrintTo(char *buffer, size_t bufferSize) const;
|
2014-10-27 13:34:54 +01:00
|
|
|
size_t prettyPrintTo(Internals::IndentedPrint &print) const;
|
2014-10-23 19:54:00 +02:00
|
|
|
size_t prettyPrintTo(Print &print) const;
|
2014-10-27 22:50:50 +01:00
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual void writeTo(Internals::JsonWriter &) const = 0;
|
2014-10-23 19:54:00 +02:00
|
|
|
};
|
2014-10-23 23:45:36 +02:00
|
|
|
}
|