From 433407cc9da8b2a13959705820bc218260a72535 Mon Sep 17 00:00:00 2001 From: Samsonium Date: Mon, 28 Sep 2026 16:48:42 +0300 Subject: [PATCH] ref: format --- include/engine/core/engine.hpp | 3 ++- include/engine/core/engine_module.hpp | 6 ++++-- include/engine/core/engine_module_api.hpp | 3 ++- include/engine/modules/test1/test1.hpp | 6 ++++-- include/engine/utils/rev_range.hpp | 6 ++++-- src/engine/core/engine.cpp | 24 +++++++++++++++-------- src/engine/modules/test1/test1.hpp | 9 +++++++-- src/main.cpp | 3 ++- 8 files changed, 41 insertions(+), 19 deletions(-) diff --git a/include/engine/core/engine.hpp b/include/engine/core/engine.hpp index 5f7b102..971d43c 100644 --- a/include/engine/core/engine.hpp +++ b/include/engine/core/engine.hpp @@ -8,7 +8,8 @@ #include /// Magic Srolls engine core -class MscEngine : public IMscEngineModuleAPI { +class MscEngine : public IMscEngineModuleAPI +{ private: /// Loaded modules list std::vector> _modules; diff --git a/include/engine/core/engine_module.hpp b/include/engine/core/engine_module.hpp index e421a58..19978a6 100644 --- a/include/engine/core/engine_module.hpp +++ b/include/engine/core/engine_module.hpp @@ -2,12 +2,14 @@ #define __MCS_ENGINE_MODULE_HPP__ #include "engine/utils/rev_range.hpp" +#include "engine/core/engine_module_api.hpp" #include #include #include /// Engine module base class -class MscEngineModule { +class MscEngineModule +{ public: virtual ~MscEngineModule() = default; @@ -22,7 +24,7 @@ public: getDependencies() const = 0; /// Module initialization phase - virtual void onInitialize(); + virtual void onInitialize(IMscEngineModuleAPI &engine) = 0; }; #endif // __MCS_ENGINE_MODULE_HPP__ diff --git a/include/engine/core/engine_module_api.hpp b/include/engine/core/engine_module_api.hpp index c5e9b39..10137b2 100644 --- a/include/engine/core/engine_module_api.hpp +++ b/include/engine/core/engine_module_api.hpp @@ -3,7 +3,8 @@ typedef void UNIMPL; -class IMscEngineModuleAPI { +class IMscEngineModuleAPI +{ public: virtual ~IMscEngineModuleAPI() = default; diff --git a/include/engine/modules/test1/test1.hpp b/include/engine/modules/test1/test1.hpp index 77411b8..444540f 100644 --- a/include/engine/modules/test1/test1.hpp +++ b/include/engine/modules/test1/test1.hpp @@ -2,9 +2,11 @@ #define __MSC_TEST_1_MODULE_HPP__ #include "engine/core/engine_module.hpp" +#include "engine/core/engine_module_api.hpp" #include -class Test1Module : public MscEngineModule { +class Test1Module : public MscEngineModule +{ public: ~Test1Module() = default; @@ -13,7 +15,7 @@ public: const std::unordered_map & getDependencies() const override; - void onInitialize() override; + void onInitialize(IMscEngineModuleAPI &engine) override; }; #endif // __MSC_TEST_1_MODULE_HPP__ diff --git a/include/engine/utils/rev_range.hpp b/include/engine/utils/rev_range.hpp index 8167f56..736ef09 100644 --- a/include/engine/utils/rev_range.hpp +++ b/include/engine/utils/rev_range.hpp @@ -2,12 +2,14 @@ #define __MSC_REV_RANGE_HPP__ #include -struct MscRevisionRange { +struct MscRevisionRange +{ uint16_t minRevision; uint16_t maxRevision; /// Check provided revision to be in range - bool isSatisfied(uint16_t rev) const { + bool isSatisfied(uint16_t rev) const + { return rev >= this->minRevision && rev <= this->maxRevision; } }; diff --git a/src/engine/core/engine.cpp b/src/engine/core/engine.cpp index 53ddee4..76765b7 100644 --- a/src/engine/core/engine.cpp +++ b/src/engine/core/engine.cpp @@ -8,33 +8,40 @@ uint16_t MscEngine::REV = 0; -MscEngine::MscEngine(std::vector> modules) { +MscEngine::MscEngine(std::vector> modules) +{ std::unordered_map registry; - for (const auto &module : modules) { + for (const auto &module : modules) + { if (!module) continue; auto [it, inserted] = registry.try_emplace(module->getName(), module->getRev()); - if (!inserted) { + if (!inserted) + { throw std::runtime_error("Duplicate module detected: " + module->getName()); } } - for (const auto &module : modules) { + for (const auto &module : modules) + { if (!module) continue; - for (const auto &[dep_name, range] : module->getDependencies()) { + for (const auto &[dep_name, range] : module->getDependencies()) + { auto it = registry.find(dep_name); - if (it == registry.end()) { + if (it == registry.end()) + { throw std::runtime_error("Module " + module->getName() + " requires missing module: " + dep_name); } int current_rev = it->second; - if (!range.isSatisfied(current_rev)) { + if (!range.isSatisfied(current_rev)) + { throw std::runtime_error( "Module " + module->getName() + " requires " + dep_name + " in range [" + std::to_string(range.minRevision) + " <-> " + @@ -49,6 +56,7 @@ MscEngine::MscEngine(std::vector> modules) { UNIMPL MscEngine::getBus() const { throw std::runtime_error("Unimplemented"); } -UNIMPL MscEngine::getLoadedModules() const { +UNIMPL MscEngine::getLoadedModules() const +{ throw std::runtime_error("Unimplemented"); } diff --git a/src/engine/modules/test1/test1.hpp b/src/engine/modules/test1/test1.hpp index e071cf3..cac5322 100644 --- a/src/engine/modules/test1/test1.hpp +++ b/src/engine/modules/test1/test1.hpp @@ -1,4 +1,5 @@ #include "engine/modules/test1/test1.hpp" +#include "engine/core/engine_module_api.hpp" #include "engine/utils/rev_range.hpp" #include #include @@ -9,9 +10,13 @@ std::string Test1Module::getName() const { return "test1"; } uint16_t Test1Module::getRev() const { return 1; } const std::unordered_map & -Test1Module::getDependencies() const { +Test1Module::getDependencies() const +{ static const std::unordered_map deps{}; return deps; } -void Test1Module::onInitialize() {} +void Test1Module::onInitialize(IMscEngineModuleAPI &engine) +{ + (void)(engine); +} diff --git a/src/main.cpp b/src/main.cpp index 3156943..d4a84cc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,7 +5,8 @@ #include #include -int main(int argc, char **argv) { +int main(int argc, char **argv) +{ auto engine = std::make_unique(std::vector>{ std::make_shared()});