Fix entity-manager issues against GCC8
move std::experimental::filesystem to std::filesystem, and fix an error
in a function that returns bool, but didn't contain a return statement.
Change-Id: Iaedfc5ea189fa5382e4b29be5854cb72915a742d
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/src/EntityManager.cpp b/src/EntityManager.cpp
index d993860..298dac3 100644
--- a/src/EntityManager.cpp
+++ b/src/EntityManager.cpp
@@ -29,7 +29,7 @@
#include <boost/container/flat_map.hpp>
#include <boost/container/flat_set.hpp>
#include <VariantVisitors.hpp>
-#include <experimental/filesystem>
+#include "filesystem.hpp"
constexpr const char *OUTPUT_DIR = "/var/configuration/";
constexpr const char *configurationDirectory = PACKAGE_DIR "configurations";
@@ -40,7 +40,6 @@
constexpr const int32_t MAX_MAPPER_DEPTH = 0;
constexpr const size_t SLEEP_AFTER_PROPERTIES_CHANGE_SECONDS = 5;
-namespace fs = std::experimental::filesystem;
namespace variant_ns = sdbusplus::message::variant_ns;
struct cmp_str
{
@@ -499,7 +498,7 @@
// writes output files to persist data
bool writeJsonFiles(const nlohmann::json &systemConfiguration)
{
- std::experimental::filesystem::create_directory(OUTPUT_DIR);
+ std::filesystem::create_directory(OUTPUT_DIR);
std::ofstream output(std::string(OUTPUT_DIR) + "system.json");
if (!output.good())
{
@@ -1141,8 +1140,8 @@
bool findJsonFiles(std::list<nlohmann::json> &configurations)
{
// find configuration files
- std::vector<fs::path> jsonPaths;
- if (!findFiles(fs::path(configurationDirectory),
+ std::vector<std::filesystem::path> jsonPaths;
+ if (!findFiles(std::filesystem::path(configurationDirectory),
R"(.*\.json)", jsonPaths))
{
std::cerr << "Unable to find any configuration files in "
@@ -1157,6 +1156,7 @@
std::cerr
<< "Cannot open schema file, cannot validate JSON, exiting\n\n";
std::exit(EXIT_FAILURE);
+ return false;
}
nlohmann::json schema = nlohmann::json::parse(schemaStream, nullptr, false);
if (schema.is_discarded())
@@ -1164,6 +1164,7 @@
std::cerr
<< "Illegal schema file detected, cannot validate JSON, exiting\n";
std::exit(EXIT_FAILURE);
+ return false;
}
for (auto &jsonPath : jsonPaths)
@@ -1198,6 +1199,7 @@
configurations.emplace_back(data);
}
}
+ return true;
}
struct PerformScan : std::enable_shared_from_this<PerformScan>