From 020ddd59b1718002c9e9d4914dd035e9f2d2c962 Mon Sep 17 00:00:00 2001 From: Fabian Reister <fabian.reister@kit.edu> Date: Tue, 6 Aug 2024 12:42:10 +0200 Subject: [PATCH] DiskMemoryItemMixin: allow memoryBasePath to contain environment variables --- .../ltm/detail/mixins/DiskStorageMixin.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/DiskStorageMixin.cpp b/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/DiskStorageMixin.cpp index 480f04cb0..a7fbaa470 100644 --- a/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/DiskStorageMixin.cpp +++ b/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/DiskStorageMixin.cpp @@ -12,6 +12,7 @@ // ArmarX #include <ArmarXCore/core/exceptions/LocalException.h> #include <ArmarXCore/core/logging/Logging.h> +#include <ArmarXCore/core/system/ArmarXDataPath.h> #include <ArmarXCore/core/time/TimeUtil.h> namespace armarx::armem::server::ltm::detail::mixin @@ -69,13 +70,17 @@ namespace armarx::armem::server::ltm::detail::mixin Path DiskMemoryItemMixin::getMemoryBasePath() const { - if(memoryBasePathString.empty()){ - return memoryBasePath; - } else { - std::filesystem::path newPath; - newPath.assign(memoryBasePathString); - return newPath; - } + std::string p = [&](){ + if(memoryBasePathString.empty()){ + return memoryBasePath.string(); + } + + return memoryBasePathString; + }(); + + ArmarXDataPath::ReplaceEnvVars(p); + + return p; } Path -- GitLab