Add and use CesiumJsonReader/Library.h.

This commit is contained in:
Kevin Ring 2021-04-14 14:41:51 +10:00
parent 94ea03847c
commit 25a968702b
12 changed files with 40 additions and 14 deletions

View File

@ -1,6 +1,7 @@
#pragma once
#include "CesiumJsonReader/JsonReader.h"
#include "CesiumJsonReader/Library.h"
#include "DoubleJsonHandler.h"
#include "IntegerJsonHandler.h"
#include "StringJsonHandler.h"
@ -9,7 +10,7 @@
namespace CesiumJsonReader {
template <typename T, typename THandler>
class ArrayJsonHandler : public JsonReader {
class CESIUMJSONREADER_API ArrayJsonHandler : public JsonReader {
public:
template <typename... Ts>
ArrayJsonHandler(Ts&&... args) noexcept
@ -111,7 +112,8 @@ private:
};
template <>
class ArrayJsonHandler<double, DoubleJsonHandler> : public JsonReader {
class CESIUMJSONREADER_API ArrayJsonHandler<double, DoubleJsonHandler>
: public JsonReader {
public:
ArrayJsonHandler() : JsonReader() {}
@ -227,7 +229,8 @@ private:
};
template <typename T>
class ArrayJsonHandler<T, IntegerJsonHandler<T>> : public JsonReader {
class CESIUMJSONREADER_API ArrayJsonHandler<T, IntegerJsonHandler<T>>
: public JsonReader {
public:
ArrayJsonHandler() : JsonReader() {}
@ -337,7 +340,8 @@ private:
};
template <>
class ArrayJsonHandler<std::string, StringJsonHandler> : public JsonReader {
class CESIUMJSONREADER_API ArrayJsonHandler<std::string, StringJsonHandler>
: public JsonReader {
public:
ArrayJsonHandler() : JsonReader() {}

View File

@ -1,9 +1,10 @@
#pragma once
#include "CesiumJsonReader/JsonReader.h"
#include "CesiumJsonReader/Library.h"
namespace CesiumJsonReader {
class BoolJsonHandler : public JsonReader {
class CESIUMJSONREADER_API BoolJsonHandler : public JsonReader {
public:
BoolJsonHandler() noexcept;
void reset(IJsonReader* pParent, bool* pBool);

View File

@ -1,5 +1,6 @@
#pragma once
#include "CesiumJsonReader/Library.h"
#include "IntegerJsonHandler.h"
#include "ObjectJsonHandler.h"
#include <CesiumGltf/Reader.h>
@ -8,7 +9,7 @@
namespace CesiumJsonReader {
template <typename T, typename THandler>
class DictionaryJsonHandler : public ObjectJsonHandler {
class CESIUMJSONREADER_API DictionaryJsonHandler : public ObjectJsonHandler {
public:
DictionaryJsonHandler() noexcept : ObjectJsonHandler(), _item() {}

View File

@ -1,10 +1,11 @@
#pragma once
#include "CesiumJsonReader/JsonReader.h"
#include "CesiumJsonReader/Library.h"
#include <cassert>
namespace CesiumJsonReader {
class DoubleJsonHandler : public JsonReader {
class CESIUMJSONREADER_API DoubleJsonHandler : public JsonReader {
public:
DoubleJsonHandler() noexcept;
void reset(IJsonReader* pParent, double* pDouble);

View File

@ -1,11 +1,12 @@
#pragma once
#include "CesiumJsonReader/Library.h"
#include <cstdint>
#include <string_view>
#include <vector>
namespace CesiumJsonReader {
class IJsonReader {
class CESIUMJSONREADER_API IJsonReader {
public:
virtual ~IJsonReader(){};
virtual IJsonReader* readNull() = 0;

View File

@ -1,10 +1,11 @@
#pragma once
#include "CesiumJsonReader/IJsonReader.h"
#include "CesiumJsonReader/Library.h"
#include <cstdint>
namespace CesiumJsonReader {
class IgnoreValueJsonHandler : public IJsonReader {
class CESIUMJSONREADER_API IgnoreValueJsonHandler : public IJsonReader {
public:
void reset(IJsonReader* pParent);

View File

@ -1,10 +1,12 @@
#pragma once
#include "CesiumJsonReader/JsonReader.h"
#include "CesiumJsonReader/Library.h"
#include <cassert>
namespace CesiumJsonReader {
template <typename T> class IntegerJsonHandler : public JsonReader {
template <typename T>
class CESIUMJSONREADER_API IntegerJsonHandler : public JsonReader {
public:
IntegerJsonHandler() noexcept : JsonReader() {}

View File

@ -1,11 +1,12 @@
#pragma once
#include "CesiumJsonReader/JsonReader.h"
#include "CesiumJsonReader/Library.h"
#include "CesiumUtility/JsonValue.h"
namespace CesiumJsonReader {
class JsonObjectJsonHandler : public JsonReader {
class CESIUMJSONREADER_API JsonObjectJsonHandler : public JsonReader {
public:
JsonObjectJsonHandler() noexcept;

View File

@ -2,11 +2,12 @@
#include "CesiumJsonReader/IJsonReader.h"
#include "CesiumJsonReader/IgnoreValueJsonHandler.h"
#include "CesiumJsonReader/Library.h"
#include <cstdint>
#include <string>
namespace CesiumJsonReader {
class JsonReader : public IJsonReader {
class CESIUMJSONREADER_API JsonReader : public IJsonReader {
public:
JsonReader() noexcept;
virtual IJsonReader* readNull() override;

View File

@ -0,0 +1,11 @@
#pragma once
#if defined(_WIN32) && defined(CESIUM_SHARED)
#ifdef CESIUMJSONREADER_BUILDING
#define CESIUMJSONREADER_API __declspec(dllexport)
#else
#define CESIUMJSONREADER_API __declspec(dllimport)
#endif
#else
#define CESIUMJSONREADER_API
#endif

View File

@ -1,10 +1,11 @@
#pragma once
#include "CesiumJsonReader/JsonReader.h"
#include "CesiumJsonReader/Library.h"
#include <optional>
namespace CesiumJsonReader {
class ObjectJsonHandler : public JsonReader {
class CESIUMJSONREADER_API ObjectJsonHandler : public JsonReader {
public:
ObjectJsonHandler() : JsonReader() {}

View File

@ -1,10 +1,11 @@
#pragma once
#include "CesiumJsonReader/JsonReader.h"
#include "CesiumJsonReader/Library.h"
#include <string>
namespace CesiumJsonReader {
class StringJsonHandler : public JsonReader {
class CESIUMJSONREADER_API StringJsonHandler : public JsonReader {
public:
StringJsonHandler() noexcept;
void reset(IJsonReader* pParent, std::string* pString);