Make OpenSpaceModule able to report their version number

This commit is contained in:
Alexander Bock
2016-10-29 23:13:37 +02:00
parent 4597bde05a
commit c880ee421a
7 changed files with 68 additions and 11 deletions

View File

@@ -40,8 +40,9 @@ namespace {
namespace openspace {
void ModuleEngine::initialize() {
for (OpenSpaceModule* m : AllModules())
for (OpenSpaceModule* m : AllModules()) {
registerModule(std::unique_ptr<OpenSpaceModule>(m));
}
}
void ModuleEngine::deinitialize() {
@@ -77,11 +78,25 @@ void ModuleEngine::registerModule(std::unique_ptr<OpenSpaceModule> module) {
std::vector<OpenSpaceModule*> ModuleEngine::modules() const {
std::vector<OpenSpaceModule*> result;
for (auto& m : _modules)
for (auto& m : _modules) {
result.push_back(m.get());
}
return result;
}
ghoul::systemcapabilities::OpenGLCapabilitiesComponent::Version
ModuleEngine::requiredOpenGLVersion() const
{
using Version = ghoul::systemcapabilities::OpenGLCapabilitiesComponent::Version;
Version version = { 0,0 };
for (const auto& m : _modules) {
version = std::max(version, m->requiredOpenGLVersion());
}
return version;
}
scripting::LuaLibrary ModuleEngine::luaLibrary() {
return {
"modules",