29 lines
638 B
C++
29 lines
638 B
C++
#ifndef __MCS_ENGINE_MODULE_HPP__
|
|
#define __MCS_ENGINE_MODULE_HPP__
|
|
|
|
#include "engine/utils/rev_range.hpp"
|
|
#include <cstdint>
|
|
#include <string>
|
|
#include <unordered_map>
|
|
|
|
/// Engine module base class
|
|
class MscEngineModule {
|
|
public:
|
|
virtual ~MscEngineModule() = default;
|
|
|
|
/// Get module name
|
|
virtual std::string getName() const = 0;
|
|
|
|
/// Get module revision
|
|
virtual uint16_t getRev() const = 0;
|
|
|
|
/// Module dependency list
|
|
virtual const std::unordered_map<std::string, MscRevisionRange> &
|
|
getDependencies() const = 0;
|
|
|
|
/// Module initialization phase
|
|
virtual void onInitialize();
|
|
};
|
|
|
|
#endif // __MCS_ENGINE_MODULE_HPP__
|