/* * Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved. */ #pragma once #include #include #include #include "assetmanager.hpp" namespace keel { class Context; using PackTransform = ox::Error(*)(Context*, ox::Buffer *clawData); class Context { public: ox::UPtr rom; ox::StringView appName = "Nostalgia Foundation App"; #ifndef OX_BARE_METAL AssetManager assetManager; ox::HashMap pathToUuid; ox::HashMap uuidToPath; ox::Vector converters; ox::Vector packTransforms; #else std::size_t preloadSectionOffset = 0; #endif constexpr Context() noexcept = default; Context(const Context&) noexcept = delete; Context(Context&&) noexcept = delete; Context &operator=(const Context&) noexcept = delete; Context &operator=(Context&&) noexcept = delete; constexpr virtual ~Context() noexcept = default; }; }