#ifndef __MCS_ENGINE_HPP__ #define __MCS_ENGINE_HPP__ #include #include #include #include #include #include /// Magic Srolls engine core class MscEngine : public IMscEngineModuleAPI { private: /// Loaded modules list std::vector> _modules; MscEventBus _bus; public: /// Actual version static uint16_t REV; MscEngine(std::vector> modules); MscEventBus &getBus() override; std::unordered_map getLoadedModules() const override; MscEngineModule &getModule(const std::string &name) override; std::unique_ptr createDBProvider() override; std::unique_ptr createDBProvider(const std::string &filepath) override; }; #endif // __MCS_ENGINE_HPP__