diff --git a/include/pch.hpp b/include/pch.hpp index a4593f6..9894e41 100644 --- a/include/pch.hpp +++ b/include/pch.hpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include diff --git a/include/utils/App/App.cpp b/include/utils/App/App.cpp index f799845..84a47cc 100644 --- a/include/utils/App/App.cpp +++ b/include/utils/App/App.cpp @@ -76,7 +76,7 @@ namespace Archimedes { skip = false; continue; } else { - load(dynamicLoad(it->second), blacklist); + load(it->second, blacklist); } } @@ -88,6 +88,12 @@ namespace Archimedes { return true; } + bool App::load(std::string modulePath, std::list blacklist = {}) { + Module* m = dynamicLoad(modulePath); + return load(m, blacklist); + } + + void App::unload(std::list::iterator it) { Module* m = *it; diff --git a/include/utils/App/App.h b/include/utils/App/App.h index 25d4fa9..6bbc5ac 100644 --- a/include/utils/App/App.h +++ b/include/utils/App/App.h @@ -18,6 +18,7 @@ namespace Archimedes { std::list toOpen; Module* dynamicLoad(std::string); + virtual bool load(std::string, std::list); virtual bool load(Module*, std::list); virtual void unload(std::list::iterator); diff --git a/include/utils/Module/Module.h b/include/utils/Module/Module.h index b5c0380..184433c 100644 --- a/include/utils/Module/Module.h +++ b/include/utils/Module/Module.h @@ -34,7 +34,7 @@ namespace Archimedes { App* app; - std::unordered_map deps; + std::unordered_map> deps; }; } diff --git a/src/example_apps/ImguiEmbed/ImguiEmbed.cpp b/src/example_apps/ImguiEmbed/ImguiEmbed.cpp index 9d4a562..3a8baff 100644 --- a/src/example_apps/ImguiEmbed/ImguiEmbed.cpp +++ b/src/example_apps/ImguiEmbed/ImguiEmbed.cpp @@ -18,7 +18,7 @@ void ImguiEmbed::run() { toClose.clear(); for(std::string s : toOpen) { - load(dynamicLoad(s), getBlacklist()); + load(s, getBlacklist()); } toOpen.clear(); } diff --git a/src/example_apps/MinimalApp/MinimalApp.cpp b/src/example_apps/MinimalApp/MinimalApp.cpp index efe3f9d..ad3d314 100644 --- a/src/example_apps/MinimalApp/MinimalApp.cpp +++ b/src/example_apps/MinimalApp/MinimalApp.cpp @@ -18,7 +18,7 @@ void MinimalApp::run() { toClose.clear(); for(std::string s : toOpen) { - load(dynamicLoad(s), getBlacklist()); + load(s, getBlacklist()); } toOpen.clear(); }