cesium-native 0.43.0
Loading...
Searching...
No Matches
ExtensibleObjectJsonHandler.h
1#pragma once
2
3#include "DictionaryJsonHandler.h"
4#include "ExtensionsJsonHandler.h"
5#include "JsonObjectJsonHandler.h"
6#include "JsonReaderOptions.h"
7#include "ObjectJsonHandler.h"
8
9#include <CesiumUtility/ExtensibleObject.h>
10#include <CesiumUtility/JsonValue.h>
11
12namespace CesiumJsonReader {
13
19public:
27 const JsonReaderOptions& context) noexcept;
28
29protected:
45 const std::string& objectType,
46 const std::string_view& str,
48
49private:
53 _extras;
54 ExtensionsJsonHandler _extensions;
55 JsonObjectJsonHandler _unknownProperties;
56 bool _captureUnknownProperties;
57};
58} // namespace CesiumJsonReader
Reads the keys and values of a JSON object into a std::map<std::string, T> or an std::unordered_map<s...
An IJsonHandler for reading ExtensibleObject types.
IJsonHandler * readObjectKeyExtensibleObject(const std::string &objectType, const std::string_view &str, CesiumUtility::ExtensibleObject &o)
Reads a property of an ExtensibleObject from the JSON.
void reset(IJsonHandler *pParent, CesiumUtility::ExtensibleObject *pObject)
Resets the current parent of this handler, and the current object being handled.
ExtensibleObjectJsonHandler(const JsonReaderOptions &context) noexcept
Creates an ExtensibleObjectJsonHandler with the specified options.
IJsonHandler for reading extensions, such as those listed in an ExtensibleObject.
Base interface for all JSON handlers. Types that need to be deserialized from JSON should implement I...
IJsonHandler for arbitrary CesiumUtility::JsonValue JsonValue objects.
Holds options for reading statically-typed data structures from JSON.
IJsonHandler for handling JSON objects.
A generic implementation of a value in a JSON structure.
Definition JsonValue.h:75
Classes for reading JSON.
The base class for objects that have extensions and extras.