/* * Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved. */ #include "keel.hpp" namespace keel { ox::Error init( keel::Context &ctx, ox::UPtr &&fs, ox::CRStringView appName) noexcept { ctx.appName = appName; oxIgnoreError(setRomFs(ctx, std::move(fs))); #ifndef OX_BARE_METAL const auto &mods = modules(); for (auto &mod : mods) { // register type converters for (auto c : mod->converters()) { ctx.converters.emplace_back(c); } // register pack transforms for (auto c : mod->packTransforms()) { ctx.packTransforms.emplace_back(c); } } #endif return {}; } ox::Result> init(ox::UPtr &&fs, ox::CRStringView appName) noexcept { auto ctx = ox::make_unique(); oxReturnError(keel::init(*ctx, std::move(fs), appName)); return ctx; } }