blob: 1daa3c971648d3f33be6c6f664b0199d3c86c8d5 [file] [log] [blame]
#include "utils.hpp"
#include <dlfcn.h>
#include <experimental/filesystem>
#include <phosphor-logging/log.hpp>
#include <regex>
namespace blobs
{
namespace fs = std::experimental::filesystem;
using namespace phosphor::logging;
void loadLibraries(const std::string& path)
{
void* libHandle = NULL;
for (const auto& p : fs::recursive_directory_iterator(path))
{
auto ps = p.path().string();
if (!std::regex_match(ps, std::regex(".+\\.so$")))
{
continue;
}
libHandle = dlopen(ps.c_str(), RTLD_NOW);
if (!libHandle)
{
log<level::ERR>("ERROR opening", entry("HANDLER=%s", ps.c_str()),
entry("ERROR=%s", dlerror()));
}
}
}
} // namespace blobs