Skip to content

Commit

Permalink
Move ExtensibleObject to CesiumUtility
Browse files Browse the repository at this point in the history
  • Loading branch information
krupkad committed Jul 29, 2021
1 parent d13eecd commit 0c740d2
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@
#include "CesiumJsonReader/ExtensionsJsonHandler.h"
#include "CesiumJsonReader/JsonObjectJsonHandler.h"
#include "CesiumJsonReader/ObjectJsonHandler.h"
#include "CesiumUtility/JsonValue.h"
#include <CesiumUtility/ExtensibleObject.h>
#include <CesiumUtility/JsonValue.h>

namespace CesiumJsonReader {
struct ExtensibleObject;

class ExtensibleObjectJsonHandler : public CesiumJsonReader::ObjectJsonHandler {
public:
explicit ExtensibleObjectJsonHandler(
const ExtensionContext& context) noexcept;

protected:
void reset(IJsonHandler* pParent, ExtensibleObject* pObject);
void reset(IJsonHandler* pParent, CesiumUtility::ExtensibleObject* pObject);
IJsonHandler* readObjectKeyExtensibleObject(
const std::string& objectType,
const std::string_view& str,
ExtensibleObject& o);
CesiumUtility::ExtensibleObject& o);

private:
CesiumJsonReader::DictionaryJsonHandler<
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
#include "CesiumJsonReader/ExtensionContext.h"
#include "CesiumJsonReader/IExtensionJsonHandler.h"
#include "CesiumJsonReader/ObjectJsonHandler.h"
#include <CesiumUtility/ExtensibleObject.h>
#include <memory>

namespace CesiumJsonReader {
struct ExtensibleObject;

class ExtensionsJsonHandler : public CesiumJsonReader::ObjectJsonHandler {
public:
Expand All @@ -18,14 +18,14 @@ class ExtensionsJsonHandler : public CesiumJsonReader::ObjectJsonHandler {

void reset(
IJsonHandler* pParent,
ExtensibleObject* pObject,
CesiumUtility::ExtensibleObject* pObject,
const std::string& objectType);

virtual IJsonHandler* readObjectKey(const std::string_view& str) override;

private:
const ExtensionContext& _context;
ExtensibleObject* _pObject = nullptr;
CesiumUtility::ExtensibleObject* _pObject = nullptr;
std::string _objectType;
std::unique_ptr<IExtensionJsonHandler> _currentExtensionHandler;
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
#pragma once

#include "CesiumJsonReader/ExtensibleObject.h"
#include "CesiumJsonReader/IJsonHandler.h"
#include <CesiumUtility/ExtensibleObject.h>
#include <any>
#include <string_view>

namespace CesiumJsonReader {

struct ExtensibleObject;

class IExtensionJsonHandler : public IJsonHandler {
public:
virtual void reset(
IJsonHandler* pParentHandler,
ExtensibleObject& o,
CesiumUtility::ExtensibleObject& o,
const std::string_view& extensionName) = 0;
};

Expand Down
2 changes: 1 addition & 1 deletion CesiumJsonReader/src/ExtensibleObjectJsonHandler.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#include "CesiumJsonReader/ExtensibleObjectJsonHandler.h"
#include "CesiumJsonReader/ExtensibleObject.h"
#include "CesiumJsonReader/ExtensionsJsonHandler.h"
#include "CesiumJsonReader/JsonHandler.h"
#include "CesiumJsonReader/ObjectJsonHandler.h"

using namespace CesiumJsonReader;
using namespace CesiumUtility;

ExtensibleObjectJsonHandler::ExtensibleObjectJsonHandler(
const ExtensionContext& context) noexcept
Expand Down
1 change: 1 addition & 0 deletions CesiumJsonReader/src/ExtensionsJsonHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "CesiumJsonReader/ExtensionContext.h"

using namespace CesiumJsonReader;
using namespace CesiumUtility;

void ExtensionsJsonHandler::reset(
IJsonHandler* pParent,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
#pragma once

#include "CesiumJsonReader/Library.h"
#include "CesiumUtility/JsonValue.h"
#include "CesiumUtility/Library.h"
#include <any>
#include <unordered_map>
#include <utility>
#include <vector>

namespace CesiumJsonReader {
namespace CesiumUtility {
/**
* @brief The base class for objects that have extensions and extras.
*/
struct CESIUMJSONREADER_API ExtensibleObject {
struct CESIUMUTILITY_API ExtensibleObject {
/**
* @brief Gets an extension given its static type.
*
Expand Down Expand Up @@ -44,12 +44,11 @@ struct CESIUMJSONREADER_API ExtensibleObject {
* @return The generic extension, or nullptr if the generic extension doesn't
* exist.
*/
const CesiumUtility::JsonValue*
const JsonValue*
getGenericExtension(const std::string& extensionName) const noexcept;

/** @copydoc ExtensibleObject::getGenericExtension */
CesiumUtility::JsonValue*
getGenericExtension(const std::string& extensionName) noexcept;
JsonValue* getGenericExtension(const std::string& extensionName) noexcept;

/**
* @brief The extensions attached to this object.
Expand All @@ -68,6 +67,6 @@ struct CESIUMJSONREADER_API ExtensibleObject {
* best practice, extras should be an Object rather than a primitive value for
* best portability.
*/
CesiumUtility::JsonValue::Object extras;
JsonValue::Object extras;
};
} // namespace CesiumJsonReader
} // namespace CesiumUtility
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include "CesiumJsonReader/ExtensibleObject.h"
#include "CesiumUtility/ExtensibleObject.h"

using namespace CesiumJsonReader;
using namespace CesiumUtility;

JsonValue* ExtensibleObject::getGenericExtension(
Expand Down

0 comments on commit 0c740d2

Please sign in to comment.