mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-04-02 05:27:41 -05:00
impr: Further improve interfacing with external plugins
This commit is contained in:
@@ -226,6 +226,18 @@ namespace hex {
|
||||
#endif
|
||||
}
|
||||
|
||||
void PluginManager::addLoadPath(const std::fs::path& path) {
|
||||
getPluginLoadPaths().emplace_back(path);
|
||||
}
|
||||
|
||||
|
||||
bool PluginManager::load() {
|
||||
bool success = true;
|
||||
for (const auto &loadPath : getPluginLoadPaths())
|
||||
success = PluginManager::load(loadPath) && success;
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
bool PluginManager::load(const std::fs::path &pluginFolder) {
|
||||
@@ -295,6 +307,12 @@ namespace hex {
|
||||
return pluginPaths;
|
||||
}
|
||||
|
||||
std::vector<std::fs::path> &PluginManager::getPluginLoadPaths() {
|
||||
static std::vector<std::fs::path> pluginPaths;
|
||||
|
||||
return pluginPaths;
|
||||
}
|
||||
|
||||
bool PluginManager::isPluginLoaded(const std::fs::path &path) {
|
||||
return std::ranges::any_of(getPlugins(), [&path](const Plugin &plugin) {
|
||||
return plugin.getPath().filename() == path.filename();
|
||||
|
||||
Reference in New Issue
Block a user