Renamed JsonHashTable into JsonObject

This commit is contained in:
Benoit Blanchon
2014-07-22 21:02:16 +02:00
parent abef85218e
commit 6e4eb45210
15 changed files with 80 additions and 67 deletions

View File

@ -7,6 +7,6 @@
#include "JsonGenerator/EscapedString.cpp"
#include "JsonGenerator/JsonArrayBase.cpp"
#include "JsonGenerator/JsonObjectBase.cpp"
#include "JsonGenerator/JsonValue.cpp"
#include "JsonGenerator/JsonHashTableBase.cpp"
#include "JsonGenerator/StringBuilder.cpp"

View File

@ -4,4 +4,4 @@
*/
#include "JsonGenerator/JsonArray.h"
#include "JsonGenerator/JsonHashTable.h"
#include "JsonGenerator/JsonObject.h"

View File

@ -14,8 +14,8 @@
<ClInclude Include="EscapedString.h" />
<ClInclude Include="JsonArray.h" />
<ClInclude Include="JsonArrayBase.h" />
<ClInclude Include="JsonHashTable.h" />
<ClInclude Include="JsonHashTableBase.h" />
<ClInclude Include="JsonObject.h" />
<ClInclude Include="JsonObjectBase.h" />
<ClInclude Include="JsonPrintable.h" />
<ClInclude Include="JsonValue.h" />
<ClInclude Include="Print.h" />
@ -25,7 +25,7 @@
<ItemGroup>
<ClCompile Include="EscapedString.cpp" />
<ClCompile Include="JsonArrayBase.cpp" />
<ClCompile Include="JsonHashTableBase.cpp" />
<ClCompile Include="JsonObjectBase.cpp" />
<ClCompile Include="JsonValue.cpp" />
<ClCompile Include="Print.cpp" />
<ClCompile Include="StringBuilder.cpp" />

View File

@ -24,12 +24,6 @@
<ClInclude Include="JsonArrayBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JsonHashTable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JsonHashTableBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JsonPrintable.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -45,6 +39,12 @@
<ClInclude Include="StringBuilder.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JsonObjectBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JsonObject.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="EscapedString.cpp">
@ -53,9 +53,6 @@
<ClCompile Include="JsonArrayBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="JsonHashTableBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="JsonValue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -65,5 +62,8 @@
<ClCompile Include="Print.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="JsonObjectBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,27 +0,0 @@
/*
* Arduino JSON library
* Benoit Blanchon 2014 - MIT License
*/
#pragma once
#include "JsonHashTableBase.h"
namespace ArduinoJson
{
namespace Generator
{
template<int N>
class JsonHashTable : public JsonHashTableBase
{
public:
JsonHashTable()
: JsonHashTableBase(items, N)
{
}
private:
KeyValuePair items[N];
};
}
}

View File

@ -0,0 +1,44 @@
/*
* Arduino JSON library
* Benoit Blanchon 2014 - MIT License
*/
#pragma once
#include "JsonObjectBase.h"
#ifndef ARDUINO_JSON_NO_DEPRECATION_WARNING
#ifdef __GNUC__
#define DEPRECATED __attribute__((deprecated))
#elif defined(_MSC_VER)
#define DEPRECATED __declspec(deprecated)
#endif
#else
#define DEPRECATED
#endif
namespace ArduinoJson
{
namespace Generator
{
template <int N>
class JsonObject : public JsonObjectBase
{
public:
JsonObject()
: JsonObjectBase(items, N)
{
}
private:
KeyValuePair items[N];
};
// Obsolete: use JsonObject instead
template <int N>
class DEPRECATED JsonHashTable : public JsonObject<N>
{
};
}
}

View File

@ -3,11 +3,11 @@
* Benoit Blanchon 2014 - MIT License
*/
#include "JsonHashTable.h"
#include "JsonObjectBase.h"
using namespace ArduinoJson::Generator;
size_t JsonHashTableBase::printTo(Print& p) const
size_t JsonObjectBase::printTo(Print& p) const
{
size_t n = 0;

View File

@ -12,7 +12,7 @@ namespace ArduinoJson
{
namespace Generator
{
class JsonHashTableBase : public JsonPrintable
class JsonObjectBase : public JsonPrintable
{
public:
@ -48,7 +48,7 @@ namespace ArduinoJson
Internals::JsonValue value;
};
JsonHashTableBase(KeyValuePair* items, int capacity)
JsonObjectBase(KeyValuePair* items, int capacity)
: items(items), capacity(capacity), count(0)
{
}

View File

@ -16,14 +16,14 @@ namespace ArduinoJson
class JsonValue
{
public:
void set(bool value)
{
printToImpl = &printBoolTo;
content.asBool = value;
}
void set(long value)
void set(long value)
{
printToImpl = &printLongTo;
content.asLong = value;
@ -52,7 +52,7 @@ namespace ArduinoJson
set<2>(value);
}
template<int DIGITS>
template <int DIGITS>
void set(double value)
{
printToImpl = &printDoubleTo<DIGITS>;
@ -68,23 +68,23 @@ namespace ArduinoJson
private:
union Content
{
bool asBool;
long asLong;
Printable* asPrintable;
bool asBool;
long asLong;
Printable* asPrintable;
EscapedString asString;
double asDouble;
double asDouble;
};
Content content;
size_t(*printToImpl)(const Content&, Print&);
size_t(* printToImpl)(const Content&, Print&);
static size_t printBoolTo(const Content&, Print&);
static size_t printLongTo(const Content&, Print&);
static size_t printPrintableTo(const Content&, Print&);
static size_t printStringTo(const Content&, Print&);
template<int DIGITS>
template <int DIGITS>
static size_t printDoubleTo(const Content& c, Print& p)
{
return p.print(c.asDouble, DIGITS);

View File

@ -5,7 +5,7 @@
#include "CppUnitTest.h"
#include "JsonArray.h"
#include "JsonHashTable.h"
#include "JsonObject.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace ArduinoJson::Generator;

View File

@ -55,7 +55,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>ARDUINO_JSON_NO_DEPRECATION_WARNING;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<UseFullPaths>true</UseFullPaths>
</ClCompile>
<Link>

View File

@ -5,7 +5,7 @@
#include "CppUnitTest.h"
#include "JsonArray.h"
#include "JsonHashTable.h"
#include "JsonObject.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace ArduinoJson::Generator;

View File

@ -15,7 +15,7 @@ void setup()
array.add<6>(48.756080); // 6 is the number of decimals to print
array.add<6>(2.302038); // if not specified, 2 digits are printed
JsonHashTable<3> root;
JsonObject<3> root;
root.add("sensor", "gps");
root.add("time", 1351824120);
root.add("data", array);

View File

@ -15,7 +15,7 @@ void setup()
JsonParser<16> parser;
JsonHashTable root = parser.parse(json);
JsonObject root = parser.parse(json);
if (!root.success())
{

View File

@ -1,10 +1,6 @@
JsonParser KEYWORD1
JsonArray KEYWORD1
JsonHashTable KEYWORD1
getArray KEYWORD2
getBool KEYWORD2
getDouble KEYWORD2
getHashTableKEYWORD2
getLong KEYWORD2
parseArray KEYWORD2
parseHashTable KEYWORD2
JsonObject KEYWORD1
add KEYWORD2
parse KEYWORD2
success KEYWORD2