feat: implement module lifecycle

This commit is contained in:
Samsonium
2026-10-03 14:57:12 +03:00
parent 33941a823c
commit 12deed7aee
4 changed files with 59 additions and 22 deletions
+6 -6
View File
@@ -1,10 +1,10 @@
#ifndef __MCS_ENGINE_HPP__
#define __MCS_ENGINE_HPP__
#include <cstdint>
#include <engine/core/engine_db_provider.hpp>
#include <engine/core/engine_module.hpp>
#include <engine/core/engine_module_api.hpp>
#include <engine/core/engine_db_provider.hpp>
#include <cstdint>
#include <memory>
#include <vector>
@@ -12,8 +12,6 @@
class MscEngine : public IMscEngineModuleAPI
{
private:
using clock = std::chrono::steady_clock;
/// @brief Loaded modules list
std::vector<std::shared_ptr<MscEngineModule>> _modules;
@@ -39,10 +37,12 @@ public:
void stop();
MscEventBus &getBus() override;
std::unordered_map<std::string, std::uint16_t> getLoadedModules() const override;
std::unordered_map<std::string, std::uint16_t>
getLoadedModules() const override;
MscEngineModule &getModule(const std::string &name) override;
std::unique_ptr<MscEngineDBProvider> createDBProvider() override;
std::unique_ptr<MscEngineDBProvider> createDBProvider(const std::string &filepath) override;
std::unique_ptr<MscEngineDBProvider>
createDBProvider(const std::string &filepath) override;
};
#endif // __MCS_ENGINE_HPP__