From d877d77b6340d0f090d8785db680feb5356eeb96 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Mon, 25 Aug 2014 13:19:07 +0200 Subject: [PATCH] Moved PrettyPrintDecorator into the namespace ArduinoJson::Generator --- JsonGenerator/PrettyPrintDecorator.cpp | 2 + JsonGenerator/PrettyPrintDecorator.h | 103 +++++++++--------- .../PrettyPrint_Array_Tests.cpp | 1 + .../PrettyPrint_Object_Tests.cpp | 1 + .../PrettyPrint_String_Tests.cpp | 1 + 5 files changed, 59 insertions(+), 49 deletions(-) diff --git a/JsonGenerator/PrettyPrintDecorator.cpp b/JsonGenerator/PrettyPrintDecorator.cpp index b9ac62e5..4edf4326 100644 --- a/JsonGenerator/PrettyPrintDecorator.cpp +++ b/JsonGenerator/PrettyPrintDecorator.cpp @@ -5,6 +5,8 @@ #include "PrettyPrintDecorator.h" +using namespace ArduinoJson::Generator; + size_t PrettyPrintDecorator::write(uint8_t c) { size_t n = inString ? handleStringChar(c) : handleMarkupChar(c); diff --git a/JsonGenerator/PrettyPrintDecorator.h b/JsonGenerator/PrettyPrintDecorator.h index 897bfe19..f9ff538c 100644 --- a/JsonGenerator/PrettyPrintDecorator.h +++ b/JsonGenerator/PrettyPrintDecorator.h @@ -8,55 +8,60 @@ #include "Print.h" -class PrettyPrintDecorator : public Print +namespace ArduinoJson { -public: - - PrettyPrintDecorator(Print& p) - : indent(0), sink(p) + namespace Generator { - previousChar = 0; - inString = false; + class PrettyPrintDecorator : public Print + { + public: + + PrettyPrintDecorator(Print& p) + : indent(0), sink(p) + { + previousChar = 0; + inString = false; + } + + virtual size_t write(uint8_t); + + private: + int indent; + uint8_t previousChar; + Print& sink; + bool inString; + + bool inEmptyBlock() + { + return previousChar == '{' || previousChar == '['; + } + + size_t handleStringChar(uint8_t); + size_t handleMarkupChar(uint8_t); + + size_t handleBlockClose(uint8_t); + size_t handleBlockOpen(uint8_t); + size_t handleColumn(); + size_t handleComma(); + size_t handleQuoteOpen(); + size_t handleNormalChar(uint8_t); + + size_t breakAndIndent(); + + size_t breakThenWrite(uint8_t c) + { + return breakAndIndent() + writeChar(c); + } + + size_t writeThenBreak(uint8_t c) + { + return writeChar(c) + breakAndIndent(); + } + + size_t writeChar(uint8_t c) + { + return sink.write(c); + } + }; } - - virtual size_t write(uint8_t); - -private: - int indent; - uint8_t previousChar; - Print& sink; - bool inString; - - bool inEmptyBlock() - { - return previousChar == '{' || previousChar == '['; - } - - size_t handleStringChar(uint8_t); - size_t handleMarkupChar(uint8_t); - - size_t handleBlockClose(uint8_t); - size_t handleBlockOpen(uint8_t); - size_t handleColumn(); - size_t handleComma(); - size_t handleQuoteOpen(); - size_t handleNormalChar(uint8_t); - - size_t breakAndIndent(); - - size_t breakThenWrite(uint8_t c) - { - return breakAndIndent() + writeChar(c); - } - - size_t writeThenBreak(uint8_t c) - { - return writeChar(c) + breakAndIndent(); - } - - size_t writeChar(uint8_t c) - { - return sink.write(c); - } -}; - +} \ No newline at end of file diff --git a/JsonGeneratorTests/PrettyPrint_Array_Tests.cpp b/JsonGeneratorTests/PrettyPrint_Array_Tests.cpp index b7b3bb82..28c76bb8 100644 --- a/JsonGeneratorTests/PrettyPrint_Array_Tests.cpp +++ b/JsonGeneratorTests/PrettyPrint_Array_Tests.cpp @@ -8,6 +8,7 @@ #include "StringBuilder.h" using namespace ArduinoJson::Internals; +using namespace ArduinoJson::Generator; using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace JsonGeneratorTests diff --git a/JsonGeneratorTests/PrettyPrint_Object_Tests.cpp b/JsonGeneratorTests/PrettyPrint_Object_Tests.cpp index d8b8088e..f181cabe 100644 --- a/JsonGeneratorTests/PrettyPrint_Object_Tests.cpp +++ b/JsonGeneratorTests/PrettyPrint_Object_Tests.cpp @@ -8,6 +8,7 @@ #include "StringBuilder.h" using namespace ArduinoJson::Internals; +using namespace ArduinoJson::Generator; using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace JsonGeneratorTests diff --git a/JsonGeneratorTests/PrettyPrint_String_Tests.cpp b/JsonGeneratorTests/PrettyPrint_String_Tests.cpp index 961dcc8f..006a5b1c 100644 --- a/JsonGeneratorTests/PrettyPrint_String_Tests.cpp +++ b/JsonGeneratorTests/PrettyPrint_String_Tests.cpp @@ -8,6 +8,7 @@ #include "StringBuilder.h" using namespace ArduinoJson::Internals; +using namespace ArduinoJson::Generator; using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace JsonGeneratorTests