// Copyright (c) 2017-2024, The Khronos Group Inc. // Copyright (c) 2017 Valve Corporation // Copyright (c) 2017 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // // Initial Author: Mark Young <[email protected]> // #pragma once #include <openxr/openxr.h> #include <memory> #include <string> #include <vector> #include <iosfwd> #include <unordered_map> namespace Json { class Value; } enum ManifestFileType { … }; struct JsonVersion { … }; struct ExtensionListing { … }; // ManifestFile class - // Base class responsible for finding and parsing manifest files. class ManifestFile { … }; // RuntimeManifestFile class - // Responsible for finding and parsing Runtime-specific manifest files. class RuntimeManifestFile : public ManifestFile { … }; LibraryLocator; // ApiLayerManifestFile class - // Responsible for finding and parsing API Layer-specific manifest files. class ApiLayerManifestFile : public ManifestFile { … };