Base implementation #1

Merged
Dmitriy merged 9 commits from base-impl into master 2026-09-29 14:25:08 +00:00
3 changed files with 9 additions and 3 deletions
Showing only changes of commit ff0453e81d - Show all commits
+2 -1
View File
@@ -13,6 +13,7 @@ class MscEngine : public IMscEngineModuleAPI
private:
/// Loaded modules list
std::vector<std::shared_ptr<MscEngineModule>> _modules;
MscEventBus _bus;
public:
/// Actual version
@@ -20,7 +21,7 @@ public:
MscEngine(std::vector<std::shared_ptr<MscEngineModule>> modules);
UNIMPL getBus() const override;
MscEventBus &getBus() override;
UNIMPL getLoadedModules() const override;
};
+3 -1
View File
@@ -1,6 +1,8 @@
#ifndef __MSC_ENGINE_MODULE_API_HPP__
#define __MSC_ENGINE_MODULE_API_HPP__
#include <engine/core/engine_bus.hpp>
typedef void UNIMPL;
class IMscEngineModuleAPI
@@ -9,7 +11,7 @@ public:
virtual ~IMscEngineModuleAPI() = default;
/// Get access to engine event bus
virtual UNIMPL getBus() const = 0;
virtual MscEventBus &getBus() = 0;
/// Get access to loaded module list
Review

не слишком ли много ответственности для этого молодого человека? чет он дохера чего в себе делает и чувствую бесконечность не предел.

не слишком ли много ответственности для этого молодого человека? чет он дохера чего в себе делает и чувствую бесконечность не предел.
Review

Я вот думаю над тем, как правильнее реализовать. Конкретно этот класс - это интерфейс публичного API от движка к модулям. И пока архитектура у движка такая: движок реализует событийную шину и что-то типа фабрики БД-провайдеров, а всё остальное реализуется только модулями, которые подключаются в движок при его конструкте.

Пока не вижу идеи, как лучше сделать ;(

Я вот думаю над тем, как правильнее реализовать. Конкретно этот класс - это интерфейс публичного API от движка к модулям. И пока архитектура у движка такая: движок реализует событийную шину и что-то типа фабрики БД-провайдеров, а всё остальное реализуется только модулями, которые подключаются в движок при его конструкте. Пока не вижу идеи, как лучше сделать ;(
virtual UNIMPL getLoadedModules() const = 0;
+4 -1
View File
@@ -54,7 +54,10 @@ MscEngine::MscEngine(std::vector<std::shared_ptr<MscEngineModule>> modules)
_modules = std::move(modules);
}
UNIMPL MscEngine::getBus() const { throw std::runtime_error("Unimplemented"); }
MscEventBus &MscEngine::getBus()
{
return _bus;
}
UNIMPL MscEngine::getLoadedModules() const
{